< Précédent | Suivant >

Leçon 6 : Création et spécification d'une déclaration de mappage Package à package

Cette leçon vous explique comment créer une déclaration de mappage Package à package et plusieurs règles de mappage. Les règles de mappage spécifient comment la transformation générée traite les packages ou les éléments de classe imbriqués dans le package contenu dans le modèle source.

Les objets en entrée et en sortie du package contiennent un élément appelé packagedElement. Cet élément est une collection qui contient différents types d'objets UML valides. Les règles de mappage que vous créez dans cette leçon définissent comment la transformation traite les éléments de collection qui sont du type package ou classe.

Dans cette leçon, vous créez les règles de mappage suivantes :
  • une règle de mappage de déplacement qui crée un package dans le projet cible ; ce package a le même nom que le package du modèle source ;
  • une règle de mappage de sous-mappe qui appelle la transformation Class2ClassTransform si l'élément est de type classe ;
  • une règle de mappage de sous-mappe qui appelle la transformation Class2InterfaceTransform si l'élément est de type classe ;
  • une règle de mappage de sous-mappe qui appelle la transformation Package2PackageTransform si l'élément est de type package.

La Leçon 3 : Création et spécification d'une déclaration de mappage Classe à classe a montré que pour chaque règle de mappage de déplacement d'une déclaration de mappage, une règle qui copie une valeur d'attribut du modèle source vers le modèle cible est ajoutée au code source de transformation généré. Pour chaque règle de mappage de sous-mappe, un extracteur qui extrait des éléments dans la collection spécifiée est généré dans le code source de la transformation. La règle de sous-mappe est appliquée à un objet si l'objet en entrée en cours est une instance du type en entrée qui est défini dans la déclaration de mappage.

Lorsque vous exécutez la transformation générée, si le modèle source contient un package, la transformation Package2PackageTransform est appelée et crée un package ayant le même nom dans le modèle cible. La transformation Package2PackageTransform balaie la collection de l'élément packagedElement. Pour chaque élément de la collection qui est du type package, ce qui signifie que le modèle source contient des packages imbriqués, la transformation appelle la transformation Package2PackageTransform. Pour chaque élément de la collection qui est du type classe, la transformation appelle les règles pour transformer la classe en une classe et une interface correspondantes dans le modèle en sortie cible.

Pour créer une déclaration de mappage Package à package dans le modèle de mappage :

  1. Si le fichier Generalize_Classes.mapping n'est pas ouvert dans l'éditeur de mappage de transformation, dans la vue Explorateur de packages, double-cliquez sur le fichier.
  2. Dans l'éditeur de mappage de transformation, dans la section Racine de mappage, cliquez avec le bouton droit sur Generalize_Classes, puis cliquez sur Créer une mappe.
  3. Dans la fenêtre Nouvelle mappe, dans la zone Nom de la mappe, tapez Package2Package, puis cliquez sur OK. La mappe est affichée dans la vue Structure et s'ouvre dans la zone de l'éditeur sous Racine de mappage.