たぷつきません

おなかがでてきた。もうたぷついてるやん。

Enum型を扱えるようにする

 Ognlも含めJDK5でビルドし直すだけでは治らなかった。Ognlの方は古いバージョンでも認識するけど。で、追った結果、JDTがEnumのフィールドをpublic static finalなメンバと見なしていないことが原因だと判明。うーん言語仕様的には、同等なはずなのに…。で仕方がないので、以下の対策を行うことで解決しました。

//** org.seasar.kijimuna.core.internal.rtti.DefaultRtti#isPublicMember(248) **
    //if (!Flags.isPublic(flags)) {
    if (Flags.isPublic(flags) == false && Flags.isEnum(flags) == false) {
     return false;
    }
//** org.seasar.kijimuna.core.internal.rtti.DefaultRtti#addAllFields(694) **
       /*ret.put(name, new DefaultRttiFieldDescriptor(this, name,
         loader.loadRtti(typeSignature), Flags.isFinal(flags),
         Flags.isStatic(flags)));*/
       ret.put(name, new DefaultRttiFieldDescriptor(this, name,
         loader.loadRtti(typeSignature), Flags.isFinal(flags) | Flags.isEnum(flags),
         Flags.isStatic(flags) | Flags.isEnum(flags)));

※インデントは加工しています。
 kijimunaコミッタさん、見てらしたら対応考えていただけると嬉しいです(元は私の向かいに座っているうちの人ですが…)。
上記パッチをあてたものを以下に転がしておきます。plugins/org.seasar.kijimuna.core_1.1.3/KijimunaCore.jarと置き換えれば動きます。