Acceleo 2.3.0 - Aperçu des nouveautés


Après un changement dans la feuille de route, ce n'est pas Acceleo 3 qui apporte la compatibilité avec Ganymede mais bien une nouvelle version Acceleo 2.3.0.
La version 3.0.0 initialement prévue pour Juillet n'est pas encore terminée, ainsi elle été déplacée pour la fin de l'été. Cette version sera utilisable en mode "indépendant" d'Eclipse, il sera alors possible de lancer une génération Acceleo directement en ligne de commande.
La version 2.3.0 apporte cependant son lot de nouveautés tant dans le moteur de génération que dans les nombreux modules de la ferme.

Toutes ces nouveautés complètent les nouveautés d'Acceleo 2.2.0.

Compatibilité Eclipse 3.4 - Ganymede

Acceleo 2.3.0 est compatible avec toutes les versions d'Eclipses de ces 3 dernières années : Eclipse Ganymede (Juin 2008) , Eclipse Europa (Juin 2007) et Eclipse Callisto (Juin 2006).

Acceleo dans Eclipse 3.4
Figure : Acceleo dans Eclipse 3.4

Ouverture du Wiki Acceleo

Un wiki est désormais accessible à la communauté, il a pour but d'aggréger les différents "trucs et astuces", les documentations mais aussi à terme d'héberger les pages des modules.

N'hésitez pas à participer !

Appel des EOperations depuis un script

Il est désormais possible d'appeler une opération définie sur un métamodèle directement depuis un template Acceleo. Cette nouvelle fonctionnalité permet par exemple d'appeler directement "getAssociations()" sur une classe UML2. Elle est cependant limitée aux opérations ne nécessitant pas de paramètre.

Completion des opérations
Figure : Completion des opérations

Acceleo indépendant du "Bridge" de compatibilité modeleurs

Acceleo inclu un convertisseur pour les modèles issus de modeleurs "non Eclipse" comme par exemple Poseidon, ArgoUML ou Umbrello (et de nombreux autres !). Ce convertisseur n'est désormais plus nécessaire à Acceleo et devient optionnel.

Bridge Acceleo indépendant
Figure : Acceleo indépendant du bridge

Compatibilité Enterprise Architect 7.1

Acceleo 2.3.0 apporte la compatibilité avec Enterprise Architect 7.1 (export UML 2.1), les diagrammes de classes, de composants et les profiles peuvent désormais être exploités, les autres éléments sont partiellement supportés.

Pour plus d'information sur la compatibilité entre Acceleo et les différents modeleurs du marché, allez voir la page de compatibilité.

Show references : "CTRL+MAJ+G"

Une nouvelle fonctionnalité de l'éditeur permet d'identifier tous les endroits où un script est appelé. Elle est accessible via le raccourci "CTRL+MAJ+G" dans l'éditeur de template.

Recherche des références
Figure : Recherche des références

Attention toutefois, Acceleo étant dynamiquement typé cette fonctionnalité repose sur des heuristiques et peut éventuellement renvoyer des faux positifs.

Module Dolibarr

Dolibarr

Un nouveau module a rejoint la ferme. Il permet de générer un module pour Dolibarr à partir d'un module UML2. Le module dans sa version actuelle permet la génération :

  • des requêtes SQL
  • du descripteur de module Dolibarr
  • des DAOs
  • des services
  • des fichiers de langue
  • des écrans
  • de la structure des boxs
  • de la page de configuration du module
  • de listes pour les types énumérés UML

Module JEE

Java

Le module JEE apporte son lot de nouveautés telles que :

  • Architecture
    • Refonte du profile et utilisation d'un pathmap
    • Refonte de certains services généraux
    • Définition et utilisation de 2 profils communs à l'ensemble des modules : Acceleo::Business et Acceleo::Ui
    • Support du "Organize Import"
    • Répertoires de génération complètement paramétrables
  • Compatibilité
    • Création d'un espace dédié à la compatibilité des modeleurs sur le SVN.
    • Création de la démo de compatibilité MagicDraw.
  • Hibernate Hibernate
    • Gestion interface java
    • Gestion du pattern valueObject
    • Gestion des interfaces persistantes !
    • Gestion des PK explicite (Enumeration type de generateur - experimental)
    • Organisation de génération type "maven" géré
    • Le code généré passe la majorité des règles checkstyle
    • Correction concernant les sections d'imports afin d'offrir un meilleur support du "Organize Import"
  • Spring Spring

Module PHP

PHP
  • Intégration CSS (voir org.acceleo.demo.php.weblog/WebContent )
  • Le module utilise désormais le même profile que le module JEE.
  • Il est possible de personnaliser le nom des stéréotypes.
  • Meilleur découpage en couches.
  • Corrections diverses.

Module Ecore2Python

Python
  • Les annotations du modèle Ecore sont désormais exploitées pour générer la pydoc.
  • Il est possible de spécifier un fichier de licence qui sera repris en entête de tous les fichiers générés.
  • Le module peut générer un module au format .egg

Anomalies corrigées

Les anomalies suivantes ont été corrigées:

308304An ArrayOutOfBoundException on save
308514Modules with no category cause CCE with module launcher
308521Several bugs with alternative syntax [%%] since Acceleo 2.2
308522Several bugs with alternative syntax [%%] since Acceleo 2.2
308225Warning after a Generator Project is created
308272auto completion broken with alternate syntax
308153Impossible to get value from an EEnumLiteral
307502Acceleo Debuger throw a NullPointerException in AcceleoStackFrame
307477Services with the same name but with different parameters are not visible
308814Problem with EObjet script when specific metamodel is used
308996AcceleoSelectMetamodelDialog.registry.label key not in english
309032Incompatibility with Bouml's XMI
310388Double type not managed in SQL generator
306468Marker resolution and eclipse 3.2, not stable
306873The internalionalization support
306880Keep the current selection when the model change
310461ArrayOutOfBoundException in init of SpecificScript
310460Compiling/Saving Concurrent modification
308997Acceleo's wizards don't have title
307282Chain editor ClassCastException when opening file in svn repository

Et les patchs suivants ont été intégrés :

309050ModelSet in chain file should have an optional filter on extension(s)
309852Add a references search command
309673Add support for EOperation in Acceleo templates
Webdesign : www.katrinet.com - Réalisation : Obeo