本日の作業

T2Frameworkプラグイン0.2もそろそろ完成か…と思わせといてT2プラグインはおいといて、Cubbyプラグインを触る。T2Frameworkのほうはすでに障壁はないため、あとはもくもくと作業するだけだからだ。


基本的なコードはほぼそのままコピペ。ソースのパースをするところだけかえる。


のだが、ここで問題発覚(というか知っていたから別に今問題が出たわけじゃないけど)。

当たり前だけど、CubbyのアクションクラスはActionを直接継承するのが必須ではない。HogeActionBaseを作ってそれを継承している可能性もある。そしてその判断はソースからは結構つらい。インポートでアスタリスクを指定した場合等を考慮するとかなり絶望的だ。

[追記]
それにそのベースとなるアクションクラスが単純にソースで存在するとも言い切れない。jarの中にコンパイルされたクラスが存在する可能性あり(こっちのほうがリフレクションですむので楽かも)。


というわけで、とりあえずActionを直接継承してクラス名がActionで終わっているもの、もしくは@Pathが指定されているものをアクションクラスとして認識するようにした。@Pathが必須だったら問題はないんだけどね。今の状態だとこれくらいしか判断できないかな。

あとはなにかを継承していてクラス名がActionでおわるものをアクションクラスとして認識させてもいいかな。でも、誤爆の可能性もありそうでこれはやりたくないかも。


ここまでの実装は終わり。

CSV出力やダブルクリックでソースに飛ぶのももちろん実装済み。

一覧出して今頃気がついたけど、サンプルってURLが重なる複数のアクションクラスが結構あるのね。この一覧があると思ったより作業しやすい感じ。ダブルクリックでコードに飛べるから。



ふとおもったけど、Cubbyはメニューだけじゃなくてタブにもアイコンが入ってる。

おかしい…まったく同じ設定なのにT2Frameworkのほうは表示されていない。どこが違うんだろ。
http://d.hatena.ne.jp/shin/20090622/p1


[追記]
原因わかりました。パッケージのリファクタリング後にリソースのパスまでは追従しないのが原因でした。

今は大丈夫です。やっぱりアイコンがちゃんと変わるとやる気が出ますね。


Cubby 2.0もアノテーション必須じゃなかったはずだからちょっとつらいけど、制限事項としてごまかしておこうか。なんかいい方法があるという人教えてください。