wisdom core 変更履歴

WA0010 
    【日付】2004/5/6
    【概要】reqidの上書き設定対応
    【詳細】wisdom_config.xmlに
    		<reqidName name="reqid"/>
    		を追加することで、wisdomで使用されるコマンドクラスの振り分けを変更することが可能。
    		省略時（上の要素を追加しない）場合は従来とおり"reqid"が使用されます。
    【変更】
		    ServletRuntimeConfig#setReqidName(String reqidName)
		    ServletRuntimeConfig#getReqidName()
		    を追加。
		    
			RequestHandler#getCommand(CommandSet cs)  
			を↓に変更
			RequestHandler#getCommand(CommandSet cs, ServletRuntimeConfig serlvetRuntimeConfig) 	
					 
	【影響範囲】
			影響範囲はありません。必要な場合、上のwisdom_config.xmlに設定を変更して使用してください。
    		
WA0011 
    【日付】2004/5/6 
    【概要】認証不要なセッション使用の対応
    【詳細】wisdom_config.xmlで
			<servletRuntimeConfig className='wisdom.core.runtime.RunTimeServlet' enablesSession="true">
				セッションが使用可能
			<authenticate required="false" authType="form" authClass="tutorial.AuthenticateImpl"/> 
				認証不要
			
			な場合、匿名セッションを作成します。
			
	【変更】			
			wisdom.core.application.ISessionCreateListenerが追加されました。
			UserSessionFactory.addSessionCreateListener(ISessionCreateListener) を使用してセッションを作成した
			タイミングで呼び出すリスナークラスを登録します。
			一般的な使用方法はバッチコマンドを以下のような定義で作成しサーブレット起動時実行します。
				extends AbstractBatchCommand implements ISessionCreateListener{
			


	【影響範囲】
			新規能なので影響範囲はありません。必要な場合、上のwisdom_config.xmlに設定を変更して使用してください。

WA0012
    【日付】2004/5/12 
    【概要】IOption、Optionに属性設定の追加
    【詳細】IOption#setAttribute(String attName, Object attValue);
			IOption#getAttribute(String attName);
			が追加されました。

	【変更】			
			
	【影響範囲】
			新規能なので影響範囲はありません。

WA0013
    【日付】2004/5/14
    【概要】Checkbox.allCheckedの追加
    【詳細】Checkbox.allCheckedの追加
			が追加されました。

	【変更】			
			
	【影響範囲】
			新規能なので影響範囲はありません。
WA0014
    【日付】2004/5/21
    【概要】WAS V4対応　コンテキストルートの取得
    【詳細】ConfigMangerにコンテキストルートを設定するために ServletContext#getServletContextName() を使用していましたが
    		このメソッドはServletV2.2ではサポートされていないため取得方法が変わりました。

			/* サーブレットコンテキストの取得 WAS V4 対応　2004/5/21*/
			String context = (String)getServletContext().getAttribute(APPLICATION_NAME_WASV4);
			if (StringUtil.isEmpty(context)) { /* if 追加 2004/5/21*/
				configManager.setContext(config.getServletContext().getServletContextName());
			}

	【変更】			
			
	【影響範囲】
			新規能なので影響範囲はありません。
WA0015
    【日付】2004/5/24
    【概要】wisdomx.ui.builder.StatementBuilderの結果文字列に"WITH UR"のデフォルト値追加
    【詳細】省略時にSQL文字列の最後に"WITH UR"が追加されます。追加したくない場合、コンストラクタで変更してください

	【変更】			
			
	【影響範囲】
			新規能なので影響範囲はありませんが、意図的にWITH URをはずしたい場合、コンストラクタを変更する必要があります。

WA0016
    【日付】2004/5/27
    【概要】IPageList#getTotalRows()の追加
    【詳細】IPageList実装クラスからクラスが持っている全行数を取得できるようになりました。

	【変更】			
			
	【影響範囲】
			新規能なので影響範囲はありません。
			
WA0017
    【日付】2004/5/27
    【概要】ConfigManager#getContext()メソッドの非推奨化
    【詳細】このメソッドはWASV4、WASV5、J2EE 1.3、J2EE 1,4で互換性が保てません。WA0014にて対応がとられましたが、
    		このメソッドによる値の取得は今後互換性が保てなくなる可能性があります。
	【変更】			
			以下のメソッドに置き換えてください。
		    wisdom.core.application.RuntimeContext#getContextPath(HttpServletRequest)			
	【影響範囲】
			上記メソッドを使用している箇所を【変更】手順に沿って修正してください。

			
WA0018
    【日付】2004/6/7
    【概要】Tag#hidden(String,String)の不具合修正
    【詳細】このメソッドにより置換されるhiddenタグの値は空白文字もエスケープされるために
    		hiddenのvalueに空白が含まれると値が正しく取得できません。
    		空白文字のみ置換しない、というように改善されました。
	【変更】			
			
	【影響範囲】
			この不具合はバグです。この不具合で何か特別な対応をアプリケーションでとっている場合は
			このメソッドに置き換えることができます。

WA0019
    【日付】2004/6/7
    【概要】インターフェースIExceptionHanlderの追加
    【詳細】RuntimeServletの実行時に例外が発生した場合に例外を処理するリスナーです。
			このインターフェースの追加により、wisdom_config.xmlにも追加が行われました。
			
	【変更】			
			wisdom.core.ConfigHandler
			wisdom.core.ConfigManager			
			wisdom.core.runtime.RuntimeServlet
			wisdom.core.application.IExceptionHandler
			
			wisdom_config.xmlの変更
				<servletRuntimeConfig>要素の下に以下の要素が追加されました。この要素は複数の登録が可能です。
					<exceptionHandler className='wisdom.core.application.ExceptionHandler'>
	【影響範囲】
			新規能なので影響範囲はありません。									
			
WA0020
    【日付】2004/6/7
    【概要】StringValidator#checkString(String,int,String);
    【詳細】禁則文字が指定された場合に正しく検査されていませんでした。
	【変更】			
			
	【影響範囲】
			この不具合はバグです。この不具合で何か特別な対応をアプリケーションでとっている場合は
			このメソッドに置き換えることができます。
			
WA0021
    【日付】2004/6/9
    【概要】IHandlerインターフェースの追加
    【詳細】AbstractRequestCommand,AbstractBatchCommandで共有で使用できるHandlerインターフェース<br>
            IRequestHandler、IBatchHandler各インターフェースで共通のメソッドはこのインターフェース
            を継承することで宣言を行います。
	【変更】			
			wiscom.core.RequestCommand、wiscom.core.BatchCommandに変数名hでIHandlerのインスタンス
			変数が追加されています。これは単純に、rh,bhをこのhに代入しただけで、インスタンスは同じ
			ものです。
			
	【影響範囲】
			原則変更はありません。
			各コマンドクラスでインスタンス変数としてhという名前を使用するのは今後避けてください。

WA0022
    【日付】2004/6/16
    【概要】使用するMessageGeneratorインスタンスの不具合
    【詳細】wisdom.logic.formtemplate.AbstractFormObjectGenerator
		    wisdom.logic.formtemplate.AbstractPageListGenerator
			上記クラスでMessageGeneratorのインスタンスがCoreMessageGeneratorを参照していました。
			これは不具合であり、本来はAppMessageGeneratorのインスタンスを参照します。
	【変更】			
			この不具合をそのまま使用する場合、フレームワークが持つCoreMessageResource.propertiesを
			変更しなくてはならず基本的にアプリケーションでは別の対応（独自にmessageGeneratorのインスタンスを
			取得するなど）しなくてはならず、この修正による変更箇所は発生しないはずです。
			
	【影響範囲】
			原則変更はありません。
			
WA0023
    【日付】2004/6/21
    【概要】wisdomx.rdbo.RDBOPersistanceの内部動作の変更
    【詳細】wisdomx.rdbo.RDBOPersistance内部で作成されたPreparedStatementにnullのパラメータを設定する際に
		    内部で、PreparedStatement#setString(int, null)と指定していましたが、この設定方法だと
			DB2 V7では、正しく認識せずに例外が発生します。
			発生する例外
			 [IBM][CLI Driver][DB2/6000] SQL0301N  入力ホスト変数またはパラメーター番号 "" の値は、そのデータ・タイプのため、使用できません。  SQLSTATE=07006
			この問題は内部動作を変更することで回避します。
	【変更】			
			アプリケーションでは変更は不要です。			
	【影響範囲】
			変更はありません。

WA0024
    【日付】2004/7/1
    【概要】RuntimeServletから送出される例外クラスの変更
    【詳細】RuntimeServletから送出される例外はjava.lang.Exceptionクラスでエラーページで詳細のメッセージ
    		を取得することができませんでした。
	【変更】			
			アプリケーションでは変更は不要です。			
	【影響範囲】
			変更はありません。

WA0025
    【日付】2004/7/7
    【概要】errorPageのsendRediret対応
    【詳細】wisdom_config.xmlの例外ページの指定がhttpで始まる場合、fowardではなくsendReirectを使用するように
    		更新されました。
	【変更】			
			アプリケーションでは変更は不要です。			
	【影響範囲】
			変更はありません。

WA0026
    【日付】2004/7/10
    【概要】2重サブミット抑制の廃止
    【詳細】従来、セッション使用時に同一セッションから同一コマンドが複数連続して実行された場合、最初のコマンドが
    　　　　終了するまで継続のコマンドの実行を抑止し、最初のコマンドが終了したときに継続のコマンドクラスを実行せずに
    　　　　破棄し、最初のコマンドの結果のみを返す処理が含まれていましたが、こｎ抑止処理は廃止されました。
	【変更】			
			アプリケーションでは変更は不要です。
	【影響範囲】
			2重サブミットの抑止を行う場合、あるいはこの廃止された機能を用いて抑止を行っていた場合、JavaScriptなどを
			使用して各アプリケーションで実装を行う必要があります。

WA0027
    【日付】2004/10/19
    【概要】ページリストの引数の不具合
    【詳細】一覧表示のオブジェクトAbstractPageListクラスからページナビを表示するためのIPageListDecoratorに対して
    		一覧の状態を渡す際、引数が正しく渡されていないため、ページナビゲーションが正しく表示されない、という
    		不具合が修正されました。
	【変更】			
			アプリケーションでは変更は不要です。
	【影響範囲】
			変更はありません。
			
WA0028
    【日付】2004/10/29
    【概要】Servlet2.3のrequestエンコーディング対応
    【詳細】従来、WAS5以降はServlet2.3に準じたrequest/responseの文字コードはWASの拡張機能である、「自動要求エンコード」および
    		「自動応答エンコード指定」により正しく処理されていましたが、携帯（iMode）の場合にrequestヘッダーcharsetがISO-8859-1
    		であるために、文字エンコードが正しく処理されないケースがあったために、IRequestParserの実装クラスでrequestからパラメータ
    		を取得する際にキャラクターコードを設定可能にしました。
    		この問題はWASではconverter.propertiesにISO-8859-1=Shift_JISというエントリーを追加することにより回避可能でしたが、
    		サーバーの設定変更に対する影響を極力回避するために追加された対応です。
	【変更】			
			通常のPCアプリケーションではこの事象は確認されていません。開発を進めていく中でWASの拡張機能を使用しても回避できない
			文字化けが発生した際にwisdom_config.xmlに以下の設定を追加してください。
				<parameter id='request.parameter.encoding' value='Shift_JIS'/> 
			実装は上のパラメータで指定された値が正しくない場合、UnsupportedEncodingException が送出される場合があります。この場合、
			メッセージコードWPE0050のCoreRuntimeExceptionが送出されます。
			
			※設定がされていない場合、アプリケーションには影響はありません。

	【影響範囲】
			通常のアプリケーションでは変更は必要ありません。WASの拡張機能を使用してください。
WA0029
    【日付】2004/10/29
    【概要】IStringValidator#checkNumeric(java.lang.String checkString,int length, int scale)のバグ修正
  
    【詳細】APIに「長さ0の文字列を許可します」との記述がありますが、許可していませんでした。長さ0、あるいはnullの場合はエラー番号
    		IStringValidator.ERROR_ANY_CHAR_DETECTEDが戻されていました。

	【変更】			
			アプリケーションにより、上のメソッドを使用している場合に従来上の動作が正常という場合にはアプリケーションコード、仕様を
			再確認し、上のメソッドの使用が正しかったかを検証してください。従来の（許可しない）が正しい仕様になっている場合には、
			上メソッドを使用している箇所を
				IStringValidator#checkNotEmptyNumeric(java.lang.String checkString,int length, int scale)
			に置き換える必要があります。
	【影響範囲】
			上のメソッドを使用しているアプリケーションすべて。
			
WA0030
    【日付】2004/11/09
    【概要】SessionRequestHandler#setUserSession(IUserSession)の追加
  
    【詳細】このメソッドはwisdom.core.application.IAuthenticat>の中で設定されたセッションオブジェクトに対して
			継続のコマンドで実行可能なように追加されました。このメソッドの使用はwisdom.core.application.IAuthenticate#authenticate(IRequestHandler, String, String)
			内部に限定してください。
			wisdom.core.application.IAuthenticate#authenticate(IRequestHandler, String, String)で引数に渡されるIRequestHandlerのインスタンスは
			すでにSessionRequestHandlerになっているので、引数のオブジェクトをSessionRequestHandlerにキャストしてこのメソッドを使用します。
	【変更】			
			変更はありません。
	【影響範囲】
			ありません。


WA0031
    【日付】2004/11/10
    【概要】wisdomx.ui.render.tag#selectXXXXメソッドの修正
  
    【詳細】出力される文字列を生成時にエスケープしていなかったため、生成されるHTMLが含まれている場合、正しく表示されませんでした。

	【変更】			
			変更はありません。
	【影響範囲】
			ありません。

WA0032
    【日付】2004/11/17
    【概要】wisdomx.ui.render.tag#checkboxClass(Checkbox,String)メソッドの追加
  
    【詳細】生成されるHTMLタグに対してスタイルシートクラスの指定が可能になりました。

	【変更】			
			変更はありません。
	【影響範囲】
			ありません。

WA0033
    【日付】2004/11/18
    【概要】wisdomx.ui.render.Select#setDisabled(boolean)メソッドの追加
  
    【詳細】このメソッドを使用することで選択不可な状態のHTML SELECTタグを生成します。
			
	【変更】			
			変更はありません。
	【影響範囲】
			ありません。
WA0034
    【日付】2004/12/09
    【概要】wisdomx.core.runtime.StringValidatorのメソッド修正
    		public int checkNotEmptyNumeric(String checkString, int length, int scale) 
			public int checkNumeric(String checkString, int length, int scale) 
  
    【詳細】検査文字列が"."のみなどの場合、内部で検査に使用しているjava.math.BigDecimalのコンストラクタでArrayIndexExceptionが送出されます。
    		この不具合はWisdom上で数字以外、という判別のためにcatchしている条件がumberFormatExceptionのみだったために発生する例外です。
    		これを解消するためにcatchする例外をExceptionに変更し、BigDeciamalとして認識できない場合、検査エラーとして戻すように変更されました。
			
	【変更】			
			変更はありません。
	【影響範囲】
			ありません。			


WA0035
    【日付】2005/2/1
    【概要】wisdomx.core.applcation.IHandlerのメソッド追加
    		public void closeConnection(Connection c) 
  
    【詳細】IHandlerインターフェースの実装クラスでは一度取得したConnectionオブジェクトは同じトランザクション内であれば、繰り返し利用されていました。
			このメソッドは一度取得したConnectionを強制的にcloseするために追加されました。
			従来（通常想定）の動作は以下のようなものです。
			例A）
				Connection c1 = ihandler.getConnection();
				Connection c2 = ihandler.getConnection();
			ここで取得されるc1,c2オブジェクトは同一です。以下も同じです。
			例B)
				Connection c1 = ihandler.getConnection("ds1");
				Connection c2 = ihandler.getConnection("ds1");
			ここでデフォルト（例A）、あるいはデータソース指定時（例B）にc1を一度closeして新たに同名のConnectionを取得する方法は提供されていませんでした。
			下のようなコードを行うと「すでにクローズされている」というエラーになりました。
				Connection c1 = ihandler.getConnection();
				c1.close();
				Connection c2 = ihandler.getConnection();  
				c2.preparedStatement(sql);		ここでエラーになります。
			
			上のケースを回避するためにこのメソッドを以下のように使用することができます。	
				Connection c1 = ihandler.getConnection();
				ihandler.closeConnection(c1);
				Connection c2 = ihandler.getConnection();  
				c2.preparedStatement(sql);	
				
			このメソッドを使用すると、内部では一度自動的にcommitが発行されます。
	【変更】			
			この追加はWAS上で多数のデータソースを定義した場合に消費されるdb2のメモリーの増加を防ぐために追加されたメソッドです。従来のアプリケーション、
			また今後作成されるアプリケーションでは特に使用する必要はありません。あくまでも例外的なメソッドとして位置づけられます。
			※このメソッドを使用するアプリケーションでは、web.xmlの「リソース」の「共用」を「Unshareable」に設定してください。
	【影響範囲】
			ありません。	
			※このメソッドはIteratorの同期化の失敗により、実行時に例外を送出する場合があります。使用しないでください。
						
						
