diff --git a/office-alexander-logistics-app/pom.xml b/office-alexander-logistics-app/pom.xml index 5665cf2..c053516 100644 --- a/office-alexander-logistics-app/pom.xml +++ b/office-alexander-logistics-app/pom.xml @@ -6,7 +6,7 @@ office-alexander-logistics com.alexander-logistics - 1.3.4 + 1.3.5 office-alexander-logistics-app war diff --git a/office-alexander-logistics-app/src/main/java/com/alexanderlogistics/ksef/KSeFExportAdapter.java b/office-alexander-logistics-app/src/main/java/com/alexanderlogistics/ksef/KSeFExportAdapter.java new file mode 100644 index 0000000..d394cfc --- /dev/null +++ b/office-alexander-logistics-app/src/main/java/com/alexanderlogistics/ksef/KSeFExportAdapter.java @@ -0,0 +1,81 @@ +package com.alexanderlogistics.ksef; + +import java.util.List; +import java.util.logging.Logger; + +import org.imixs.archive.core.SnapshotService; +import org.imixs.workflow.ItemCollection; +import org.imixs.workflow.SignalAdapter; +import org.imixs.workflow.engine.WorkflowService; +import org.imixs.workflow.exceptions.AdapterException; +import org.imixs.workflow.exceptions.PluginException; + +import com.alexanderlogistics.ksef.api.KSeFAPIService; + +import jakarta.inject.Inject; + +/** + * This adapter exports the invoice data to KSeF + * + * To activate debug add the following event definition + * + *
+* {@code
+
+   true
+
+* }
+* 
+ * + * @version 1.0 + * @author rsoika + */ +public class KSeFExportAdapter implements SignalAdapter { + + public static final String CONFIG_ERROR = "CONFIG_ERROR"; + + private static Logger logger = Logger.getLogger(KSeFExportAdapter.class.getName()); + private boolean debug = false; + + @Inject + KSeFAPIService kSeFAPIService; + + @Inject + WorkflowService workflowService; + + @Inject + SnapshotService snapshotService; + + /** + * This method calls the ksef api and uploads an invoice xml document + * + * @throws PluginException + */ + @Override + public ItemCollection execute(ItemCollection workitem, ItemCollection event) + throws AdapterException { + // read debug flag + try { + List ksefDefinitions = workflowService.evalWorkflowResultXML(event, "ksef", + "EXPORT", workitem, false); + if (ksefDefinitions != null && ksefDefinitions.size() > 0) { + ItemCollection ksefDefinition = ksefDefinitions.get(0); + debug = ksefDefinition.getItemValueBoolean("debug"); + } + } catch (PluginException ee) { + // no op + } + try { + + kSeFAPIService.uploadInvoice(workitem, "test.xml"); + + } catch (PluginException e) { + // convert PluginException into a AdapterException to handle the error via the + // model! + logger.warning("Failed to export data to Zoho: " + e.getMessage()); + throw new AdapterException(e); + } + return workitem; + } + +} \ No newline at end of file diff --git a/office-alexander-logistics-app/src/main/java/com/alexanderlogistics/ksef/KSeFAPIService.java b/office-alexander-logistics-app/src/main/java/com/alexanderlogistics/ksef/api/KSeFAPIService.java similarity index 99% rename from office-alexander-logistics-app/src/main/java/com/alexanderlogistics/ksef/KSeFAPIService.java rename to office-alexander-logistics-app/src/main/java/com/alexanderlogistics/ksef/api/KSeFAPIService.java index abab8ad..da44761 100644 --- a/office-alexander-logistics-app/src/main/java/com/alexanderlogistics/ksef/KSeFAPIService.java +++ b/office-alexander-logistics-app/src/main/java/com/alexanderlogistics/ksef/api/KSeFAPIService.java @@ -1,4 +1,4 @@ -package com.alexanderlogistics.ksef; +package com.alexanderlogistics.ksef.api; import java.io.IOException; import java.net.URI; diff --git a/office-alexander-logistics-app/src/main/java/com/alexanderlogistics/ksef/KSeFAuthManager.java b/office-alexander-logistics-app/src/main/java/com/alexanderlogistics/ksef/api/KSeFAuthManager.java similarity index 99% rename from office-alexander-logistics-app/src/main/java/com/alexanderlogistics/ksef/KSeFAuthManager.java rename to office-alexander-logistics-app/src/main/java/com/alexanderlogistics/ksef/api/KSeFAuthManager.java index 38c2028..6d34314 100644 --- a/office-alexander-logistics-app/src/main/java/com/alexanderlogistics/ksef/KSeFAuthManager.java +++ b/office-alexander-logistics-app/src/main/java/com/alexanderlogistics/ksef/api/KSeFAuthManager.java @@ -1,4 +1,4 @@ -package com.alexanderlogistics.ksef; +package com.alexanderlogistics.ksef.api; import java.io.IOException; import java.net.URI; diff --git a/office-alexander-logistics-app/src/test/java/com/alexanderlogistics/ksef/KSeFAPIServiceTest.java b/office-alexander-logistics-app/src/test/java/com/alexanderlogistics/ksef/api/KSeFAPIServiceTest.java similarity index 98% rename from office-alexander-logistics-app/src/test/java/com/alexanderlogistics/ksef/KSeFAPIServiceTest.java rename to office-alexander-logistics-app/src/test/java/com/alexanderlogistics/ksef/api/KSeFAPIServiceTest.java index 29dfc26..e6ec91a 100644 --- a/office-alexander-logistics-app/src/test/java/com/alexanderlogistics/ksef/KSeFAPIServiceTest.java +++ b/office-alexander-logistics-app/src/test/java/com/alexanderlogistics/ksef/api/KSeFAPIServiceTest.java @@ -1,4 +1,4 @@ -package com.alexanderlogistics.ksef; +package com.alexanderlogistics.ksef.api; import static org.junit.jupiter.api.Assertions.assertEquals; import static org.junit.jupiter.api.Assertions.assertFalse; diff --git a/office-alexander-logistics-app/src/test/java/com/alexanderlogistics/ksef/KSeFAuthManagerTest.java b/office-alexander-logistics-app/src/test/java/com/alexanderlogistics/ksef/api/KSeFAuthManagerTest.java similarity index 99% rename from office-alexander-logistics-app/src/test/java/com/alexanderlogistics/ksef/KSeFAuthManagerTest.java rename to office-alexander-logistics-app/src/test/java/com/alexanderlogistics/ksef/api/KSeFAuthManagerTest.java index 79e7728..e48b8a4 100644 --- a/office-alexander-logistics-app/src/test/java/com/alexanderlogistics/ksef/KSeFAuthManagerTest.java +++ b/office-alexander-logistics-app/src/test/java/com/alexanderlogistics/ksef/api/KSeFAuthManagerTest.java @@ -1,4 +1,4 @@ -package com.alexanderlogistics.ksef; +package com.alexanderlogistics.ksef.api; import static org.junit.jupiter.api.Assertions.assertNotNull; import static org.junit.jupiter.api.Assertions.assertTrue; diff --git a/office-alexander-logistics-app/src/test/java/com/alexanderlogistics/ksef/Params.java b/office-alexander-logistics-app/src/test/java/com/alexanderlogistics/ksef/api/Params.java similarity index 90% rename from office-alexander-logistics-app/src/test/java/com/alexanderlogistics/ksef/Params.java rename to office-alexander-logistics-app/src/test/java/com/alexanderlogistics/ksef/api/Params.java index f34bb3f..b0fead2 100644 --- a/office-alexander-logistics-app/src/test/java/com/alexanderlogistics/ksef/Params.java +++ b/office-alexander-logistics-app/src/test/java/com/alexanderlogistics/ksef/api/Params.java @@ -1,4 +1,4 @@ -package com.alexanderlogistics.ksef; +package com.alexanderlogistics.ksef.api; public class Params { public static final String TOKEN = "20251113-EC-2751AC3000-5C5466924B-62|nip-9552521552|fc0c95d020dc45d4af491fb0aa755f3f3f674b33ecbf4250a88ea6e36fa8340b"; diff --git a/office-alexander-logistics-testclient/pom.xml b/office-alexander-logistics-testclient/pom.xml index 6b77dd4..6b0915d 100644 --- a/office-alexander-logistics-testclient/pom.xml +++ b/office-alexander-logistics-testclient/pom.xml @@ -6,7 +6,7 @@ office-alexander-logistics com.alexander-logistics - 1.3.4 + 1.3.5 office-alexander-logistics-testclient jar diff --git a/pom.xml b/pom.xml index ced6390..198e75c 100644 --- a/pom.xml +++ b/pom.xml @@ -5,7 +5,7 @@ 4.0.0 com.alexander-logistics office-alexander-logistics - 1.3.4 + 1.3.5 pom Imixs Office Workflow - Custom Build