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 :

[Sirius] Passage du bordered node au node


Sujet :

Eclipse Modeling

  1. #1
    Candidat au Club
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2011
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2011
    Messages : 3
    Points : 4
    Points
    4
    Par défaut [Sirius] Passage du bordered node au node
    Bonjour,

    Après avoir suivi fidèlement et avec succès le tutoriel d'Alain Bernard http://www.developpez.net/forums/d14...lement-sirius/, j'ai tenté de le modifier pour passer à un cas qui me semble plus fréquent, celui d'une arborescence de composition à plus de deux niveaux.

    Dans ce cas, l'usage du "bordered node" ne me semble pas approprié. J'ai donc essayé en n'utilisant que l'objet node.

    J'ai donc supprimé le bordered node associé aux Gates dans la partie "display" et dans la partie "tool" ansi que les edges correspondant.

    Ensuite, pour la partie display :

    J'ai créé un node "gate", le edge entre airport et gate et celui entre gates. le résultat obtenu est parfaitement correct.

    Pour la partie "tools"

    J'ai créé l'outil de création des gates en m'inspirant du tutoriel. La validation du fichier odesign ne révèle pas d'erreur. Cela ne marche pas et j'obtiens un message d'erreur dans l'instance d'Eclipse contenant le modèle Ecore et les éditor :
    !ENTRY org.eclipse.sirius 4 0 2014-09-20 20:49:24.275
    !MESSAGE Error while modifying model
    !STACK 0
    org.eclipse.sirius.ecore.extender.business.api.accessor.exception.FeatureNotFoundException: gates on airlines.impl.WordMapImpl@19aea15
    at org.eclipse.sirius.ecore.extender.business.api.accessor.ModelAccessor.eIsMany(ModelAccessor.java:317)
    J'ai également créé le edge entre airport et gate et là tout fonctionne normalement.

    Quelqu'un aurait-il une idée du problème ?

    Merci d'avance pour votre aide.

    Je joins en PJ :
    Le résultat de l'affichage,
    Le résultat de la création d'un lien entre deux gates (23 -> 8)
    Le contenu textuel du fichier odesign.
    Images attachées Images attachées

  2. #2
    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
    Bonjour,

    Cela vient du fait que lorsque tu crées un nouveau "Node" dans ton diagramme, Sirius essaye pour créer la nouvelle instance, de se référer à l'expression que tu as définie dans le champ "Semantic candidates expression", comme le montre l'avant-dernière image du paragraphe "IV-A" de mon tuto: http://alain-bernard.developpez.com/...s-intro/#LIV-A
    Or cette expression était valide lorsqu'on créait un "BorderedNode" vu que l'élément le contenant était un aéroport. Par contre, lorsque tu crées un nœud à part entière, l'élément par défaut dans lesquels Sirius va vouloir créer ton nœud est la classe principale, ici WorldMap (c'est ce qui se passe dans l'opération "Change Context [container/]"). Qui ne possède évidemment pas de relation nommée "gates", d'où ton erreur.
    Il faut arriver à indiquer à Sirius lors de la création de la porte dans quel aéroport tu veux la créer, ça peut passer par une boîte de dialogue qui va demander à l'utilisateur cette information. Peut-être une piste est d'appeler dans une expression de ton éditeur ("[.../]") un "Java service" qui va ouvrir ce dialogue et renvoyer l'aéroport sélectionné: http://www.eclipse.org/sirius/doc/sp...ervice_methods.

    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

Discussions similaires

  1. [XSLT 1.0] Node, sous-node et tableau + Liste
    Par jimmy1708 dans le forum XSL/XSLT/XPATH
    Réponses: 2
    Dernier message: 18/07/2014, 11h55
  2. Bouquins E-Node > Passage 6.7 vers 2004
    Par Gulien dans le forum 4D
    Réponses: 2
    Dernier message: 30/07/2007, 12h00
  3. selection nodes
    Par luta_seb dans le forum XSL/XSLT/XPATH
    Réponses: 2
    Dernier message: 28/09/2004, 17h47
  4. []générer et LIRE du xml avec vb: sélection d'un node
    Par chris21 dans le forum VB 6 et antérieur
    Réponses: 11
    Dernier message: 19/09/2003, 14h14
  5. template match="node() mais pas text()"
    Par Manu_Just dans le forum XSL/XSLT/XPATH
    Réponses: 4
    Dernier message: 26/03/2003, 11h52

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