| Auszug | |
|---|---|
|
...
...
| maxLevel | 2 |
|---|
...
| |
Nuclos Event-Regel Aktualisieren (im Anschluss): Interface, UpdateContext, Struktur, Zuweisung im Server-Regelmanager, Beispielcode (Java). |
Sprache: Deutsch · English
...
Innerhalb des Baums mit der Regelbibliothek werden sie dem Knoten "Aktualisieren (im Anschluss)" zugeschrieben.
Quellcode einer Klasse des Typs "Aktualisieren (im Anschluss)":
...
Ereignis-Regel „Aktualisieren (im Anschluss)“: Interface, Kontext und ein Beispiel – so reagierst du auf dieses Nuclos-Ereignis.
| Status | ||||
|---|---|---|---|---|
|
| Status | ||||
|---|---|---|---|---|
|
| Status | ||||
|---|---|---|---|---|
|
| Status | ||||
|---|---|---|---|---|
|
| Panel | ||||||
|---|---|---|---|---|---|---|
| ||||||
Auf dieser Seite
|
Diese serverseitige Regel wird ausgeführt nach dem erfolgreichen Aktualisieren eines Datensatzes. Sie kann einem Businessobjekt zugewiesen werden.
Grundgerüst der Regelklasse (der Regeleditor legt es automatisch an):
| Codeblock | ||
|---|---|---|
| ||
package org.nuclet.lager;
import org.nuclos.api.rule.UpdateFinalRule;
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 Lagerposition im Anschluss", description="Aktualisieren Lagerposition im Anschluss")
public class AktualisierenLagerPositionImAnschluss implements UpdateFinalRule {
public void updateFinal(UpdateContext context) throws BusinessException {
}
} |
| Info | ||
|---|---|---|
| ||
Der Kontext |
Im Server-Regelmanager per Drag-and-Drop dem Ziel zuweisen. Optional lässt sich die Ausführung auf einen Status oder eine Aktion einschränken; die Reihenfolge steuerst du über die Pfeil-Buttons.
Zuweisung „Aktualisieren (im Anschluss)“.
Das folgende Beispiel soll den Aufbau einer Regel vom Typ „Aktualisieren (im Anschluss)„ und die Weiterverarbeitung der übergebenen Inhalte veranschaulichen.
| Codeblock | ||
|---|---|---|
| ||
package org.nuclet.company;
import java.util.List;
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="UpdateFinalBestellung", description="UpdateFinalBestellung")
public class UpdateFinalBestellung implements UpdateFinalRule {
public void updateFinal(UpdateContext context) throws BusinessException {
// this is the businessObject after storing the updated data in the database
Bestellung curBestellung = context.getBusinessObject(Bestellung.class);
// changes are not recognized, because data has already been saved
// the following description will not be stored in the database
curBestellung.setKurzbeschreibung("Bestellung wurde im Schnellverfahren abgeschlossen.");
// we want to re-update all positions after the order has been updated properly
// so we use the QueryProvider
for (Bestellposition pos : curBestellung.getPosition()) {
pos.setBemerkung("Position im Gesamtkontext von " + curBestellung.getNr());
pos.save();
}
}
} |
Das entsprechende Interface schreibt die Implementierung der Methode "updateFinal" vor und liefert als Kontext die Klasse UpdateContext. Darin enthalten ist das BusinessObject. Weiterhin können die Funktionen des übergeordneten RuleContexts genutzt werden.
Wurde ein Datensatz dem zugewiesenen Businessobjekt aktualisiert, erstellt Nuclos im Anschluss eine Instanz dieser Regel und ruft die Methode updateFinal auf. Der Kontext beinhaltet den im Vorfeld aktualisierten Datensatz. Innerhalb der updateFinal-Methode kann der Regelprogrammierer auch eine BusinessException werfen, die zum Abbruch des Events und zum Rollback des vorherigen Speichervorgangs selbst führt. Die Fehlermeldung wird in Nuclos angezeigt.
Die Angabe der Annotation "Rule" ist nicht zwingend notwendig, wird aber empfohlen, da die Beschreibungen (name und description) im Regelbibliotheksbaum angezeigt werden.
Klassen des Typs "Aktualisieren (im Anschluss)" können nur Businessobjekten zugewiesen werden. Nach der Verknüpfung erscheint die Klasse nach Auswahl des Businessobjekt und des Typs im Zuweisungsfenster und bietet folgende weitere Einstellungsmöglichkeiten:
Mit dem Symbol des Mülleimers kann die Zuweisung der Klasse zum Businessobjekt gelöscht werden. Wichtig ist, dass damit nur die Zuweisung gelöscht wird. Weiterhin lässt sich mit Hilfe der Pfeile-Buttons die Ausführungsreihenfolge verändern.
Jede Änderung wird automatisch gespeichert.
Hier finden Sie ein Beispiel, das den Aufbau einer Regel vom Typ "Aktualisieren (im Anschluss)" veranschaulicht.