< Précédent | Suivant >

Leçon 3 : Création et spécification d'une déclaration de mappage Classe à classe

Cette leçon explique comment créer une déclaration de mappage qui spécifie une classe UML à la fois pour l'objet en entrée et pour l'objet en sortie. Cette déclaration de mappage Classe à classe contient des règles de mappage qui, lorsque vous exécutez la transformation générée, créent une copie de la classe et de ses opérations du modèle source, et placent la copie dans le modèle cible. Vous créez aussi une déclaration de mappage Opération à opération, qui est appelée par la sous-mappe de la déclaration de mappage Classe à classe.
Une déclaration de mappage, également appelée mappe, spécifie comment créer ou mettre à jour un objet en sortie pour un objet en entrée donné. Lorsque vous créez des transformations, vous pouvez utiliser une déclaration de mappage pour spécifier comment les attributs d'un objet d'entrée correspondent aux attributs d'un objet de sortie. Chaque déclaration de mappage spécifie un type d'entrée et un type de sortie, que vous sélectionnez dans les métamodèles que vous ajoutez au modèle de mappage.

Pour chaque déclaration de mappage du modèle de mappage, l'infrastructure de création de transformation génère une fichier source Java™ dont le nom est nTransform.java, où n représente le nom de la déclaration de mappage. Ces fichiers Java constituent collectivement le code de la transformation. En plus de la génération du code d'implémentation pour la transformation, l'infrastructure de création de transformation génère aussi du code pour enregistrer la transformation avec le service de transformation. Après avoir créé une déclaration de mappage, vous pouvez ajouter des règles de mappage de façon incrémentielle et générer le code source, ou les implémentations, pour les règles de mappage. Vous n'avez pas à définir toutes les règles de mappage avant de générer le code source.

Les déclarations de mappage suivent généralement une convention d'attribution de nom x2y, où x représente le type d'objet en entrée et y le type d'objet en sortie. Par exemple, une déclaration de mappage nommée Package2EPackage spécifie une déclaration de mappage qui a Package comme objet en entrée et EPackage comme objet en sortie.

Le mappage d'éléments établit une correspondance entre les attributs de ces éléments, ce qui permet l'échange de leurs données. La plupart des mappes permettent en outre de manipuler les données entre la source et la cible. Vous pouvez par exemple spécifier des calculs ou apporter d'autres modifications aux données en créant du code personnalisé, qui vous permet d'affecter des valeurs à la cible.

Pour créer une déclaration de mappage Classe à classe dans le modèle de mappage :

  1. S'il n'est pas déjà ouvert, dans la vue Explorateur de packages, dans le dossier model, double-cliquez sur le fichier .mapping.
  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 Class2Class, puis cliquez sur OK. La mappe est affichée dans la vue Structure et s'ouvre dans la zone de l'éditeur, sous la section Racine de mappage.