Seitenhistorie
...
Dafür erstellen wir eine UpdateFinal-Regel. Diese wird nur im Anschluss an einen fehlerfreien Update-Process ausgeführt. Wir lesen die Positionen aus und aktualisieren sie mit Hilfe des BusinessObjectProviders.
Quellcode
| 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());
BusinessObjectProviderpos.updatesave(pos);
}
}
} |
Überblick
Inhalte