cFramework(TM) の変更履歴 2006/07/21
[V3.0.0_01] - 2006/07/21 【****重要な変更****】
【不具合対応】
【問題】
省略可能な設定ファイル(modelwebimpls.xml)省略時に
例外が発生する。
【対応】
不具合を修正しました。
【問題】
設定ファイルのDTDバリデーションが無効になっている。
【対応】
不具合を修正しました。
【ドキュメントの修正】
APIドキュメントの記述に関する不具合を修正しました。
[V3.0.0] - 2006/06/30 【****重要な変更****】
cFramework3.0は,以下の条件を満たすプラットフォームで稼動します。
J2EE1.3以降
J2SE1.4以降
※動作確認済みプラットフォーム
1) WebLogic 8.1
2) WebLogic 9.1
【追加された新機能】
※詳細については,新規追加ドキュメント”Version3.0新機能”を参照してください。
1) EJBControllerのローカルインタフェースサポート
2) 拡張されたstartup起動クラス
3) 内部イベントのシグナルによる通知
4) Spring-Frameworkとの連携
5) エンジンのユーザ拡張
【推奨されない機能】
Version2.0で"deprecated"とされたクラス/メソッドが削除されました。
[V2.0.0] - 2004/01/05 【****重要な変更****】
cFramework2.0は,以下の条件を満たすプラットフォームで稼動します。
J2EE1.3以降
J2SE1.4以降
※ライセンスファイル内の情報が変更となり,
V1.5.5以前のライセンスファイルでは動作しません。
※動作確認済みプラットフォーム
1) WebLogic 8.1
2) SunONE 7
3) Cosminexus 5.5
【追加された新機能】
※詳細については,”開発者ガイド”を参照してください。
1) MainServletをweb.xmlで複数個指定することによって,
同じコンテキストのもとで要求パスごとに複数のリクエストマッピングファイル(requestmappings.xml)を
使用することができるようになりました。
2) requestmappings.xml/modelwebimpls.xmlのファイル名を,任意に指定することができるようになりました。
3) MainServlet#init()のタイミングで呼び出されるStartupクラスの定義が可能になりました。
4) Eventオブジェクトに,WEBの要求パラメータの値を自動的に設定できるようになりました。
5) ブラウザの要求ロケール,または稼動サーバのロケールにより,screendefinitions.xmlを
切り替えて使用することができるようになりました。
6) RFC1867で規定されているWEBフォームによるファイルアップロード機能を処理する
プラグインが提供されます。
7) HTMLのテーブルタグを処理するTagLibが提供されます。
【推奨されない機能】
以下のクラス/インタフェースは,ユーザアプリケーションでの使用が
推奨されない機能となりました。
将来のバージョンでは削除される可能性があります。
1) クラス com.ec_one.cBank.framework.util.CpackageProperties
2) クラス com.ec_one.cBank.framework.util.CpackageXML
3) クラス com.ec_one.cBank.framework.util.CpackageXMLFileUtil
4) クラス com.ec_one.cBank.framework.util.CpackageXmlStreamUtil
5) クラス com.ec_one.cBank.framework.util.Log
6) クラス com.ec_one.cBank.framework.util.XMLFileLoader
7) クラス com.ec_one.cBank.framework.util.XMLStreamLoader
8) クラス com.ec_one.cBank.framework.util.XMLFileLoaderException
9) クラス com.ec_one.cBank.framework.control.event.CpackageEventSupport
10) クラス com.ec_one.cBank.framework.control.web.URLMapping
11) クラス com.ec_one.cBank.framework.control.web.ModelManager
12) クラス com.ec_one.cBank.framework.control.web.ModelMappingImpl
13) クラス com.ec_one.cBank.framework.control.web.ModelUpdateNotifier
14) クラス com.ec_one.cBank.framework.control.web.Parameter
15) クラス com.ec_one.cBank.framework.control.web.RequestProcessor
16) クラス com.ec_one.cBank.framework.control.web.RequestToEventTranslator
17) クラス com.ec_one.cBank.framework.control.web.Screen
18) クラス com.ec_one.cBank.framework.control.web.ScreenFlowManager
19) クラス com.ec_one.cBank.framework.control.web.ScreenFlowXmlDAO
20) クラス com.ec_one.cBank.framework.view.Template
21) インタフェース com.ec_one.cBank.framework.util.JNDINames
22) インタフェース com.ec_one.cBank.framework.control.web.ModelMapping
【パッケージの変更】
1) 新規に,"オークション・サイト"サンプルプログラムを追加しました。
2) 既存のサンプル・プログラムを,複数requestmappings.xml/ロケール対応版に修正しました。
3) cFramework学習の助けとなる"チュートリアル"ドキュメントと,完成アプリケーションのサンプル/雛型を
追加しました。
【ドキュメントの修正】
新機能に関する記述を追加しました。詳細は,”開発者ガイド”末尾の
改定履歴を参照してください。
【プラットフォーム対応】
WebLogic 8.1 対応
【サンプル/ドキュメントの削除】
Cosminexus 3.2/3.5/4.0/4.1/5.0
WebLogic 5.1/6.0/6.1/7.0
WebSphere 4.0/5.0
【不具合対応】
【問題】
requestmapping.xml内の,デフォルトのurl-mapping(url="/default")設定で,
useRequestHandler="true"を設定した(リクエストハンドラを使用する)場合,
PathInfoがnullになるリクエスト(例:http://localhost/mainservlet/)を
URL指定すると、NullPointerExceptionが発生する。
【対応】
url-mappingの/defaultで,PreProcessHandler/Requesthandler/FlowHandlerが
通常のマッピングと同様に動作するように修正。
【問題】
/defaultマッピング処理時に例外が発生した場合,例外ハンドラ,および例外画面への
遷移が実行されない
【対応】
上記の不具合を修正しました。
【問題】
WebControllerを要求パスごとに設定した場合,Sessionに保存されている
WebControllerインスタンスが"WebController.KEY_NAME"をキー名として
保存されているため,クライアントの実行タイミングにより,期待される
物と異なるインスタンスが取得される場合がある。
【対応】
WebControllerのインスタンスを"WebController.KEY_NAME"をキーとして,
requestにも保存するように変更しました。
Sessionへの保存は,現バージョンでは有効ですが,将来のバージョンでは
削除されます。
[V1.5.5] - 2003/03/20 【****重要な変更****】
CpackageEventException/GeneralFailureException#getStackTraceは
getStackTraceStringへ名前が変更になりました。
getStackTraceメソッドはdeperecatedではなく,もはや存在しません。
この修正はJDK1.4でThrowable#getStackTraceメソッドが追加されたためであり
いくつかのアプリケーション・サーバで動作させるために必要なものです。
------------------------------------------------------------------
cFramework1.5x対応の既存のプログラムで,上記メソッドを使用している
場合,***再コンパイル*** が必要になります。
------------------------------------------------------------------
【****リリース後の既知の問題****】
【問題】
requestmapping.xml内の,デフォルトのurl-mapping(url="/default")設定で,
useRequestHandler="true"を設定した(リクエストハンドラを使用する)場合,
PathInfoがnullになるリクエスト(例:http://localhost/mainservlet/)を
URL指定すると、NullPointerExceptionが発生します。
【対応】
"default"マッピングには,リクエストハンドラを指定しないでください。
【プラットフォーム対応】
WebLogic 7.0 対応
SunONE 7.0 対応
WebSphere 5.0 対応
Cosminexus 5.1 対応
Cosminexus 5.5 対応
【サンプル/ドキュメントの削除】
hp application server
JRun
iPlanet Application Server
【パッケージ】
1) WebLogic 7.0用のサンプルプログラムを追加しました。
2) SunONE 7.0用のサンプルプログラムを追加しました。
3) WebSphere 5.0用のサンプルプログラムを追加しました。
4) Cosminexus5.1/5.5 用のサンプルプログラムを追加しました。
5) framework.jar内にDTDファイルを追加しました。
【設定ファイルの修正】
1) /propsおよび/sample/props内にあるcpackage.xml、modelwebimpls.xml、requestmappings.xml
とscreendefinitions.xmlファイルでのDTD指定をhttp://www.opencbank.net/〜に変更しました。
2) cframeworklog.propertiesの出力フォーマット指定を、F,L,M を含まないものに変更しました。
【仕様変更】
cpackage.xml、modelwebimples.xml、requestmappings.xmlおよび
screendefinitions.xmlファイル内でのDTD指定が
http://www.opencbank.net/cbank/dtds/〜になっている場合、最初にクラスパスから
DTDファイルを読み込むように変更しました。
【不具合対応】
【問題】
例外発生時にすべての例外がMainServletで"severe"レベルで出力される
【対応】
MainServletでのログ出力を削除しました。
必要な場合,例外ハンドラで処理を行ってください。
【問題】
com.ec_one.cBank.framework.util.Logクラスでメッセージに"null"を指定すると
NullPointerExceptionが発生する。
【対応】
"message is null"を出力するように変更しました。
【問題】
requestmappings.xmlにフローハンドラの戻り値の値をresultと設定すると、
同時に設定されている他のresultが動作しなくなる。
【対応】
不具合を修正しました。
【問題】
メソッドgetStackTraceがJDK1.4でjava.lang.Throwableに、戻り値の型のみがことなる
シグネチャーで定義されている
【対応】
メソッドgetStackTraceを削除しました。替わりにgetStackTraceStringを利用してください。
【問題】
EJBルックアップの失敗時にコンソールに文字列が表示される。
【対応】
コンソールへのエラーメッセージ出力を抑止しました。
【問題】
JSP使用時にInsertTagで指定したキーがscreendefinitions.xmlにない場合に
NullPointerExceptionが発生する
【対応】
GeneralFailureExceptionを送出するよう、修正しました。
【問題】
Cp932クラスで不必要な変換が行われる(\ --> \, \ --> \)
【対応】
不具合を修正しました。
【サンプルプログラム】
1) cframeworklog.propertiesの出力フォーマット指定を、F,L,M を含まないものに変更しました。
2) Weblogic6.1のwarモジュールにおいて,入力文字コード指定が古い形式(web.xmlで記述)であったものを
weblogic.xmlで設定するように変更しました。
【ドキュメントの修正】
1)インストールマニュアルの修正
・WebLogic 7.0/SunONE 7.0/WebSphere5.0/Cosminexus5.x対応に関するインストール方法を追加しました。
・DTDの参照URLについての記述を変更しました。
2) 移行ガイドの修正
・DTDの参照URLについての記述を変更しました。
3) cFrameworkAPIDocument.pdfを廃止しました。
・cFrameworkAPIDocument.pdfの記述内容を、APIドキュメントと
cFrameworkDevelopersGuide.pdfに移行しました。
4) 誤記,または不十分な記述を修正しました。詳しくは各ドキュメントの更新履歴をご覧ください。
[V1.5.4] - 2002/5/20 【プラットフォーム対応】
Cosminexus5.0
【パッケージ】
1) Cosminexus5.0用のサンプルプログラムを追加しました。
【サンプルプログラム】
1) LoginRequestHandler#doGoToTop()メソッドでHttpSession#removeAttribute()メ
ソッドを呼び出していましたが,HttpSession#invalidate()を呼び出すように変
更しました。
2) 以下のxmlファイルで,DTDを指定するURLをローカルファイルを参照するように変
更しました。
・cpackage.xml
・modelwebimpls.xml
・requestmappings.xml
・screendefinitions.xml
3) RegistBufferEJBクラスでのローカル変数の初期化処理を,ejbCreateメソッドで
行うように変更しました。
【ドキュメントの修正】
1)インストールマニュアルの修正
・Cosminexus5.0対応に関するインストール方法を追加しました。
・DTDの参照URLについての記述を変更しました。
[V1.5.3] - 2002/4/20 【プラットフォーム対応】
hp application server8.0
【パッケージ】
1) hp application server8.0用のサンプルプログラムを追加しました。
2) Bluestone7.3用のサンプルプログラムを削除しました。
3) サンプルプログラムの修正
・cframework_example.warのパッケージを変更しました。
・RegistStateHandler.javaの以下の定数をSymbols.javaに移動しました。
RECORD_COUNT_INSERTED_INTO_TABLE
RECORD_ADDED_TO_BUFFER
それに伴い,SampleEJBController.jarにSymbols.classを含めました。
【ドキュメントの修正】
1)インストールマニュアルの修正
hp application server8.0対応に関するインストール方法を追加しました。
【不具合対応】
【問題】
EJB層(ステートハンドラ)で
com.ec_one.cBank.framework.control.CpackageEventExceptionを継承した
クラスExtendedExceptionという例外をthrowした場合、Web層では、
ExtendedExceptionクラスが取得できず、CpackageEventExceptionに変換され
てしまう。
【対応】
EJB層(ステートハンドラ)でthrowした例外を変換せずにそのままthrowするよ
うに修正しました。
【問題】
JSPなどで例外が発生した場合など、レスポンスがすでにコミットしていても
再度forwardしてしまう。
【対応】
コミットしていない場合だけforwardするように修正しました。
【問題】
screendefinitions.xmlでtemplate-file要素の値を指定しない場合、
アプリケーションサーバによっては、処理がループしてしまう。
【対応】
com.ec_one.cBank.framework.control.GeneralFailureExceptionをthrowする
ように修正しました。
[V1.5.2] - 2002/1/20 【プラットフォーム対応】
JRun Server3.1
【パッケージ】
1) JRun用のサンプルプログラムを追加しました。
【ドキュメントの修正】
1)インストールマニュアルの修正
JRun3.1対応に関するインストール方法を追加しました。
2)移行ガイドの修正
移行項目の一覧を追加しました。
3)開発者ガイドの修正
以下の章を追加しました。
・HTMLシンボルキャラクター変換の無効化
・Windows環境での出力文字変換
【不具合対応】
【問題】
requestmappings.xmlに記述されていない無効なurlをリクエストされた時
デフォルトのスクリーンを表示しないでエラーになる。
【対応】
無効なurlをリクエストされた時はデフォルトのスクリーンを表示するよう
に修正しました。
【問題】
複数スレッドの同時アクセス時に,ModelMappingの取得エラーが発生する。
【対応】
modelwebimpls.xmlをロードしたデータを,ModelMappingメンバ変数に
セットするタイミングを変更することにより,上記の問題に対応しました。
[V1.5.1] - 2001/11/20 【不具合修正】
【問題】
EJBControllerから呼び出されるベースコンポーネント(サンプルプログラム
ではLoginCounter,RegistBuffer)でEJBExceptionをなげると,
EJBController内でjava.lang.NoSuchMethodErrorが発生する。
【対応】
J2EE1.3でサポートするメソッドを使用していたため,問題を修正し,
J2EE1.2で再ビルドしました。
【現象の再現するアプリケーションサーバ】
・WebLogic Server5.1
・iPlanet Application Server6.0
・Cosminexus3.2,3.5,4.0,4.1
・WebSphere Application ServerV4.0
・hp bluestone Total-e-Server7.3
*WebLogic6.0,6.1では再現いたしません。
【パッケージ】
・ パッケージにjdom.jar(JDOM Beta7),xerces.jar(JDOMパッケージ内V1.2.0),
log4J.jar(Log4J V1.1.3)を追加しました。
【サンプルプログラム】
1) SearchResultModelWebImpl#performUpdate()メソッドで
RegistBuffer#searchFromTable()メソッドを呼び出していましたが,
モデルの取得メソッドgetSearchedListModel()を呼び出すように変更しました。
2) RegistBufferDAOのコネクションクローズの問題を修正しました。
[V1.5] - 2001/9/20 【プラットフォーム対応の追加】
WebLogic Server6.1
Bluestone Total-e-Server7.3
【機能変更】
1) イベントクラス名をreuestmappings.xmlに定義し,フレームワークが内部的に
生成するように変更
requestmappings.xmlに<event-class>に記述すると,フレームワークが
内部的に生成し,RequestHandlerSupportのメンバ変数にセットします。
*フレームワークが内部的に生成するためには,引数なしコンストラクタを
かならず実装しなければなりません。また,引数ありのコンストラクタを
使用することはできません。
引数有りのコンストラクタを使用したい場合は,V1.5から導入された機能を
使用せずにV1.4までのようにリクエストハンドラで開発者が生成することで
対応可能です。
1),2),3)の変更に伴い,CpakcageEventのgetEventName(),
getWebControllerName()のメソッドが削除されました。
2) Webコントローラクラス名をrequestmappings.xmlに定義するように変更
V1.4までは,CpackageEvent.getWebControllerName()で返した,Webコントロ
ーラをrequestmappings.xmlの<webcontroller-class>に定義するように
変更になりました。
3) ステートハンドラクラス名
V1.4までは,ステートハンドラクラス名の取得するために,EJBコントローラの
デプロイメント・ディスクリプタ(ejb-jar.xml)の<ent-entry>の子
ノード<env-entry-value>で定義し,そのクラス名を取得するために
CpackageEvent#getEventName()の戻り値でlookup()し,取得していましたが,
パッケージ名を含むイベントクラス名でlookup()し取得するように変更になり
ました。
4) EJB層スタックトレースをWeb層コンソールへ出力するよう修正
これにより、EJB層ではcLogWrapperを使用しないよう修正
5) StateHandlerSupportをabstractクラスに変更
6) 設定ファイルをDTDを使用し,パースするように変更になりました。
以下のDTDを提供します。
・requestmappings.dtd
・screendefinitions.dtd
・cpackage.dtd
・modelwebimpls.dtd
7) WebController#remove()の変更
V1.4までは,WebController#remove()メソッドでは,インスタンス変数として
保持しているejbControllerにnullをセットするのみでしたが,V1.5から
ejbControllerがnullでなければ,ejbController#remove()を呼び出し,
ejbControllerにnullをセットするように変更になりました。
また,この変更により,2重にEJBコントローラのremove()を呼び出す場合が
想定されるため,remove()時のエラーはログ出力のみで正常動作するように
しました。メインサーブレットまで例外を通知しません。
【機能追加】
1) アプリケーション毎の設定ファイルを指定が可能
V1.4までは,cFrameworkが提供する設定ファイル
(requestmappings.xml,screendefinitions.xml,cpackage.xml,modelwebimpls.
xml,cLogWrapperConfig.xml,cframeworklog.properties)が提供する設定
ファイルがシステムプロパティ(-Dappl.props.path)を使用していたため,
JVMにつき1つの設定ファイルの配置
でしたが,V1.5からWebアプリケーション(WAR)単位に設定可能になりました。
設定ファイルの配置方法:
設定ファイルの配置タイプの指定:
web.xmlの<context-param>の<param-name>appl.props.type</
param-name>の値に以下の内容を指定します。
WEB_RESOURCE :WARファイル内に設定ファイルを配置
LOCAL_RESOURCE :ローカルファイルとして設定ファイルを配置
appl.props.typeが省略された場合,V1.4同様システムプロパティ
(-Dappl.props.path)を使用します。
設定ファイルのパス指定:
web.xmlの<context-patam>の<param-name>appl.props.type<.
param-name>の値に設定ファイルが格納されているパスを指定します。
appl.props.typeがLOCAL_RESOURCEでappl.props.pathの指定がない場合は,
V1.4同様にシステムプロパティ(-Dappl.props.path)を使用します。
appl.props.typeがWEB_RESOURCEでappl.props.pathの指定がない場合は,
/WEB-INF/propsを使用します。
WEB_RESOUCEを指定した場合は,テンプレートファイルのオートリロード機能
は使用できません。
LOCAL_RESOUCEの場合はファイルのタイムスタンプによるオートリロード機
能を利用することができます。
2) テンプレートファイルがWARファイル内に配置可能
cContentsTemplateを使用する場合のテンプレートファイルの配置方法は,
V1.4ではローカルファイルのみ配置可能でしたが,V1.5では,WARファイル内
にテンプレートファイルを配置することが可能になりました。
また,本機能を利用するためには,cContentsTemplateV3.3.0を使用する必要
があります。JSPを使用している場合には移行の必要はありません。
テンプレートファイル配置の指定方法:
screendefinitions.xmlのルート要素<screen-definitions>の子要素
<template-read-type>の値に以下の値を設定します。
WEB_RESOURCE :WARファイル内にテンプレートファイルを配置
LOCAL_RESOURCE :ローカルファイルとしてテンプレートファイルを配置
<template-read-type>が省略された場合,V1.4同様LOCAL_RESOURCEとし
て動作します。
WEB_RESOUCEを指定した場合は,テンプレートファイルのオートリロード機能
は使用できません。
LOCAL_RESOUCEの場合はファイルのタイムスタンプによるオートリロード機能
を利用することができます。
3) HtmlViewから一部HttpServletResponseの公開
V1.4までは,ビュークラスからHttpServletResponseに対する操作をができま
せんでしたが,V1.5では,HttpServletResponseが提供する一部の機能を公開
しました。
HtmlViewに追加されたHttpServletResponseに関するpublicメソッド:
・void addCookie(Cookie cookie)
・void addHeader(String name, String value)
・void setHeader(String name, String value)
・void addDateHeader(String name, long date)
・void setDateHeader(String name, long date)
・void addIntHeader(String name, int value)
・void setIntHeader(String name, int value)
4) 文字コード変換処理の追加
文字コード変換のサポートがRequestHandlerSupportのみでしたが,
PreProcessHandlerSupport,FlowHandlerSupport,HtmlViewでも
サポートしました。
そのため,FlowHandlerSupport, PreProcessHandlerSupportクラスが追加にな
りました。
追加されたメソッド:
HashMap getParameters()
・文字コード変換済みの全てのHTTPパラメータを取得します。戻り値
HashMapのキー名にはパラメータの名前を値にはパラメータの値を格納して
います。
String getParameter(String name)
・引数nameに該当するHTTPパラメータを取得します。
【不具合対応】
1) モデルの更新されない問題対応
iPlanet使用時,分散配置設定にすると,ServletContextにストアされた
モデルが更新されない問題を対応しました。
2) JSP使用時にincludeしたJSPが順番どおりにincludeされない問題を
対応しました。
【パッケージ】
1) cBankUtilityを追加しました。
cBankUtilityは,cFrameworkやシステムコンポーネントをサポートするライブラ
リ群です。JARファイル(cBankUtility.jar)提供されています。
V1.5では,cBankUtilityとしてリソースマネージャ(ResourceManager)を提
供します。
*詳細は,cBankUtilityユーザーズガイドを参照してください。
2) サンプルプログラムの修正
V1.5での変更に対応するサンプルプログラムに変更しました。
[V1.4.1] - 2001/8/20 【プラットフォーム対応】
Cosminexus4.1(WindowsNT以上)
WebSphere Application ServerV4.0
【パッケージ】
1)サンプルプログラムのコメントを追加しました。
2)サンプルプログラムのbuildにantを提供しました。
[V1.4.0]- 2001/6/20 ※cFrameworkに関する追加・修正に関する詳細につきましては、
【cFramework移行ガイド】を参照してください。
【cFrameworkに関する追加・修正】
1) com.ec_one.cBank.framework.jsp.taglib.InsertTag.classを追加
screendefinitions.xmlの<template>で指定するレイアウト用テンプレ
ートJSPでこのタグを使うことにより、<parameter>でjspを指定できる
よう変更
2) screendefinitions.xmlで指定するレイアウト用テンプレートファイルを、
<template-path> + <template-file>の形式で指定するよう変更
3) screendefinitions.xmlのparameterのattributeに"file"を指定する場合、
template-pathアトリビュートでパスを指定できるよう変更
4) ExceptionHandlerを任意設定できるよう変更
5) HtmlView.getContentsData()の不具合を修正
6) JSPを使用して、レスポンス処理をするサンプルを追加
[V1.3.1]- 2001/5/21 【プラットフォーム対応】
Cosminexus3.5(WindowsNT以上)
【ドキュメントの修正】
1)インストールマニュアルの修正
Cosminexus3.5対応に関するインストール方法を追加しました。
2)APIドキュメントの修正
・ExceptionHandlerの記述漏れを対応しました。
・StateHandlerResultの記述漏れを対応しました。
・コンストラクタ、throwsの記述を追加しました。
3)開発者ガイドの修正
・screendefinitions.xmlの記述間違えを修正しました。
4)移行ガイドの修正
・cpackage.propertiesからcpackage.xmlへの変更について記述しました。
・ExceptionHandlerが必須である旨を追加しました。
・screendefinitions.xmlに関する移行方法を追加しました。
[V1.3.0] - 2001/4/20 ※cFrameworkに関する追加・修正に関する詳細につきましては、
【cFramework移行ガイド】を参照してください。
【cFrameworkに関する追加・修正】
1) WebController及びEJBControllerの複数対応
2) .propertiesファイルをすべて.xmlに変更
requestmappings.xml,screendefinitions.xmlの
パス情報を-Dappl.props.pathに変更
3) .xmlファイルのランタイム更新対応
一括更新、更新なし、ファイル単位の個別更新対応
4) スクリーン単位でforward先の指定が可能
screendefinitions.xmlに定義する。
5) スクリーン単位でベーステンプレート(template.html)の指定が可能
screendefinitions.xmlに定義する。
6) PreProcessHandlerの追加
全体の処理の先頭で起動し、アクセスコントロール、画面遷移チェック、
ユーザーのトラッキング等を行うハンドラです。
システムで1つ作成し、リクエスト(PathInfo)単位での使用の有無の設定が可能
requestmappings.xmlで定義する。
7) HtmlViewをinterface TemplateView、abstract HtmlViewに分離
8) ライセンスモジュール組み込み
*本バージョンからライセンスファイルがない場合は動作しませんでご了承
ください。
9) ロギングモジュールとしてcLogWrapperを使用するように変更
そのため、V1.2以前のログモジュールは削除されます。
10) モデルに関する変更
1.WEB層モデルの名前、クラス名をEventから、modelwebimpls.xmlに定義を変更
2.モデルの格納先をServletContext、HttpSession、HttpServletRequestの指定が
可能
3.StateHandlerのperform()の戻り値をvoidからStateHandlerResultに変更
StateHandlerResultは、モデル名の集合、及び結果オブジェクトを格納
11) 例外に関する変更
1.全般的に例外を捕捉し、エラースクリーンに遷移するように変更
2.ExceptionHandlerの追加
Exceptionを補足したときに、処理を行うハンドラです。
システムに1つまたは2つ作成し、CpackageEventExceptionとそれ以外で
選択可能
requestmappings.xmlに定義する。
12) ServletContext、HttpSessionに格納するオブジェクト全てにSerializableを実装
13) ModelUpdateListenerのメソッド
public void performUpdate()から
public void performUpdate(HttpServletRequest request)に変更
また、ModelManagerがインスタンス変数として保持していたHttpSessionを削除
14) iPlanet Application Server 6.0対応
15) WebLogic6.0対応
16) Cosminexus 3.2 対応
[V1.2.0] - 2001/2/20 【cFrameworkに関する不具合対応】
1)フレームを使用した場合、フレームの上部のメニューが表示されるべきところに、
下部と同じ内容が表示される可能性がある。
・現在の画面名をHttpSessionで保持していたため、画面表示処理を行う前に、
後からきた画面名で上書きしてしまう可能性がある。
現在の画面名をHttpSessionからHttpServletRequestで保持するように変更。
2)FlowHandlerのprocessFlowでCpackageEventExceptionをthrowしてもエラー画面
に遷移しない。
CpackageEventExceptionをthrowした場合、エラー画面に遷移するように変更。
3)EJBControllerEJBがpassivate時にLogImplがSerializableでないため、
NotSeralizableException発生。
com.ec_one.cBank.framework.util.LogImplでSerializableを実装した。
【cFrameworkに関する追加・修正】
1)screendefinitions.xml <parameter ... template-file="" />を追加し、
テンプレートファイル名までの指定ができる。
それに伴い、HtmlViewクラスにメソッドgetTemplateFile()、getTemplateFull
Path()を追加しました。
getTemplateFile() :template-fileで指定したファイル名を取得する。
指定が無い場合、nullを返す。
getTemplateFullPath() :template-pathで指定したパス名+ファイルセパレ
ータ+template-fileで指定したファイル名を取得する。
2)screendefinitions.xmlの<screen>の子要素として<content-type>
を追加、コンテントタイプの指定ができる。
例:<content-type>text/html;charset=Shift_JIS</content-type>
3)文字コード変換の指定追加
指定方法:
cpackage.propertiesに
cPackage.request.charset=<文字コード名>
cPackage.response.charset=<文字コード名>
cPackage.template.charset=<文字コード名>
※文字コード名は以下の指定が可能。
none … 文字コード変換なし
request … HttpServletRequest#getCharacterEncoding()で取得できる文字
コードで変換
その他 … 指定された文字コードで変換
cPackage.request.charsetの設定が、パラメータ取得時RequestHandlerSupportの
getParameter(s)()で有効となる。
cPackage.response.charsetの設定が、レスポンス時PrintWriter作成時に有効と
なる。
cPackage.template.charsetの設定が、テンプレートファイル読込み時に有効と
なる。
4)CpackageEventのgetAssociatedModelNames()の戻り値でnullを返した場合、
モデルを生成しないように変更
5)CpackageEventのgetAssociatedModels()の戻り値でnullを返した場合、モデルの
更新要求をしないように変更
【cFrameworkサンプルに関する追加・修正】
1)RDBラッパーコンポーネントV1.0.1対応
修正ファイル:
com.ec_one.cBank.examples.view.PersonalView
com.ec_one.cBank.personal.model.PersonalLineHome
com.ec_one.cBank.personal.model.PersonalLineImpl
2)PersonalModelをSerializableに変更
修正ファイル:
com.ec_one.cBank.personal.model.PersonalModel
【RDBラッパーコンポーネントに関する追加・修正】
V 1.0 -> V1.0.1
1) 本コンポーネント内で使用する、CollectionクラスのJava2 Collectionクラスへ
の統合対応。Hashtable→HashMap、Vector→ArrayList
※ メソッドのパラメータ及び戻り値は、ListまたはMapに統一されています。
従って、アプリケーションは戻り値をVectorなどからListへ変更が必要です。
2) Hashlistの廃止
※ Hashlistの廃止に伴い、アプリケーション側で生成するHashlistクラス
オブジェクトは、HashMapへの変更が必要となります。
【不具合対応】
・ある条件下で以下のメソッドをコールした時
NullPointerExceptionが発生する不具合に修正対応しました。
public void setOr(Conditions conditions);
protected String getComparition(Where where);
【Contents Templateに関する追加・修正】
V 3.1.1 -> V3.1.2
1) ドキュメント修正のみ
「コンテンツ変数のタイプ宣言部別 詳細説明記述」誤りの修正
誤)指定データ例:contentsData.setData(“Name”, “DATA”);
正)指定データ例:contentsData.set(“Name”, “DATA”);
【Contents Templateに関する不具合対応】
1)テーブルの入れ子状態で、
正しくテーブルレコードを認識しない不具合を改善
[V1.1.3] - 2001/2/7 【パッケージ化に関する不具合対応】
・framework.jar内に、RdbWrapper.jarだけにあるべきモジュールの一部が紛れ込
んでいる。
このため、classpath内でframework.jarが先に読み込まれるように設定されて
いる状態でRdbWrapperのmain()関数を呼び出す処理がある場合は、エラーとなる。
上記の不具合に対応するため、framework.jarを再作成し、不要なモジュールを
削除しました。
[V1.1.2] - 2001/1/26 【ドキュメントの追加、修正】
1) [cFramework APIドキュメント]追加
2) [Rdbラッパーコンポーネントユーザーズガイド]追加
3) [ContentsTemplateユーザーズガイド」追加
4) JAVADOC記述内容強化
5) [cFramework開発者ガイド]改定
改定履歴参照
6) [cFrameworkインストールマニュアル]改定
改定履歴参照
【不具合対応】
1)screendefinitions.xml <parameter attribute="file"> を使用する場合
に、挿入するテキストファイルの全ての改行コードが抜けている。
改行コードを挿入するように変更。
2)フローハンドラで例外オブジェトを取得できない。
request.getAttribute("exception")で例外オブジェクトを取得できるように
変更。
Contents Template(TM) V3.1.1 にバージョンアップ
1) ContentsManager クラス:ENV_AUTOINSERT_HIDDEN環境変数の取り扱い説明の
追記。
2) タイプ宣言部一覧:テンプレート変数のテーブル制御タイプのキーワードの
変更記述の誤り是正
3) API仕様(クラス・メソッド説明)Contents Template(TM)API及び内部で使用
するCollectionクラスのJava2 Collectionクラスへの統合対応。
Hashtable→HashMap、Vector→ArrayList
※ソースレベルの修正は不必要ですが、本バージョンを使う
アプリケーション・モジュールは1度コンパイルし直す必要があります。
4) ContentsDataクラス:ContentsDataクラスオブジェクトから、
変換済みの文字列データを取得する、以下のクラスを公開しました。
public String getString()
【不具合対応】
1) 以下のように、テーブルの行<tr>タグにオプションが
ある場合うまく認識できない不具合を修正しました。
例)<tr bordercolor="#9900CC" valign="middle"
align="left" bgcolor="#3333FF">
・・・・・・・・・ </tr>
[V1.1] - 2000/12/20 1) cpackage.properties追加
Cpackage専用のプロパティファイルを追加。WebLogicサーバーの起動時に
-Dappl.props.path=c:/usr/project/cPackage/props としてプロパティ
ファイルのフォルダを設定する。
version1.0とは環境変数の名前が変わっているので注意。
2) connection.propertiesのパス名指定の環境変数変更
connection.propertiesは-Dappl.propsの環境変数を参照するように
なっていたが上記の変更により同じ環境変数を参照するように変更。
3) アプリケーションログの出力制御
cpackage.propertiesでログの実装クラス名と出力レベルを指定する。
Level=1は致命的なエラーのみ、Level=2は致命的なエラーと警告まで、
Level=3はすべてのアプリケーションログを表示する。
なお、プログラム開発中のログはWebLogic実行時の環境変数 -DDEBUG
によって制御する。-DDEBUG=trueとすることによってデバッグ文の表示が可能。
4) screendefinitions.xmlのtemplate-pathデフォルト設定
これまで
のように全てのparameter keyに対してテンプレートパスを設定する必要があったが
各スクリーンごとの設定を削除し、デフォルトスクリーンにのみ記述できるように
変更している。もちろん、これまでの設定方法も可能。以下の設定によって
"Body"というキー名を持つ構成要素を表示するためのtemplate-pathは全て
C:/usr/templateが適用される。ただし、各行ごとのtemplate-pathの設定がある場合は
そちらが優先的に使用される。