2

私は自分の xsd、GMF によって生成された/diagram/edit/partsパッケージおよびその他のパッケージを使用して GMF コードを生成しています。/diagram/edit/partsパッケージに存在するConnectionNodeEditPartクラスを拡張するすべてのクラスに共通のカスタマイズを行いたいと考えています。GMF はConnectionNodeEditPartのサブクラスでメソッドを生成しました。

protected void "addChildVisual(EditPart childEditPart, int index)" および以下のメソッド コンテンツ。

if (addFixedChild(childEditPart)) {
        return;
}
super.addChildVisual(childEditPart, index);

今、すべての addChildVisual メソッドを次のようにカスタマイズしたいと思います。

if (addFixedChild(childEditPart)) {
        return;
}
super.addChildVisual(childEditPart, -1);

これは、インデックス-1に変更/置換するだけです

このようなクラスが 1000 あります。ある Eclipse バージョンから次の Eclipse バージョンに移行するたびに変更する必要があります。これは、私が議論しているサンプル/単純な変更です。他にも、いくつかのメソッド コンテンツが追加/変更され、GMF 生成コードにいくつかの新しいメソッドが追加された変更があります。

ある Eclipse バージョンから次のバージョンに移行するときはいつでも、この面倒なコードのカスタマイズ部分が非常に厄介でした。

新しいバージョンの eclipse/新しいバージョンの GMF で既にカスタマイズされたコードを再利用する方法はありますか。カスタマイズをグループ化して、たとえば 15 の変更を想定できますが、各変更は 1000 個の Java クラス (同じ変更) に対して行う必要があります。コード生成をカスタマイズしたり、すでにカスタマイズされた GMF コードを新しいバージョンの eclipse/GMF で再利用したりする方法はありますか??

この問題を解決するために親切に助けてください。

前もって感謝します。

4

1 に答える 1

0

GMF codegen コード ベースで適切な JET テンプレートを見つけて、適切なテンプレートのコードを変更します。(テンプレート名はかなり自明です)。コード テンプレート ファイルは、JET に慣れていない人でも問題なく理解できるはずです...

于 2015-03-30T16:57:27.603 に答える