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

Unterschiede anzeigen Seitenhistorie anzeigen

Version 1 Nächste Version anzeigen »

Auslesen eines Systemparameters

MethodeBeispiel
getSystemParameter
package org.nuclet.businessentity; 

import org.nuclet.printout.FormularAbschlussAuftragPO;
import org.nuclos.api.common.NuclosFile;
import org.nuclos.api.mail.NuclosMail;
import org.nuclos.api.provider.PrintoutProvider;
import org.nuclos.api.provider.MailProvider;

public class AbschlussAuftragRegel implements InsertFinalRule {

   public void insertFinal(InsertContext context) throws BusinessException { 
        
		Auftrag a = context.getBusinessObject(Auftrag.class);
      	
		NuclosFile result = PrintoutProvider.run(FormularAbschlussAuftragPO.Deutsch_PDF, a.getId());
        
		NuclosMail newMail = new NuclosMail();
        
		newMail.setSubject("Abschluss eines Auftrags");
        newMail.setFrom("automatic@meineFirma.de");
        newMail.addRecipient("Max.Mustermann@meinKunde.de");
        newMail.setMessage("Der Auftrag wurde erfolgreich abgeschlossen.");
        newMail.addAttachment(result);
      
        MailProvider.send(newMail);
    }
}

Erläuterung:

Mit dem erfolgreichen Abschluss eines Auftrags soll automatisch eine Bestätigungsmail an den Kunden verschickt werden. Das vom PrintoutProvider erzeugte Formular wird dabei als NuclosFile an die Email gehängt.

Anzumerken ist, dass durchaus mehrere NuclosFiles hinzugefügt werden können. Auch die Angabe von BCC- und CC-Empfängern ist möglich.

Im Falle eines Laufzeit-Fehlers wird eine BusinessException geworfen.

 

receive
package org.nuclet.businessentity; 

import org.nuclos.api.annotation.Rule;
import org.nuclos.api.context.UpdateContext;
import org.nuclos.api.exception.BusinessException;
import org.nuclos.api.provider.ParameterProvider;
import org.nuclos.api.rule.UpdateRule;
import org.nuclos.parameter.NuclosSystemParameter;

/** @name        
  * @description 
  * @usage       
  * @change      
*/
@Rule(name="SendConfirmationEmail", description="SendConfirmationEmail")
public class SendConfirmationEmail implements UpdateRule {
    public void update(UpdateContext context) throws BusinessException {
    
	   Auftrag a = context.getBusinessObject(Auftrag.class);

	   if(a.isApproved()) {
 			String useEmail = ParameterProvider.getSystemParameter(NuclosSystemParameter.ConfirmationEmailIsActive);
	       // First check, if the value of if this parameter is not null
    	   if (useEmail != null) {
				if (usrEmail.equals("Y")) {
					// Following method creates a NuclosEmail and sends it to the user mentioned in "Auftrag" a.
					// For lack of space this method is not implemented in this example. Suppose it does exist.
					sendConfirmationEmail(a);
				}
		   }        
	   }
    }
}

Erläuterung: Für einen abgeschlossenen Auftrag soll eine Bestätigungsemail versandt werden. In den Systemparametern wurde nun ein Parameter namens "ConfirmationEmailIsActive" hinterlegt, der festlegt, ob das System (unabhängig von Aufträgen) im aktuellen Zustand überhaupt den Versandt ermöglicht oder nicht. Findet die Regel den Wert "Y" (steht für Yes), dann kann die Email verschickt werden.

 

Systemparameter zur Konfiguration des Emailservers siehe Systemparameter

  • Keine Stichwörter