[Seasar-user:11550] Re: S2.4.16 -> S2.4.18-rc2でs2dxoが動作しなくなりました(その2)

Koichi Kobayashi [E-MAIL ADDRESS DELETED]
2007年 11月 8日 (木) 21:00:40 JST


小林 (koichik) です.

Date:    Thu, 08 Nov 2007 20:14:56 +0900
From:    鈴木 順 <[E-MAIL ADDRESS DELETED]>
To:      [E-MAIL ADDRESS DELETED]
Subject: [Seasar-user:11547] S2.4.16 -> S2.4.18-rc2でs2dxoが動作しなくなりました(その2)

> 例えて言うと変換元先で
> private Hoge hogeと言うプロパティとGetterSetterがあり
> HogeのPublicなデフォルトコンストラクタが無い場合に
> エラーになります。今までは問題なく動いておりました。

本来,変換対象と考えているのはドキュメントに
あるように JavaBeans です.

http://s2container.seasar.org/2.4/ja/s2dxo.html#convertType

JavaBeans では public なデフォルトコンストラクタが
必須です.

> https://www.seasar.org/issues/browse/CONTAINER-106
> 
> を見るとシャローコピーであったものがディープコピー
> をするようにしたと思われますが、
> これは全てに適用されたということでしょうか?

ラッパー型や String 等,不変なオブジェクトを
除いてコピーするようになりました.

従来と同じ動きをする設定ファイルもあるので,
こちらを使ってもらった方がいいかもしれません.
使い方は jta.dicon の差し替えと同様で,
s2container.dicon で以下のようにします.

<component class="org.seasar.framework.container.factory.SimplePathResolver">
  <initMethod name="addRealPath">
    <arg>"jta.dicon"</arg>
    <arg>"jta-was6.dicon"</arg>
  </initMethod>
  <initMethod name="addRealPath">
    <arg>"dxo-builtin-converters.dicon"</arg>
    <arg>"dxo-builtin-converters-shallow.dicon"</arg>
  </initMethod>
</component>


-- 
<component name="koichik">
    <property name="fullName">"Koichi Kobayashi"</property>
    <property name="email">"[E-MAIL ADDRESS DELETED]"</property>
    <property name="blog">"http://d.hatena.ne.jp/koichik"</property>
</component>




Seasar-user メーリングリストの案内