| Auszug |
|---|
|
Nuclos ImportProvider: run, ImportResult, Strukturdefinition, ISD, CSV, isTransactional, Rollback. |
Sprache: Deutsch · English
ImportProvider
CSV-Importe aus Regeln ausführen – run() mit Strukturdefinition und ImportResult.
| Status |
|---|
| colour | Blue |
|---|
| title | Entwickler |
|---|
|
| Status |
|---|
| colour | Green |
|---|
| title | Stand: Jul 2026 |
|---|
|
| Status |
|---|
| colour | Grey |
|---|
| title | gilt fuer Nuclos 4.2026.x |
|---|
|
Wozu dient der ImportProvider?
Der ImportProvider führt einen Datenimport (CSV) aus einer Regel aus.
run(importFile, isTransactional, structureDefClasses…)
Importiert die Daten aus einer NuclosFile (CSV). Bei isTransactional = true führt ein Fehler zu einem vollständigen Rollback. Als Strukturdefinitionen dienen generierte Klassen (Suffix ISD) aus Konfiguration → Import & Export → Strukturdefinition. Rückgabe ist ein ImportResult mit Log-/Textausgaben.
Allgemein
Der ImportProvider ist eine Hilfsklasse, die alle notwendigen Methoden zur Ausführung eines Datenimports beinhaltet.
Funktionsumfang
...
Diese Methode ermöglicht die Ausführung eines Datenimports in Nuclos. Im Methodenaufruf muss die Quelle als NuclosFile angegeben werden, welche die Daten im CSV-Format beinhaltet. Als zweiter Parameter wird festgelegt, ob der Import als eine einzige Transaktion ausgeführt werden soll oder nicht. In diesem Fall, es wird 'true' übergeben, findet beim Auftreten eines einzigen Fehlers ein vollständiger Rollback auf den gesamten Importprozess statt. Als dritter Parameter müssen die Strukturdefinitionen angegeben werden, die zum Parsen der Daten verwendet werden sollen. Dabei können mehrere, aber mindestens eine Definition angegeben werden. Die Strukturdefinitionen selbst sind generierte Klassen (analog zu den BusinessObjekten) und entsprechenden den Einträgen aus "Konfiguration -> Import & Export -> Strukturdefinition".
Der Rückgabewert der Methode ist ein ImportResult-Objekt, das alle Informationen zum Ausgang des Import beinhaltet. So können Log-Informationen und Textausgaben während des Imports angefragt werden.
Im Falle eines Fehlers wird eine BusinessException ausgegeben.
...
|
public static ImportResult run(NuclosFile importFile, boolean isTransactional,
Class<? extends ImportStructureDefinition>... structureDefClasses) throws BusinessException; |
| Codeblock |
|---|
|
import org.nuclos.api.provider.ImportProvider;
import de.customer.SEPACodeStrukturDefinitionISD;
public void insert(InsertContext context) throws BusinessException {
try {
// Get |
...
Ein Beispiel finden Sie hier.
data from file system
NuclosFile sourceFile = FileProvider.newFile("/home/ftp/documents/SEPA-Code.csv");
// Execute import
ImportResult run = ImportProvider.run(sourceFile, false, 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);
}
} |
| Hinweis |
|---|
| title | Strukturdefinition finden |
|---|
|
Der Klassenname der Strukturdefinition endet auf ISD (Import Data Structure). Generierte Klassen liegen unter data/codegenerator/IDS im Nuclos-Basisverzeichnis. |
Verwandte Seiten
BusinessObjectProvider
BOs schreiben.
Öffnen →
DatasourceProvider
Datenquellen ausführen.
Öffnen →
...