[seasar-dev:533] Re: [S2JFace] DTDの変更について

KOMORI Yusuke y-komori @ nifty.ne.jp
2006年 9月 20日 (水) 23:17:39 JST


bskuronekoさん

 こんばんは、小森です。

> > 今後の作業として、以下の作業が必要です。
> >
> > ・XSD対応
> > ・各コントロールのためコンポーネント、レンダラクラス、テスト用画面の再作
> >  成
> > ・XML継承機能の作成
> > ・データバインディング
> 
> 小森さんが今手をつけている部分はどこでしょうか?
> 優先して対応してほしい部分などはありますか?

 XSD対応はちょうど bskuroneko さんの方でやってくださっていたようですね。
 ありがとうございます!

 まだどれも手を付けていないのですが、各コンポーネントの対応が元に戻って
しまった状態ですので、とりあえずこれを復活させたいです。

 2番目の ↓ これをやっていただけると、とても助かります。

> > ・各コントロールのためコンポーネント、レンダラクラス、テスト用画面の再作
> >  成

 大変更する前のリポジトリツリーは、以下の場所にコピーをとってあるので、
テスト用画面とかはこちらを参照していただければ良いと思います。
https://www.seasar.org/svn/sandbox/s2jface/tags/2006-09-02/s2jface

 せっかくなので、この後作業を整理してJIRAにアップしますね。
 Buttonコンポーネントが基本形なので、これをまねしていただければ大丈夫だ
と思います。
 以下のような流れになります。

    1. org.seasar.jface.component.impl.XXXXComponent を作る
        SWT のコンポーネントにあわせてフィールドを用意。型はすべてString
        で、ComponentAttributeアノテーションでレンダリング時のマッピング
        方法を指定する
        
    2. org.seasar.jface.renderer.impl.XXXXRenderer   を作る
        今回の目玉、
            org.seasar.jface.renderer.RendererSupportUtil
        がほとんどやってくれるので、大して書くことはありません。
        
        たとえば、Buttonコンポーネントのtextの場合、
        
        ButtonComponent に以下のように定義しておけば、
        
        @ComponentAttribute(conversionType = ConversionType.STRING)
        private String text;
        
        SWT の Button クラスにリフレクションを使って自動的に設定してくれ
        ます。型の変換は、ConversionType で指定します。このパターンに当
        てはまらないものだけ、手作業でコードを書けばよいはずです。
        
    3. org.seasar.jface.component.factory.S2JFaceTagHandlerRule
        にタグハンドラを登録
        
        こちらも、たいていのパターンは S2JFaceGenericTagHandler
        で処理できるので、新しくコードを各必要はほとんどありません。
        
    4. org.seasar.jface.renderer.impl.XXXXRendererTest.xml を作る
        きっとこれが一番面倒です。(^^;
        新しい形式に移植します。
         前は、XMLの継承機能を使っていましたが、こちらはまだ新XSDに対応
        できていないので、気にせず作ってしまって構いません。
        
    5. org.seasar.jface.renderer.impl.XXXXRendererTest.java を作る
        これは従来と同様。スパークラスで勝手にやってくれますので、クラス
        のガラだけつくればよいです。
        

> > 11月までにはプロトタイプとしてまとめて、カンファレンスでテクニカルプレ
> > ビューくらいできるといいなぁ・・・なんて。
> 
> あと2ヶ月無いんですよね。。。
> 今回私が言い出した対応でだいぶ機能追加に遅れが
> 出てしまったのが痛いですね。
> ちょっと心苦しいです。。。
> どんな内容にしたいのかビジョンなどがあれば教えてください。

 いえいえ、とんでもないです。
 気になさらないで結構ですよ。今の段階で思い切ってDTD変更できて良かった
と思います。これ以上作ってしまってからでは、とっても大変でできなかったと
思います(^^;

 XMLの視認性や書きやすさが格段に良かったので、思い切ってやって良かった
ですよ!

 データバインディングのあたりとか、ビジョンがは何となくあるのですが、な
かなかまとめられず・・・すみません。
 こちらは少しずつブログに書いていきます。

> それと、最新バージョンを取得したところ、
> org.seasar.jface.annotation.componentパッケージの
> AttributeとComponentMappingの2つのアトリビュートが
> コンパイルエラーになっています。
> コミット漏れっぽいので確認してみてください。

 すみません〜
 不要になったクラスの削除漏れでした。削除したので、これでコンパイル通る
はずです。

 私も10月になったら少し余裕ができるはずなので、カンファレンスへのキック
オフもかねて、コミッタで一度集まりたいですね。


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

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




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