Download List

Project Description

Projectの概要

JSPカスタムタグをベースとした、Webアプリケーションフレームワークです。
SQLの知識さえあれば、データのCRUD操作をメインとした業務システムが 簡単に構築することができます。

このフレームワークは、村田機械株式会社の基幹システムを構築するために 開発され、ほぼ全ての基幹システムは、これを利用して構築し、稼動しています。

(基本機能)
・ユーザー管理         ・認証・アクセス制御
・多言語対応          ・Excel入出力機能
・ガントチャート表示、編集機能 ・定型帳票作成、発行機能
・定型メール送信機能      ・データベース定義管理機能
・バッチ処理機能

各種詳細情報及びドキュメントについては、openGion@Websiteを参照して下さい。


Java を含む標章は、米国 Sun Microsystems, Inc.の商標であり、同社のJava ブランドの技術を使用した製品を指します。
Excel は、Microsoft Corporationの米国及びその他の国における登録商標です。
コンテンツ中に記載された社名および製品名は、すべて各社の商標または登録商標です。

System Requirements

System requirement is not defined

Released at 2013-04-01 16:52
opengion 5.6.3.0 (4 files Hide)

Release Notes

5.6.3.0 (2013/04/01)
[Queryタグのエラーメッセージ変更]
「QueryTag Query処理が割り込まれました。DBTableModel は登録しません。」
のエラーメッセージをリソースERR0041から取得して表示するように変更します。
hayabusa.taglib.QueryTag#doEndTag()
ラベルリソース ERR0041