WA0036
    【日付】2005/03/03
    【概要】wisdom.core.request.PasswordNotFoundExceptionの追加
  
    【詳細】ログイン画面で、必須の項目パスワード（password_）がパラメータにない場合、送出される例外がParameterNotFoundExcpetionからPasswordNotFoundException
			に変更されました。
			
	【変更】			
			各例外別に送信ページを設定している場合、wisdom_configに当例外クラスの指定をしてください。
	【影響範囲】
			ありません。			

WA0037
    【日付】2005/05/24
    【概要】wisdom.core.request.IRequestParser#getStringArrayWithNullの追加
  
    【詳細】従来からある、getStringArrayメソッドは戻り値がnullの場合、長さ0のStringを含んだString配列を戻していましたが、このメソッドはパラメータの
    	　　戻り値がnullの場合、nullを戻します。
			
	【変更】			
			追加メソッドなので、変更箇所はありません。
	【影響範囲】
			ありません。			
						
WA0038
    【日付】2005/06/13
    【概要】WA0037のバグ修正
  
    【詳細】WA0037で修正されたメソッドがgetStringArrayに実装されいました。
			
	【変更】			
			追加メソッドなので、変更箇所はありません。
	【影響範囲】
			ありません。			
			
WA0039 
    【日付】2005/07/7
    【概要】MultiPartParameterParser#getStringNoTrimの実装
  
    【詳細】MultiPartParameterParser#getStringNoTrim()はスーパークラスであるParameterParser#getStringNoTrim()をそのまま呼び出していたため
    		結果が正しく取れなかったため、正しく実装しました。
			
	【変更】			
			バグ修正です。
	【影響範囲】
			ありません。			

