[Seasar-user:5786] [S2Dxo] DTOからネストしたJavaBeansへの代入ができない

小林正和 [E-MAIL ADDRESS DELETED]
2007年 1月 19日 (金) 20:37:09 JST


masapon1967と申します。

Seasar2.4で開発を行っています。
エンティティ - DTO間の変換にDXOを使用しています。
DTOからネストしたJavaBeansへの代入をConversionRuleアノテーションで行っていますが、NullPointerExceptionが発生します。
書き方が悪いのだとは思いますが、どうすれば代入が可能になるのでしょうか。

package example.entity;
class Parent
{
    private int id;
    //以下、idのgetter, setter
}

package example.entity;
class Child
{
    private Parent parent;
    //以下、parentのgetter, setter
}

package example.dto;
class ChildDto
{
    private int id;
    //以下、idのgetter, setter
}

package example.dxo
interface ChildDxo {
    @ConversionRule("parent.id : id")
    Child convert(ChildDto childDto);
}

class ChildDxoTest extends S2TestCase {
    private ChildDxo childDxo; // setUp()でapp.diconをインクルード
    public final void testConvertChildDto(){
        ChildDto childDto = new ChildDto();
        childDto.setId(10);
        Child child = childDxo.convert(childDto);
        assertEquals(10, child.getParent().getId()); //
<ここでNullPointerExceptionが発生
    }
}

ちなみに、ネストしたJavaBeansからDTOへの代入はできています。

プロジェクト自体はDolteng 0.16.1でTeeda + S2Daoで作成しました。
jdk1.5.0_10
-- 
------------------------------------------------------------------------
Masakazu Kobayashi ([E-MAIL ADDRESS DELETED])



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