[seasar-dev:552] Re: [S2JFace]TableItemのtextプロパティをBeanDescから取得できない

bskuroneko bskuroneko @ gmail.com
2006年 10月 2日 (月) 23:55:35 JST


小森さん。

bskuronekoです。

BeanDescImplとその単体テストの修正版を添付します。
単体テストはとりあえずカバレッジを見て通してある程度です。
ただClass#getMethodsの出現順に左右されてしまうので、
jdkのバージョンなど環境によってカバレッジをカバーできないかもしれません。

確かにパフォーマンスが気になりますね。
計測して遅ければ無理に入れていただくてもかまいません。
# S2JFace側で対処してもそれほど面倒ではなさそうなので。

よろしくお願いします。


06/10/02 に KOMORI Yusuke<y-komori @ nifty.ne.jp> さんは書きました:
> bskuroneko さん
>
> 小森です。
>
> ひがさんに確認してみましたが、パフォーマンス劣化が心配とのことですので、
> 修正案のコードがあれば送っていただけませんか?
>
> パフォーマンス計測してみて問題がなければそれで、駄目そうならばS2JFace
> 側で対処としたいと思いますが、どうでしょうか?
>
> On Sun, 1 Oct 2006 23:52:27 +0900, bskuroneko <bskuroneko @ gmail.com> wrote:
>
> > 小森さん。
> >
> > bskuronekoです。
> >
> > > > > 原因を調べたところ、TableItemが引数1つのsetTextメソッドを
> > > > > 複数もっているためにBeanDescImplがプロパティとして扱ってくれず、
> > > > > BeanDesc#getPropertyDescがPropertyNotFoundRuntimeExceptionを投げます。
> > >
> > > なるほど、steText(String) と setText(int, String) ですね。
> >
> > たぶんsetText(String)とsetText(String[])です。
> > 引数が2つのものはセッターとして扱っていないみたいなので。
> >
> > > たぶん問題ないような気がするんでが、BeanDescImplはS2Containerの中でも
> > > 根幹の部分なので、ほんとうに問題がないかどうか他のコミッタの方にもちょっ
> > > と相談してみますね。
> >
> > よろしくお願いします。m(_ _)m
> >
> >
> > 06/10/01 に KOMORI Yusuke<y-komori @ nifty.ne.jp> さんは書きました:
> > > bskuronekoさん
> > >
> > > 小森です。
> > >
> > > > > 原因を調べたところ、TableItemが引数1つのsetTextメソッドを
> > > > > 複数もっているためにBeanDescImplがプロパティとして扱ってくれず、
> > > > > BeanDesc#getPropertyDescがPropertyNotFoundRuntimeExceptionを投げます。
> > >
> > > なるほど、steText(String) と setText(int, String) ですね。
> > >
> > > > > この型チェック部分を以下のような仕様に変更するのは問題があるでしょうか?
> > > > > ・引数1つのsetterが複数存在し、そのうち1つはgetterの戻り値と同じ型
> > > > > →getter,setterともに存在するプロパティ
> > >
> > > たぶん問題ないような気がするんでが、BeanDescImplはS2Containerの中でも
> > > 根幹の部分なので、ほんとうに問題がないかどうか他のコミッタの方にもちょっ
> > > と相談してみますね。
> > >
> > > On Fri, 29 Sep 2006 23:24:08 +0900, bskuroneko <bskuroneko @ gmail.com> wrote:
> > >
> > > > 小森さん。
> > > >
> > > > bskuronekoです。
> > > >
> > > > 変更後の仕様案に抜けがあったので一つ追加です。
> > > > ・setterが複数あるがgetterはない
> > > > →invalidPropertyでNG
> > > >
> > > > 06/09/29 に bskuroneko<bskuroneko @ gmail.com> さんは書きました:
> > > > > 小森さん。
> > > > >
> > > > > bskuronekoです。
> > > > >
> > > > > 小森さんに相談すべきか、直接[S2Container]としてメールを投げるか
> > > > > 迷ったのですが、ひとまず小森さんに相談します。
> > > > > #小森さんは s2containerのコミッタでもありますしね(^^;
> > > > >
> > > > > org.eclipse.swt.widgets.TableItemのtextプロパティを
> > > > > org.seasar.jface.renderer.RendererSupportUtilを使ってセットしようとしても、
> > > > > textプロパティが見つからず、エラーになります。
> > > > >
> > > > > 原因を調べたところ、TableItemが引数1つのsetTextメソッドを
> > > > > 複数もっているためにBeanDescImplがプロパティとして扱ってくれず、
> > > > > BeanDesc#getPropertyDescがPropertyNotFoundRuntimeExceptionを投げます。
> > > > >
> > > > > 今のBeanDescImplの実装を見ると以下のような仕様に見えます。
> > > > > ・getterのみ存在
> > > > > →getterのみのプロパティ
> > > > > ・getterがなく、引数1つのsetterが1つだけ存在
> > > > > →setterのみのプロパティ
> > > > > ・getterとsetterの型が違う
> > > > > →invalidPropertyとなりNG
> > > > > ・引数1つのsetterが複数存在(getterの有無は関係なし)
> > > > > →同じ型ではありえないので結果的にinvalidPropertyとなりNG
> > > > >
> > > > > この型チェック部分を以下のような仕様に変更するのは問題があるでしょうか?
> > > > > ・引数1つのsetterが複数存在し、そのうち1つはgetterの戻り値と同じ型
> > > > > →getter,setterともに存在するプロパティ
> > > > > ・getterとsetter全ての型が違う
> > > > > →getterのみのプロパティ
> > > > > (こちらはinvalidPropertyでNGという仕様でもS2JFaceは困りません)
> > > > >
> > > > > 問題がなければ仕様を変更していただけるとありがたいところです。
> > > > > 実装はある程度見えているので私が修正して送って確認していただく形でもかまいません。
> > > > >
> > > > > 仕様変更に問題があるならS2JFace側で対処しようと思っています。
> > > > >
> > > > > 確認よろしくお願いします。
> > > > >
> > > > _______________________________________________
> > > > Seasar-dev mailing list
> > > > Seasar-dev @ ml.seasar.org
> > > > https://www.seasar.org/mailman/listinfo/seasar-dev
> > >
> > > ----------------------------------------------
> > >  小森 裕介 / Yusuke Komori
> > >
> > >  E-Mail : y-komori @ nifty.ne.jp
> > >    Blog : http://d.hatena.ne.jp/y-komori/
> > >     URL : http://www.littleforest.jp/
> > >
> > >
> > > _______________________________________________
> > > Seasar-dev mailing list
> > > Seasar-dev @ ml.seasar.org
> > > https://www.seasar.org/mailman/listinfo/seasar-dev
> > >
> > _______________________________________________
> > Seasar-dev mailing list
> > Seasar-dev @ ml.seasar.org
> > https://www.seasar.org/mailman/listinfo/seasar-dev
>
> ----------------------------------------------
>  小森 裕介 / Yusuke Komori
>
>  E-Mail : y-komori @ nifty.ne.jp
>    Blog : http://d.hatena.ne.jp/y-komori/
>     URL : http://www.littleforest.jp/
>
>
> _______________________________________________
> Seasar-dev mailing list
> Seasar-dev @ ml.seasar.org
> https://www.seasar.org/mailman/listinfo/seasar-dev
>
-------------- next part --------------
テキスト形式以外の添付ファイルを保管しました...
ファイル名: BeanDescImpl.zip
型:         application/zip
サイズ:     7001 バイト
説明:       無し
URL:        http://ml.seasar.org/archives/seasar-dev/attachments/20061002/6327c613/attachment-0001.zip 


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