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

Fachlicher Hintergrund

Eine bestehende Nuclos-Instanz umfasst das Businessobjekt Bestellungen und ein Businessobjekt Anfragen. Eine vollständig ausgefüllte Anfrage soll in eine kaufpflichtige Bestellung umgeformt werden. Dies übernimmt der Arbeitschritt. Nun soll eine Regel vom Typ "Objektgenerierung" die Positionen der Anfrage ermitteln und deren Gesamtmenge als Kommentar in die Bestellung übernehmen.

Quellcode

 

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);
        targetObject.setKurzbeschreibung("Diese Bestellung umfasst " + sumOfArticles + " Artikelpositionen.");
        
    }
}
  • Keine Stichwörter