Author: jcouteau Date: 2010-12-13 18:12:21 +0100 (Mon, 13 Dec 2010) New Revision: 608 Url: http://nuiton.org/repositories/revision/wikitty/608 Log: Add doc about Wikitty generation. need to add some images to explain better Added: trunk/src/site/rst/generation.rst Modified: trunk/src/site/site_fr.xml Added: trunk/src/site/rst/generation.rst =================================================================== --- trunk/src/site/rst/generation.rst (rev 0) +++ trunk/src/site/rst/generation.rst 2010-12-13 17:12:21 UTC (rev 608) @@ -0,0 +1,87 @@ +====================================== +Générer son modèle métier vers Wikitty +====================================== + +Modélisation +============ + +Vous pouvez modéliser votre modèle métier en utilisant n'importe quel modéliseur +UML pouvant enregistrer le modèle au format xmi (ArgoUML, Topcased,...). Les +entités que vous souhaiter générer doivent avoir le stéréotype *entity*. + +Configuration Maven +=================== + +Pour générer le code, nous utilisons EUGene_ et son plugin Maven. + +Dans le pom de votre projet, rajoutez la définition du plugin:: + +<plugin> + <groupId>org.nuiton.eugene</groupId> + <artifactId>maven-eugene-plugin</artifactId> + <version>2.2/version> + <executions> + <execution> + <id>api generator</id> + <phase>process-sources</phase> + <configuration> + <inputs> + <input>zargo:src/main/xmi/:*.zargo</input> + <input>classpath:model:/:wikitty.objectmodel + </input> + </inputs> + <fullPackagePath>your.app.package</fullPackagePath> + <defaultPackage>your.app.package</defaultPackage> + <extractedPackages> + your.app.package,org.nuiton.wikitty + </extractedPackages> + <generatedPackages>your.app.package</generatedPackages> + <templates> + org.nuiton.wikitty.generator.WikittyMetaGenerator, + org.nuiton.wikitty.generator.WikittyDTOGenerator + </templates> + </configuration> + <goals> + <goal>smart-generate</goal> + </goals> + </execution> + </executions> +</plugin> + +Dans la section *inputs*, on spécifie le(s) modèle(s) métier:: + +zargo:src/main/xmi/:*.zargo + +ainsi que le modèle Wikitty (en cas de dépendance de votre modèle métier vers le +modèle Wikitty). + +Dans la section *templates*, vous pouvez spécifier quoi générer : +*org.nuiton.wikitty.generator.WikittyMetaGenerator* pour la génération Wikitty +standard et *org.nuiton.wikitty.generator.WikittyDTOGenerator* pour la +génération des DTOs si besoin. + +Génération +========== + +La génération est effectuée ensuite à chaque fois que vous lancez un build. + +Subtilités de modélisation +========================== + +Dépendances vers l'API de Wikitty +--------------------------------- + +Il est possible de rajouter une dépendance vers un objet de l'API Wikitty (par +example WikittyUser) en rajoutant simplement la classe dans votre modèle dans le +package* org.nuiton.wikitty.api*. Elle ne sera pas générée mais interviendra +comme une autre classe de votre modèle (héritage,...). + +Arbres +------ + +Si vous souhaitez qu'une entité crée un arbre, vous avez juste à faire hériter +cette entité de WikittyTreeNode (pas besoin de référence sur elle-même). De +cette manière, la gestion de l'arbre est assurée par Wikity, de même que +l'indexation et la recherche. + +.. _EUGene::http://maven-site.nuiton.org/eugene/ \ No newline at end of file Modified: trunk/src/site/site_fr.xml =================================================================== --- trunk/src/site/site_fr.xml 2010-12-13 14:11:14 UTC (rev 607) +++ trunk/src/site/site_fr.xml 2010-12-13 17:12:21 UTC (rev 608) @@ -54,6 +54,7 @@ </menu> <menu name="User"> + <item name="Generation" href="generation.html"/> <item name="Migration" href="migration.html"/> <item name="Hessian" href="hessian.html"/> </menu>
participants (1)
-
jcouteau@users.nuiton.org