IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Eclipse Modeling Discussion :

Comment surcharger proprement le code généré ?


Sujet :

Eclipse Modeling

  1. #1
    Membre confirmé

    Homme Profil pro
    Consultant informatique
    Inscrit en
    Octobre 2012
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2012
    Messages : 21
    Points : 578
    Points
    578
    Par défaut Comment surcharger proprement le code généré ?
    Bonjour,

    Cette discussion est ouverte pour recueillir les commentaires de l'article suivant :

    Surcharger proprement du code EMF généré

    Toute remarque est bienvenue.

    Olivier

  2. #2
    Membre averti
    Homme Profil pro
    Expert MDE
    Inscrit en
    Janvier 2008
    Messages
    183
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Expert MDE
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Janvier 2008
    Messages : 183
    Points : 337
    Points
    337
    Par défaut
    Bonjour Olivier,

    Est-ce que ça gère les chaines d'héritage?

    Typiquement, si on a "Développeur" qui hérite de "Personne" et que je customise le code de la méthode "getAdresse()" de "Personne" en utilisant la classe générée dans le code src, est-ce que lorsque que j'appelerai "monDev.getAdresse()", j'appelerai bien mon code surchargé?

    Le factory_override ne fonctionne que pour les classes feuilles, il faut faire attention...

    Ici on utilise EGF (EMF generation factories) pour modifier les templates Jet servant à la génération EMF, c'est une autre façon de faire...

    Cordialement,

  3. #3
    Rédacteur/Modérateur

    Avatar de alain.bernard
    Homme Profil pro
    Ingénieur aéronautique
    Inscrit en
    Décembre 2011
    Messages
    749
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur aéronautique
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Décembre 2011
    Messages : 749
    Points : 5 219
    Points
    5 219
    Par défaut
    Bonsoir,

    Je me permets de répondre pour Olivier: le plugin ne gère pour l'instant pas la surcharge quand on a des chaines d'héritage comme ce que tu décris. Il y a une issue d'ailleurs ouverte sur le sujet sur le github du projet :
    https://github.com/opcoach/genModelAddon/issues/13
    Si tu as une idée de comment la résoudre on prend volontiers

    Alain

  4. #4
    Membre averti
    Homme Profil pro
    Expert MDE
    Inscrit en
    Janvier 2008
    Messages
    183
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Expert MDE
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Janvier 2008
    Messages : 183
    Points : 337
    Points
    337
    Par défaut
    Bonjour Alain,

    La solution est simple!

    Il suffit de modifier la chaine d'héritage existante:
    Person<-PersonImpl<-OverridenPersonImpl
    Person<-{Developper,PersonImpl}<-DevelopperImpl<-OverridenDevelopperImpl

    Par celle-ci:
    Person<-PersonImpl<-OverridenPersonImpl
    Person<-{Developper,OverridenPersonImpl}<-DevelopperImpl<-OverridenDevelopperImpl

    Ca force à mettre le code généré et le code de surcharge dans le même plugin, mais ça fonctionne!
    Il n'y à plus qu'à modifier les patterns JET de génération EMF pour prendre en compte cette modification comme explicité dans la 'Bible' EMF:http://www.informit.com/store/emf-ec...-9780321331885

    Cordialement,

Discussions similaires

  1. Comment livrer proprement son code PL/SQL ?
    Par dedesite dans le forum PL/SQL
    Réponses: 8
    Dernier message: 12/05/2011, 10h30
  2. comment spliter proprement le code d un form
    Par ZashOne dans le forum Windows Forms
    Réponses: 1
    Dernier message: 05/03/2009, 08h08
  3. Réponses: 8
    Dernier message: 15/02/2007, 09h02
  4. Comment éditer le code généré automatiquement
    Par clebig dans le forum NetBeans
    Réponses: 4
    Dernier message: 07/06/2006, 15h26

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo