Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Korrektur des Suffixes der Importstrukturdefinitionsklasse

Ausführen eines Imports

MethodeBeispiel
run


Code Block
import org.nuclos.api.provider.ImportProvider;
import de.customer.
SEPACodeStrukturDefinitionIDS
SEPACodeStrukturDefinitionISD;

public void insert(InsertContext context) throws BusinessException {
        try {
  			// Get data from file system
            NuclosFile sourceFile = FileProvider.newFile("/home/ftp/documents/SEPA-Code.csv");
            
			// Execute import
            ImportResult run = ImportProvider.run(sourceFile, false, 
SEPACodeStrukturDefinitionIDS
SEPACodeStrukturDefinitionISD.class);
            
            if(run.hasErrors()) {
                throw new BusinessException(run.getMessages());
            }
			else {
				NuclosMail nuclosMail = new NuclosMail("automaticImport@myCompany.de", "Datenimport fuer " + sourceFile.getName());
           		nuclosMail.addAttachment(sourceFile);
				nuclosMail.addAttachment(run.getLogFile());
	     		nuclosMail.setMessage("Erfolgreicher Datenimport fuer " + sourceFile.getName() + "\n\n" + run.getMessages());
            
            	MailProvider.send(nuclosMail);
			}
            
        } catch (Exception e) {
            throw new BusinessException(e);
        }
        
        
    }

Erläuterung:

Die Ausführung eines Datenimports über den ImportProvider kann aus jeder Regel heraus vorgenommen werden. Im oberen Beispiel sollen SEPA Daten in das Nuclos System geladen werden. Die externen Daten befinden sich in einer CSV-Datei auf dem Server. Diese Informationen werden in eine NuclosFile geladen und dem Provider samt zuständiger StrukturDefinition übergeben. Als Resultat erhalten wir ein ImportResult-Object. Sollte ein Fehler aufgetreten sein (hasErrors()), wird eine BusinessException geworfen und die Regelverarbeitung abgebrochen. Wenn nicht, werden die Textnachrichten, die Log-Datei und die Datendatei selbst als Bestätigung an eine Email-Adresse weitergeleitet.

Im Falle eines Laufzeit-Fehlers wird eine BusinessException geworfen.

FAQ

Wie kann ich herausfinden, wie meine Strukturdefinition heißt bzw. was ist SEPACodeStrukturDefinitionIDS.class?

...

Nuclos exportiert alle Regeln und Businessobjekte in das Nuclos Basisverzeichnis unter data/codegenerator. Hier gibt es auch einen Ordner IDS welcher die Businessobjekte für die Strukturdefinitionen enthält.