Préambule

Les wizards Eclipse sont souvent utilisés dans les plugin Eclipse pour générer le code d'un composant. Un wizard est constitué de plusieurs wizard pages. Par exemple, le wizard "New java class" accessible par le menu File/New/Class est constitué d'un wizard page qui permet de générer le composant "classe Java".

Lorsque vous souhaitez développer votre propre wizard Eclipse, autrement dit un wizard permettant de générer le code du composant de votre architecture, ceci nécessite de :

  • vous familiariser avec l'architecture de plugin Eclipse qui, certes, est très puissante mais demande un énorme investissement.
  • vous familiariser avec les bibliothèques sur lesquelles Eclipse se base (SWT, JFace...).
  • développer le moteur de génération de code.

Akrogen

Akrogen est un Plugin Eclipse (version 3.2.*) de génération de codes orienté composants. Avec Akrogen vous pouvez utilisez les wizard Eclipse pour générer du code, sans connaître l'architecture de plugin Eclipse, les librairies SWT/JFace et sans développer le moteur de template qui permet la génération de code.

En effet, Akrogen permet de décrire vos Wizards page Eclipse en XML/XUL qui associés à un template génèrent vos composants (Service, DAO, JSP, HTML...). Des scripts écrits avec une syntaxe Javascript vous permettent de définir la logique de vos Wizards page.

La génération de code d'un composant est le résultat de la fusion d’un template qui peut être écrit en Freemarker, Velocity, XSLT avec un modèle paramètres String, document XML, classe JAVA...

Akrogen vous permet facilement de créer votre propre catalogue de composants à générer. Akrogen s'appuie sur les concepts suivants :

  • Wizard page/XML component : un composant est généré à travers un Wizard page Eclipse qui affiche les paramètres du template. Un Wizard page est caractérisé par :
    • XUL statique : le Wizard page est décrit en XML/XUL à l’ aide d’un XML component. Les champs XUL définissent les paramètres du template.
    • XUL Javascript : les événements (onkeyup, onchange,...) des champs XUL constituant le Wizard page peuvent être associés à des fonctions Javascript qui permettent de mettre à jour d’autres champs XUL.

      Il est possible de tester votre XUL/Javascript dans Firefox en mettant l’ extension .xul à la fin de vos XML components.

    • Modèle : dans le cas où le template utilise un document XML ou une classe JAVA, le XML component définit un modèle XML ou class JAVA pour obliger l’utilisateur à sélectionner un fichier avant d’afficher le Wizard page.
    • XUL dynamique : le Wizard page peut utiliser le modèle définit ci-dessus pour afficher un XUL dépendant du fichier XML ou classe JAVA sélectionné.

      Un XUL dynamique permet par exemple d’afficher la liste des getters d’une classe JAVA sélectionné dans un tree qui contient des checkbox (pour selectionner les getters a utiliser dans le template). La syntaxe Freemarker (square bracket) est utilisé dans ce cas.

  • Catalogue : un catalogue est constitué des composants, templates que vous souhaitez générer.

    L’ ouverture d’un Wizard page d’un composant peut s'effectuer à l'aide de la vue Catalog ou à l'aide du menu contextuel Akrogen (après avoir sélectionné un fichier de votre projet).

  • Moteur de template :
    • Templates : les templates peuvent être écrits en Freemarker, Velocity ou XSLT. Il est possible d’implémenter d’autres moteur de template à l’aide d’un descripteur Spring.
    • Modèle : le modèle utilisé dans les templates sont de types String ou XML/classe JAVA (apres avoir sélectionner un fichier).

Guide

Une fois que vous avez installé le plugin Akrogen et avez compris comment utilisé Akrogen, vous pouvez vous référer aux tutoriaux qui vous guideront à créer votre propre catalogue Akrogen.

Akrogen fournit les catalogues suivants :