[Seasar-user:10761] Re: S2DxoのConversionRule指定でIllegalArgumentException
出羽 健一
[E-MAIL ADDRESS DELETED]
2007年 9月 28日 (金) 13:37:18 JST
小林 (koichik)様
出羽です、いつもお世話になっております。
> 簡易指定 (非 OGNL 式) の場合,途中に null があっても
> 例外にならないようにしました (r:2759).
確認できるjarファイルの場所を教えていただけないでしょうか。
自分なりに、リポジトリからソースを取得してjarを作ったのでが、
上手くいきませんでした。jarの作り方が悪いのか、ConversionRule
の記述の仕方が分からないので、原因を切り分けたいと考えております。
ちなみに、テストしてみた Dxoは次のとおりです。
TO_DOMAINの場合は上手く動作するが、TO_DOMAIN_NEWの場合は
OGNLでExcewptionが発生してしまいます。
(TO_PRESENTATIONも同様です)
public interface EmpDxo {
static final String TO_DOMAIN = "'name' : empName";
static final String TO_DOMAIN_NEW = "name : empName";
static final String TO_PRESENTATION
= "'empName' : name, 'deptName' : dept != null ? dept.name : null";
static final String TO_PRESENTATION_MEW
= "empName : name, deptName : dept.name";
@ConversionRule(TO_DOMAIN)
Emp convert(EmpUpdateConfirmPage page);
@ConversionRule(TO_PRESENTATION)
EmpDto[] convert(List<Emp> emps);
@ConversionRule(TO_PRESENTATION)
void convert(Emp src, EmpUpdatePage dest);
}
−−−− スタックトレース −−−−
org.seasar.framework.exception.OgnlRuntimeException: [ESSR0073]OGNLで例外が発生しました。理由はsource is null for getProperty(null, "name")
at org.seasar.framework.util.OgnlUtil#getValue (OgnlUtil.java#100)
at org.seasar.framework.util.OgnlUtil#getValue (OgnlUtil.java#62)
<<以下省略>>
以上、お手数をお掛けしますが、よろしくお願いします。
> -----Original Message-----
> From: [E-MAIL ADDRESS DELETED]
> [mailto:[E-MAIL ADDRESS DELETED]] On Behalf Of Koichi Kobayashi
> Sent: Monday, September 10, 2007 10:23 PM
> To: [E-MAIL ADDRESS DELETED]
> Subject: [Seasar-user:10448] Re: S2DxoのConversionRule指定で
> IllegalArgumentException
>
> 小林 (koichik) です.
>
> Date: Sat, 8 Sep 2007 14:27:35 +0900
> From: 出羽 健一 <[E-MAIL ADDRESS DELETED]>
> To: <[E-MAIL ADDRESS DELETED]>
> Subject: [Seasar-user:10403] S2DxoのConversionRule指定で
> IllegalArgumentException
>
> > ■ケース2:null対策用に三項演算子を使ったマッピング
> > @ConversionRule("'deptName' : dept != null ? dept.name : null")
> > public EmpDto[] convert(List<Emp> emp);
> > ⇒ 正常に動きます。
>
> 簡易指定 (非 OGNL 式) の場合,途中に null があっても
> 例外にならないようにしました (r:2759).
>
> @ConversionRule("deptName : dept.name")
> public EmpDto[] convert(List<Emp> emp);
>
> Emp の dept プロパティが null の場合,
> EmpDto の deptName プロパティには null が
> 設定されます.
>
> OGNL 式を使うケースの多くはヌルポ対策だったと
> 思いますが,その場合は変換先プロパティ名を
> シングルクオートで囲まなくても大丈夫になります.
>
> 相変わらず OGNL 式との混在はできません.
> OGNL 式の場合はヌルポ対策で 3 項演算子が必要です.
>
>
> --
> <signature>
> <name>Koichi Kobayashi</name>
> <e-mail>[E-MAIL ADDRESS DELETED]</e-mail>
> </signature>
>
> _______________________________________________
> Seasar-user mailing list
> [E-MAIL ADDRESS DELETED]
> https://ml.seasar.org/mailman/listinfo/seasar-user
Seasar-user メーリングリストの案内