Seitenhistorie
Das folgende Beispiel soll den Aufbau einer Regel vom Typ "Arbeitsschritt Objektgenerierung (im Anschluss)" und die Weiterverarbeitung der übergebenen Inhalte veranschaulichen.
Fachlicher Hintergrund
Eine bestehende Nuclos-Instanz umfasst die Entität das Businessobjekt Bestellungen und eine Entität ein Businessobjekt Anfragen. Eine vollständig ausgefüllte Anfrage soll in eine kaufpflichtige Bestellung umgeformt werden. Dies übernimmt der Arbeitschritt. Wurde die Bestellung korrekt angelegt (und nur dann), soll ein Eintrag in einer History-Tabelle vorgenommen werden.
Quellcode
Codeblock |
---|
package org.nuclet.company; import org.nuclos.api.rule.GenerateRule; import org.nuclos.api.context.GenerateContext; import org.nuclos.api.annotation.Rule; import org.nuclos.api.exception.BusinessException; import java.util.Collection; /** @name * @description * @usage * @change */ @Rule(name="BestellungErstellen", description="BestellungErstellen") public class BestellungErstellen implements GenerateRule { public void generate(GenerateContext context) throws BusinessException { Collection<Anfrage> sourceObjects = context.getSourceObjects(Anfrage.class); int sumOfArticles = 0; for (Anfrage a: sourceObjects) { // How many articles are in this inquiry sumOfArticles += a.getAnfrageposition().size(); } Bestellung targetObject = context.getTargetObject(Bestellung.class); // create new history entry BestellungHistory newHistory = new BestellungHistory(); newHistory.setBestellungId(targetObject.getId()); newHistory.setBemerkung(sumOfArticles + " Einträge"); // save new entry BusinessObjectProvider.insert(newHistory); } } |
Überblick
Inhalte