[ColumnMarkerTag のフォーマッタ]
columnMarkerタグで、[$XXXX],[#XXXX]機能を有効にするための属性を追加します。
通常の、View等では、[$XXXX] は、レンデラー処理された文字列を、[#XXXX]は、
ラベルリソースを出力しまが、columnMarkerでは、[$XXXX] は、URLEncode処理する
記号になっています。
過去の互換性の関係で、崩せない為、他のタグと同じ動きをさせる場合に限り、
useFormatDeco = "true" を設定する方法を取ります。
hayabusa.taglib.ColumnMarkerTag#release2()
hayabusa.taglib.ColumnMarkerTag#setUseFormatDeco( final String val )
hayabusa.taglib.ColumnMarkerTag#doAfterBody()
hayabusa.html.ViewMarker_MARKER#clear()
hayabusa.html.ViewMarker_MARKER#setDBTableModel( final DBTableModel tbl )
hayabusa.html.ViewMarker_MARKER#getMarkerString( final int row,final int clm,final String value )

hybstaglib.tld ColumnMarkerTag に、useFormatDeco 属性追加

[ViewForm_ImageTimeBar のTips処理]
ViewForm_ImageTimeBarの area タグで、alt 属性に、tips を表示している箇所を修正します。
alt 属性は、シングルクォーテーション で囲っているため、tipsにシングルクォーテーションが
含まれていると、HTMLの整合性が崩れます。
そこで、シングルクォーテーションをエスケープ処理("'" ⇒ "'" ) します。
plugin.view.ViewForm_ImageTimeBar#create( final int startNo, final int pageSize )

[HeadTag ガント系変更]
ガント系で、useGantt2="true" で組み込むadjustGantTable.js で、初期起動するメソッドが
異なる為、外部から指定できるように、setAddEvent( String ) メソッドを追加します。
* adjustTable : テーブル分割
* adjustGant : ガント/積み上げガント
* adjustTask : 積み上げガント(内部積み上げ)
script として、addEvent( this, "load", adjustGant ); という形式を出力します。
汎用的に使えます。
hayabusa.taglib.HeadTag#release2()
hayabusa.taglib.HeadTag#setAddEvent( final String method )
hayabusa.taglib.HeadTag#doEndTag()
gf/jsp/GF7215/result.jsp adjustTableサンプル 左右分割(特殊)
gf/jsp/GF7216/result.jsp adjustGantサンプル ガント(クライアント)
gf/jsp/GF7217/result.jsp adjustGantサンプル ガント(積上)
gf/jsp/GF7217/result.jsp adjustTaskサンプル ガント(内部積上)

hybstaglib.tld HeadTag に、addEvent 属性追加

[IE10対応]
イントラネット外からのアクセスでブラウザモードがIE10になる対応。
検索結果が表示されないため、dummy.htmlのDTD宣言を変更します。
jsp/common/dummy.html

[入力可能プルダウン変更時のイベント発生]
コンボボックスでプルダウンを変更した場合に元のテキストボックスでchangeイベントが発生していませんでした。
又、一括入力機能字にonChangeが上書きされて動作しないという問題もあったため、onChangeについては外部からの
セットよりも内部でのセットが優先するように対応します。
jsp/common/default.js#selChanged(sel)
plugin.column.Editor_INMENU#Editor_INMENU( final DBColumn clm )
plugin.column.Editor_IINDBMENU#Editor_INDBMENU( final DBColumn clm )

[build.xml の修正]
ant の target が table の場合の build.xml を修正します。
これは、jsp/GF2140 のXMLファイル出力処理で、出力先のフォルダに、
SYSTEM_ID を追加するように変更したことに対応した処置です。
旧 filetemp/admin/xml/install/01_TABLE
新 filetemp/admin/GE/xml/install/01_TABLE

[IE10対応その2]
システムリソースUSE_MULTI_KEY_SELECTの初期値をtrueからfalseに変更します。
IE10ではこのスクリプト動作で不具合が発生する事と、
IE8以降ではブラウザの標準機能となっているため、標準では無効とします。
hayabusa.common/SystemData#USE_MULTI_KEY_SELECT

5.6.2.3 (2013/03/22)
[ガントヘッダー]
zoom="13" 追加
これは、zoom="2" の特殊系で、zoom="13"で指定できます。
月を横にまたがって表示、2段目に日付 3段目に曜日を出します。
hayabusa.taglib.GanttHeaderTag#makeZoom3( final String header ,final String upper ,final String lower ,final int add )
src/script/common/default.css
src/script/common/option/adjustGantTable.js
src/script/common/option/adjustGantTable.css

ganttHeader の月別の色 で月表示のグループ化を行う場合の背景色の設定を class 属性で行います。
奇数月の色 は、oddColor 、偶数月の色は、evenColor です。
src/script/common/default.css

今回より、日付の開始(startDate)-終了(endDate) で、終了は「含まない」仕様ですが、「含む」仕様に変更します。
ただし、日付は、「含む」、時間は、「含まない」です。
例えば、2013/03/01 - 2013/03/01 は、2013/03/01 です。通常ひと月は、2013/03/01 - 2013/03/31 と指定します。
時間は、0700 - 2000 の場合、2000 は、含みません。よって、0700 - 0700 とすると、翌日の 0700 まで(24時間)
を表します。少しややこしいですが、終了は、0700 - 1959 ではなく、0700 - 2000 です。
hayabusa.taglib.GanttHeaderTag#makeZoom( final String upper ,final String lower ,final int add, final boolean useMonth ) {
hayabusa.taglib.GanttHeaderTag#makeZoom2( final int add ) {
hayabusa.taglib.GanttHeaderTag#makeZoomStack( final String upper ,final String lower ,final int add, final boolean useMonth ) {

[入力値自動変換機能]
queryScriptPre.js → queryConvert.js 名称変更
キーワードも、QUERYPRE_SCRIPT_JS → QUERYCONV_SCRIPT_JS に変更
queryConvert.js の処理を行う、各種 DBTYPE の値を追加します。
src/script/common/queryScriptPre.js → queryConvert.js 名称変更
hayabusa.taglib.HeadTag#doEndTag()
gf/jsp/GF6000/query.jsp

[DBMENU の 0 非表示]
数字型のDBMENUを利用した場合、初期値が 0 の場合、データとしてゼロ文字列を
予め設定できない場合や、初期値が 0 の数字型などで、あえて画面に 0 などの
文字を表示させたくないケースで、使用します。
noDisplayVal に指定した値と同じ場合は、ゼロ文字列("")を返すようにします。
これは、レンデラーのみ対応です。(エディターはきちんと値を入れておく必要があります。)
hayabusa.db.DBColumn#DBColumn( final String lang,final ColumnData clmData ,final LabelData lblData ,final CodeData cdData )
hayabusa.db.DBColumn#DBColumn( final DBColumnConfig config )
hayabusa.db.DBColumn#getConfig()
hayabusa.db.DBColumn#getNoDisplayVal()
hayabusa.db.DBColumnConfig#setNoDisplayVal( final String val )
hayabusa.db.DBColumnConfig#getNoDisplayVal()
hayabusa.taglib.ColumnEditorTag#release2()
hayabusa.taglib.ColumnEditorTag#getModifyConfig( final DBColumn dbColumn )
hayabusa.taglib.ColumnEditorTag#setNoDisplayVal( final String prm )

hybstaglib.tld ColumnEditorTag に、noDisplayVal 属性追加

plugin.column.Renderer_DBMENU.java 関連するメソッド
plugin.column.Renderer_DECIMAL.java 関連するメソッド
plugin.column.Renderer_MONEY.java 関連するメソッド
plugin.column.Renderer_NUMBER.java 関連するメソッド

[短ラベルの切り替え]
columnタグで、長ラベルと短ラベルの切り替えを、行うための属性(useSLabel)が
実装済みだったので、これを、columnEditor タグにも移植します。
また、viewタグの viewFormType="HTMLTextField" の場合は、短ラベルを使うのではなく
長ラベルを使うように、セットします。
hayabusa.taglib.ColumnEditorTag#setUseSLabel( final String prm )
hayabusa.taglib.ColumnEditorTag#release2()
hayabusa.taglib.ColumnEditorTag#getModifyConfig( final DBColumn dbColumn )
hayabusa.html.AbstractViewForm#setDBColumn( int dbColumn, DBColumn clm )
plugin.view.ViewForm_HTMLTextField#noSLabelSetting( final int clmNo )
plugin.view.ViewForm_HTMLTextField#create( final int startNo, final int pageSize )
plugin.view.ViewForm_HTMLFormatTextField#create( final int startNo, final int pageSize )
hybstaglib.tld ColumnEditorTag に、useSLabel 属性追加

useSlabel ⇒ useSLabel に統一。
tld が、useSLabel で作成済みだったので、メソッド側を変更します。
hayabusa\db\DBColumn.java(72): private final String useSlabel ; // 5.5.1.0 (2012/04/03) MENUのベース表示の切り替え
hayabusa\db\DBColumn.java(124): useSlabel = "auto"; // 5.5.1.0
hayabusa\db\DBColumn.java(155): * @og.rev 5.5.1.0 (2012/04/03) useSlabel対応
hayabusa\db\DBColumn.java(179): useSlabel = config.getUseSlabel(); // 5.5.1.0 (2012/04/03)
hayabusa\db\DBColumn.java(662): * @og.rev 5.5.1.0 (2012/04/03) useSlabel対応
hayabusa\db\DBColumn.java(700): config.setUseSlabel( useSlabel ); // 5.5.1.0 (2012/04/03)
hayabusa\db\DBColumn.java(950): public String getUseSlabel() {
hayabusa\db\DBColumn.java(951): return useSlabel ;
hayabusa\db\DBColumnConfig.java(59): private String useSlabel = "auto"; // 5.5.1.0 (2012/04/03) MENU系でSLABELを利用するかどうか
hayabusa\db\DBColumnConfig.java(782): public void setUseSlabel( final String use ) {
hayabusa\db\DBColumnConfig.java(783): this.useSlabel = use;
hayabusa\db\DBColumnConfig.java(793): public String getUseSlabel() {
hayabusa\db\DBColumnConfig.java(794): return useSlabel;
hayabusa\taglib\ColumnEditorTag.java(413): if( useSLabel != null ) { config.setUseSlabel( useSLabel ); } // 5.6.2.2 (2013/03/15)
hayabusa\taglib\ColumnEditorTag.java(834): public void setUseSlabel( final String prm ) {
hayabusa\taglib\ColumnTag.java(467): if( useSLabel != null ){ config.setUseSlabel( useSLabel ); } // 5.5.1.0 (2012/04/03)
hayabusa\taglib\ColumnTag.java(1078): public void setUseSlabel( final String prm ) {
plugin\column\Editor_DBMENU.java(80): private final String useSlabel ; // 5.5.1.0 (2012/04/03)
plugin\column\Editor_DBMENU.java(99): useSlabel = "auto"; // 5.5.1.0 (2012/04/03)
plugin\column\Editor_DBMENU.java(127): useSlabel = clm.getUseSlabel() ; // 5.5.1.0 (2012/04/03)
plugin\column\Editor_DBMENU.java(182): // final boolean uslbl = !"true".equals(useSlabel) ? false : true; // 5.5.1.0 (2012/04/03)
plugin\column\Editor_DBMENU.java(183): final boolean uslbl = "true".equalsIgnoreCase( useSlabel ); // 5.5.1.0 (2012/04/03)
plugin\column\Editor_DBMENU.java(230): // final boolean uslbl = ("auto".equals(useSlabel) || "true".equals(useSlabel) ) ? true : false; // 5.5.1.0 (2012/04/03)
plugin\column\Editor_DBMENU.java(231): final boolean uslbl = "auto".equalsIgnoreCase( useSlabel ) || "true".equalsIgnoreCase( useSlabel ); // 5.5.1.0 (2012/04/03)
plugin\column\Editor_MENU.java(50): private final String useSlabel ; // 5.5.1.0 (2012/04/03)
plugin\column\Editor_MENU.java(67): useSlabel = "auto"; // 5.5.1.0 (2012/04/03)
plugin\column\Editor_MENU.java(95): useSlabel = clm.getUseSlabel() ; // 5.5.1.0 (2012/04/03)
plugin\column\Editor_MENU.java(139): * @og.rev 5.5.1.0 (2012/04/03) useSlabel対応
plugin\column\Editor_MENU.java(147): // final boolean uslbl = !"true".equals(useSlabel) ? false : true; // 5.5.1.0 (2012/04/03)
plugin\column\Editor_MENU.java(148): final boolean uslbl = "true".equalsIgnoreCase( useSlabel ); // 5.5.1.0 (2012/04/03)
plugin\column\Editor_MENU.java(189): * @og.rev 5.5.1.0 (2012/04/03) useSlabel対応
plugin\column\Editor_MENU.java(198): // final boolean uslbl = ("auto".equals(useSlabel) || "true".equals(useSlabel) ) ? true : false; // 5.5.1.0 (2012/04/03)
plugin\column\Editor_MENU.java(199): final boolean uslbl = "auto".equalsIgnoreCase( useSlabel ) || "true".equalsIgnoreCase( useSlabel ); // 5.5.1.0 (2012/04/03)
plugin\column\Renderer_DBMENU.java(52): private final String useSlabel ; // 5.5.1.0 (2012/04/03)
plugin\column\Renderer_DBMENU.java(67): useSlabel = "auto"; // 5.5.1.0 (2012/04/03)
plugin\column\Renderer_DBMENU.java(85): useSlabel = clm.getUseSlabel() ; // 5.5.1.0 (2012/04/03)
plugin\column\Renderer_DBMENU.java(131): // final boolean uslbl = !"true".equals(useSlabel) ? false : true; // 5.5.1.0 (2012/04/03)
plugin\column\Renderer_DBMENU.java(132): final boolean uslbl = "true".equalsIgnoreCase( useSlabel ); // 5.5.1.0 (2012/04/03)
plugin\column\Renderer_DBMENU.java(161): // final boolean uslbl = ("auto".equals(useSlabel) || "true".equals(useSlabel) ) ? true : false; // 5.5.1.0 (2012/04/03)
plugin\column\Renderer_DBMENU.java(162): final boolean uslbl = "auto".equalsIgnoreCase( useSlabel ) || "true".equalsIgnoreCase( useSlabel ); // 5.5.1.0 (2012/04/03)
plugin\column\Renderer_MENU.java(42): private final String useSlabel ; // 5.5.1.0 (2012/04/03)
plugin\column\Renderer_MENU.java(55): useSlabel = "auto"; // 5.5.1.0 (2012/04/03)
plugin\column\Renderer_MENU.java(74): useSlabel = clm.getUseSlabel() ; // 5.5.1.0 (2012/04/03)
plugin\column\Renderer_MENU.java(104): // final boolean uslbl = "true".equalsIgnoreCase( useSlabel ); // 5.5.1.0 (2012/04/03)
plugin\column\Renderer_MENU.java(105): final boolean uslbl = !"true".equals(useSlabel) ? false : true; // 5.5.1.0 (2012/04/03)
plugin\column\Renderer_MENU.java(125): // final boolean uslbl = ("auto".equals(useSlabel) || "true".equals(useSlabel) ) ? true : false; // 5.5.1.0 (2012/04/03)
plugin\column\Renderer_MENU.java(126): final boolean uslbl = "auto".equalsIgnoreCase( useSlabel ) || "true".equalsIgnoreCase( useSlabel ); // 5.5.1.0 (2012/04/03)
plugin\view\ViewForm_HTMLTextField.java(133): config.setUseSlabel( "false" );

5.6.2.2 (2013/03/15)
[must/mustAny用のinput出力位置変更]
columnTag等で必須項目の自動判定を行うためのinput出力の位置がtdの外となり、
HTMLとして不正ですので出力位置を変更します。
hayabusa.taglib.ColumnTag#makeTag()
hayabusa.taglib.InputTag#makeTag()
hayabusa.taglib.SelectTag#makeTag()

[adjustGant.jsのfirefox対応]
5.6.2.1で対応できていなかった部分の対応を行います。
①ガントのコメントが表示できていなかった(fontサイズに単位追加)
②画像のツールチップが出ていなかった(alt属性だけでなくtitle属性をセット)
又、このスクリプトで行っている左右分割でスクロールバーが出ない場合に
背景が白色となっていたのを画面の標準背景色と同色とします。
jsp\common\option\adjustGantTable.js
jsp\common\option\adjustGantTable.css

[クライアントガント修正]
①マーカーの表示位置を、終了時刻側に表示可能にします。
日単位の表示の場合start属性の場合は今まで通り日の初めに、end属性の場合はバーの後ろに表示します。
時間指定の場合、時間まで指定しなかった場合start側は0:00として、end側は24:00として計算されます。
②時間指定のガントで休日判定ができていなかったため、対応
jsp\common\option\adjustGantTable.js

5.6.2.1 (2013/03/08)
[キャッシュ]
HeadTag で、JavaScript,CSSファイル等をキャッシュする場合の
"v=" 属性で、Tomcat7のjspファイル部分圧縮(jspCommonX.X.X.X.jar)を
利用すると、ファイルのタイムスタンプが取得できなく、0 になるため、
その場合は、エンジンの作成日付を利用するようにします。
hayabusa.taglib.HeadTag#addScriptTag( final String filename, final StringBuilder buf )
hayabusa.taglib.HeadTag#addStyleTag( final String filename, final StringBuilder buf )

[adjustGantTable.js 組込み]
adjustGantTable.js を、HeadTag に組み込みます。
useGantt2="true" で組み込むことになります。
組み込むのは、adjustGantTable.js、adjustGantTable.css と、script として、
addEvent( this, "load", adjustGant ); を出力します。
なお、useGantt2="true" にする場合は、自動的に、useScrollBar="false" にします。
hayabusa.taglib.HeadTag#release2()
hayabusa.taglib.HeadTag#setUseGantt2( final String flag )

hybstaglib.tld useGantt2 属性追加

[firefoxのTIMESTAMP型の対応]
Types.DATE と Types.TIMESTAMP で処理を分けます。
hayabusa.io.HybsJDBCCategoryDataset2#innerQuery( final Connection con, final String query )

[内部積上げガント修正]
休日積上げの有無の設定が効かない不具合を修正します。
plugin.view.ViewForm_HTMLStackedGanttTable#paramInit()

[MICS関連修正]
データベース登録時に、固定値カラムの設定を行う情報を管理するクラスを新規作成します。
plugin.query.DBConstValue_MICS.java

[Javadoc警告修正]
JavaDoc処理で、警告(引数文字違いなど)が発生した箇所を修正します。
hayabusa.develop.JspEnumeration.java:249: 警告 - @param argument "arg"はパラメータ名ではありません。
hayabusa.io.HybsTimeSeriesCollection.java:82: 警告 - @param argument "con"はパラメータ名ではありません。
hayabusa.io.HybsTimeSeriesCollection.java:82: 警告 - @param argument "query"はパラメータ名ではありません。
fukurou.business.ArrayTableModel.java:171 警告2:RTN配列
fukurou.xml.OGElement.java:326 警告3:@Overrideなし
hayabusa.io.ChartCreate.java:827 警告3:RTNタイプ
plugin.column.Editor_YMDMENU.java:103 警告3:@Overrideなし
plugin.column.Editor_NUMMENU.java:82 警告3:@Overrideなし
plugin.column.Editor_HMMENU.java:86 警告3:@Overrideなし

[内部積上げガントJavaScript対応]
タグのみ作成していた内部積上げガントのJavaScript側の対応を組み込みます。
通常と同様common/option/adjustGantTable.jsを利用します。
利用するJSPではaddEvent(this,"load",adjustTask)をcallします。
表示するためにはiTaskタグでfixedColsを指定して下さい。
jsp\common\option\adjustGantTable.js
gf\jsp\GF7218

[クライアントガントcolorNo変更]
iGnatBarのcolorNo属性の指定を変更します。
"0":"blue", "1":"orange", "2":"pink", "3":"purple", "4":"yellow", "5":"violet", "6":"green", "7":"navy"
, "8":"chocolate","9":"teal"の10色とした上で、colorNoの最終桁に従って色を出力するように変更します。
(正確には最終桁の文字コード+2を10で割った余りを利用)
jsp\common\option\adjustGantTable.js
gf\jsp\GF7218

[firefox対応]
iFieldタグを利用した行⇒テーブル変換機能について、firefox対応を行います。
主なの修正点は以下です。
①独自タグの属性の取得を.xxxではなくgetAttributeに変更
②jsp中の独自タグ(iField)の書き方を<iField...><!-- --></iField>のように終了タグ付きに変更
③width,heightの値をセットする際に"px"を付加
④insertRow()は引数を追加
⑤innerTextはjQueryのtext()を利用するように変更
jsp\common\option\adjustField.js
gf\jsp\GF7214

iMatrixを利用した配置図/座席表についてfirefox対応を行います。
主な修正点はiFieldと同様です。
jsp\common\option\adjustMatrix.js
gf\jsp\GF7213

iGantBarを利用したクライアントガントについてfirefox対応を行います。
主な修正点はiFieldとほぼ同様で、他にfontがmonospace時のletter-spacingの設定をfrefox向けに追加しています。
letter-spacingの仕様上、一部zoomの表示が正しく表示されません。
又、現段階では一部情報が表示されない等、完全にIEと同一表示となっているわけではありません。
jsp\common\option\adjustGantTable.js
jsp\common\option\adjustGantTable.css
jsp\common\default.css
gf\jsp\GF7216
gf\jsp\GF7217
gf\jsp\GF7218

Changelog

No Changelogs