2015-03-30 4 views
2

Je génère le code GMF en utilisant mon propre xsd, GMF généré /diagram/edit/parts package et d'autres paquets. maintenant je veux faire la personnalisation commune pour toutes les classes qui s'étend classe ConnectionNodeEditPart qui existent dans /diagram/edit/parts paquet. FMV a généré une méthode dans les sous-classes de ConnectionNodeEditPart qui est la signature estGénération de code GMF: existe-t-il un moyen de personnaliser la génération de code ou de réutiliser le code GMF déjà personnalisé avec une version plus récente d'eclipse/GMF?

protected void "addChildVisual (EditPart childEditPart, int index)" et le contenu de la méthode comme ci-dessous.

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

Maintenant, je veux personnaliser toutes les méthodes addChildVisual comme suit.

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

Ceci est juste en train de changer/indice de remplacement à -1

Il y a la classe 1000 comme celui-ci, doivent modifier chaque fois que je suis en migration d'une version éclipse à la prochaine version éclipse. Ceci est un exemple/changement simple dont je parle. Il y a d'autres changements dans lesquels peu de méthodes ont été ajoutées/changements et peu de nouvelles méthodes ont été ajoutées au code GMF.

Chaque fois que nous migrons d'une version d'éclipse à la prochaine version, cette partie fastidieuse de la personnalisation du code était très troublante.

Y at-il un moyen de réutiliser le code déjà personnalisé avec la version plus récente de la version Eclipse/plus récente de GMF. Je peux regrouper mes personnalisations comme disons supposer 15 modifications mais chaque changement doit faire pour 1000 nombre de classes java (même changement). Est-il possible de personnaliser la génération de code ou de réutiliser le code GMF déjà personnalisé avec une version plus récente d'eclipse/GMF ??

Veuillez nous aider à résoudre ce problème.

Merci d'avance.

Répondre

0

Recherchez le modèle JET approprié dans la base de code GMG codegen et modifiez le code dans le modèle approprié. (Les noms de modèles sont plutôt explicites). Les fichiers de modèle de code devraient être OK pour digérer ceux qui ne sont pas familiers avec JET ...

+0

Nous n'utilisons aucun modèle comme ceci. ces modèles seront-ils générés par eclipse lors de la génération du modèle GMF, de l'édition, de l'éditeur et du code du diagramme? –

+0

GMF génère le code à l'aide des modèles JET. Les modèles sont à l'intérieur de la base de code GMF. Il y a un moyen de contourner les modèles, mais je ne me souviens pas comment exactement cela doit être fait, vous devriez lire à ce sujet ... Cependant, vous pouvez simplement extraire la source GMF du repo, trouver le modèle approprié, modifiez-le et vérifiez que le code généré a l'apparence attendue. – aboyko