Sie zeigen eine alte Version dieser Seite an. Zeigen Sie die aktuelle Version an.

Unterschiede anzeigen Seitenhistorie anzeigen

Version 1 Nächste Version anzeigen »

Das folgende Beispiel soll den Aufbau einer Regel vom Typ "Statuswechsel" und die Weiterverarbeitung der übergebenen Inhalte veranschaulichen.

Fachlicher Hintergrund

Eine bestehende Nuclos-Instanz umfasst die Entität Auftrag. Die Aufgabe besteht darin, einen Auftrag, der in den Status "beauftragt" überführt werden soll, fachlich zu prüfen. Fehlen wichtige Daten, soll dem Benutzer eine Fehlermeldung angezeigt und der Statuswechsel abgebrochen werden.

Quellcode

 

package org.nuclet.company;
import org.nuclos.api.rule.StateChangeRule; 
import org.nuclos.api.context.StateChangeContext; 
import org.nuclos.api.annotation.Rule; 
import org.nuclos.api.exception.BusinessException; 
/** @name 
 * @description 
 * @usage 
 * @change 
*/
@Rule(name="BeauftragungPrüfen", description="Beauftragung prüfen")
public class BeauftragungPrüfen implements StateChangeRule {
 public void changeState(StateChangeContext context) throws BusinessException { 
 
 Auftrag neuerAuftrag = context.getBusinessObject(Auftrag.class);
 
 if (neuerAuftrag.getBestellwert() == null)
 throw new BusinessException("Der Bestellwert darf nicht leer sein.");
 
 if (neuerAuftrag.getKunde() == null)
 throw new BusinessException("Es wurde kein Kunde für diesen Auftrag hinterlegt.");
 
 if (neuerAuftrag.getAuftragsnr() == null)
 throw new BusinessException("Der Auftrag besitzt keine Nummer.");
 
 }
} 
  • Keine Stichwörter