What happened to the mockobjects.com library? We recently had an inquiry about our old mockobjects.com library. It's still in cvs at the sourceforge project but, essentially, it's dormant. These days, there are better alternatives for Java, like EasyMock and (ahem) our own jMock.
jMockかEasyMockを使えとのこと。DynaMock便利なんだけどなぁ…
Javadoc生成用build.xml
サイトで見つからなかったので…
<?xml version="1.0"?>
<project name="seasar-javadoc" default="all" basedir="."><property name="src.dir" value="${basedir}/java" />
<property name="lib.dir" value="${basedir}/lib" />
<property name="doc.dir" value="${basedir}/apidocs" />
<property name="svn.src" value="https://www.seasar.org/svn/s2container/trunk/seasar2/s2-framework/src/main/java" />
<property name="svn.lib" value="https://www.seasar.org/svn/s2container/trunk/seasar2/lib" /><target name="all">
<antcall target="export" />
<antcall target="javadoc" />
<antcall target="clean" />
</target><target name="export">
<delete dir="${src.dir}" />
<delete dir="${lib.dir}" /><exec executable="svn">
<arg value="export" />
<arg value="${svn.src}" />
</exec>
<exec executable="svn">
<arg value="export" />
<arg value="${svn.lib}" />
</exec>
</target><target name="javadoc">
<delete dir="${doc.dir}" />
<mkdir dir="${doc.dir}" /><javadoc destdir="${doc.dir}" encoding="UTF-8" docencoding="UTF-8" charset="UTF-8">
<sourcepath path="${src.dir}" />
<packageset dir="${src.dir}" />
<classpath>
<fileset dir="${lib.dir}" includes="**/*.jar" />
</classpath>
</javadoc>
</target><target name="clean">
<delete dir="${src.dir}" />
<delete dir="${lib.dir}" />
</target></project>
org.apache.commons.lang.time.DateUtils
http://jakarta.apache.org/commons/lang/apidocs/org/apache/commons/lang/time/DateUtils.html
2.1はあんまり便利じゃなかったけど、もう少し便利になるみたい。やっぱり足し算くらい簡単にできたほうがいいよ。
Strutsで
Clickが却下されてしまったので、仕方なくStrutsでガリガリとコーディング。
イベント駆動のほうがいいなー…と思いながら、それなりに設定ファイルを使わずにすんだ。
やったのは
- やっぱりActionは極力使わない
- Validatorを使わない
- 例外のハンドラ使わない。
- forwordにはjspのパスを直渡し。
- ワイルドカードを使ったActionの設定を使う
- Mapを実装した単一のFormで、すべての入力をまかなう
- セッターインジェクションにして、セッターを親クラスで全部定義。
- リクエストパラメータは業務ロジックにフィールドインジェクション(WebWorkぽく…ってよく知らないけど)
コード量へらせたのはJSP2.0使えたのも大きいかも。
「Validationを業務ロジックでやっても何とかなる」ことと、「MapみたいなFormはわりかし便利(DynaActionFormはイマイチだけど)」というのは発見かも。Validationを業務ロジックでやると、DB使った入力チェックが自然に書けた。
JDK5.0は初めて業務で使った。ジェネリックのありがたみはあんまり…。どうも、コードが汚くなる害の方が大きいような。<? extends T>みたいな書き方がまだきちんと理解できず。
アノテーションはあんまり準備できなかったんで活用できず。JUnitのアノテーションはなんだかなぁ(特にTestSuiteのアノテーションとか)。Eclipse3.2でJUnit4使ってたら、Eclips3.1使ってたメンバーが使えなくて、ちと困った。
Enumは、C#みたいに実体を整数として定義できるとよかったなぁ…。
static importとオートボクシングもバグの温床になりかねないので使いどころが微妙だった。Objectの戻り値にtrue/false/その他を返せるのは、面白く使えたけど。
Validationで関数プログラミング的に
とか書いてると、果たして分かりやすいコードなんだろうか…と思ったり。
Object validete() {
return isBlank(value) || (isInt(value) && maxValue(value, 100));
}
いまさらながらcssが便利だと思ったり。Clickがだいぶ参考になった。
Pico+Rhinoは便利だと思ったり。ComponentMonitorでアスペクトできる!と思ったらそうでもなかったり。
そろそろClick使いたいなぁ…・