5.6.8.0 (2013/09/06) [DB定義関係] DBConfig.xmlの内部オブジェクトの、EDbid で、title 属性が null の場合、 dbidKey を設定するように変更します。 MUST属性にしてもよいのですが、互換性の事を考えると、必須項目である dbidKey を 設定することにしておくことにしておきます。 今後、DBIDは、この title を表示ラベルとするプルダウンに統一します。 fukurou.db.EDbid#setTitle( final String value ) 関連しますが、DEFAULT と、RESOURCE の DBIDキーがなければ、内部的に作成する処理で RESOURCE を、DEFAULT からコピーで作成するので、title もDEFAULT のままコピー されますので、再設定しておきます。 fukurou.db.DatabaseConfig#makeDbidMap( final Element element , EDbid defDdbid ) [ソースチェック関係] GF79 リソース抜出テーブル は、うまく利用できていなかったので、 一旦削除します。 DOC19 作成区分メンテ 廃止 DOC22 テーブルカラム抜き出し 廃止 GF79 リソース抜出テーブル 廃止 DOC20 環境管理テーブル 追加 カラムに、変数{@XXXX}が登録された場合に桁あふれしていた為、増やします。 主に、{@XXXX} の変数が使われることを想定して、X(10)で少ないカラムを増やします。 GF71 画面使用 USEGAMENID X(10) ⇒ X(20) リダイレクト使用 USEREDIRECT X(10) ⇒ X(20) GF73 フォームタイプ FORM_TYPE X(10) ⇒ X(20) 読取専用 READONLY X(10) ⇒ X(20) 無効 DISABLED X(10) ⇒ X(20) GF93 画面使用 USEGAMENID X(10) ⇒ X(20) リダイレクト使用 USEREDIRECT X(10) ⇒ X(20) [ソース自動作成] COMMENT タグの作成で、日付はフォーマット変換します。author と text は更新しません。 plugin.develop.JspCreate_COMMENT#execute( final OGElement ele , final String nameSpace ) JspCreateTag で、処理の部分指定ができるようにします。 これを元に、COMMENT タグのみを実行する画面を作成します。 hayabusa.taglib.JspCreateTag#release2() hayabusa.taglib.JspCreateTag#execute() hayabusa.taglib.JspCreateTag#setTagNames( final String tags ) gf\src\META-INF\hybs-taglib.tld JspCreateTag に、tagNames 属性追加 gf\WEB-INF\hybs-taglib.tld [タグの改善] 既存のcaseKey、caseVal、caseNN に加えて、caseNull を追加します。 これは、caseNull の引数が null/ゼロ文字列 の場合に、成立します。 何も指定しない場合は、成立していると判断します。 これらを使用して、equals タグなどの使用を削減します。 hayabusa.taglib.CommonTagSupport#release2() hayabusa.taglib.CommonTagSupport#setCaseNull( final String cnul ) hayabusa.taglib.CommonTagSupport#useTag() tldファイルに追加するのは、以下のタグです。 and , button , column , columnEditor , directXMLSave , fileUpdate , hidden , input , link , message , option , orderBy , popup , query , queryOption , select , submit , tableMerge , tbody , tfoot , thead , userInfo , value , view , writeTableParam gf\src\META-INF\hybs-taglib.tld gf\WEB-INF\hybs-taglib.tld [Excel2010用プリンタ名取得マクロ] Excel帳票ではマクロが利用するプリンタ名称が必要ですが、 Excel2010では従来の方法(マクロ記録)では取得できなくなりました。 Excel2010用のプリンタ名一覧取得マクロを作成しておきます。 (雛形はExcel2003でHTML出力する必要があります) ge/def/Script/getPrinterName.xlsm [メールモジュール画面修正] 送信履歴検索では、送信順にデータを並べていましたが、 帳票のように最新のものから見ていきたいため順序を逆にします。 又、日付のFrom,Toはそれぞれに00000000,99999999を付加して同日検索を可能にします。 ge/jsp/MAIL03/result.jsp ge/jsp/MAIL06/result.jsp ge/jsp/MAIL07/result.jsp [メールモジュール送信日時機能追加] メールモジュールのGE30登録時に14桁の送信日時指定(SNDTIME)を可能にします。 メールモジュールでは、これらの送信日時が現在日時よりも小さい場合、 もしくはNULLの場合にメール送信の対象とするようにします。(SNDTIME <= 'システム日時14桁') 同時にインデックスも追加しておきます。 画面上では、MAIL07画面で表示されるよう対応します。 GE30 SNDIME追加,GE30_SA追加 hayabusa.mail.MailManager_DB#selGE30 hayabusa.mail.MailManager_DB#sendDBMail( final String systemId ) ge/jsp/MAIL07/result.jsp [クライアントガント修正] ガント種別の振分けの不具合が存在していたため修正します。 jsp/common/option/adjustGanttTable.js 5.6.7.4 (2013/08/30) [JSPチェック修正] includeファイルの先頭のpageEncoding指定のチェック用 span タグを出力します。 これは、インクルードファイルには、 を記述しておき、ファイルそのものが、UTF-8であることを宣言します。 この記述がない場合は、 を出力しておき、JSPチェックで警告するようにします。 なお、この場合、jsp に記述している xml形式のコメント は、そのままインクルード されるため、例えば、query タグ内にこの形式のコメントを入れているとエラーになります。 fukurou.xml.JspIncludeReader#getString( final File file,final String encode ) [リソース修正] SYSTEM_ID が、"**" , "GE" , "GF" のリソースに於いて、ラベル表記を半角カタカナに変更します。 単に、表示上の文字サイズを小さくするためです。 リソース用の XMLファイルを抜き出しておきます。 [jsp修正] 各種細かい修正を入れています。 JSPソースチェックで見つかった不具合分の修正です。 gf/doc/refactoring/5.6.7.4_refactoring.txt 参照 [画面作成PGのID変更] 画面自動作成関連の画面が、現在は、common/gamen/ 以下のフォルダに作成されているが これは、GFシステムのアプリケーションとして管理します。 ID を変更し、共通のcommon/gamen/ からは削除します。 これに伴い、画面リソースも変更します。 common/gamen/13_GUILIST ⇒ GF2200 common/gamen/11_GUIMAKE ⇒ GF2201 common/gamen/12_GUIMAKEGUI ⇒ GF2202 [DatabaseProductNameの小文字化] 従来は、DatabaseProductName を小文字化して使用していましたが、 DBUtil.getProductName( final Connection conn ) を使うように変更した際 小文字化していなかったため、初期起動時エラーが発生しました。 修正対応いたします。 fukurou.db.DBUtil#getProductName( final Connection conn ) 5.6.7.3 (2013/08/23) [DB定義変更] GF78 に、TomcatやJavaの情報を追加します。カラム追加 OS情報 OS_INFO X(100) サーバー名 SERVER_INFO X(200) サーブレット SERVLET_INFO X(200) REAL_PATH REAL_PATH X(256) TOMCAT_HOME TOMCAT_HOME X(256) JDKバージョン JDK_INFO X(200) JAVA_HOME JAVA_HOME X(256) バージョンNo ENGINE_INFO X(200) GF82:DBオブジェクト一覧テーブル に、テーブル名 のカラムを追加します。 テーブル名 TABLE_NAME X(50) [DB定義変更] スキーマ情報取込み時に、ORACLEのデータ件数を登録する箇所で、 USER_TABLES の NUM_ROWS が、初期値は null の為、NVLしておきます。 何か登録して、DELETE等すれば、0 がセットされますが、テーブル作成直後 等では、null のためです。 gf/jsp/GF2010/sqlGF02.jsp NVL対応 DATA_DEFAULTで、DBスキーマ上からDB定義DBへの登録時に、VALSETフィルターを 使いますが、その設定をミスっていたので修正します。 gf/jsp/GF2110/directGF05.jsp DATA_DEFAULTの設定 GE,GF のDB定義書を修正しました。 カラム名称、テーブル名称、コード名称などのカタカナは、半角にしています。 テーブル表示したときの横幅を減らすためです。 GE_DB定義書.xls GE_DB定義書_ALL.xls GF_DB定義書.xls GF_DB定義書ALL.xls [HelpTag 修正] HelpTag で、USE_GUI_FAQ と、USE_GUI_FAQ_CTRL のキー指定で、後ろにスペースが 入っているため、キーを認識できていませんでした。修正します。 hayabusa.taglib.HelpTag#release2() [未使用のファイル削除] GF2170は、DB登録 メニューとして、標準化済み。 gf/jsp/GF2170/entry.jsp 削除 gf/jsp/GF2170/update.jsp 削除 [メモリリーク警告] ObjectPool で、メモリリークの可能性がある。警告が出ていましたが、 リソースのコネクションを分ける対応で、close 時にDBIDを指定し忘れていました。 hayabusa.common.SystemParameter#loadDBResource( final Map sysParam ) [インフォメーション関連] Exception 時に出力するメッセージに、TOMCAT_HOME、JAVA_HOME、REAL_PATH、SYSTEM_ID を 追加します。 hayabusa.common.HybsSystemException.java TOMCAT_HOME の値を取得し、システムパラメータマップにセットします。 hayabusa.common.SystemParameter#loadInitialParameter( final ServletContext context,final String contextName ) HybsAdmin で表示している TOMCAT_WORK を TOMCAT_HOME に変更します。 ついでに、見出し文字も変更します。 hayabusa.servlet.HybsAdmin#getInfomation() hayabusa.servlet.HybsAdmin#tableTr1( final StringBuilder buf, final String key ) fukurou.db.EDbid#toString() fukurou.db.EDbid#info() OS_INFO に、CPUのアーキテクチャも追加しておきます。32bit版 OR 64bit版が判るように。 BuildNumber.master 5.6.7.2 (2013/08/16) [ソースチェック の見直し] jsp:directive.include ファイルは、JspIncludeReader.java 処理で 実際にインクルードされるとともに、XML上からは削除されます。 そのため、ソースチェックを行う場合、インクルード処理の書式が 存在しないため、チェックできません。 そこで、ダミー的に、インクルード処理のタグを入れて、チェックできる ようにします。 を、 の代わりに挿入します。 fukurou.xml.JspIncludeReader#getString( final File file,final String encode ) ge/jsp/DOC18/xsltV6/GF70_PROG.xsl [DB定義追加、変更] JSPソースチェック関連のテーブルに、テーブル種別を追加します。 従来は、ファイルパスで管理していましたが、DB定義DBとの親和性の 観点から、テーブル種別で管理できるようにします。 GF70,GF71,GF72,GF73,GF74,GF75,GF76,GF77,GF79 PRE_FIXカラムは、実質的には使われていないため、削除します。 GF70,GF71,GF72,GF73,GF74,GF75,GF76,GF77 GF79は、他のテーブルとカラムが異なっていたので統一します。 SOURCE ⇒ ADDRESS の追加 GF78 の空き番号に、システムID、テーブル種別、に対応する属性を 管理するテーブルを作成します。 基準JSPパス、画面URL、DBID、DB接続URL、DBユーザー、DBパスワードなど。 将来的な管理情報を持っておきます。 これらのテーブルは、ALTER TABLE で処理しないで、DROP,CLEATE します。 カラムの並び順も考慮したいのと、現時点でソースチェックはワークなので 削除しても、再取込みすればよいだけなので。 gf\changes\5672 [DB定義変更に伴う、JSP修正] TBLSYUカラム 追加、PRE_FIXカラム 削除、SOURCE ⇒ ADDRESS 変更などの DB定義変更に伴う画面関係の修正を行います。 DOC10、DOC11、DOC12、DOC13、DOC15、DOC16、DOC17、DOC18、DOC19、DOC22 データセットのための xslt 修正 gf/jsp/DOC18/xsltV6 以下の GF7*_PROG.xsl ファイル JavaDoc関係の画面IDを、DOC01 〜 DOC09 に集約する為、 DOC23 ⇒ DOC09 フォルダ名変更 gf/jsp/DOC09 変更 5.6.7.1 (2013/08/09) [DBIDのtitle処理 の見直し] 5.6.6.0 (2013/07/05) で導入した DBConfig.xml (データベース接続先)に、 表題(title)属性を追加した処理で、titleにスペースが含まれる場合の 処理を加味するように変更します。 DB定義DBの備考カラムを、コードリソースに分解する処理と同じにします。 (TableFilter_BIKO2CODE) 「キー:ラベル キー:ラベル」で、ラベル にスペースを含ませる場合は、 ダブルクォーテーションで囲ってください。 fukurou.db.DatabaseConfig#getCodeKeyVal() hayabusa.db.Selection_KEYVAL#Selection_KEYVAL( final String strCode ) hayabusa.taglib.ColumnTag#setCodeKeyVal( final String keyval ) コメント修正 plugin.table.TableFilter_BIKO2CODE.java コメント修正 [DBIDのプルダウン] DBIDをDBConfig.xmlから取得したリストからプルダウンを作成する箇所で、 修正漏れのJSPを追加修正します。 ge/GE0001\query.jsp FROM_DBID , TO_DBID ge/GE0009\query.jsp DBID ge/GE0011\query.jsp FROM_DBID , TO_DBID [DB定義DBからのデータ抜出] DB定義DB情報を元に、データを XML ファイルとして抜き出す画面を作成します。 gf/GF2170 画面リソース等も追加します。 GF2150 XML出力(定義情報) 名称変更 GF2170 XML出力(DBデータ) 画面追加 [jspチェックの修正] jspチェックで、数か所機能改善を含めた修正を行います。 2.のインクルードファイルが存在しない場合の処理は、 Tomcat7の新しい、「JSPのモジュール化」により、common,menu,image の フォルダを、META-INF/resources 以下に、保管し、jspCommonX.X.X.X.jar として、エンジン標準と同時に配布する機能への対応です。 本来は、classPathからこの jar ファイルを見つけて取り込む必要が ありますが、現時点では、同じ webapps 上に gf が存在するとして処理します。 1.JSPファイルのインクルードで、 のコメント削除処理のバグ修正 2.JSPファイルのインクルードで、インクルードファイルが存在しない場合、 gf/jsp/common , gf/jsp/menu を利用するように変更。 3.XSLT変換エラー時に、インクルードファイル名を取得できるように、 includeファイル名のリストを返すメソッドを追加 4.xsltV6 を作成しておきます。 取り合えずは、既存の xsltV5 と同じフォルダ内容にしておきます。 fukurou.xml.JspIncludeReader#getString( final File file,final String encode ) fukurou.xml.JspIncludeReader#getIncludeFileList() fukurou.xml.XSLT#transform( final String file, final boolean isJspInclude ) fukurou.xml.XSLT#transform( final Reader xmlReader ) gf/jsp/DOC18/query.jsp gf/jsp/DOC18/xsltV6 [HybsSystemException の修正] HybsSystemException のエラーメッセージの先頭に、エンジンバージョン情報他を 書き出すように変更します。 なお、標準エラー出力として書くだけで、本体のエラーには書き出しません。 現状の、HybsSystemException は、RuntimeException を継承しているものの、 内容的には全く同じ働きをしています。(何も拡張していない状態です。) hayabusa.common.HybsSystemException.java [DBIDの見直し] データベース接続先の見直しを行います。 従来は、WEB-INF/DBConfig.xml に、DEFAULT を必ず登録し、 また、リソースDBと異なる場合は、web.xml の context-param に、RESOURCE_DBID というキーに、RESOURCE を登録する必要がありましたが、 内部的に、DEFAULT と RESOURCE を用意します。 これにより、web.xml への記述の必要性を無くすとともに、DBConfig.xml についても デフォルトであれば、記載不要にします。 この修正は、基本的には、システムのDBとリソースのDBを分ける運用を行う場合、 既存の GF や common 系から GE系のテーブルをアクセスしている画面は、すべて dbid="RESOURCE" 付に書き換えた場合の互換性対応です。 リソース、帳票、伝送、メール、新着、FAQ などのテーブル関係です。 簡単に言うと、RESOURCE_DBID の初期値を、"RESOURCE" に変更するという事です。 ただし、dbid="RESOURCE" を使うため、実質的に、RESOURCE_DBID は変更不可になります。 参考:WEB-INF/web.xml からリソースのDBIDの指定方法。 ⇒ 基本的には廃止です。 RESOURCE_DBID RESOURCE fukurou.db.DatabaseConfig#makeDbidMap( final Element element , EDbid defDdbid ) hayabusa.common.SystemParameter#loadInitialParameter( final ServletContext context,final String contextName ) gf/WEB-INF/web.xml サンプル修正 上記の対応の上で、 [GE系DBを利用している共通画面の修正] 既存の GF や common 系から GE系のテーブルをアクセスしている画面は、すべて dbid="RESOURCE" 付に書き換えます。 基本的には、RESOURCE の設定が WEB-INF/DBConfig.xml になければ、DEFAULT接続を 利用します。設定があれば、リソース系(GEテーブル)DBへの接続でアクセスします。 gf/jsp/common/remoteResource.jsp gf/jsp/common/gamen/02_TADMIN/query.jsp gf/jsp/common/gamen/07_CONFIG/entry.jsp , result.jsp gf/jsp/common/gamen/21_WHTSNEW/meisai.jsp , result.jsp , top_menu.jsp gf/jsp/common/gamen/22_FAQ/query.jsp , result.jsp gf/jsp/common/gamen/23_FAQRGST/entry.jsp , query.jsp , result1.jsp , result2.jsp , update.jsp gf/jsp/common/gamen/24_ERRMSG/entry.jsp , result.jsp DOC19 は修正しますが、実質的に、GE系と GF系を JOINしているため、無効です。 処理そのものを見直す必要があります。 gf/jsp/DOC19/KBSAKUentry.jsp GF0000/index.jsp は、21_WHTSNEW の top_menu.jsp より広い画面です。 top_result.jsp に移します。 gf/jsp/GF0000/index.jsp ⇒ gf/jsp/common/gamen/21_WHTSNEW/top_result.jsp gf/jsp/index.jsp のCONTENTS 領域を上記の top_result.jsp に変更します。 ge/jsp/index.jsp 同上 [jspチェックの修正2] jspチェックの修正で、includeファイルを、キャッシュします。 通常、includeファイルは、大きくない & 多くない のですが、ほとんどの 画面で同じようなファイルをインクルードしているため、 I/O が多くなります。 多少キャッシュすることで、メモリは多く使いますが、jspチェック自体が本番では 行う事はない為、問題ないと判断します。 先の、includeファイル名リストの箇所で、ListからMapに変更することで対応します。 なお、キャッシュは、当然、すべての処理で共有されるため、static変数で管理します。 よって、このクラスは、マルチスレッド対応されていません。 fukurou.xml.JspIncludeReader#getIncludeFiles() fukurou.xml.JspIncludeReader#getString( final File file,final String encode ) fukurou.xml.JspIncludeReader#cacheClear() fukurou.xml.XSLT#transform( final String file, final boolean isJspInclude ) fukurou.xml.XSLT#transform( final Reader xmlReader ) fukurou.xml.XSLT#init() fukurou.xml.XSLT#close() [jquery-ui.js 関係] common/jquery/jquery-ui.js を、custom/result_info.jsp 等で組み込んでいますが 組込み方がまずく、有効になっていません。 また、このJavaScriptは、ドラッグ&ドロップなどの高度なUI用なので、 標準的に組み込む必要はありません。 (現状では、common/gamen/14_EDIT 位でしか使われていません。) そこで、result_info.jsp 、result_FS_info.jsp から削除します。 custom/result_info.jsp custom/result_FS_info.jsp [TopMenuTag の BODY] TopMenuTag は、body:なしなのに、EVAL_BODY_BUFFERED を返していたので、 doStartTag() の継承をやめ、標準のSKIP_BODYを返すように修正します。 ※ この記述は、RELEASE-NOTES.txt 側にも記載しておきます。 hayabusa.taglib.TopMenuTag#doStartTag() 削除 src\META-INF/hybs-taglib.tld topMenu の body-content を JSP から tagdependent に変更 [NT(unknown)時のwindowsShell(cmd)の位置変更] Windows2012Server等、新しいOSが増えるとJavaのバージョンによってはWidnowsNT(unknown)のように OS名が取得されます。NTの場合はC:\\WINNT\\system32\\cmd.exeでcmd.exeを起動するため、 新OSでは帳票等が動作しない場合があります。 最近のOSではcmdはC:\\WINDOWS\\system32\\cmd.exeに配置されているため、unknown時は 他と同様に、この設定を利用するように変更します。 fukurou.util.Shell#CMD_COM