==================================================== WebReportCafe Engine(Java) ver.2006 ==================================================== Copyright(c) SIOS Technology, Inc. 移行時の注意事項 旧バージョンのWebReportCafe Engine(Java)からの移行時の 注意事項を説明いたします。 該当する項目を全てチェックしてください。 (例:Ver 1.11から2006-100への移行の場合、 - Ver 3.0-002以前のバージョンからの移行 - Ver 2.5-004以前のバージョンからの移行 - Ver 2.0-008以前のバージョンからの移行 - Ver 1.20-SP2以前のバージョンからの移行 - Ver 1.20-SP以前のバージョンからの移行 - Ver 1.11-SP以前のバージョンからの移行   の6箇所を参照してください。) ------------ Ver 3.0-002以前のバージョンからの移行 ------------ ・しおりの変更   WebReportCafe(以下WRC) 3.0-002以前のバージョンでは、「PDF 設定」の  「ページモード」で「しおり」が設定されている場合、PDF のしおりとして、  「“Page” + [ページ番号]」の形式(例:「Page1」「Page2」…)で自動に  しおりが作成されました。WRC 3.5 以上では、しおりの作成がカスタマイズする  機能が追加されたため、以前のバージョンのように自動的にしおりが作成されな  くなりました。  WRC 3.0-002以前のバージョンで自動的に作成されるしおりを、WRC 3.5以上の  Engineのライブラリを使用して作成するためには、「ページモード」を「しおり」  に設定し、JVM システムプロパティ「jp.co.tenartni.pdf.auto_outline」の値を  "true"に設定してください。  JVM システムプロパティに値を設定するには、java コマンドのオプション“-D”  を使用して設定します。   例: java -Djp.co.tenartni.pdf.auto_outline=true ....... クラス名 ------------ Ver 2.5-004以前のバージョンからの移行 ------------ ・Timestamp型のカラムの取り扱いの変更  WRC 2.5-004以前はTimestamp型のカラムはWRC内部でミリ秒単位に丸められ、  long値として保持していましたがWRC 3.0よりナノ秒も含めたTimestampオブジェ  クトとして保持するようになりました。従って、1ミリ秒未満のデータが自動的  に切り捨てられることを期待して作成していたプログラムでは今後、1ミリ秒未  満のデータが切り捨てられなくなりますので、アプリケーション側で切り捨て  処理を行ってください。  (ただし、このような動作を期待して作成されているアプリケーションはごく  わずかと思われます。ほとんどのアプリケーションでは、そのまま動作いたし  ます。)  例:Oracle JDBC Driver 9.0.1 と Oracle JDBC Driver 9.2.0 を混在して使用  している場合、Oracle JDBC Driver 9.0.1 ではPreparedStatementにTimestamp  値を設定する際にナノ秒が切り捨てられますが、9.2.0ではナノ秒を切り捨てな  いためデータの不一致が発生します。   → どちらかのJDBC Driverで統一するか、ナノ秒を切り捨てる処理を入れる     必要があります。 ・日付や時刻のフォーマットの変更  WRC 3.0からはXFormatクラスでの書式フォーマットメソッドを  formatObject(数値用)とformatTime(日付、時刻用)に分割いたしました。  日付、時刻のフォーマットをXFormat.formatObject()メソッドで行っていた  場合は、XFormat.formatTime()メソッドを利用するように変更してください。  変更例)   変更前: String s = XFormat.formatObject(col, dateObj);   変更後: String s = XFormat.formatTime(col, dateObj.getTime()); -------- Ver 2.0-008以前のバージョンからの移行 -------- ・MailSenderクラスのsetFrom(),setTo()などのメソッドの仕様変更  MailSenderクラスを使ってメールを送信することができますが、これまでは  FromやToなどにアドレスの日本語の別名を設定することはできませんでした。  WRC 2.0-009よりアドレスの日本語の別名を設定可能にいたしました。  このため、アドレスを設定するメソッドの仕様が変更されています。  WRC 2.0-008以前:  ・setFrom(String addr)  ・setTo(String addr)  ・setCc(String addr)  ・setBcc(String addr)  ・setReplyTo(String addr)  WRC 2.0-009以降:  ・setFrom(String addr, String personal)  ・setTo(String addr, String personal)  ・addTo(String addr, String personal)  ・setCc(String addr, String personal)  ・addCc(String addr, String personal)  ・setBcc(String addr, String personal)  ・addBcc(String addr, String personal)  ・setReplyTo(String addr, String personal)  ・addReplyTo(String addr, String personal)  ※personalにnullまたは空文字を指定するとaddrと同じものが設定されます。  また、従来は setTo("aaa@bbb.ccc,ddd@eee.fff"); のようにコンマで複数の  アドレスを接続して一度にアドレスを設定することが可能でしたが、今回から   ・addTo("aaa@bbb.ccc", "aaaさん");   ・addTo("ddd@eee.fff", "dddさん");  のように複数のaddTo()メソッドを呼ぶ必要があります。  setCc(),setBcc(),setReplyTo()に関しても同様です。 ------------ Ver 1.20-SP2以前のバージョンからの移行 ------------ ・イベントハンドリングの変更  WRC 1.20-SP2以前のバージョンではメインレポートのページフッター表示前の  イベントのみでしたが、WRC 2.0からは全てのセクションの表示前後を取得する  ことができるようになりました。  メインレポートのページフッター表示前のイベントを取得していた場合は、  メインレポートのページヘッダー表示前のイベントで処理を置き換える必要が  あります。 ------- Ver 1.20-SP以前のバージョンからの移行 ------- ・XRowSetクラスのsetSQLメソッド後の挙動の変更  WRC 1.20-SP以前はXRowSet#setSQL()を行うと、XRowSetのParamSetのアク  ティブ属性が強制的にfalseになる、という障害がありました。  WRC 1.20-SP2からはXRowSet#setSQL()を行ってもXRowSetのParamSetのアクティブ  属性はそのままになります。  従って、XRowSet#setSQL()を行った後に、XRowSetのParamSetに対する操作を行っ  ていた場合、WRC 1.20-SP2からはエラーになる恐れがあります。  (つまり、WRC 1.20-SP以前の動作が WRC の障害を利用したものになって   います。)  このような操作を行いたい場合には、XRowSetのParamSetのアクティブ属性を  明示的にfalseに設定するようにしてください。  例: SQLRowSet sqlRowSet = new SQLRowSet();   ・・・ sqlRowSet.setSQL("..."); // ParamSetを非アクティブにする。 sqlRowSet.getParamSet().setActive(false); // ParamSetが非アクティブでないと出来ない操作を行う。   .... ----------- Ver 1.11-SP以前のバージョンからの移行 ----------- ・削除されたパッケージ  WRC 1.20より下記のパッケージが削除されました。  これらのパッケージは使用できませんので、ご注意ください。   - jp.co.tenartni.xreportcorba ・非推奨となったクラス  WRC 1.20より下記のクラスが非推奨のクラスとなりました。  これらのクラスは今後削除される可能性がありますので、ご注意ください。   - ReportBase   - TreeGroupHeader   - TreeGroupFooter   - MultiSubReport   - MultiSubReportSection   - TreeLine   - TreePageDetail ・XRowSetでの文字列項目空白の扱いの変更  WRC 1.20からは文字列項目前後の空白のとり扱いのポリシーが統一されました。  - データベースからのデータロード時、アプリケーションによる値設定時、   共に以下の様に処理されます。  - StringTrimプロパティがtrueの場合、文字列項目前後の空白は取り除かれる。   (ディフォルトの動作)   全てが空白の場合は、上記処理の結果、長さゼロ文字列となり当該項目のNull   プロパティはtrueとなる。  - 但し、当該項目のTrimTypeがNOT_ASSIGNED以外に設定されている場合は、   StringTrimを無視し、TrimTypeに基づく処理が行われる。  WRC 1.11-SP以前では、アプリケーションによる文字列項目の設定時、  空白処理が全く行われていなかった為、暗黙で空白設定が可能となっていました  が、WRC 1.20ではStringTrimあるいはTrimType明示指定する必要があります。  上記に起因するアプリケーション修正を最小限に留める為、  以下の様な設定を可能としました。  - システムプロパティ:jp.co.tenartni.wwb.trimmingpolicy  - 上記へ設定する値:WWB1.1compatible  以上の設定を行うと文字列項目の設定時の振る舞いがV1.1X同様となります。  ※但し、NOT_ASSIGNED以外に設定されている場合はその設定が優先します。  以下の様に各VM毎システムプロパティを設定してください。   Javaソースにて設定する場合    ServletBase継承クラスのinit()メソッドをオーバーライドして、    super.init()を呼ぶ前にシステムプロパティを設定してください。 System.setProperty( jp.co.tenartni.WWBSystemProperty.TRIMMING_POLICY, jp.co.tenartni.WWBSystemProperty.VALUE_WWB_1_1_COMPATIBLE);   Javaの起動オプションにて設定する場合 java -Djp.co.tenartni.wwb.trimmingpolicy=WWB1.1compatible ・XRowSet,ParamSetのNULL文字列項目の変更  WRC 1.20からは文字列項目がNULLの場合、getStringメソッドの戻り値が  長さゼロのStringオブジェクトに統一されました。  (WRC 1.11-SP以前では、NULLが戻される)  上記に起因するアプリケーション修正を最小限に留める為、  以下の様な設定を可能としました。  ・システムプロパティ:jp.co.tenartni.wwb.nullstringpolicy  ・上記へ設定する値:WWB1.1compatible  以上の設定を行うと文字列項目の設定時の振る舞いがV1.1X同様となります。  ※但し、NOT_ASSIGNED以外に設定されている場合はその設定が優先します。  尚、NULLの評価はisNullメソッドにて行う事を推奨いたします。  ※これまでWRC内部で文字列値のNull評価に不具合があり、  正確な状態を返さないケースがありましたが、  1.20でこの問題が修正されました。  以下の様に各VM毎システムプロパティを設定してください。   Javaソースにて設定する場合    ServletBase継承クラスのinit()メソッドをオーバーライドして、    super.init()を呼ぶ前にシステムプロパティを設定してください。 System.setProperty( jp.co.tenartni.WWBSystemProperty.NULLSTRNG_POLICY, jp.co.tenartni.WWBSystemProperty.VALUE_WWB_1_1_COMPATIBLE);   Java起動時のオプションにて設定する場合 java -Djp.co.tenartni.wwb.nullstringpolicy=WWB1.1compatible ----------- Ver 1.03以前のバージョンからの移行 ----------- ・PDF生成方法の変更  WRC 1.03以前は、Xincaライブラリを利用してPDFを生成していましたが、  WRC 1.10より自社作成のライブラリにてPDFを生成するよう変更されました。  この変更により、従来のプログラムが動作しない場合があります。  動作しない場合は、新ライブラリにて動作するよう、書き換える必要があります。 ・帳票定義ファイルの変更  WRC 1.03以前は  などのように帳票定義ファイルの先頭付近に、DesignByDesignerプロパティが  出力されていましたが、WRC 1.10よりDesignByDesignerプロパティは使用でき  なくなりました。  帳票定義ファイルより、DesignByDesignerプロパティの記述を削除してください。