Création d'actions

Vous pouvez utiliser la classe com.ibm.rational.common.test.editor.framework.extensions.ExtActionHandler pour supprimer et déplacer vers le haut ou vers le bas les boutons de menu.

Pourquoi et quand exécuter cette tâche

Les extensions de protocole ou d'éditeur requises pour manipuler le test ainsi que les éléments de modèle spécifiques d'ajout, de suppression et d'insertion de test doivent utiliser la classe NewModelElementAction conformément aux conditions ci-dessous.

Procédure

  1. Pour chaque élément de modèle affiché dans l'arborescence, la classe com.ibm.rational.common.test.editor.framework.Test Editor s'attend à trouver une instance de la classe com.ibm.rational.common.test.editor.framework.extensions.ExtActionHandler et certaines actions com.ibm.rational.common.test.editor.framework.kernel.actions.NewModelElementAction enregistrées dans le com.ibm.rational.common.test.editor.framework.RptMenuManager du plug-in com.ibm.rational.common.test.editor.framework.TestEditor.
  2. Les gestionnaires ActionHandler sont déclarés dans le fichier plugin.xml, alors que la classe com.ibm.rational.common.test.editor.framework.kernel.actions.NewModelElementAction doit être créée et enregistrée à l'aide d'un programme via la classe du plug-in du protocole. Un ensemble d'actions unique est suffisant pour plusieurs éditeurs car la classe tient compte du contexte.
  3. Les gestionnaires ActionHandler des éléments sélectionnés indiquent si les boutons Supprimer, Haut et Bas doivent être activés. En fonction de la sélection, com.ibm.rational.common.test.editor.framework.extensions.ExtActionHandler recherche les objets dont le type est reconnu, puis renvoie la valeur true ou false.
  4. Pour activer ou désactiver les menus et les boutons Ajouter et Insérer, la classe TestEditor transmet la sélection à chaque instance com.ibm.rational.common.test.editor.framework.kernel.actions.NewModelElementAction enregistrée. L'action doit étudier la sélection et activer ou désactiver son état, selon qu'elle peut ajouter son objet de modèle à l'élément sélectionné ou non.
  5. L'ID de chaque action com.ibm.rational.common.test.editor.framework.kernel.actions.NewModelElementAction ou le type dérivé doit correspondre au type de l'objet de modèle que cette action représente. La valeur de l'ID doit être identique à celle utilisée dans le point d'extension modelObjectDescriptor. La classe com.ibm.rational.common.test.editor.framework.TestEditor l'utilise pour localiser divers fournisseurs pour l'élément de modèle spécifique.
  6. La classe com.ibm.rational.common.test.editor.framework.RptMenuManager gère deux ensembles d'actions distincts : les actions Ajouter et Insérer. Les objets de même type peuvent être enregistrés pour les deux ensembles ; tel n'est pas le cas pour les instances dont la classe est identique. En d'autres termes, vous devez créer et enregistrer deux instances de l'action AddObject. Si l'objet ne peut pas être inséré, l'action d'insertion n'est pas requise. Il en va de même pour l'action d'ajout.
  7. Si une action est sélectionnée, elle appelle le gestionnaire ActionHandler qui lui est associée pour créer un objet de modèle. A ce stade, la classe ActionHandler doit créer et initialiser un nouvel objet de modèle, ainsi que les enfants requis. L'action ajoute le nouvel objet de modèle au parent sélectionné, mais uniquement si l'objet ContentProvider du parent sélectionné renvoie la liste des enfants dont le type est EList, c'est-à-dire la liste des modèles natifs. Dans le cas d'une liste mixte d'enfants, par exemple la liste ArrayList dont les éléments sont regroupés en fonction du fournisseur, le gestionnaire ActionHandler doit ajouter un nouvel enfant au parent.
  8. Les rédacteurs de protocole doivent utiliser la classe LoadTestNewModelElementAction et la classe de base pour créer des actions. La classe prend en charge le filtrage par fonction.

Commentaires