Prise en main


L'objectif de ce "quick-start" est de vous permettre de prendre en main Acceleo en un minimum de temps. Cette page n'a pas la prétention d'être une formation, juste une aide au démarrage.


Installation

  • Récupérez Eclipse 3.2 sur le site officiel d'Eclipse.
  • Récupérez la version packagée d'Acceleo avec tous les plugins nécessaires (Le bundle emf-uml2-acceleo).
  • Dézippez l'archive d'Eclipse et du bundle dans le même répertoire.
  • Lancez Eclipse. Si tout s'est bien déroulé une nouvelle perspective "Acceleo" doit être disponible.
  • Sélection de la perspective Acceleo
    Sélection de la perspective Acceleo

  • Acceleo est installé !
  • Eclipse 3.2 avec la perspective Acceleo
    Eclipse 3.2 avec la perspective Acceleo
    La procédure d'installation est la même pour Eclipse 3.1.

Première génération

Nous allons maintenant lancer une génération de code à partir d'un modèle. Nous utiliserons pour cela les modules de génération fournis à titre d'exemple.

  • Téléchargez le module d'exemple sur le site Acceleo et décompressez l'archive.
  • Il faut maintenant importer ces projets au sein d'Eclipse. Cliquez-droit dans l'explorateur de projet et choisissez "Import..." puis "Existing Project".

    Import de projets existants
    Import de projets existants

  • Trois projets sont inclus dans les modules d'exemples :
    • free.acceleo-1.1.uml2.gen.java: le module de génération de code pour UML 2. Ce module génère du code java correspondant à un modèle UML2. Pour chaque objet métier il génère les objets de transfert de données correspondants (Dto) ainsi que les classes facilitant l'utilisation de JDBC. Pour chaque écran du système il génère un fichier Jsp correspondant ainsi que les fichiers de configuration nécessaires.

    • free.acceleo-1.1.uml14.gen.java: le module de génération de code pour UML 1.4. Ce module génère exactement la même chose que le module pour UML2 mais à partir d'un modèle UML 1.4 (Que l'on obtient via de nombreux modeleurs).

    • free.acceleo-1.1.demo.weblog: le projet d'exemple. Ce projet contient les modèles (UML2 et UML 1.4) utilisés dans le cadre de la démonstration. Il contient aussi les chaînes permettant le lancement de la génération. Le code généré apparait dans ce projet.

    Dans le cadre de ce tutorial nous utilisons le méta-modèle UML2 du projet Eclipse. Ce dernier correspond à la spécification 2.1 de l'OMG.

    Choix de projets de démonstration
    Choix de projets de démonstration

  • Regardons plus attentivement le projet de démonstration (free.acceleo-1.1.demo.weblog).

    Les modèles servant à la génération sont dans le répertoire model. Ils représentent un système de blog. Ils sont divisés en deux paquetages, business qui définit les entités métier de l'application (User et BlogEntry) et cinematic qui définit les écrans de l'application ainsi que la navigation entre les écrans.

    Modèle UML2 de Weblog
    Modèle UML2 de Weblog

    Si vous souhaitez modifier le modèle via un modeleur gratuit, vous pouvez par exemple installer celui du projet TopCased qui offre toutes les fonctionnalités nécessaires.
    On remarque également que le répertoire src est vide ainsi que le WebContent

    Projet avant la génération
    Projet avant la génération

  • Le lancement de la génération de code passe par les fichiers .chain. Trois fichiers de ce type sont présents dans le projet.
    • weblog.chain: lance la génération à partir du modèle UML2.
    • weblog.clean.chain: vide les répertoires de source générés.
    • weblog.uml14.chain: lance la génération à partir du modèle UML 1.4.
    On lance la génération en choisissant "Launch" dans le menu contextuel du fichier .chain

    Lancement de la génération
    Lancement de la génération

  • On peut alors constater que des fichiers sont apparus dans les repertoires src et WebContent.

    Projet après la génération
    Projet après la génération

  • Si vous souhaitez tester l'application générée vous devez installer (Eclipse Web Tools Platform).

    Weblog en fonctionnenement
    Weblog en fonctionnement

Modification du code généré

  • Une fois cette première génération effectuée il est toujours possible de modifier le code source généré. Acceleo est un moteur incrémental ce qui signifie qu'il est possible de modifier le code source puis de re-générer le code sans perdre les modifications apportées. Par exemple dans la méthode validate dans la classe LoginServlet.

    Servlet avant modification
    Servlet avant modification

    On peut donc y ajouter un traitement particulier entre les deux lignes prévues à cet effet.

    Servlet après modification
    Servlet après modification

    On peut ensuite modifier le modèle, re-générer le code, le code ajouté par l'utilisateur ne sera pas perdu.

Ce document n'est qu'une introduction à l'utilisation d'Acceleo. Le tutorial Un premier générateur aborde la création d'un module de génération.

Ces documentations facilitent la mise en place d'Acceleo ainsi que son utilisation, pour des besoins plus pointus une documentation payante est disponible sur le site de Obeo. Veuillez lire les instructions fournies ici.

Vous pouvez également consulter la documentation de référence d'Acceleo.

Un problème ?

Plusieurs possibilités :
Webdesign : www.katrinet.com - Réalisation : Obeo