Aktionen erstellen

Mit der Klasse com.ibm.rational.common.test.editor.framework.extensions.ExtActionHandler können Sie Schaltflächen des Menüs entfernen, nach oben und nach unten verschieben.

Informationen zu diesem Vorgang

Für die Editor- oder Protokollerweiterungen, die zum Bearbeiten des Tests und der testrelevanten Modellelemente zum Hinzufügen, Entfernen und Einfügen erforderlich sind, muss entsprechend der Beschreibung in den folgenden Schritten die Klasse NewModelElementAction verwendet werden:

Vorgehensweise

  1. Für jedes in der Baumstruktur angezeigte Modellelement wird von der Klasse com.ibm.rational.common.test.editor.framework.Test Editor eine Instanz der Klasse com.ibm.rational.common.test.editor.framework.extensions.ExtActionHandler erwartet. Außerdem sind einige Klassen des Typs com.ibm.rational.common.test.editor.framework.kernel.actions.NewModelElementAction erwartet. Diese sind in com.ibm.rational.common.test.editor.framework.TestEditorplug-ins com.ibm.rational.common.test.editor.framework.RptMenuManager enthalten.
  2. Die Instanzen von ActionHandler werden in der Datei plugin.xml deklariert, während die Klasse com.ibm.rational.common.test.editor.framework.kernel.actions.NewModelElementAction programmgestützt über die Plug-in-Klasse des Protokolls erstellt und registriert werden muss. Da es sich bei dieser Klasse um eine kontextabhängige Klasse handelt, wird auch für mehrere Editoren nur eine Gruppe mit Aktionen benötigt.
  3. Die ActionHandler der ausgewählten Elemente werden gefragt, ob die Schaltflächen zum Entfernen, zum Nach oben verschieben und zum Nach unten verschieben aktiviert werden sollen. Die Klasse com.ibm.rational.common.test.editor.framework.extensions.ExtActionHandler wertet die Auswahl aus, sucht nach den Objekten der betreffenden Typen und gibt den Wert true oder false aus.
  4. Zum Aktivieren oder Inaktivieren von Schaltflächen und Menüs des Typs Hinzufügen und Einfügen wird die Auswahl von der Klasse TestEditor an alle registrierten Instanzen des Typs com.ibm.rational.common.test.editor.framework.kernel.actions.NewModelElementAction weitergegeben. Anschließend wird die Auswahl im Rahmen der Aktion ausgewertet. Je nachdem, ob die Aktion in der Lage ist, das Modellobjekt an das ausgewählte Element weiterzugeben, wird dabei der Status entweder aktiviert oder inaktiviert.
  5. Die ID der einzelnen Klassen des Typs com.ibm.rational.common.test.editor.framework.kernel.actions.NewModelElementAction oder der abgeleiteten Typen muss dem bei dieser Aktion verwendeten Modellobjekttyp entsprechen. Die ID muss denselben Wert wie die im Erweiterungspunkt modelObjectDescriptor verwendete ID aufweisen. Von der Klasse com.ibm.rational.common.test.editor.framework.Test Editor wird dieser Wert dazu verwendet, verschiedene Provider für das spezielle Modellelement zu finden.
  6. Es gibt zwei verschiedene Gruppen mit Aktionen für die Klasse com.ibm.rational.common.test.editor.framework.RptMenuManager: Aktionen des Typs Hinzufügen und Aktionen des Typs Einfügen. Während Objekte ein und desselben Typs für beide Aktionstypen registriert werden können, ist das bei denselben Instanzen ein und derselben Klasse nicht möglich. Das bedeutet, dass von der Aktion AddObject zwei Instanzen erstellt und registriert werden müssen. Wenn das Objekt nicht eingefügt werden kann, ist auch keine Aktion des Typs "Einfügen" erforderlich. Das gilt in gleichem Maße für die Aktion des Typs "Hinzufügen".
  7. Wenn Sie eine Aktion auswählen, wird die entsprechende Klasse ActionHandler aufgerufen, um ein neues Modellobjekt zu erstellen. Zu diesem Zeitpunkt muss von der Klasse ActionHandler ein neues Modellobjekt (inklusive aller erforderlichen untergeordneten Elemente) erstellt und initialisiert werden. Das neue Modellobjekt wird von der Aktion zum ausgewählten übergeordneten Element hinzugefügt, vorausgesetzt, von der Klasse ContentProvider des ausgewählten übergeordneten Elements wird eine Liste der untergeordneten Elemente des Typs EList (eine Liste der nativen Modelle) ausgegeben. Für eine zusammengesetzte Liste untergeordneter Elemente (beispielsweise die nach Provider zusammengestellte Liste ArrayList) muss die Klasse ActionHandler ein neues untergeordnetes Element zum übergeordneten Element hinzufügen.
  8. Als Basisklasse zum Erstellen von Aktionen muss für das Protokoll die Klasse LoadTestNewModelElementAction verwendet werden. Von dieser Klasse wird das Filtern nach Funktion unterstützt.

Feedback