Chapter 4 Gestion des profils


Méthodes helper de script pour les transformations

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

Historique de la génération

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.