diff --git a/office-alexander-logistics-app/src/main/java/com/alexanderlogistics/ZahlungsavisExportAdapter.java b/office-alexander-logistics-app/src/main/java/com/alexanderlogistics/ZahlungsavisExportAdapter.java
index 965af71..58cab96 100644
--- a/office-alexander-logistics-app/src/main/java/com/alexanderlogistics/ZahlungsavisExportAdapter.java
+++ b/office-alexander-logistics-app/src/main/java/com/alexanderlogistics/ZahlungsavisExportAdapter.java
@@ -1,6 +1,8 @@
package com.alexanderlogistics;
+import java.io.IOException;
import java.util.Collection;
+import java.util.List;
import java.util.logging.Logger;
import javax.inject.Inject;
@@ -8,13 +10,14 @@ import javax.inject.Inject;
import org.imixs.archive.core.SnapshotService;
import org.imixs.workflow.FileData;
import org.imixs.workflow.ItemCollection;
-import org.imixs.workflow.SignalAdapter;
import org.imixs.workflow.engine.DocumentService;
import org.imixs.workflow.engine.WorkflowService;
import org.imixs.workflow.exceptions.AdapterException;
import org.imixs.workflow.exceptions.PluginException;
import org.imixs.workflow.exceptions.QueryException;
+import org.imixs.workflow.poi.POIFindReplaceAdapter;
+
/**
* Der ZahlungsavisAdapter importiert eine Excel Datei aus einem Textblock
*
@@ -22,14 +25,26 @@ import org.imixs.workflow.exceptions.QueryException;
* {@code
textblock-ref
filename
- }
+ filename
+ }
*
*
+ * Der Adapter erweitert den POIAdapter somit können felder aktualisiert werden:
+ *
+ *
+ * {@code
+ *
+ F4
+ numsequencenumber
+ text
+
+ }
+ *
*
* @version 1.0
* @author rsoika
*/
-public class ZahlungsavisExportAdapter implements SignalAdapter {
+public class ZahlungsavisExportAdapter extends POIFindReplaceAdapter {
private static Logger logger = Logger.getLogger(ZahlungsavisExportAdapter.class.getName());
@@ -51,6 +66,7 @@ public class ZahlungsavisExportAdapter implements SignalAdapter {
*
* @throws PluginException
*/
+ @SuppressWarnings("unchecked")
@Override
public ItemCollection execute(ItemCollection document, ItemCollection event)
throws AdapterException, PluginException {
@@ -63,9 +79,27 @@ public class ZahlungsavisExportAdapter implements SignalAdapter {
}
String textblock = evalItemCollection.getItemValueString("textblock");
String template = evalItemCollection.getItemValueString("template");
+ String targetName = evalItemCollection.getItemValueString("target-name");
+ // adapt text....
+ targetName = workflowService.adaptText(targetName, document);
+
+ appendExcelTemplate(document, textblock, template, targetName);
- appendExcelTemplate(document, textblock, template);
-
+ // Process POI instructions
+ // read the config
+ ItemCollection poiConfig = workflowService.evalWorkflowResult(event, "poi-update", document, false);
+ if (poiConfig == null || !poiConfig.hasItem("findreplace")) {
+ throw new PluginException(POIFindReplaceAdapter.class.getSimpleName(), CONFIG_ERROR,
+ "missing poi configuration");
+ }
+ List replaceDevList = poiConfig.getItemValue("findreplace");
+ String eval = poiConfig.getItemValueString("eval");
+ try {
+ this.updateFileData(document.getFileData(targetName), document, replaceDevList, eval);
+ } catch (PluginException | IOException e) {
+ throw new PluginException(ZahlungsavisExportAdapter.class.getSimpleName(), ERROR_CONFIG,
+ "failed to update zahlungsavis - wrong POI configuraiton: " + e.getMessage());
+ }
return document;
}
@@ -76,7 +110,7 @@ public class ZahlungsavisExportAdapter implements SignalAdapter {
* @param document
* @throws PluginException
*/
- private void appendExcelTemplate(ItemCollection document, String textblockRef, String template)
+ private void appendExcelTemplate(ItemCollection document, String textblockRef, String template, String targetName)
throws PluginException {
if ((template == null || template.isEmpty()) || (textblockRef == null || textblockRef.isEmpty())) {
@@ -92,9 +126,10 @@ public class ZahlungsavisExportAdapter implements SignalAdapter {
throw new PluginException(ZahlungsavisExportAdapter.class.getSimpleName(), ERROR_CONFIG,
"invalid zahlungsavis configuration in model event - template=" + template + " not found!");
}
-
+ fileData.setName(targetName);
// append document
- logger.info("...append new Zahlugnsavis Template: " + template);
+ logger.info("...append new Zahlugnsavis Template: " + targetName);
+
document.addFileData(fileData);
}
diff --git a/pom.xml b/pom.xml
index 2d99730..b8cc189 100644
--- a/pom.xml
+++ b/pom.xml
@@ -28,7 +28,7 @@
5.2.14
4.2.0
4.5.0
- 2.3.0
+ 2.3.1-SNAPSHOT
2.2.14-SNAPSHOT
1.0.20
1.1.5
@@ -180,6 +180,13 @@
${org.imixs.adapters.version}
provided
+
+