Generieren von Objekten

Für jede OVID eines Recurring-Objekts, die der Generator durch die Ausführung der Objektsuche erhält, erzeugt er ein leeres transaktionales Objekt. Ob diesem Objekt korrekt gefüllt und gespeichert werden kann, wird durch die Workflow-Konfiguration des transaktionalen Objekts bestimmt.

Jeder transaktionale Objekttyp hat im Workflow eine Kante im <state.initial>, für die nur Generator-Jobs berechtigt sind (permission). Bei der Erzeugung des Objektes wird der Generator dieser Workflow-Kante folgen.

Beispiel für den Objekttyp TESTCASE

Command-Chain prepareJob im Catalog testcase.

An dieser Workflow-Kante ist die Chain definiert, mit deren Hilfe das transaktionale Objekt geprüft und gefüllt wird. Der erste Teil der Chain besteht aus Ableitungen der Klasse GeneratorConditionCheckCommand, von denen jede für das gegebene Recurring-Objekt, z. B. Testdefinition, prüft, ob alle Bedingungen erfüllt sind. Der zweite Teil besteht aus einer Ableitung des GenerateCommand. Hier werden dem neuen transaktionalen Objekt, z. B. Testfall, Attributwerte zugeordnet. Da es sich hier um Commands handelt, kann das Verhalten beider Teile durch Weglassen, Ersetzen und Ergänzen angepasst werden.

Nach der erfolgreichen Abarbeitung der oben beschriebenen Chain befindet sich das transaktionale Objekt im Status <state.prepared>. Dies bedeutet, dass der Generator das Objekt zwar erzeugt, aber noch nicht persistiert hat. Im zweiten Schritt folgt der Generator der Kante, für die er berechtigt ist (permission) und die zum ersten Workflow-Status führt, der eine manuelle Bearbeitung durch Benutzer zulässt. Im Standard sind dies die Zustände, in denen Aufgaben für die Owner oder den Creator definiert sind.

Beispiel für den Objekttyp TESTCASE

Command-Chain insertJob im Catalog testcase

Innerhalb dieser zweiten Kante ist durch den Befehl prepareJobMessageCommand festgelegt, welche Benachrichtigung an die Owner geschickt werden sollen. Der Generator sammelt während seines Durchlaufs die Nachrichten aller erzeugten Objekte, fasst diese so weit wie möglich zusammen und verschickt sie an die oben festgelegten Empfänger.

Speicherort

XML-Datei im Ordner xml

Vorgehen

  1. Übernehmen Sie den passenden <catalog> aus der Standardkonfiguration ins Customizing.
  2. Passen Sie die Command-Chain an.

Dokumente

  • commandClassMapping.xml, blClassMapping.xsd,
  • commandchains_[module].xml,
  • commandchains.xsd, workflow_[module].xml