Bonjour à toutes et à tous,
Je suis actuellement en train de travailler sur un outils de rétro-ingénierie (génération de diagramme de classes UML à partir de code source e). J'ai à ma disposition un profile UML contenant les différents stéréotypes nécessaires à la modélisation de mes composants e (module, structure, ...).
Je peux utiliser ce profile via le clicodrome d'Eclipse donc il semblerait que les différents stéréotypes soient correctement configurés (je pense aux extensions entre autre). Mais lorsque je veux les appliquer via la méthode applyStereotype, j'ai une jolie remontée d'exception.
Voici un extrait du code que j'ai écrit en me basant sur les tutoriels http://www.eclipse.org/modeling/mdt/...s/article.html et http://www.eclipse.org/modeling/mdt/...2/article.html
Lors de l'exécution, je récupère cette erreur:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 E2UML.registerResourceFactories(); Model model = E2UML.createModel("My_model"); // charge et applique le profile au model Profile e_profile = E2UML.loadProfile(URI.createURI("./src/e/models").appendSegment("e").appendFileExtension(UMLResource.PROFILE_FILE_EXTENSION)); E2UML.applyProfile(model, e_profile); //recuperation du stereotype Stereotype moduleStereotype = e_profile.getOwnedStereotype("Module"); // module packet_module.e org.eclipse.uml2.uml.Package packet_module_e = E2UML.createPackage(model, "packet_module.e"); E2UML.applyStereotype(packet_module_e, moduleStereotype); // c'est ici que cela coince ...
Je ne vois vraiment pas d'où cela peut venir car lorsque je regarde les profiles appliqués au model, mon profile e est bien présent donc il a été correctement chargé.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 Exception in thread "main" java.lang.IllegalArgumentException: org.eclipse.uml2.uml.internal.impl.StereotypeImpl@8aeed0 (name: Module, visibility: <unset>) (isLeaf: false, isAbstract: false) (isActive: false) at org.eclipse.uml2.uml.internal.operations.ElementOperations.applyStereotype(ElementOperations.java:1411) at org.eclipse.uml2.uml.internal.impl.ElementImpl.applyStereotype(ElementImpl.java:510) at UML2Tools.E2UML.applyStereotype(E2UML.java:91) at UML2Tools.Main.main(Main.java:51)
Si vous avez une idée, je suis preneur car je cherche depuis plus de 2 jours et toutes les infos que j'ai trouvées me portent à croire que j'utilise la bonne méthode.
Merci d'avance et à bientôt
Partager