Allgemein
Regeln des Typs "Aktualisieren" können nur Entitäten zugewiesen werden und müssen das Interface "UpdateRule" implementieren.
Innerhalb des Baums mit der Regelbibliothek werden sie dem Knoten "Aktualisieren" zugeschrieben.
Struktur
Quellcode einer Klasse des Typs "Aktualisieren":
package org.nuclet.lager; import org.nuclos.api.rule.UpdateRule; import org.nuclos.api.context.UpdateContext; import org.nuclos.api.annotation.Rule; import org.nuclos.api.exception.BusinessException; /** @name * @description * @usage * @change */ @Rule(name="Aktualisieren einer Lagerposition", description="Aktualisieren eines Lagerposition") public class AktualisierenLagerposition implements UpdateRule { public void update(UpdateContext context) throws BusinessException { } }
Das entsprechende Interface schreibt die Implementierung der Methode "update" vor und liefert als Kontext die Klasse UpdateContext. Darin enthalten ist das BusinessObject, das den zu aktualisierenden Datensatz repräsentiert. Weiterhin können die Funktionen des übergeordneten RuleContexts genutzt werden.
Wird nun ein Datensatz der zugewiesenen Entität aktualisiert, wird eine Instanz dieser Regel erstellt und die Methode "update" aufgerufen. Der Kontext beinhaltet den Datensatz.
Die Angabe der Annotation "Rule" ist nicht zwingend notwendig, wird aber empfohlen, da die Beschreibungen (name und description) im Regelbibliotheksbaum angezeigt werden.
Zuweisung
Klassen des Typs "Aktualisieren" können nur Entitäten zugewiesen werden. Nach der Verknüpfung erscheint die Klasse nach Auswahl der Entität und des Typs im Zuweisungsfenster und bietet folgende weitere Einstellungsmöglichkeiten:
- Ausführen bei einem bestimmten Status
- Ausführen bei einer bestimmten Aktion
Mit dem Symbol des Mülleimers kann die Zuweisung der Klasse zur Entität gelöscht werden. Wichtig ist, dass damit nur die Zuweisung gelöscht wird, nicht die Regel selbst. Weiterhin lässt sich mit Hilfe der Pfeile-Buttons die Ausführungsreihenfolge verändern. Jede Änderung wird automatisch gespeichert.
Beispiel
Hier finden Sie ein Beispiel, das den Aufbau einer Regel vom Typ "Aktualisieren" veranschaulicht.
Troubleshooting
Problem | Mögliche Ursachen |
---|---|
Eine Regel wird trotz korrekter Zuordnung nicht ausgeführt |
|
Eine Regel lässt sich nicht kompilieren. |
|
Ein BusinessObject kann nicht aus dem Kontext gelesen werden |
|