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

BOUML Discussion :

export XMI - import Eclipse


Sujet :

BOUML

  1. #21
    Modérateur
    Avatar de bruno_pages
    Homme Profil pro
    ingénieur informaticien à la retraite
    Inscrit en
    Juin 2005
    Messages
    3 534
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : ingénieur informaticien à la retraite
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Juin 2005
    Messages : 3 534
    Points : 6 723
    Points
    6 723
    Par défaut
    Citation Envoyé par yann2 Voir le message
    Lorsque le TemplateableElement est de type Classifier (ce qui est le cas du type Class), il faut utiliser uml:RedefinableTemplateSignature à la place de uml:TemplateSignature (UML Superstructure v2.1.1 p.626 (cad p642 du PDF)).
    effectivement
    [edit]
    Finalement je n'en plus si sure :
    • vu la définition de RedefinableTemplateSignature, je me demande s'il ne s'agit pas ici de meta classes et non de classes (au sens template C++, generic Java)
    • de plus fig 17.18 (UMl 2.1.1) on voit que Classifier hérite de TempleteableElement, et donc un Classifier peut aussi avoir un TemplateSignature
    • enfin, une classe template peut également avoir des actuals, et cela n'est possible que via un TempleteableElement, pas au 'niveau' d'un Classifier. Comme je ne vois pas pourquoi il faudrait que la définition des formals et les actuals ne soient pas au même 'niveau' pour une classe mon coeur re-balance du coté de l'utilisation de TemplateSignature,

    Qu'en penses-tu ?

    Il y a autre chose qui me semble également bizarre : un actual est un ParameterableElement, on a l'impression de tourner en rond ...
    [/edit]

    [edit 2]
    Bon, Visual Paradigm for UML génère aussi un RedefinableTemplateSignature, alors je m'incline

    c'est le seul outils (a part Bouml of course) qui a bien voulut reverser correctement un generique Java et produire de l'XMI.

    Par contre celui-ci ne sait pas reverser l'utilisation d'un générique, donc avec :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    class Map<K,V>  {}
    class C {}
    class D{}
    class MapCD extends Map<C,D>{
      public Map<D,C> rev;
    }
    MapCD hérite de Map sans plus, y compris au niveau de l'XMI produit
    rev est de type Map, y compris au niveau de l'XMI produit
    [edit 2]

    Citation Envoyé par yann2 Voir le message
    Il est donc inutile d'indiquer deux fois le paramètre
    là je ne comprends pas : je ne vois pas ou je mets deux fois le parameter, peut etre que tu as crus que je mettais à la fois parameter="xxx" et <parameter xmi:idref="xxx"> ?

    Sinon, comme une signature peut avoir plusieurs parameters, je préfère l'utilisation de <parameter xmi:idref="xxx">

    Il ne faut pas oublier la propriété signature de l'objet TemplateParameter
    comme c'est un ownedParameter je trouve cela redondant
    Il ne faut pas oublier l'attribut owningTemplateParameter du ParametereableElement
    comme c'est un ownedParameteredElement je trouve cela redondant.

    En fait je ne genère jamais de owningXXX car j'utilise des ownedXXX. C'est une erreur ?

  2. #22
    Membre expérimenté Avatar de yann2
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2004
    Messages
    897
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mai 2004
    Messages : 897
    Points : 1 635
    Points
    1 635
    Par défaut
    Salut

    Désolé Bruno, je n'ai pas beaucoup de temps.

    En fait je pense que Classifier redéfini l'attribut ownedTemplateSignature de la classe TemplateableElement et restreint le type à RedefinableTemplateSignature.

    Pour info voici le code du plugin UML2 d'eclipse pour la classe Classifier :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    public NotificationChain basicSetOwnedTemplateSignature(
    			TemplateSignature newOwnedTemplateSignature, NotificationChain msgs) {
    
    		if (newOwnedTemplateSignature != null
    			&& !(newOwnedTemplateSignature instanceof RedefinableTemplateSignature)) {
    
    			throw new IllegalArgumentException(newOwnedTemplateSignature
    				.toString());
    		}
    
    		return basicSetOwnedTemplateSignatureGen(newOwnedTemplateSignature,
    			msgs);
    	}
    De ce côté du plugin c'est clair ! Il est impossible de mettre autre chose qu'un RedefinableTemplateSignature.

    yann

  3. #23
    Modérateur
    Avatar de bruno_pages
    Homme Profil pro
    ingénieur informaticien à la retraite
    Inscrit en
    Juin 2005
    Messages
    3 534
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : ingénieur informaticien à la retraite
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Juin 2005
    Messages : 3 534
    Points : 6 723
    Points
    6 723
    Par défaut
    Voilà ce que je vais faire :
    • je vais laissé la génération pour Uml 2.0 inchangée
    • je vais utiliser RedefinableTemplateSignature pour Uml 2.1 + autres modifications permettant à Eclipse d'importer l'XMI

    En procédant ainsi j'aumente la probabilité d'import par d'autres outils sans ajouter une option pour choisir entre RedefinableTemplateSignature et TemplateSignature.

    Pour info : Visual Paradigm for UML 6.1 produit un RedefinableTemplateSignature, mais accepte d'importer ce qui est produit par Enterprise Architect et qui contient TemplateSignature. Visual Paradigm n'accepte pas d'importer un fichier sans exporter où avec un exporteur inconnu de lui. VP refuse donc d'importer un fichier produit pas Bouml tant que je ne l'édite pas pour remplacer l'xmi:Documentation de Bouml par celui d'Enterprise Architect, ce qui est assez pitoyable ...

  4. #24
    Modérateur
    Avatar de bruno_pages
    Homme Profil pro
    ingénieur informaticien à la retraite
    Inscrit en
    Juin 2005
    Messages
    3 534
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : ingénieur informaticien à la retraite
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Juin 2005
    Messages : 3 534
    Points : 6 723
    Points
    6 723
    Par défaut
    Citation Envoyé par bruno_pages Voir le message
    Voilà ce que je vais faire :
    • je vais laissé la génération pour Uml 2.0 inchangée
    • je vais utiliser RedefinableTemplateSignature pour Uml 2.1 + autres modifications permettant à Eclipse d'importer l'XMI
    C'est fait, Bouml 2.31.2 est disponible sur le site

    Bonnes modélisations

    [edit]
    J'ai ajouté l'import/export des actuals en utilisant une définition qui ne gène ni Eclipse UML ni Visual Paradigm. C'est à dire que ces deux outils ne prennent pas en compte les actuals mais acceptent de lire de fichier sans sortir en erreur.

    Bouml importe bien-sur ce qu'il produit, on retrouve donc maintenant les valeurs des actuals après export-import. J'accepte aussi d'importer ce qui est produit par Visual Paradigm même si c'est doublement erroné :
    • parce que le TemplateBinding produit est incomplet, il manque justement la valeur des actuals alors qu'il est là pour les donner
    • parce que la signature ne référence pas le RedefinableTemplateSignature de la classe template mais la classe template elle-même

    [/edit]

Discussions similaires

  1. Import / Export XMI
    Par jlmjd dans le forum Outils
    Réponses: 2
    Dernier message: 13/12/2009, 12h25
  2. APi pour import et export XMI
    Par darkmoon25 dans le forum API standards et tierces
    Réponses: 1
    Dernier message: 31/05/2006, 14h52
  3. procédure pour exporter et importer bases de données
    Par mariogarcia dans le forum SQL Procédural
    Réponses: 1
    Dernier message: 24/03/2006, 17h33
  4. [JDBC] Exporter et importer les données d'une table...
    Par sp3cim3nmidoban dans le forum JDBC
    Réponses: 3
    Dernier message: 21/02/2006, 19h23
  5. Export Windows / Import Linux
    Par Doze dans le forum Oracle
    Réponses: 16
    Dernier message: 18/04/2005, 13h54

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