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 : 35
    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
    Pas de messages techniques par MP, les forums sont là pour ça.
    Rédacteur d'articles sur la plateforme Eclipse

    N'oubliez pas de consulter les FAQ Eclipse et les cours et tutoriels Eclipse

  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