Page tree
Skip to end of metadata
Go to start of metadata

In einem Objektgenerator sollen:

  • Änderungen am Zielobjekt durchgeführt werden
  • Änderungen an Unterformuardaten durchgeführt werden
  • Unterformulardten selektiv gelöscht werden
  • Am Ende ein Statuswechsel stattfinden


Lösung:

GenerationRules (vor Generierung):

  • gewünschte Änderungen an Zielobjekt
  • Flag zur Identifikation als automatisch generiertes Objekt setzen (als Objektattribut oder ThreadLocal-Variable, siehe auch Regelausführung selektiv ausschalten)

Insert Rules:

  •  laufen normal ab, Änderungen werden in Zielobjekt übernommen

InsertFinal Rules:

  •  hier dürfen keine Änderungen am Zielobjekt oder Unterformulardaten gespeichert werden (save oder update Methode), ggf. generierte Objekte über Prüfung des gesetzten Flags ausschließen

GenerateFinalRules:

  • hier sollten Änderungen an und das Löschen von Unterformulardaten stattfinden
  • ggf. zusätzliche Änderungen am Zielobjekt (für die z.B. eine Id benötigt wird, die am Anfang noch nicht zur Verfügung steht)
  • in der vorletzten auszuführenden Regel die Änderungen an Unterformulardaten und Zielobjekt speichern (update/save)

Dies führt zur Ausführung von:

UpdateRules:

  • laufen normal ab
  • hier kann als letzte Regel das Flag wieder entfernt werden

UpdateFinalRules:

  • hier darf ebenfalls kein Update auf das Zielobjekt ausgeführt werden

Letzte GenerateFinalRule:

  • Stauswechsel für Zielobjekt auslösen
  • No labels