-S2検証パーサー

今日は、朝10時から普通に出勤してました。案件の気になるところのデバッグをしたのちに、Seasar2XML検証パーサーを作ってました。内容は以下のとおりです。まったくプラグインの影が見えませんが、その実考えてあるのでこれが完成するとプラグインに載せるのは簡単。

  • ファイルプロセスフレームワーク
    • ファイルプロセスタスクの外部へのインターフェイス
    • バリデーションやモデル構築をするプロセスデリゲートのインターフェイス
    • 書類内の要素と場所を特定するモデル
    • プロセスのモニターインターフェイスとそのシンプル実装
      • プラグインでは、このモニターインターフェイスの実装でIMarkerを作ればOK。
  • XmlPullParser
    • エンコーディングをXmlDeclから読み取るInputStream
    • DocDeclをきちんと取れるXMLPullParser
    • PullParserの簡易プール機能付きファクトリ
  • XML版拡張ファイルプロセスフレームワーク
    • XMLをPullParseするプロセスタスク
      • プラグインでは、これをプラグイン内のS2からとってきて、BuilderからさくっとたたけばOK。
    • XML内のエレメントと場所を特定するモデル

ここで疲れちゃいました。まだ、S2設定XMLの検証作業にたどり着いてない。。。このあと作ろうと思うのは、

  • S2設定XML検証ツール
    • S2設定XMLを処理するプロセスデリゲート
    • 場所を特定するモデルがくっついた*DefImpl継承クラスたち。

と、ここで辛いことが。org.seasar.framework.container.implパッケージのComponentDefImplとかがfinalクラスなのです!finalはずしてもらえませんでしょうか?>ひがさん。とりあえず今までに作ったところをどっかに上げときます。URLは後ほど。
。。。と思ったら、ウチのサーバーのFTPパスワード知らなかった!ということで、以下のアドレスに置きました。
http://www.fiberbit.net/user/kurihara/
ひがさんごめんなさい。finalかどうか関係なく、結局インターフェイスを委譲メソッドで受ける形でやりました。はじめは自分でオブジェクト生成やっていたのですがSeasar2のファクトリと動きが変っても困るので、TagHandlerを使ってやろうと方針変えたのです。そうしてみるとTagHandlerのメソッドで引数に渡されているTagHandlerContextをクラスでなく、インターフェイスで受けておいてほしいような気がしてきているのですが、また使わないのに注文しても申し訳ないので、このまま実装進めて行きます。
今日一番の衝撃は、JUnitテストクラスが、Eclipseでプロジェクト間を移動させた時になくなってしまったこと。S2Toolsのテストがツリーごと消えちゃいました。がっくり、です。