Chapter 4 Gestion des profils
Les scripts de transformation ont accès à des méthodes helper spéciales via l'objet transformation interne. Ces méthodes sont les suivantes:
Nom | Définition | Paramètres | Renvoie |
---|---|---|---|
CopyObject | Duplique un objet existant et définit une source pour l'objet dupliqué. | source : objet à dupliquer
étiquette* : identificateur texte de l'objet |
Une copie du nouvel objet |
SetSource | Définit l'objet source d'un objet généré. Il est recommandé de définir systématiquement l'objet source afin de pouvoir retrouver l'origine d'un objet généré. | source : objet source
cible : objet cible étiquette* : identificateur texte de l'objet |
— |
GetSource | Extrait l'objet source d'un objet généré. | cible : objet cible
étiquette* : identificateur texte de l'objet |
Objet source |
GetTarget | Extrait l'objet cible d'un objet source. | source : objet source
étiquette* : identificateur texte de l'objet |
Objet cible |
* étiquette facultative utilisée pour améliorer l'historique de la génération, voir le paragraphe suivant
Le mécanisme d'historique de la génération est utilisé pour extraire l'identificateur de l'objet source afin d'identifier l'origine d'un objet cible et l'afficher dans l'onglet Version. Cette opération est rendue possible par le fait qu'il existait une correspondance un-à-un entre les objets source et cible.
Maintenant qu'un objet source peut être transformé et avoir plusieurs cibles, vous pouvez rencontrer des problèmes pour identifier l'origine d'un objet, tout particulièrement dans la boîte de dialogue de fusion. Le mécanisme suivant est utilisé pour aider à identifier l'origine d'un objet :
Si l'objet source est transformé en un seul objet La transformation est utilisée comme identificateur interne de l'objet cible.
Si l'objet source est transformé en plusieurs objets Pour pouvez définir une étiquette (tag) pour identifier le résultat de la transformation. Cette étiquette est une valeur sélectionnée par l'utilisateur qui ne doit comporter que des caractères alphanumériques. Il est recommandé d'utiliser une valeur "stable", c'est-à-dire une valeur qui ne risque pas d'être modifiée lors de générations successives, par exemple un stéréotype. Par exemple, MOO1 contient la classe Customer, vous appliquez un script de transformation à cet objet pour créer un EJB. Deux nouvelles classes sont créées à partir de la classe source : une pour l'interface home, et l'autre pour l'interface remote. Dans le script de transformation, vous devez affecter une étiquette "home" pour l'interface home, et "remote" pour l'interface remote. L'étiquette s'affiche entre signes <> dans l'onglet Version pour un objet, en regard de l'objet source.
Dans l'exemple suivant, vous utilisez le mécanisme de l'étiquette pour identifier les classes attachées à un composant :
'setting tag for all classes attached to component for each Clss in myComponent.Classes if clss <> obj then trfm.SetSource obj,Clss," GenatedFromEJB"+ obj.name +"target" +Clss.Name For each ope in clss.Operations if Ope.Name = Clss.Code Then 'then it is a constructor _Bean operation trfm.SetSource obj,Ope," GenatedFromEJB"+ obj.name +"target" +Ope.Name end if if Ope.Name = Clss.Name Then 'then it is a constructor operation trfm.SetSource obj,Ope," GenatedFromEJB"+ obj.name +"target" +Ope.Name end if if Ope.name = "equals" Then 'then it is an equals operation and should be tagged trfm.SetSource obj,Ope," GenatedFromEJB"+ obj.name +"target" +Ope.Name end if next end if next
Copyright (C) 2005. Sybase Inc. All rights reserved. |
![]() |