Définir un paquetage comme espace de noms racine | Blog des Technologies de l'Information

Définir un paquetage comme espace de noms racine

Comment définir un paquetage racine à partir duquel est recréée l'arborescence de paquetages par le processus de transformation MDA ?

Lors de la transformation MDA d'un modèle de classes PIM (acronyme utilisé pour désigner le modèle conceptuel de classes des objets métier) en classes Java, EA recrée l'arborescence complète du paquetage source, sous le paquetage cible nommé Java Model.

root namespace - enterprise architectpackages psm - enterprise architect

Prenons comme exemple le projet structuré tel qu'illustré sur l'image de droite :

  • Exemple MDA est le paquetage racine (ou root package en anglais) du projet,
  • Modèle par domaine contient le modèle de classes métier réparties dans 4 sous-paquetages nommés Client, Contrat, Catalogue et Securite,
  • Modèle du système est le paquetage destiné à recevoir le modèle de classes Java (désigné sous l'acronyme PSM) obtenu après transformation MDA.
  • Java Model est le paquetage créé par le processus de transformation MDA. Il est situé dans le paquetage Modèle du système car c'est ce dernier qui a été indiqué comme paquetage cible pour la transformation en Java dans la fenêtre Model Transformation.

Si je souhaite disposer directement sous Java Model des 4 paquetages Client, Contrat, Catalogue et Securite, il me suffit d'indiquer que le paquetage Modèle par domaine est un espace de noms racine. Pour cela :

  • Je sélectionne dans la fenêtre Project Browser le paquetage Modèle par domaine,
  • J'affiche le menu contextuel du paquetage par un clic droit et je sélectionne dans le menu Code Engineering | Set as Namespace root

L'icône root package namespace - enterprise architect qui symbolise le paquetage apparaît à présent avec une marque rouge sur le coin inférieur droit.

Après exécution d'une nouvelle transformation (supprimer au préalable Java Model), on peut constater que les 4 paquetages Client, Contrat, Catalogue et Securite sont recréés directement sous Java Model.