JSPカスタムタグをベースとした、Webアプリケーションフレームワークです。
SQLの知識さえあれば、データのCRUD操作をメインとした業務システムが
簡単に構築することができます。
このフレームワークは、村田機械株式会社の基幹システムを構築するために
開発され、ほぼ全ての基幹システムは、これを利用して構築し、稼動しています。
(基本機能)
・ユーザー管理 ・認証・アクセス制御
・多言語対応 ・Excel入出力機能
・ガントチャート表示、編集機能 ・定型帳票作成、発行機能
・定型メール送信機能 ・データベース定義管理機能
・バッチ処理機能
各種詳細情報及びドキュメントについては、openGion@Websiteを参照して下さい。
Java を含む標章は、米国 Sun Microsystems, Inc.の商標であり、同社のJava ブランドの技術を使用した製品を指します。
Excel は、Microsoft Corporationの米国及びその他の国における登録商標です。
コンテンツ中に記載された社名および製品名は、すべて各社の商標または登録商標です。
5.5.5.0 (2012/07/28)
[クロス集計時のラベルリソース利用]
クロス集計時の上部ヘッダは、DBの値そのままの表示となっていましたが、
ラベルリソース/コードリソースでの表示を行えるようにします。
①対応するラベルリソースで表示する場合
crossParamタグでuseHeaderResourceをtrueに指定して下さい。初期値はfalseです。
このtrue指定はuseHeaderColumnがtrueの場合のみ動作します。
互換性のため、useHeaderColumnのみtrueとしても、ヘッダ部にSLABELの利用は行いません。
②コードリソースで表示する場合
headerCodeColumnに利用するmenuかdbmenuのカラムを指定します。
ヘッダーのカラム名を値として、対応するラベルをヘッダ名称として表示します。
(DBMENUも利用可能にするために、カラムリソースを指定させるようにしています)
この指定もuseHeaderColumnがtrueの場合のみ動作します。
headerCodeColumnの指定が、useHeaderResourceよりも優先されます。
カラムリソースがselectionを持たない場合(label表示等)や、カラムリソースそのものが無い場合は何もしません。
plugin.view.ViewForm_HTMLCrossTable#clear()
plugin.view.ViewForm_HTMLCrossTable#paramInit( final DBTableModel table )
plugin.view.ViewForm_HTMLCrossTable#getHeadLine()
hayabusa.html.ViewCrossTableParam#USE_HEADER_RSC
hayabusa.html.ViewCrossTableParam#HEADER_CODE_KEY
hayabusa.taglib.ViewCrossParamTag#setUseHeaderResource( final String setUseHeaderResource )
hayabusa.taglib.ViewCrossParamTag#setHeaderCode( final String headerCode )
hybs-taglib.tld
[DBConnectionのclose時の処理]
Connectionをcloseする場合に、明示的にcommitを行うようにします。
これはConnectionインタフェイスのcloseメソッドの説明に
close メソッドの呼び出し前に、アプリケーションでアクティブなトランザクションを明示的にコミットまたは
ロールバックすることを強くお勧めします。close メソッドが呼び出され、かつアクティブなトランザクションが存在する場合、
その結果は実装で定義されたものになります。
との記述があるためです。
fukurou.util.Closer#connClose( final Connection conn )
[DB定義DB関連 修正]
DB定義書取込み、DB定義DBへの反映、リソース反映などの対応を行いました。
DB定義書取込みでは、共通の common/upload.jsp に対して、useRenderer 属性を引数に
指定できる改造を入れています。
ge/jsp/common/upload.jsp , filePopup.jsp
gf/jsp/common/upload.jsp , filePopup.jsp
gf/jsp/GF2020
gf/jsp/GF2050
gf/jsp/GF2060
gf/jsp/GF2090
gf/jsp/GF2120
gf/jsp/GF2130
gf/jsp/GF2160
DB定義書のカラム名やテーブル名が 小文字で記述されている場合の対応として、
TableFilter_UPPER を追加します。
plugin/table/TableFilter_UPPER.java
5.5.4.5 (2012/07/27)
[SysInstallTagの見直し]
インストール先をデフォルトだけでなく、dbid で指定できるように変更。
hayabusa.taglib.SysInstallTag#doEndTag()
hayabusa.taglib.SysInstallTag#release2()
hayabusa.taglib.SysInstallTag#setDbid( final String id )
hybs-taglib.tld
[初期起動時の RESOURCE_DBID の使用]
Tomcat起動直後のデータベース接続先が、DEFAULT になっているのを、
RESOURCE_DBID の指定先に変更します。
何も指定がなければ、DEFAULT になります。
これは、リソースDBIDとアプリケーション接続先が異なる場合に、
Tomcat起動時に、GE12などをデフォルトから検索しようとして
テーブルが存在しない等のエラーになるためです。
hayabusa.common.SystemParameter#loadDBResource( final Map<String,String> sysParam )
hayabusa.common.SystemManager#clearGE12()
[DB定義DBの MICS対応]
MICSのDB定義書は、テーブル名、カラム名が、大文字・小文字の混在表記になっています。
ところが、Firebired としては、大文字小文字を区別せず管理しているため、リソース
との差分を求めるときに不具合が発生します。
テーブル関連には、大文字、小文字を認めますが、リソースと突き合わせるときは、大文字に
変換してから、突き合わせます。
gf/jsp/GF2120/GFM0007.jsp
gf/jsp/GF2120/GFM0010.jsp
gf/jsp/GF2120/GFM0011.jsp
gf/jsp/GF2120/GFM0012.jsp
gf/jsp/GF2120/GFM0013.jsp
gf/jsp/GF2120/GFM0029.jsp
gf/jsp/GF2120/GFM0030.jsp
gf/jsp/GF2120/GFM0031.jsp
[バッチ処理の画面出力]
処理の区切りで改行を入れます。
また、ParamProcess の終了を、logger.logging の最後ではなく、process.end のいちばん最後に変更します。
fukurou.process.MainProcess#run()
[GF DB定義書訂正]
1.ヘッダーの備考を、備考(コードリソース)に変更
2.GF80 DB定義書マスタテーブルの KBCLM(カラム区分)のコードリソース変更
カラム区分 0:未 1:主要 2:一般 3:省略 8:共通 9:除外
3.GF05 DB定義書マスタテーブルの FGCOM(共通項目F) のコードリソース変更
共通項目F 0:未 1:主要 2:一般 3:省略 8:共通 9:除外
4.の対応により、KBCLM,FGCOMのコードリソースを変更します。(同じに変更)
GF_DB定義書.xls
GF_DB定義書ALL.xls
5.5.4.4 (2012/07/20)
[SystemInstallerの見直し]
SystemInstaller.java と、SystemParameter.java を見直します。
SQLException の catch や、メソッド単位に定義されていた定数の、static化など
簡易な手直しです。
hayabusa.common.SystemInstaller#enum EXEC_TYPE
hayabusa.common.SystemInstaller#SystemInstaller( final Connection conn, final PrintWriter out )
hayabusa.common.SystemInstaller#autoInsUpd( final String systemId, final String context, final String hostUrl )
hayabusa.common.SystemInstaller#install( final File buildArchive )
hayabusa.common.SystemInstaller#loadXMLScript( final EXEC_TYPE type, final String context )
hayabusa.common.SystemInstaller#execScripts( final EXEC_TYPE type, final String scriptPath )
hayabusa.common.SystemParameter#makeSystemParameter( final ServletContext context )
hayabusa.common.SystemParameter#loadDBResource( final Map<String,String> sysParam )
[static final 対応]
final static → static final に変換します。(339か所)
[GanttTable修正]
hidden状態のチェックボックスが2つ出力されてしまう場合があるため、
一度出力された行のチェックボックスは出さないように修正します。
plugin.view.ViewForm_HTMLGantTable#create( final int stNo, final int pgSize )
[カラム説明表示機能修正]
①Field登録/表示パターンでも説明を表示するように対応。
②スクロール時に表示がおかしくなる現象の対応
jsp/common/resultScript.js#showViewManual
[hideMenu修正]
hideMenuタグでボタンによる表示/非表示の切り替えを設定可能ですが、
複数個所を同時に切り替える事ができませんでした。
classを外部から指定可能にする事で対応します。
hayabusa.tablib.HideMenuTag#doStartTag()
hayabusa.tablib.HideMenuTag#release2()
hayabusa.tablib.HideMenuTag#setHideClass( final String name)
hybs-taglib.tld
[サービス化対応]
tomcatサービス化のためのバッチを修正して、インストール可能にします。
サービス化に必要な設定はserviceInit.batで行います。
その他の設定は通常通りinit.bat、const.batで行ってください。
サービスのインストールはserviceInstall.batで
アンインストールはserviceRemove.batで行います。
uap/bin/serviceInit.bat
uap/bin/serviceInstall.bat
uap/bin/serviceRemove.bat
5.5.4.3 (2012/07/18)
[biz の簡易な修正]
javaの業務ロジック(biz)のサンプルを修正します。
src\biz\gf\GF0001.java
src\biz\gf\GF9140A.java
[openOffice3.4対応]
openOffice3.4対応を行います。
C:\opengion\uap\bin\init.bat 接続先、Java・Tomcat・OpenOfficeのバージョン等
C:\opengion\uap\bin\const.bat CLASSPATH の設定先(juh.jar の場所が変わった)
C:\opengion\apps\openoffice3.4 env\_default フォルダを追加
C:\opengion\apps\tomcat7.0.29\bin bin\catalina.bat 追加
5.5.4.2 (2012/07/13)
[javadoc 見直し]
タグ出力の最後に改行を入れておきます。
fukurou.taglet.DocletTagWriter#printTag( final Tag[] tag )
[タグリブマニュアル修正]
タグリブリファレンス関係の画面を修正します。
特に、クイックリファレンスに、SHORT,FULL の区分を設けました。
gf/jsp/DOC01
gf/jsp/DOC02
gf/jsp/DOC03
gf/jsp/DOC08
[ソースのJavadoc修正]
行の最後の「。」や、初期値の設定など、こまかなJavadoc 関連の修正
hayabusa.taglib.ColumnEditorTag.java
hayabusa.taglib.ColumnTag.java
hayabusa.taglib.HTMLTagSupport.java
hayabusa.taglib.QueryTag.java
hayabusa.taglib.ReadTableTag.java
hayabusa.taglib.RequestCacheTag.java
hayabusa.taglib.SelectTag.java
hayabusa.taglib.TableUpdateTag.java
hayabusa.taglib.ViewFormTag.java
hayabusa.taglib.ViewGanttParamTag.java
hayabusa.taglib.WriteCheckTag.java
hayabusa.common.SystemData.java
[ヘッダ固定修正]
5.5.1.0で追加したヘッダ固定時の隠れたヘッダ内容をvisibility:hiddenとする処理を
Classセットに変更します。(印刷時にもhiddenとなってしまっていたため)
classはvisihiddenをセットします。
common/scrollBar2.js
common/scrollBar2.css
[概要説明登録用画面追加]
ラベルリソースの概要説明を登録しやすくするため、画面を追加します。
(この画面では概要説明を改行込みで入力可能です)
ge/jsp/GE0006/*.jsp
ge/jsp/GE0005/result.jsp
[servlet 3.0 META-INF/resources 対応]
servlet 3.0 より、META-INF/resources 以下に 静的ドキュメントや jsp ファイルを
配備して、jar 化したものを、WEB-INF/lib 以下に配備すれば、そのまま利用できる
機能が追加されました。
これにより、jspフォルダ以下のJSPファイルを、グループ化して jar化することが
可能になります。
今回は、このjar化ファイルの中で、menuImageの存在チェックを行っているロジックで
直ファイルではなく、リソースとして取り出す必要があるための対応を行います。
hayabusa.taglib.TopMenuTag#doEndTag() {
hayabusa.taglib.TopMenuTag#makeTagMenuString( final String href,final String target, final String bodyIn,
fukurou.util.FileMap#FileMap( final String dir ) throws IllegalArgumentException // 新規追加
fukurou.util.FileMap#FileMap( final String dir , final Set<?> resourcePaths )
[印刷時のヘッダー繰り返し表示]
ヘッダー固定の一覧検索時に印刷する場合、ヘッダーをページごとに印刷するようにします。
common/default.css の @media print の中に、thead { display: table-header-group; } を追記します。
gf/src/script/common/default.css#@media print { … } に追記
[コメント修正]
hayabusa.taglib.ChartDatasetTag.java
[EDITNAME利用時の編集]
カラムの並び替えや表示等を設定するEDITNAME機能利用時は登録できないように制限していましたが、
システムリソース及びwriteCheckタグの属性で登録可/不可のコントロールができるようにします。
wtireCheckタグでhiddenタグを出力し、次の画面に渡す機能も追加しますが、
引き渡された画面ではviewタグのviewTypeが内部的に変更されてしまうため注意が必要です。
(editNameを渡さない場合は指定された通りの編集画面になります)
HTMLSeqClmTableの編集画面では、writableで指定されたカラムでmustとmustAnyが指定されている分については
columnDisplayを無視してdisplay:noneで編集欄を出力するようにしています。
そのため新規登録時の必須入力チェックは動作しますが、それ以外の場合(複写等)の動作については自己の責任となります。
又、必須/選択必須以外で隠されたカラムは出力しないため、eventColumnが正常動作しない場合があります。
システムリソースの初期値は編集不可、editNameの送信をしない、です。
hayabusa.common.SystemData#USE_EDIT_WITH_EDITNAME
hayabusa.common.SystemData#OUTPUT_EDITNAME
hayabusa.taglib.WriteCheckTag#release2()
hayabusa.taglib.WriteCheckTag#setUseEdit( final String flag )
hayabusa.taglib.WriteCheckTag#isWrite()
hayabusa.taglib.WriteCheckTag#getHiddenTag()
hayabusa.taglib.WriteCheckTag#setOutputEditName( final String flag )
hayabusa.html.AbstractViewForm#isMustColumn( final int column)
hayabusa.html.AbstractViewForm#isMustAnyColumn( final int column)
hayabusa.html.AbstractViewForm#init( final DBTableModel table )
hayabusa.html.AbstractViewForm#clear()
plugin.view.ViewForm_HTMLSeqClmTable#create( final int startNo, final int pageSize )
hybs-taglib.tld
5.5.4.1 (2012/07/06) [特別]
[Javadoc コメントメンテナンス]
上記のコメント見直しは、ほぼ、すべてのJavaファイルの変更が発生していますので、
ソース上のバージョン表記はしていません。
Javadocコメントを見直しました。
1.@param や、@return の形式を統一しました。
@param 引数 解説
@return 解説
2.タグリブ関連のソースに、XML形式のタグの全要素説明を追記しました。
3.サンプルを等幅フォントにするため、custom.css の pre 要素に、
font-family: 'MS ゴシック' , monospace; を追加しました。
ge/jsp/custom/custom.css
gf/jsp/custom/custom.css
5.5.4.1 (2012/07/06)
[fukurou.taglet パッケージの見直し]
コメントは文字列でなく、Tag配列として処理させる。
fukurou.taglet.DocletParam#writeContents( final ClassDoc[] classes,final DocletTagWriter writer )
fukurou.taglet.DocletPlugin#writeContents( final ClassDoc[] classes,final DocletTagWriter writer )
fukurou.taglet.DocletSpecific#writeContents( final ClassDoc[] classes,final DocletTagWriter writer )
fukurou.taglet.DocletSpecific#menberTag( final ExecutableMemberDoc menber,
fukurou.taglet.DocletTaglib#writeContents( final ClassDoc[] classes,final DocletTagWriter writer )
fukurou.taglet.DocletUtil#commentText( final String cmnt ) 廃止
{@value package.class#field} の処理 対応
fukurou.taglet.DocletTagWriter#printTag( final Tag[] tag )
fukurou.taglet.DocletUtil#valueTag( final Tag tag ) 新規追加
Tag出力時の CR → BR 変換を行わない様にする。
fukurou.taglet.DocletSpecific#start( final RootDoc root )
DocletUtil.htmlFilter → StringUtil.htmlFilter に変更
StringUtil.htmlFilter との違いは、';' → ";" への変換があることです。(この処理の意味が分かりません)
fukurou.taglet.DocletTagWriter#printTag( final Tag[] tag )
fukurou.taglet.DocletTaglib#makeGroupTag( final Tag[] tag )
fukurou.taglet.DocletParam#writeContents( final ClassDoc[] classes,final DocletTagWriter writer ) {
fukurou.taglet.DocletTagWriter#printCSVTag( final Tag[] tag )
fukurou.taglet.DocletTagWriter#printTagsInfo( final Tag[] tag )
fukurou.taglet.DocletUtil#htmlFilter( final String input ) 廃止
[build.xmlの見直し]
og.value の追加や、classpath の設定見直しを行った。
<property name="classes.path" refid="og.classpath" /> を追加し、<path id="og.classpath"> が使えない箇所に適用。
従来は、クラスファイルを出力するディレクトリ(classes.dir)を、そのまま、クラスパスとして使用していた箇所があり、
それを、今回の ${classes.path} で置き換えます。
また、javadoc 作成時に、TagletValue を利用するように変更しました。
gf/build.xml
[og.value タグレット]
og.value タグレットを使用したドキュメントの解説に変更しました。(先行 taglibパッケージ)
[FAQ画面修正]
23_FAQRGSTで、登録時のconstObjKeyを指定していなかったため、GFを指定します。
jsp/common/gamen/23_FAQRGST/entry.jsp