logo MagicDraw
Version 17.0

Lorsqu’on essaye de générer un document à l’aide d’un template Velocity il n’est pas toujours évident voir impossible de récupérer l’information souhaitée. Le besoin est donc de pouvoir accéder directement à l’API de MagicDraw en Java et d’offrir au template un ensemble de fonctionnalités/méthodes.

Solution

Implémentation

  1. Créer un nouveau projet (Eclipse) ainsi qu’une nouvelle classe Java (test.magicdraw.MyHelper) qui étend com.nomagic.magicreport.engine.Tool
  2. Implémenter des méthodes (qui seront directement accessibles depuis le template Velocity)
    • La documentation de l’API MagicDraw est disponible dans le manuel MagicDraw OpenAPI UserGuide.pdf
    • Des exemples et une JavaDoc MagicDraw sont disponibles sous <INSTALL_MD>/openapi/
  3. Compiler en tant que librairie .jar
    • Références vers les librairies du répertoire <INSTALL_MD>/lib/
    • Références vers les librairies reportwizard.jar et reportwizard_api.jar du répertoire <INSTALL_MD>/plugins/com.nomagic.magicdraw.reportwizard/
    • Référence vers la librairie magicreport.jar du répertoire <INSTALL_MD>/plugins/com.nomagic.magicdraw.reportwizard/lib/
  4. Placer cette librairie sous <INSTALL_MD>/plugins/com.nomagic.magicdraw.reportwizard/extensions/

Appel

Pour appeler le « helper » voici la ligne à ajouter au début du template:
#import("myhelper", "test.magicdraw.MyHelper")
Il suffit ensuite d’appeler les fonctions de la manière suivante:
## Récupération des elements Call Behavior du diagramme d'activité
#set($callbehaviors = $myhelper.getCallBehaviors($diagram))

A vous de jouer!

Publicités