S2Text

昨日の読書会で出た話題。SpringのPropertyPlaceholderConfigurer相当のことはOGNL式を使えばできるはずということ。
中略
できました。

なるほどぉ.Properties のように Mapimplements していると簡単に扱えるんですね.自分が以前試したときは commons configuration を使っていて,そいつは Map じゃないからちょっと面倒だったわけですか.
でもでも,Properties だとファイルをロードするのが面倒.
ということで,ちょっと作ってみました.使い方はこんな感じ.

<component name="env" class="org.seasar.util.text.env.impl.PropertiesEnvironment">
  <initMethod name="load">
    <arg>"org/seasar/util/text/env/impl/PropertiesEnvironmentTest.properties"</arg>
  </initMethod>
</component>

第二引数でエンコードを指定することも出来ます.
こいつは Mapimplements しているわけではないのですが,代わりに PropertyAccessor を提供するので,OGNL 式中で

env["foo.bar"]

と使うことが出来ます.
プロパティファイルの他,suga さんのヒアドキュメント,J2SE5.0 の Properties 風 (というかパクリ) の XML ファイルをロードするクラスを用意しました.
Seasar Wiki からダウンロードすることが出来ます.
http://seasar.satin.jp/wiki/index.php?SeasarText#qc300916


ついでに,Maven してみました.うまくできてるかどうかは謎ですが,とりあえず雑感.

  • Seasar プロジェクト用のテンプレートが欲しいなぁ.と書いておけばかくたにさんが作ってくれるかな? (^^;
  • S2 本体が使用するライブラリに合わせて <dependency> をメンテするのが大変そう.
  • それとも S2 本体に入っている project.xml をコピーして,それを参照 (拡張?) する project.s2-xxx.xml を用意するのがいい?
  • っていうか,S2Struts 1.0.12 に含まれている S2 は 2.1.3 なのに,project.xml に記述されているのは 2.0.22 だった.(^^;

なんか,デフォルトで設定されていた ibiblio というリモートリポジトリが重くて苦しめられました.しかも,リモートリポジトリのパスで seasar.sourceforge.jp よりも ibiblio の方が前になっていたせいか,ibiblio からのエラーメッセージ (HTML) が S2 の JAR としてファイルに保存されていたりして.(;_;)
ミラーを見るようにしたらサクサク進んでそれまでの苦労はなんだったのかと.常識? しくしくしく.

maven eclipse

すれば Eclipse に import すれば Eclipse で普通に使えるのはいいのだけど,JAR ファイルのソースパスは設定してもらえないのね.残念!!!!
それともそういう便利ツール (プラグイン) があるとか?