Doltengをいじってみた

Doltengは非常に便利なんだけど、マッピングの情報表示がイマイチ。
どこがって、フィールドはちゃんとマッピングのマーカーが出るんだけど、
メソッドは出ないんだよね。
意外とメソッドを使う時が多いので、ちゃんとマッピングされてるか確認するには、動かしてみるしかない。
たまーにスペルミスとかあるので、なんとかならんもんかと思ってた。


↓これでマーカーが出てほしい!

//Page
public Date birthday;
public Integer getAge() {
  // birthdayから年齢を計算
}
//html
<input id="age"/>


悩んでても始まらないので、Doltengカスタマイズして自分だけでも使うかーってことで、
SVNからソースをとってきて、ざっと眺めてみた。


どうやら、
org.seasar.dolteng.eclipse.operation.PageMarkingJob
がマーカーの設置をしているようだ。


PageMarkingJob#processMapping()
がマーカーのつける場所を探しては、つけてをやっているようだ。
FuzzyXMLNodeってのが、HTMLのノード情報ぽい。
これをforeachして、フィールドのMapから一致するものをさがして、
マーカーをつけているようだ。



と、よく見たら
mem = findMember(methodMap, mappingKey);
という1行を発見。
methodMapってのは、もしかしてメソッドのMap(そのままやんw)じゃないのかい?
これ、ちゃんとメソッドまで見てるじゃん。
もしかして、最新のDoltengは対応してる?


実行してみる。
・・・やっぱり対応してない。


いやーもしかしてなぁ・・・
デバックしてみる。
mem = findMember(methodMap, mappingKey);
変数ビューで、それぞれの値を確認してみる。
methodMapは、やっぱりメソッドのMapのようだ。getAgeも入ってる。
mappingKeyは"age"。
ん?これは・・・


mem = findMember(methodMap, "get" + mappingKey);
実行。


う、動いたー!! これはバグだったのかねぇ・・・?