WA0040
    【日付】2005/08/8
    【概要】wisdom.core.CoreException#getExceptionMessageの追加
  
    【詳細】当該クラスが持っていたgetMessage()メソッドは戻り値がStringで戻されるために例外のメッセージコードを取得することができませんでした。
    　　　　このメソッドはwisdom.core.CoreExceptionが持つMessageクラスのインスタンスを戻します。
    	
	【変更】			
			追加メソッドなので変更箇所はありません。
	【影響範囲】
			ありません。			
 												
WA0041
    【日付】2005/09/12
    【概要】wisdom.core.request.encodeの変更
  
    【詳細】wisdom_config.xmlにrequest.parameter.encodingの設定がしてある場合、パラメータをエンコードしますが、エンコードロジックで
		    new String(values[i].getBytes(), encoding);
		    となっており、Tomcatで実行した場合に文字列が正しくエンコードされなかったので以下に変更しました。
		　　new String(values[i].getBytes("iso-8859-1"), encoding);
    	
	【変更】			
			既存稼動アプリケーションでの変更箇所はありません。
	【影響範囲】
			ありません。			
 												

WA0042
    【日付】2006/04/22
    【概要】XHTML描画クラス wisdomx.ui.render.XTagの追加
  
    【詳細】HTMLタグ描画クラス wisdomx.ui.render.XTagを追加しました。
    	
	【変更】			
			既存稼動アプリケーションでの変更箇所はありません。
	【影響範囲】
			ありません。			
WA0043
    【日付】2008/05/16
    【概要】省略時のReqid対応
  
    【詳細】wisdom_config.xmlの要素servletRuntimeConfigに<defaultReqid value="value"/>が設定できるようになりました。
    	
	【変更】			
			既存稼動アプリケーションでの変更箇所はありません。
	【影響範囲】
			ありません。			
 								
 								
 												
 												