[Seasar-dev:211] [S2JSF] InvokeUtil 修正のお願い

KOMORI Yusuke y-komori
2005年 12月 28日 (水) 00:50:29 JST


To:ひがさん

 こんばんは、小森です。
 blog見ました。ご婚約おめでとうございます!

 小林さんに協力していただいているInterTypeの開発ですが、実際にS2JSFで使
用したところ、こちら側でも修正しなければならない点があることがわかりまし
た。

 [Seasar-dev:208] で、S2Container側でエンハンス後のクラスをイントロスペ
クションするように、小林さんに修正していただきました。
 このため、BeanDescFactory のキャッシュに格納されているクラスがエンハン
ス後のクラスに変更されています。

 S2JSFでは、POJOに対してプロパティのインポート・エクスポートをする際、
InvokeUtilクラスで処理していると思いますが、上記の修正の結果 BeanDesc が
取得できずにプロパティのエクスポートが行えなくなっているようです。

 そこで、S2Container側と同じように BeanDesc を取得する際のクラス名を
エンハンス後のクラス名に変更していただきたいのです。

 具体的には、以下のように修正すれば良いはずですが、いかがでしょうか。

65行目(invokeメソッド)
    beanDesc = BeanDescFactory.getBeanDesc(cd.getComponentClass());
                                              ~~~~~~~~~~~~~~~~~~~
→
    beanDesc = BeanDescFactory.getBeanDesc(cd.getConcreteClass());
                                              ~~~~~~~~~~~~~~~~~~

 手元の環境では動作確認できていますので、大丈夫だと思います。

 すみませんが、よろしくお願いします。


#[Seasar-dev:210] で報告した「別の問題」はこれが原因でした。(> 小林さん)

----------------------------------------------
 小森 裕介 / Yusuke Komori

  E-Mail:y-komori @ nifty.ne.jp
     URL:http://www.littleforest.jp/




seasar-dev メーリングリストの案内