Généralement, une annotation est générée en
ajoutant une action à la barre d'outils d'annotation. Cette action
est représentée comme un bouton de barre d'outils.
Pour ajouter une nouvelle action à la barre d'outils d'annotation, procédez comme suit :
- Déclarez une nouvelle action d'annotation dans le fichier plugin.xml en utilisant le
point d'extension com.ibm.rational.test.lt.recorder.ui.annotationContribution et
l'élément annotationAction.
- Affectez un ID unique à l'action d'annotation.
- Déterminez si cette action est visible par défaut ou non. Les actions
visibles par défaut sont disponibles dans toutes les sessions d'enregistrement à moins qu'un
client ou un enregistreur ne les aient rendues inaccessibles. Les actions non
visibles par défaut ne sont disponibles que si un enregistreur ou un client les requièrent.
- Définissez une classe d'implémentation pour cette action. La classe d'implémentation
doit étendre la classe abstraite com.ibm.rational.test.lt.recorder.ui.actions.AbstractAnnotationAction.
Tenez compte des points suivants à propos des implémentations de AbstractAnnotationAction :
- Cette classe étend la classe JFace Action.
- Dans le constructeur, définissez le nom, le texte d'infobulle et le descripteur
d'image de l'action.
- Implémentez la méthode run(). Cette méthode peut interagir avec l'utilisateur. Par
exemple, cette méthode peut inviter l'utilisateur à renseigner une zone de texte.
En cas d'interaction avec l'utilisateur, la durée en millisecondes passée à interagir
avec l'utilisateur doit être mesurée.
- Pour créer une annotation, créez une instance de la classe
com.ibm.rational.test.lt.recorder.core.annotations.RecorderAnnotation et passez-lui
le type d'annotation comme argument. Définissez les propriétés d'annotation à l'aide des
méthodes d'accès set fournies dans cette classe.
- Une fois que l'annotation a été générée, transférez-la en envoyant un message
AnnotationMessage à l'enregistreur d'annotation. L'appel utilisé à cet effet est généralement de la
forme suivante : annotationRecorder.sendMessage(new
AnnotationMessage(annotation, interactionTime));