概要: Webエンジン Ver 5.1.1.0 (2009/12/01) をリリースいたします。 今回のリリースのおける主な変更点は、以下の2点です。 @業務ロジックフレームワーク 業務ロジックをJavaで記述するためのフレームワークを新たに追加します。 なお、今回のリリースは、α版リリースであり、開発者向けとなっています。 正式なリリースについては、次回リリースの Ver 5.1.2.0 (2010/01/01) を予定しています。 AMySQL、PostgreSQL対応 MySQL、PostgreSQLに対応します。 これについても、今回のリリースは、暫定対応であり、正式な対応は、 Ver 5.1.2.0 (2010/01/01) を予定しています。 また、この対応に伴い、openGion内部で管理しているテーブルの項目名を一部変更しています。 既存システムをバージョンアップする場合は、以下のchanges.txtを参考に上、テーブル定義を 変更して下さい。 ※ バージョンアップされる場合は、ビルドファイル(verup.x.x.x.x.zip)に含まれるchanges.txtを確認の上、 作業をお願いします。 ※ 変更点に関する詳細及びその他の修正内容については、添付のリリースノートを参照下さい。 5.1.1.0 (2009/12/01) [業務ロジックフレームワーク・α版リリース] 業務ロジックをJavaでコーディングするためのフレームワークのα版をリリースします。 (今回のリリースは、あくまで開発者向けリリースです。正式版リリースまでの間にインターフェース レベルで仕様が変更される可能性があります) taglib.tld org.opengion.common.SystemData org.opengion.hayabusa.resource.ResourceManager.getLabel(String, String[]) org.opengion.hayabusa.taglib.BizLogicTag org.opengion.fukurou.business.AbstractBizLogic org.opengion.fukurou.business.ArrayTableModel org.opengion.fukurou.business.BizLogic_CURSOR org.opengion.fukurou.business.BizLogic_ENTRY org.opengion.fukurou.business.BizLogic_TABLE org.opengion.fukurou.business.BizLogic org.opengion.fukurou.util.HybsLoaderFactory org.opengion.fukurou.util.HybsLoader org.opengion.fukurou.util.HybsLoaderConfig org.opengion.fukurou.util.SystemParameter.replace(HybsEntry[]) org.opengion.fukurou.util.SystemParameter.replace(Map) gf.common.GFP00001 サンプル gf.gf9140.GFP19140A サンプル gf.gf9440.GFP19440A サンプル gf.gf9540.GFP19540S サンプル gf/jsp/GF9140 サンプル gf/jsp/GF9240 サンプル gf/jsp/GF9340 サンプル gf/jsp/GF9440 サンプル gf/jsp/GF9540 サンプル [リファクタリング] ErrMsgクラス及びErrorMessageクラスをorg.opengion.fukurou.utilに移します。 (業務ロジックからこれらのクラスを参照するため) org.opengion.fukurou.util.ErrMsg パッケージ移動 org.opengion.fukurou.util.ErrorMessage パッケージ移動 org.opengion.fukurou.business.AbstractBizLogic org.opengion.fukurou.business.BizLogic org.opengion.fukurou.business.BizLogic_ENTRY org.opengion.fukurou.business.BizLogic_TABLE org.opengion.hayabusa.db.DBColumn org.opengion.hayabusa.db.DBErrMsg org.opengion.hayabusa.db.DBTableModelUtil org.opengion.hayabusa.db.DBType org.opengion.hayabusa.db.Query org.opengion.hayabusa.db.TableFilter org.opengion.hayabusa.resource.ResourceManager org.opengion.hayabusa.taglib.BizLogicTag org.opengion.hayabusa.taglib.ColumnCheckTag org.opengion.hayabusa.taglib.CommonForwardTag org.opengion.hayabusa.taglib.DataCheckTag org.opengion.hayabusa.taglib.DBMetaDataQueryTag org.opengion.hayabusa.taglib.DirectTableInsertTag org.opengion.hayabusa.taglib.DirectWriteTableTag org.opengion.hayabusa.taglib.EntryTag org.opengion.hayabusa.taglib.ErrorMessageTag org.opengion.hayabusa.taglib.LDAPQueryTag org.opengion.hayabusa.taglib.MailSenderTag2 org.opengion.hayabusa.taglib.PlsqlUpdateTag org.opengion.hayabusa.taglib.QueryTag org.opengion.hayabusa.taglib.ReadTableTag org.opengion.hayabusa.taglib.TableExistTag org.opengion.hayabusa.taglib.TableFilterTag org.opengion.hayabusa.taglib.TableUpdateTag org.opengion.hayabusa.taglib.TaglibUtil org.opengion.plugin.column.AbstractDBType org.opengion.plugin.column.DBType_ALL org.opengion.plugin.column.DBType_DATE org.opengion.plugin.column.DBType_K org.opengion.plugin.column.DBType_OASNM org.opengion.plugin.column.DBType_R org.opengion.plugin.column.DBType_S9 org.opengion.plugin.column.DBType_X9 org.opengion.plugin.column.DBType_XH org.opengion.plugin.column.DBType_XHU org.opengion.plugin.column.DBType_XK org.opengion.plugin.column.DBType_XKZ org.opengion.plugin.column.DBType_XL org.opengion.plugin.column.DBType_XLU9 org.opengion.plugin.column.DBType_XU org.opengion.plugin.column.DBType_XU9 org.opengion.plugin.column.DBType_YM01 org.opengion.plugin.column.DBType_YM31 org.opengion.plugin.column.DBType_YMD org.opengion.plugin.query.AbstractQuery org.opengion.plugin.query.Query_JDBC org.opengion.plugin.query.Query_JDBCArrayCallable org.opengion.plugin.query.Query_JDBCCallable org.opengion.plugin.query.Query_JDBCErrMsg org.opengion.plugin.query.Query_JDBCKeyEntry org.opengion.plugin.query.Query_JDBCPLSQL org.opengion.plugin.query.Query_JDBCPrepared org.opengion.plugin.query.Query_JDBCTableUpdate org.opengion.plugin.query.Query_JDBCUpdate org.opengion.plugin.table.AbstractTableFilter org.opengion.plugin.table.TableFilter_CLMSET org.opengion.plugin.table.TableFilter_DBARG org.opengion.plugin.table.TableFilter_DBARG_OUT org.opengion.plugin.table.TableFilter_DBSELECT org.opengion.plugin.table.TableFilter_DTYPE org.opengion.plugin.table.TableFilter_INDEX org.opengion.plugin.table.TableFilter_LABEL org.opengion.plugin.table.TableFilter_TABLE [表示種別=DECIMALの仕様変更] 表示種別=DECIMALでリソースの初期値がnullに、そのままnullで表示されるようにします。 これまでは、nullの場合でも0が表示されていました。この変更により、nullの場合に0を 表示する際は、リソースの初期値に明示的に0を設定を行う必要があります。 org.opengion.plugin.column.Renderer_DECIMAL.Renderer_DECIMAL() org.opengion.plugin.column.Renderer_DECIMAL.Renderer_DECIMAL(DBColumn) [Google Chrome対応] Google Chromeで左メニューのプルダウンが正しく動作しない問題に対応します。 jsp/common/menu/GmisTree.js [Linux版起動スクリプト修正] CentOSでも起動スクリプトが動作するように修正します。 bin/startup.sh bin/startHsqldb.sh bin/shutdown.sh [MySQL/PostgreSQL 対応] MySQL対応 明示的に、TRANSACTION_READ_COMMITTED を指定する。 fukurou/process/ConnData#ConnData( final String url,final String user, final String passwd,final int uniq ) fukurou/xml/HybsXMLSave#main( final String[] args ) ※ main メソッドなので、サンプル実行時のみ影響 PostgreSQLの場合は、stmt.setObject() する場合に、 ParameterMetaData の Type を利用して 型変換を明示的に指定する必要があります。(Oracle,hsqldb,Mysql,MS SQL Server は、自動変換可能) よって、PostgreSQL の場合だけ、true を返すように修正します。 fukurou/util/ApplicationInfo#useParameterMetaData( final Connection conn ) 実行エラー時に、rollback を追加(PostgreSQL対応) SQLException が発生した場合に、ほとんどのケースで、rollback を入れているが、 ORACLE の場合は、自動的に次のトランザクションの実行が可能であったが、PostgreSQL では、 明示的に、rollback しておかないと、次の処理がエラーになってしまう。 hayabusa/common/SystemInstaller#getOldMaxVersion() hayabusa/common/SystemInstaller#getOldSystemVersion() throws SQLException [Connection 関連の見直し] connection.setAutoCommit は、ConnectionFactory で設定済みなので、コメントアウトする。 hayabusa/common/SystemParameter.#loadDBResource( final Map sysParam ) throws SQLException [loadXMLScript 関連の見直し] 新規にスキーマを作成する場合に、もう少しコメントを出して、処理中ということが判る様にします。 hayabusa/common/SystemInstaller#loadXMLScript( final String type, final String context ) throws SQLException [TableFilter 関連の見直し] HybsSystem.CR を AbstractTableFilter にのみ配置し、各サブクラスはそれを利用するように修正。 FIREBIRD、HSQLDB、MYSQL、SQLSERVER、POSGRE を追加、見直し。 データのアクセス用の配列番号のIDを private ⇒ protected にし、各サブクラスはそれを利用するように修正。 各種メソッドのコメント(JavaDoc)の記述 plugin/table/AbstractTableFilter.java plugin/table/TableFilter_INDEX_FIREBIRD.java plugin/table/TableFilter_DBARG_OUT.java plugin/table/TableFilter_INDEX.java plugin/table/TableFilter_INDEX_HSQLDB.java plugin/table/TableFilter_INDEX_MYSQL.java plugin/table/TableFilter_INDEX_POSGRE.java plugin/table/TableFilter_INDEX_SQLSERVER.java plugin/table/TableFilter_REPORTLAYOUT.java plugin/table/TableFilter_TABLE.java plugin/table/TableFilter_TABLE_FIREBIRD.java plugin/table/TableFilter_TABLE_SQLSERVER.java plugin/table/TableFilter_TABLE_HSQLDB.java plugin/table/TableFilter_TABLE_MYSQL.java plugin/table/TableFilter_TABLE_POSGRE.java [_build.bat,build.xml の見直し] データベース定義を出力する箇所で、MYSQL,POSGRE 等のスキーマ出力に対応 データ出力は、target=xml 、スキーマ出力は、taget=table と分離する。 target=compile で、コンパイルオプションに、-Xlint:all を追加 webapps/gf/_build.bat webapps/gf/build.xml [startup**.bat の追加] MySQL と PostgreSQL の 起動バッチ(インストーラ版)を追加します。 bin/startupMySQL.bat bin/startupPostgres.bat [データベース自動インストールの機能修正] hsql , mysql , oracle , postgres について、VIEWの変更と初期データの変更を 行いました。 GEA10V01.sql に、RMCN_USR が設定されていましたが、これを GEA10.xm のデータとして 設定するようにします。 ge/db/hsql/ ge/db/mysql/ ge/db/oracle/ ge/db/postgres/ 5.1.0.0 (2009/11/04) [クロス集計機能バグ修正] 5.0.0.3 (2009/09/22)で機能追加した合計列の先頭表示の機能について、合計列が 複数カラム存在する場合に正しく表示されないバグを修正します。 org.opengion.plugin.view.ViewForm_HTMLCrossTable.create(int, int) [ユーザーリソース項目追加] ユーザーリソースにメールアドレスの項目を追加します。 これに伴い、メールモジュールのメール取得用ビュー(GE35)も変更しています。 ge/jsp/GE0001 GEA10 MAILADの項目を追加 GE35 ビュー定義変更 [My SQL対応] 標準的なデータベースの予約語に対して、カラム名を置き換えます。 これに伴い、Javaソース、JSP、データベース定義等も変更いたします。 GE30 FOOTER ⇒ F_TXT GE30 HEADER ⇒ H_TXT GE31 CONTENT ⇒ CONTENTS GE32 CONTENT ⇒ CONTENTS GE33 MEMBER ⇒ ADDRESS GE33 NAME ⇒ NAME_JA GE33 NM_KBN ⇒ KBNAME GE50 OUTDIR ⇒ OUT_DIR GE50 OUTFILE ⇒ OUT_FILE GE51 TEXT ⇒ TEXT_DATA GE52 COLUMN_NAME ⇒ CLM GE53 OUTDIR ⇒ OUT_DIR GE53 OUTFILE ⇒ OUT_FILE GE55 HOST ⇒ HOST_ID GE58 COLUMN_NAME ⇒ CLM GEA05 ROLE ⇒ ROLES (桁数 500 変更含む) GEA10 NAME ⇒ NAME_JA GF21 GF70 〜 GF77 カラム追加 GF21 PREFIX ⇒ PRE_FIX GF21 VERSION ⇒ VERNO GF22 PREFIX ⇒ PRE_FIX GF22 TYPE ⇒ VAL_TYPE GF22 VERSION ⇒ VERNO GF23 VERSION ⇒ VERNO GF24 VERSION ⇒ VERNO GF25 VERSION ⇒ VERNO GF43 MONTH ⇒ MM GF43 YEAR ⇒ YYYY GF44 NAME ⇒ NAME_JA GF60 NAME ⇒ NAME_JA GF60 ROLE ⇒ ROLES (桁数 500 変更含む) GF61 NAME ⇒ NAME_JA GF62 NAME ⇒ NAME_JA GF62 VERSION ⇒ VERNO GF63 FUNCTION ⇒ FUNC GF63 LOAD ⇒ SU_LOAD GF63 NAME ⇒ NAME_JA GF64 NAME ⇒ NAME_JA GF65 FUNCTION ⇒ FUNC GF66 LOAD ⇒ SU_LOAD GF70 TEXT ⇒ TEXT_DATA GF71 KEYS ⇒ P_KEYS GF71 TEXT ⇒ TEXT_DATA GF71 VALS ⇒ P_VALS GF72 KEYS ⇒ P_KEYS GF72 VALS ⇒ P_VALS GF73 NAME ⇒ FORM_NAME GF73 TEXT ⇒ TEXT_DATA GF73 VALUE ⇒ FORM_VAL GF74 NAMES ⇒ CLMS GF74 QUERY ⇒ SQL_TEXT GF74 QUERYTYPE ⇒ SQL_TYPE GF74 SCOPE ⇒ JSP_SCOPE GF76 VERSION ⇒ VERNO GF79 NAME ⇒ NAME_JA GF93 KEYS ⇒ P_KEYS GF93 VALS ⇒ P_VALS WKGE52_XIN COLUMN_NAME ⇒ CLM java,sql,xml,xsl の各修正ファイルは、別途一覧をご確認ください。 jsp に関しましては、ほぼ、すべての箇所に修正が及んでいますので、 一覧での提供は行いません。 5.0.2.0 (2009/11/01) [Google Chrome対応] Google Chromeで拡張検索条件を表示すると、縦に表示されてしまう問題に対応します。 jsp/common/default.css [ガントチャート機能・バグ修正] ガントチャート表示機能(og:ganttHeaderタグ)で、view_zoomに1(2週間)を指定した際に、日付表示が おかしくなるバグを修正します。 これは、4.3.7.3 (2009/06/22)の以下の修正によるものです。今回の対応では、letter-spacing属性を コメントアウトします。(firefox対応については、別途検討します) --- 元の修正 -------------------------------------------------------------------------- 4.3.7.3 (2009/06/22) [FireFox対応] ・ガント表示でヘッダー表示される日付が枠からはみ出して正しく表示されないバグを修正します。 jsp/common/default.css --------------------------------------------------------------------------------------- jsp/common/default.css [リファクタリング] common,customフォルダ内のJSPでリンクパスが相対パスになっているものについて、他と同様に {@SYS.JSP}を経由した絶対パス形式の記述に変更します。 jsp/custom/query_info.jsp jsp/custom/query_tab_info.jsp jsp/custom/matrix_info.jsp [DB検索画面修正] @ファイルセーブ機能が正しく動作しないバグを修正します。(パスの設定に誤りがあったため) Aオブジェクト依存関係の正展開、逆展開機能を追加します。 executionで (a)referenced(recur down) を 選択し、オブジェクト名を入力するとそのオブジェクトを基点として 正展開することができます。展開結果に対して、REF_NAMEを入力し、参照オブジェクトの絞込み を行うことも可能です。 (b)referenced(recur up) を 選択し、REF_NAMEを入力するとそのオブジェクトを基点として 逆展開することができます。展開結果に対して、オブジェクト名を入力し、参照オブジェクトの絞込み を行うことも可能です。 jsp/common/gamen/03_DBDSEARCH/ [tabLinkタグ改善] openTab属性がfalseの場合でも、openTabNameに指定された場合、その指定されたタブをハイライトする ようにします。 これは、他の画面からタブ画面に遷移した場合に、リンクの引数(command=NEW)と、タブの自動オープンの 2重でタブの中身が開かれ、タイミングによっては、 ”QueryTag Query処理が割り込まれました。DBTableModel は登録しません。” のエラーになります。 このような場合に対応は、openTabをfalseにし、openTabNameのみを指定することで、タブのよる自動オープン をせずに、開かれたタブのハイライトのみを行うことで対応することができます。 org.opengion.hayabusa.taglib.TabLinkTag.makeTag() jsp/common/tabLink.js#initialTabSelect(boolean, Object) [Calc帳票システム改善] @ローカルリソースフラグ 今まではローカルリソースフラグがfalseの場合、GEのリソース(帳票システムが起動しているリソース) を適用していましたが、この仕様を変更し、ローカルリソースフラグがfalseの場合は、リソースを 使用しないようにします。(GEのリソースは意識されることがなく、不要な変換が行われるため) Aリソース適用時のデータ変換 リソース適用時、数値カラムでマイナスデータが存在すると、spanタグで囲われてしまうバグを 修正します。(spanタグを除去) org.opengion.hayabusa.report2.OdsContentParser.getHeaderFooterValue(String) org.opengion.hayabusa.report2.OdsContentParser.getBodyValue(String, int) org.opengion.hayabusa.report2.OdsContentParser.checkValue(String) [戻るリンク・機能追加] 戻るリンクタグ(backGamenタグ)に相対パスで戻るリンクを作成する機能を追加します。 通常、戻るリンクは、linkタグで生成された絶対パスを利用して戻る先のアドレスを決定しており、 通常利用においては、他システム間での画面リンクも正常動作するため、問題ありません。 但し、ロードバランサーなどを経由し、アドレス変換されているような場合は、絶対パスが 有効とならないケースがあるため、相対パスによる戻るリンクを対応します。 当然のことながら、この機能を利用する場合は、異なるシステム間のリンクは正しく動作しません ので、ご注意下さい。 org.opengion.hayabusa.taglib.BackGamenTag.makeTag() org.opengion.hayabusa.taglib.BackGamenTag.makeLinkTag() org.opengion.hayabusa.taglib.BackGamenTag.makeButtonTag() org.opengion.hayabusa.taglib.BackGamenTag.setType(String) [リソース登録画面不具合修正] リソース登録画面(カラム、ラベル、コード)で差分更新を行った際、関係のないラベルリソースの内容が 書き換えられてしまうバグを修正します。 これは、差分更新を行う際、Fromの接続先から取得されたラベルリソースのユニーク番号をキーとして、 Toの接続先のラベルリソースのデータを更新していたためです。 ge4/jsp/GE0002 ge4/jsp/GE0003 ge4/jsp/GE0004 [クリアボタン・バグ修正] 戻るボタンが出力されている状態で、クリアボタンを押すと、戻るボタンが消える不具合を修正します。 org.opengion.hayabusa.taglib.QueryButtonTag.getReset() [JSP解析・改善] QUERY定義検索から、使用カラム検索への画面リンクを追加します。 この目的は、QUERY定義検索で、呼び出しPL/SQLを調査する際、PL/SQLのcallステートメント自体が 引数で渡されている場合、QUERY定義検索だけでは、呼び出しPL/SQLがわからないことに対応するため のものです。(このため、リンクの引数には、ファイル名は付加していません。) gf/jsp/DOC14/result.jsp [JSP解析・バグ修正] QUERY定義検索、JSPファイルの一覧でタグのbody部分を指定する際に、textデータが抜き出されない (子供のタグ要素の部分しか抜き出されない)バグを修正します。 gf/jsp/DOC18/xslt/GF74_PROG.xsl gf/jsp/DOC18/xslt/GF76_PROG.xsl [拡張機能・リソース連携修正] リソース連携の差分検索時の条件のシステムIDが "**" の条件をはずします。 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/GFM0014.jsp gf/jsp/GF2120/GFM0029.jsp gf/jsp/GF2120/GFM0030.jsp gf/jsp/GF2120/GFM0031.jsp [selectタグ機能追加] selectタグでmultiple="true"を選択した場合に、初期状態で複数選択が有効になるように 対応します。具体的には、同一のカラム名を複数持つ画面から、selectタグが記述された 次画面に遷移した際、それぞれのカラムに入力された全ての値に対し、プルダウンが選択 状態になります。(この機能は、multiple="true"の場合のみ有効です) org.opengion.hayabusa.taglib.SelectTag.setValue(String) org.opengion.hayabusa.taglib.SelectTag.doStartTag() org.opengion.hayabusa.taglib.SelectTag.setDefaultVal(String) org.opengion.hayabusa.taglib.OptionTag.doEndTag() org.opengion.hayabusa.taglib.OptionTag.makeTag() org.opengion.hayabusa.taglib.QueryOptionTag.doEndTag() org.opengion.hayabusa.taglib.QueryOptionTag.makeLabel(SelectTag) [帳票デーモン起動画面バグ修正] 起動状況に他のシステムIDのデータが表示されるバグを修正します。 ge/jsp/REP21/result.jsp [帳票システムバグ修正] Calcの関数内に、{@xxxx_}が存在し、かつそのデータに"(ダブルクオーテーション)が 含まれていた場合にエラーとなるバグを修正します。 org.opengion.hayabusa.report2.OdsContentParser.replaceOoocError(String) [帳票システムバグ修正] Calc帳票でデータに改行Cが含まれている場合に、Calc上で改行されないバグを修正します。 関数内に改行Cが含まれている場合、改行Cは無視されます。(OOoの制限上、関数の引数として 改行Cを含む文字列は受け取れないため) org.opengion.hayabusa.report2.OdsContentParser.checkValue(String) org.opengion.hayabusa.report2.OdsContentParser.replaceOoocError(String) [アクセス統計テーブル(GE15)再編成機能追加] アクセス統計テーブルの再編成機能を追加します。再編成処理は、Tomcatシャットダウン時に 実行されます。データの保存期間の初期値は、180日です。この期間は、システムリソースの ACCESS_TOKEI_ALIVE_DAYSで変更することができます。 (nullを指定した場合、再編成は行われません) ※既存バグにより、本バージョンより以前のバージョンで追加されたGE15のデータは、DYSETが セットされていないため、再編成が実施されません。 本バージョンを導入する際に、以下のSQLにより、DYSETの設定をして下さい。 update ge15 set dyset=dylogout; -------------------------------- org.opengion.hayabusa.common.SystemData.ACCESS_TOKEI_ALIVE_DAYS org.opengion.hayabusa.common.HybsContextListener.contextDestroyed(ServletContextEvent) org.opengion.hayabusa.common.SystemManager.deleteGUIAccessInfo() org.opengion.hayabusa.resource.UserInfo.saveGUIAccessInfo() org.opengion.hayabusa.db.DBSimpleTable.setWhere(String) DELETE処理が実行できないバグを修正 org.opengion.hayabusa.db.DBSimpleTable.getDeleteSQL() DELETE処理が実行できないバグを修正 GE15 インデックス追加(GE15_SC SYSTEM_ID,DYSET)