概要:
Webエンジン Ver 5.1.4.0 (2010/03/01) をリリースいたします。
今回のリリースのおける主な変更点は、各種標準ソフト・モジュールの最新版への対応です。
これに伴い、本バージョンから、JDK、Tomcat、OpenOfficeの標準バージョンを以下に変更します。
JDK : 1.6 update 18
Tomcat : 6.0.24
OpenOffice : 3.2
また、標準環境の雛型のアーカイブとして、
openGion_apps_win32_5.1_jdk160u18_tomcat6024_ooo32.zip
も同時に公開します。
※ バージョンアップされる場合は、ビルドファイル(verup.x.x.x.x.zip)に含まれるchanges.txtを確認の上、
作業をお願いします。
※ 変更点に関する詳細及びその他の修正内容については、添付のリリースノートを参照下さい。
5.1.4.0 (2010/03/01)
[ヘッダー固定バグ修正]
ヘッダー固定で、ビューの高さ、幅を%で指定した場合に、正しく動作しない問題に対応します。
これは、%指定が誤ってpx指定として処理されていたためです。
jsp/common/scrollBar2.js
[メニューハイライト機能追加]
通常の左メニューで、現在開いている画面メニューがハイライトされるように修正します。
また、これに伴いボタンメニューでのハイライト処理もjQueryで実装するように見直しします。
org.opengion.hayabusa.taglib.TopMenuTag.makeTagMenuString(String, String, String, String, int)
org.opengion.hayabusa.taglib.TopMenuTag.setUseButtonScript(String)
jsp/menu/multiMenu.jsp
jsp/menu/menuHilight.js
jsp/menu/menuHilight_button.js
[tabLinkタグ・Firefox対応]
tabLinkタグの初期タブ表示がFirefoxで動作しない問題に対応します。
これは、Firefoxでaタグに対して、JavaScriptでobj.click()を発行しても、マウスクリックと同等の
処理が行われないためことが原因です。
今回の対応では、aタグのクリックイベント(タブのハイライト)の処理は、obj.onclick()で処理を行い、
リンク先のオープンは、JavaScriptで処理するようにします。
org.opengion.hayabusa.taglib.TabLinkTag.makeTag()
jsp/common/tagLink.js
[タグリブ検索画面改善]
タグリブ検索画面で、タグ名称を大文字・小文字区別なく検索出来るように修正します。
jsp/DOC01/result.jsp
jsp/DOC02/result.jsp
[標準メニュー改善]
標準で表示される左メニューで、隠しメニューを定義した際に表示される、隠しメニュー表示用の文字
"←・・・→"に、カーソルをあてた際に、通常のリンクと同じようにマウスカーソルの形状が変更される
ようにします。
jsp/menu/multiMenu.jsp
[Excel出力のカラム指定]
writeTable タグで、writerClass が Excel、ExcelRenderer の場合に、
カラム指定できない件の対応を行いました。
今回は、カラム指定と、useNumber 属性の対応と合わせて行いました。
なお、JExcel については、互換性のために残しているだけですので、
今回は、対応していません。
org.opengion.plugin.io.TableWriter_Excel.java
org.opengion.plugin.io.TableWriter_ExcelRenderer.java
【ファイル入出力】ダウンロード のJSP を修正します。
主に、この画面で、columns 属性とuseNumber 属性のテストが行えるように
改造しました。
また、writerClass の引数も最新にあわせて用意しました。
gf/jsp/GF6270/query.jsp
gf/jsp/GF6270/result.jsp
[タブリンク機能バグ修正]
タブリンクタグを使用して、タブを複数行に渡って表示している場合に、行の最後に表示されているタブを
選択状態にすると、最後のタブのみが折り返してしまうバグを修正します。
これは、選択状態のタブのみ、タブの下のボーダーを表示していないことが原因でした。
対応しては、選択状態のタブは、下のボーダーをtransparentの状態で表示するようにします。
(つまり、見た目上の変更はありません)
jsp/common/default.css
[IE8対応]
IE8で各画面のフレームの幅を手動で調節した後、QUERY画面の上に表示されている自動調節ボタンを
押すと、正しくフレームの幅が設定されないバグを修正します。
これは、IE8のバグです。http://support.microsoft.com/kb/973210/ja
対応としては、以下の通りです。
@メニューフレームの調整 -> 手動で幅を変更した場合は、強制的にメニューフレームの幅を160pxにします。
Aクエリフレームの調整 -> 手動で幅を変更した場合は、縮小機能が働かないようにします。
(手動で変更する場合は、クエリフレームの狭める場合が大半であると想定され、
縮小機能が働かなくても問題ないはずです)
jsp/common/toggleFrame.js
[DB定義ファイル取込]
DB定義ファイル(GF80)を、DB定義DBテーブル(GF02,GF05,GF06,GF07)に取り込む処理で、
PoatgreSQL では、NULL と ''(空文字列)が異なるため、WHERE条件で
不要な情報まで取り込まれてしまいました。
(これは、前回の修正で、
( UK is not null and UK != '' ) を、( UK is not null or UK != '' )
に変更したことが原因です。
ORACLE では、AND にすると、0件になり、OR にすると正常に取れていましたが、
PostgreSQLでは、セット方法により、カラムが、空文字で満たされ、OR にすると
すべてのデータが引っかかってしまいました。
そこで、( LENGTH(UK) != 0 ) とすることで、空文字以外という事を、明確にします。
GF2060/dbdefIn.jsp
[NVL⇒COALESCE 置換]
ORACLE固有の関数である、NVL を、ANSI標準の COALESCE に置き換えます。
今回は、コメントアウトされている箇所も置き換えておきます。
gf/jsp/GANTT07/result.jsp
gf/jsp/GF2020/entry.jsp
gf/jsp/GF2120/GFM0010.jsp
gf/jsp/GF2120/GFM0011.jsp
gf/jsp/GF9100/result.jsp
gf/jsp/GFX013/query.jsp
gf/jsp/GFX014/sourceSQL.jsp
gf/jsp/ORA10/dba_table.jsp
ge/jsp/MAIL01\entry.jsp
ge/jsp/MAIL01\result.jsp
ge/jsp/MAIL01\showPtn.jsp
ge/jsp/MAIL02\entry.jsp
ge/jsp/MAIL02\result.jsp
ge/jsp/MAIL03\result.jsp
ge/jsp/MAIL03\showDetails.jsp
ge/jsp/MAIL04\result.jsp
ge/jsp/MAIL06\result.jsp
ge/jsp/MAIL07\result.jsp
[EXCEL(CSV)取込処理]
リソースで、一括EXCEL取込処理で、ラベルリソースへの値セットが
行われない件の対応を行いました。
sqlType が、COPY|MODIFY の場合のみ、処理するようになっていますが、
EXCEL登録時は、INSERT が帰ってきます。
よって、判定を、COPY|MODIFY|INSERT に修正します。
ge/jsp/GE0002/entry.jsp
ge/jsp/GE0003/entry.jsp
ge/jsp/GE0004/entry.jsp
ge/jsp/GE0004/result.jsp
[repeatCount反映、SYSTEM_ID初期値設定]
リソース登録画面で、repeatCount を入力しても、データに反映されない件で
JSP を修正します。
これは、entry タグにパラメータ設定されていなかったためです。
それと、SYSTEM_ID を初期検索条件の値をデフォルト設定するように修正します。
ge/jsp/GE0002/update.jsp
ge/jsp/GE0003/update.jsp
ge/jsp/GE0004/update.jsp
ge/jsp/GE0005/update.jsp
ge/jsp/GE0007/update.jsp
ge/jsp/GE0008/update.jsp
ge/jsp/GE0016/update.jsp
[SYSTEM_ID の再セット]
現在、SYSTEM_ID の 初期値は、{@SYS.SYSTEM_ID} になっており、画面で検索する都度、
この値にセットされる。
リソース画面(GE)は、各システムごとに組み込むのではなく、共通利用するように
なったため、この初期値では、毎回、手で書き換える必要があった。
そこで、QUERYで検索したSYSTEM_IDをセッションに登録し、初期値をその値を利用する
様に修正します。
(以下のリストは、修正前の行。修正後は、defaultVal="{@U_SYSID}" となる)
ge/jsp/custom/init.jsp ログイン時に、U_SYSID に、SYS.SYSTEM_ID をセットする。
ge/jsp/custom/result_info.jsp QUERY から SYSTEM_ID が引数から登録されると、U_SYSID にセットする。
ge/jsp/GE0001/query.jsp(25):
ge/jsp/GE0002/query.jsp(23):
ge/jsp/GE0003/query.jsp(23):
ge/jsp/GE0004/query.jsp(23):
ge/jsp/GE0005/query.jsp(23):
ge/jsp/GE0007/query.jsp(23):
ge/jsp/GE0008/query.jsp(23):
ge/jsp/GE0009/query.jsp(23):
ge/jsp/GE0011/query.jsp(25):
ge/jsp/GE0013/query.jsp(25):
ge/jsp/GE0016/query.jsp(25):
ge/jsp/GE0017/query.jsp(29):
ge/jsp/GE0018/query.jsp(29):
ge/jsp/GE0019/query.jsp(29):
ge/jsp/GE0020/query.jsp(29):
ge/jsp/MAIL01/query.jsp(26):
ge/jsp/MAIL02/query.jsp(26):
ge/jsp/MAIL03/query.jsp(26):
ge/jsp/MAIL06/query.jsp(25):
ge/jsp/MAIL07/query.jsp(25):
ge/jsp/REP01/query.jsp(25):
ge/jsp/REP02/query.jsp(25):
ge/jsp/REP03/query.jsp(25):
ge/jsp/REP04/query.jsp(25):
ge/jsp/REP05/query.jsp(25):
ge/jsp/REP06/query.jsp(25):
ge/jsp/REP07/query.jsp(25):
ge/jsp/REP14/query.jsp(25):
ge/jsp/REP20/query.jsp(24):
ge/jsp/REP21/query.jsp(16):
[jfreechart-1.0.13.jar 対応]
jfreechart-1.0.13.jar に対応する準備を行います。
jfreechart は、バージョンアップするたびに、どこかで不具合が発生しますので、
本体のアップは、行いません。
ただし、将来的なことを考え、影響範囲が少ないと思える箇所は、対応しておきます。
jfreechart-1.0.13は、org.jfree.chart.plot.CategoryPlot の継承もとの org.jfree.chart.plot.Plot に、
public void setNotify( boolean ) メソッドが追加されたため、HybsCategoryPlot.java に作成していた
protected void setNotify( boolean ) メソッドがコンパイルエラーになります。
よってsetNotify メソッドをpublic にします。
また、equals と hashCode もあまり意味が無かったので、削除します。
org.opengion.hayabusa.io.HybsCategoryPlot#setNotify( final boolean isNotify ) protected ⇒ public
org.opengion.hayabusa.io.HybsCategoryPlot#equals( final Object anObject ) 削除
org.opengion.hayabusa.io.HybsCategoryPlot#hashCode() 削除
ChartPlot_Category において、CategoryDataset は、setRangeAxis より先に行う必要がある。
org.opengion.hayabusa.io.ChartPlot_Category#getPlot( final ChartCreate create )
jfreechart 評価用画面(GF6110:【ビュー関連】集計グラフ)を修正します。
gf/jsp/GF6110/JfreeChartType.jsp 削除
gf/jsp/GF6110/typeOption.jsp 削除
gf/jsp/GF6110/chartTypeXY.jsp
gf/jsp/GF6110/typeOptionXY.jsp
gf/jsp/GF6110/typeOptionBar.jsp
gf/jsp/GF6110/chartTypePie.jsp
gf/jsp/GF6110/query.jsp
gf/jsp/GF6110/typeOptionVal.jsp
gf/jsp/GF6110/typeOptionPie.jsp
gf/jsp/GF6110/result.jsp
gf/jsp/GF6110/chartTypeVal.jsp
gf/jsp/GF6120/typeOption.jsp
[画面遷移なし登録・バグ修正]
画面遷移なし登録で、viewFormTypeにHTMLCutomTableや、HTMLFormatTable等を使用している場合に、
変更ボタン等を押すごとに、各項目の幅が少しずつ広がってしまうバグを修正します。
これは、IEのCSS実装のバグで、IEでは、THタグのpaddingが0より大きい場合は、width属性の指定値と、
その結果で表示されるサイズが異なってしまう問題があります。
(但し、この場合でも、colgroupが指定されている場合(HTMLTableの場合)は、正しい値が返ります)
今回の対応としては、ヘッダー固定時のTHタグのpaddingを0にします。
(実際は、データ項目よりヘッダーの方が幅があるということは、レアケースであるため、影響はないと
判断しています)
jsp/common/scrollBar2.js
jsp/common/scrollBar2.css
[標準環境バージョンアップ]
標準環境の各ソフトウェア・モジュールをバージョンアップします。
これに伴い、app環境として、openGion_apps_win32_5.0_jdk160u18_tomcat6024_ooo32.zipをリリースします。
JDK : 160_18
Tomcat : 6.0.24
POI : 3.6-20091214
jQuery : 1.4
OpenOffice : 3.2
[Tomcat6.0.24対応]
tldの設定で、emptyと記述した場合にタグのボディが記述
されているとエラーになる問題に対応します。
(tagdependentに変更)
参照 : https://issues.apache.org/bugzilla/show_bug.cgi?id=47977
src/META-INF/taglib.tld
[各種パッチソースの場所を移動]
Tomcatのパッチや、hsqldbの拡張関数など、周辺環境に関連する部分のソースフォルダを
uap/webapps/gf/src/other から apps/src 以下に移動します。
[インデックス作成JSP]
GF80 の検索で、インデックスやインデックスカラムを作成する箇所で、
UK や IXA などのカラムから、インデックス情報を取得する際に、
and ( UK is not null and UK != '' )
というSQL文で取得しているが、AND 結合なので、同時に発生することが
ないので、結果、一件もデータを取得できない状況であった。
ここは、or 結合とすることで、対応します。
and ( UK is not null or UK != '' )
取り込んだ情報を、DB定義に反映させるボタンを、result から query に移動
させます。(ボタンの存在に気づきにくいため)
jsp/GF2060/dbdefIn.jsp
jsp/GF2060/query.jsp
jsp/GF2060/result.jsp
各チェック処理において、0件ストップと、オリジナル件数の表示を加えます。
データが無いために、0件なのか、チェック結果が0件なのか分かりにくいためです。
jsp/GF2060/GFM0032.jsp
jsp/GF2060/GFM0034.jsp
jsp/GF2060/GFM0035.jsp
jsp/GF2060/GFM0036.jsp
jsp/GF2060/GFM0039.jsp
jsp/GF2060/GFM0040.jsp
jsp/GF2060/GFM0045.jsp
取り込んだ DB定義情報を DB定義テーブルへ反映させるボタンの名称を変更します。(リソース修正)
DbdefIn 定義テーブル取込 ⇒ 廃止
DBDEF_IN DB定義テーブル反映 ⇒ 新規追加
[画面ロールのrootの扱いに関するバグ対応]
画面ロールに、"root" と登録されると、root しか見えないのではなく
すべての人から見えるようになってしまう。
これは、RoleMode で、共通化を図っているため、"root" 文字を
すべて許可 してしまうためです。
ここでは、GUIData で、ロールが、"root" の場合、特殊な記号("r00t")に
置換えることで、通常のロールでは見えないようにします。
この場合は、user が、root であれば、見ることが可能です。
# 本件は、暫定対応です。
org/opengion/hayabusa/resource/GUIData#GUIData( final String[] data )
[ユーザーの言語・ロールの動的切り替え機能]
ロールの動的切り替え機能は、すでに対応済みで、接続時に、引数として、
?ROLES=XXXX と渡せば切り替わります。
ただし、下記の仕様とする。
1.自分が持っているロールと、ぴたりと一致すること。(部分ではない)
2.切り替えは、途中からではなく、新しいセッションで再接続する必要がある。
言語の切り替えは、接続時に、引数として、?NEWLANG=en などと指定する。
こちらに関しては、自分のユーザーリソースの制限はない。
(ただし、その言語に対応したリソースが必要)
こちらも、切り替えは、新しいセッションで再接続する必要がある。
両方を同時に指定する場合は、?ROLES=XXXX&NEWLANG=en などと指定する。
org/opengion/hayabusa/resource/UserInfo#setLang( final String newLang )
org/opengion/hayabusa/taglib/HeadTag#sessionInit()
[データベース単位のファンクション]
データベース名の情報も、取得できるようにします。
データベース名毎に異なるファンクション名の処理を少し見直します。
ここでは、{@DBF.CON},{@DBF.SUBSTR} 以外に、{@DBF.NAME} を追加します。
また、fukurou.db.DBFunctionName の呼び出しで、データベース名を引数に取っていた
箇所を、dbid 名に変更します。
# 考え方は、データベース名 で良いのですが、エンジン内部では、すべて、dbid で
# 接続先を管理しているため。
org/opengion/fukurou/db/ConnectionFactory#getDBName( final String dbid ) { 新規追加
org/opengion/fukurou/db/ConnectionFactory#getDBFullName( final String dbid ) { 廃止(getDBName に置換え)
org/opengion/fukurou/db/DBFunctionName.java クラスから enum へ変更
org/opengion/hayabusa/report2/QueueManager_DB#final String CON = DBFunctionName.getFunctionName( "CON", null );
org/opengion/hayabusa/taglib/CommonTagSupport#getDBFunctionName( final String key ) {
[データ集合処理のまとめカラム処理]
TableMergeTag で、集合処理するときに、相違データをCSV連結する機能を追加します。
masterKeysで集合処理するときに、通常、最初に見つかった行データのみ残りますが、
ここに指定したカラムについては、発生都度、自分自身の情報に、CSV形式で連結して
いくカラムを指定する属性、 groupAddClms を追加します。
この操作により、本来削除された情報が、1行のCSV形式で取得できる効果が得られます。
これは、value タグの action="APPEND" を、DBTableModel に対して実施するような感じです。
この機能を利用することで、PL/SQL関数である、INDEX_BIKO を廃止します。
これに伴い、INDEX_BIKO関数を利用している、GF2040 と GF2110 のロジックを修正します。
org/opengion/hayabusa/taglib/TableMergeTag#makeKeyMap( final DBTableModel table, final String keys, final boolean useCheckOnly ) {
org/opengion/hayabusa/taglib/TableMergeTag#release2() {
org/opengion/hayabusa/taglib/TableMergeTag#setGroupAddClms( final String groupAddClms ) {
META-INF/hybs-taglib.tld
db/oracle/sql/05_SRC/INDEX_BIKO.sql 廃止
jsp/GF2040/directGF07.jsp
jsp/GF2110/directGF07.jsp
[Javadoc 警告修正]
{@DBF.XXX} 表記が、タグとして認識されて、警告となった。
{@DBF.XXX} に修正。
org/opengion/fukurou/db/DBFunctionName.java:44: 警告 - @DBF.XXX は未知のタグです。
[tomcat6.0.24 対応]
tomcat6.0.24 のカスタマイズ分を、対応します。
JSPをコンパイルするときのCLASSローダーのキャッシュ処理のカスタマイズを
新バージョン対応します。
gf\src\other\tomcat_Modify-jasper.jar 以下のソースを修正します。
なお、継承により作成しています、tomcat_CacheControl は、ソース修正不要です。
org.apache.jasper.EmbeddedServletOptions.java
org.apache.jasper.compiler.JspRuntimeContext.java
[クエリ画面・高さ自動調整対応]
クエリ画面での高さ自動調整対応で以下の機能改善を行います。
@横スクロールが出る場合にも正しく自動調節されるように修正
AFireFoxで正しく自動調節されるように修正
jsp/common/default.js#adjustFrameHeight();