概要: Webエンジン Ver 5.3.7.0 (2011/07/01) をリリースいたします。 今回のリリースは、画面編集機能の正式リリースと、その他機能改善及びバグフィックスです。 !!! 5.3.6.0 (2011/06/01)までのバージョンには、DBの接続管理についてバグがあり、!!! !!! 一部機能を利用すると、接続数が不正に増えてしまう現象が発生します。 !!! !!! このため、各システムは必ずバージョンアップを行って下さい。 !!! ※ バージョンアップされる場合は、ビルドファイル(verup.x.x.x.x.zip)に含まれるchanges.txtを確認の上、 作業をお願いします。 ※ 変更点に関する詳細及びその他の修正内容については、添付のリリースノートを参照下さい。 5.3.7.0 (2011/07/01) [ajaxSubmitバグ修正] ヘッダー固定を利用しない状態でajaxSubmitを利用すると、2度押し防止のエラーメッセージが 表示されてしまうバグを修正します。 これは、submit処理が2度行われていたためです。原因としては、jQueryのイベント処理関数 (bind(),unbind())にバグがあるためだと考えられます。(ソース未確認) 現象としては、同じイベントハンドラに対して、bind(funcA)⇒unbind(funcA)⇒bind(fundB)と すると、最後のbindによりfuncAのバインドが復活してしまいます。 今回の対応では、unbindを最後にし、bind(funcA)⇒bind(fundB)⇒unbind(funcA)という順番 でイベント定義を行い、funcBのみが処理されるように対応します。 (ヘッダー固定を利用した場合に現象が起きない理由について、詳細は不明ですが、ヘッダー固定による 他のイベントハンドラの処理が影響しているものと考えられます) jsp/common/option/ajaxHybsForm.js [ファイルダウンロード機能改善] PL/SQLを使用している画面でファイルダウンロードに関して以下のバグを修正します。 ①2回連続でファイルダウンロードできない。 ②scope="request"の場合にファイルダウンロードできない。 jsp/common/fileDownload.jsp org.opengion.hayabusa.db.QueryFactory.newInstance(String) org.opengion.hayabusa.taglib.FileUDTag.doEndTag() org.opengion.hayabusa.taglib.QueryTag.execute(Query) org.opengion.hayabusa.taglib.QueryTag.doAfterBody() [画面編集機能改善] 画面編集機能でポップアップで表示される画面をリサイズできるように対応します。 org.opengion.hayabusa.taglib.FileUDTag.doEndTag() [selectタグ・バグ修正] selectタグでdefaultValが適用されないバグを修正します。 これは5.1.7.0 (2010/06/01)の以下の修正で判定条件が逆転していたためです。 --------------------------------------------------------------------------------------- [columnタグ、selectタグのdefaultVal属性の改善] columnタグ、selectタグでcommandがRENEWの場合は、defaultValを適用しないようにします。。 これは、defaultValの値が埋め込まれた項目が存在する画面に戻った際に、 defaultValの項目の値がnullとなっていた場合に、defaultValの値が復元されると、 検索結果との不一致が発生するためです。 ※この問題は、command=NEW(画面リンクした場合)でも発生します。 しかし、この場合、遷移先の画面がエントリー画面などであった場合は、defaultValが適用されないと 問題が発生する可能性があります。 このため、command=NEWの場合の問題を根本的に解決するには、今回の対応方法ではなく、画面遷移時の forward制御を見直す必要があります。 具体的には、forward.jspでcommand=NEWの場合に、自動的にresult.jspに遷移するのではなく、query.jspで 自動サブミットさせることで、これをトリガとして、result.jspを表示することで、query.jspとresult.jspの 整合性をあわせることができます。 但し、この方法も、result.jspのみが存在し、query.jspが存在しない場合に、result.jspが開かなくなる可能性があります。 つまり、JSPを変えないと言う前提の上では、対応は困難であるため、command=NEWに対する対応は見送っています。 org.opengion.hayabusa.taglib.ColumnTag.doStartTag() org.opengion.hayabusa.taglib.SelectTag.doStartTag() --------------------------------------------------------------------------------------- org.opengion.hayabusa.taglib.SelectTag.doStartTag() [eventColumnバグ修正] eventColumn機能で、パラメータ日本語が含まれていると文字化けするバグに対応します。 jsp/common/evnetColumnMaker.jsp gf/jsp/GF6410/evnetColumn6410.jsp [JSPチェック改善] JSPチェックでエラーになるバグに対応します。 gf/jsp/DOC18 [共通ファイル修正] エンジン標準のJSPでXML構造が崩れているファイルを修正します。(imgタグの終わりがない) jsp/custom/matrix_info.jsp [ポップアップエラー改善] og:headタグのuseAjaxSubmit="true"で表示されるポップアップエラーについて、表示位置を見直します。 jsp/common/option/jqModal.css [ボタンメニュー改善] ボタンメニューで、画面名称に短縮名を設定した状態で、メニュー画像を設定すると、不要な改行が 表示されてしまうバグを修正します。 jsp/common/default.css [FileQueryTag] フォルダを下位展開する場合、途中で、アクセス許可のないフォルダの場合は、 そのリストは、0件ではなく、null で返されるため、その処理を追加します。 これを入れておかないと、処理の途中でエラーで展開処理が中止されてしまいます。 hayabusa.taglib.FileQueryTag#execute( final File fin,final int lvl ) 関連しそうな箇所を修正しておきます。 fukurou.util.AbstractConnect#actionPUTdir( final String localDir, final String remoteDir ) fukurou.util.FileUtil#copyDirectry( final File fromDir, final File toDir, final boolean keepTimeStamp ) fukurou.util.FileUtil#copyDirectry( final File fromDir, final File toDir, final boolean keepTimeStamp ) fukurou.util.FileUtil#deleteFiles( final File file ) 以下の箇所は、処理的には何らかの考慮をしておいたほうが良いと思われるが、今回は処置を行いません。 fukurou\util\FTPConnect.java(302): FTPFile[] rmtFiles = ftp.listFiles( remoteDir ); fukurou\util\FTPConnect.java(416): FTPFile[] rmtFiles = ftp.listFiles( remoteDir ); fukurou\util\HybsLoader.java(190): File[] files = (new File( tmpSrcPath )).listFiles(); fukurou\util\HybsLoader.java(218): File[] files = (new File( tmpSrcPath )).listFiles(); fukurou\util\SMBConnect.java(192): SmbFile[] rmtFiles = rmtFile.listFiles(); fukurou\util\SMBConnect.java(272): SmbFile[] rmtFiles = rmtFile.listFiles(); 以下の箇所は、実際には発生しないと思われるため、今回は処置を行いません。 fukurou\util\FindClassFiles.java(119): File[] filelist = file.listFiles(); fukurou\util\ZipFileUtil.java(197): File[] fileList = target.listFiles(); fukurou\xml\JspSaxParser.java(315): File[] files = fromFile.listFiles(); hayabusa\common\InitFileLoader.java(288): File[] list = fileObj.listFiles(); hayabusa\common\SystemInstaller.java(221): File[] ctxts = new File( tempDir ).listFiles(); hayabusa\common\SystemInstaller.java(297): File[] dbDir = new File( scriptBase ).listFiles(); hayabusa\report2\DocConverter_OOO.java(913): File[] inputFiles = input.listFiles(); hayabusa\servlet\HybsAdmin.java(470): File[] list = fileObj.listFiles(); hayabusa\taglib\BizLogicTag.java(148): File[] libFiles = lib.listFiles(); [画面編集機能改善] 画面編集機能で以下2点を改善します。 ①小計、合計行追加処理でオーバーフローフラグがセットされないバグを修正 ②設定保存時、設定画面をクローズするように変更します。 jsp/common/14_EDIT/ org.opengion.hayabusa.db.DBTableModelEditor.addTotalRows(int, ResourceManager, boolean[], boolean[], boolean[], boolean[]) [ファイルアップロードエラーメッセージ修正] ファイルアップロード時のエラーメッセージを修正し、最大サイズオーバー時にその内容がわかるようにします。 org.opengion.hayabusa.taglib.FileUploadTag.doEndTag() org.opengion.hayabusa.servlet.multipart.MultipartParser.MultipartParser(HttpServletRequest, int) [ほんの少し修正] HybsSystemException を、RuntimeException に変更。 fukurou パッケージ内では、hayabusa パッケージのクラスは使用しません。 fukurou.db.DBUtil#getClobData( final Clob clobData ) 無駄な改行が入っていた箇所を削除 hayabusa.common.SystemData.java Javadocの警告対応 hayabusa.db.DBEditConfigManager.java:121 hayabusa.taglib.EditConfigTag.java:357 hayabusa.taglib.EditConfigTag.java:423 [Excel取込改善] Excel取込で画面IDとアドレスが異なる場合にエラーとなるバグを修正 org.opengion.hayabusa.taglib.FileUDTag.doEndTag() [リアルタイムチェック改善] リアルタイムチェックで、入力項目が上方にある場合に、チェックチップが見えないバグを改善します。 (上方にある場合は、下にチェックチップを表示する) jsp/common/eventScript.js [ヘッダー固定改善] ヘッダー固定で、ヘッダー部でタブを押しておくと、ヘッダーが2重に表示されるバグを修正します。 jsp/common/scrollBar2.js [ヘッダー固定改善] 左右分割スクロールで左側のViewのサイズを固定した際に、左側に不要な縦スクロールが表示される バグを修正します。 jsp/common/scrollBar2.js [エラーメッセージ表示改善] openGion内部でエラーが発生した場合(Exception発生時)について、以下2点改善します。 ①forward.jsp経由で表示されるエラーメッセージで、「URLの振り分け処理時に...」の部分を 出力しないようにします。 ②error.jspで戻るボタン(history.back())を表示します。 jsp/common/error_0.jsp jsp/common/error_1.jsp jsp/common/error_2.jsp jsp/common/jqog.js // ポップアップエラー時は戻るボタンを非表示 org.opengion.hayabusa.taglib.CommonForwardTag.doEndTag() [VerUpに伴う、TLDファイル更新] gf/src/META-INF/hybs-taglib.tld gf/WEB-INF/hybs-taglib.tld gf/build.xml [Transaction 関係修正] Transaction 関係で、過去に修正した分で、生成と破棄が異なる箇所で行われていた ため、コネクションプールにきちんと戻されない現象が発生しています。 そのための対策を行います。 fukurou.db.DBUtil#dbExecute( final String stmt ,final String[] args ,final ApplicationInfo appInfo ) { fukurou.db.DBUtil#dbExecute( final String stmt ,final String[] args, final ApplicationInfo appInfo, final String dbid ) { fukurou.db.DBUtil#dbExecute( final String stmt ,final String[] args, final ApplicationInfo appInfo, final String dbid, final boolean useHeader ) { fukurou.db.DBUtil#dbCallExecute( final String stmt ,final String[] args, final ApplicationInfo appInfo ) { fukurou.db.DBUtil#dbCallExecute( final String stmt ,final String[] args, final ApplicationInfo appInfo ,final String dbid ) { fukurou.db.DBUtil#dbExist( final String stmt ,final String[] args, final ApplicationInfo appInfo , final String dbid ) { fukurou.db.TransactionReal#TransactionReal( final ApplicationInfo appInfo ) { fukurou.db.TransactionReal#getConnection( final String dbid ) { fukurou.db.TransactionReal#close( final boolean errFlag ) { hayabusa.db.DBTableModelUtil#makeDBTable( final String stmt ,final String[] args , hayabusa.taglib.BizLogicTag#execute() { hayabusa.taglib.DataCheckTag#doEndTag() { hayabusa.taglib.DirectTableInsertTag#create( final BufferedReader reader ) { hayabusa.taglib.DirectWriteTableTag#create( final PrintWriter out ) { hayabusa.taglib.DirectXMLSaveTag#doEndTag() { hayabusa.taglib.QueryOptionTag#doAfterBody() { hayabusa.taglib.QueryTag#doAfterBody() { hayabusa.taglib.TableFilterTag#doEndTag() { hayabusa.taglib.UserInfoTag#doAfterBody() { hayabusa.taglib.ValueTag#doAfterBody() { [TableUpdateParamTag 関係修正] DEFAULT_CONST_CLASS (デフォルトで利用するconstObjのシステムリソース名)で、 リソースの設定が、ゼロ文字列の場合の対処を、getInsertSQL のみいれており、getUpdateSQL に 入れ忘れていたため、対応します。 hayabusa.taglib.TableUpdateParamTag#getUpdateSQL( final NamesData namesData ) [GF1030(レスポンス測定) 修正] 検索に使用するSQL分に、クオートが含まれても良いとする、quotCheck="false" を追記します。 jsp/GF1030/result.jsp