From 7c67d664d7acd20adf05adac013c8c02509b74c8 Mon Sep 17 00:00:00 2001 From: jstaerk Date: Fri, 10 Jan 2025 17:40:03 +0100 Subject: [PATCH 1/4] [maven-release-plugin] prepare release core-2.16.0 --- Mustang-CLI/pom.xml | 6 +++--- library/pom.xml | 6 +++--- pom.xml | 4 ++-- validator/pom.xml | 6 +++--- 4 files changed, 11 insertions(+), 11 deletions(-) diff --git a/Mustang-CLI/pom.xml b/Mustang-CLI/pom.xml index 9b5e3bc9..3a7f19a2 100644 --- a/Mustang-CLI/pom.xml +++ b/Mustang-CLI/pom.xml @@ -3,7 +3,7 @@ org.mustangproject core - 2.15.3-SNAPSHOT + 2.16.0 4.0.0 org.mustangproject @@ -12,7 +12,7 @@ should also work for XRechnung/CII. jar - 2.15.3-SNAPSHOT + 2.16.0 UTF-8 11 @@ -23,7 +23,7 @@ org.mustangproject validator - 2.15.3-SNAPSHOT + 2.16.0 diff --git a/library/pom.xml b/library/pom.xml index 073661c1..04a13a5d 100644 --- a/library/pom.xml +++ b/library/pom.xml @@ -3,13 +3,13 @@ org.mustangproject core - 2.15.3-SNAPSHOT + 2.16.0 4.0.0 org.mustangproject library - 2.15.3-SNAPSHOT + 2.16.0 jar Library to write, read and validate e-invoices (Factur-X, ZUGFeRD, Order-X, XRechnung/CII) FOSS Java library to read, write and validate european electronic invoices and orders in the UN/CEFACT @@ -20,7 +20,7 @@ scm:git:https://github.com/ZUGFeRD/mustangproject.git scm:git:https://github.com/ZUGFeRD/mustangproject.git https://github.com/ZUGFeRD/mustangproject - core-2.3.2 + core-2.16.0 diff --git a/pom.xml b/pom.xml index 9dade18f..92d0d294 100644 --- a/pom.xml +++ b/pom.xml @@ -3,7 +3,7 @@ 4.0.0 org.mustangproject core - 2.15.3-SNAPSHOT pom + 2.16.0 pom Mustang @@ -19,7 +19,7 @@ scm:git:git://github.com/dexecutor/dependent-tasks-executor.git scm:git:git@github.com:dexecutor/dexecutor.git https://github.com/dexecutor/dependent-tasks-executor - core-2.3.2 + core-2.16.0 diff --git a/validator/pom.xml b/validator/pom.xml index 67d7ca94..854fcf5b 100644 --- a/validator/pom.xml +++ b/validator/pom.xml @@ -3,7 +3,7 @@ org.mustangproject core - 2.15.3-SNAPSHOT + 2.16.0 4.0.0 org.mustangproject @@ -11,7 +11,7 @@ Library to validate e-invoices (ZUGFeRD, Factur-X and Xrechnung) jar - 2.15.3-SNAPSHOT + 2.16.0 @@ -38,7 +38,7 @@ ${project.groupId} library - 2.15.3-SNAPSHOT + 2.16.0 org.dom4j From c1152e20fea030ef3d6d92a484342996b40e8c82 Mon Sep 17 00:00:00 2001 From: jstaerk Date: Fri, 10 Jan 2025 17:40:06 +0100 Subject: [PATCH 2/4] [maven-release-plugin] prepare for next development iteration --- Mustang-CLI/pom.xml | 6 +++--- library/pom.xml | 6 +++--- pom.xml | 4 ++-- validator/pom.xml | 6 +++--- 4 files changed, 11 insertions(+), 11 deletions(-) diff --git a/Mustang-CLI/pom.xml b/Mustang-CLI/pom.xml index 3a7f19a2..9d83688f 100644 --- a/Mustang-CLI/pom.xml +++ b/Mustang-CLI/pom.xml @@ -3,7 +3,7 @@ org.mustangproject core - 2.16.0 + 2.16.1-SNAPSHOT 4.0.0 org.mustangproject @@ -12,7 +12,7 @@ should also work for XRechnung/CII. jar - 2.16.0 + 2.16.1-SNAPSHOT UTF-8 11 @@ -23,7 +23,7 @@ org.mustangproject validator - 2.16.0 + 2.16.1-SNAPSHOT diff --git a/library/pom.xml b/library/pom.xml index 04a13a5d..81a1716f 100644 --- a/library/pom.xml +++ b/library/pom.xml @@ -3,13 +3,13 @@ org.mustangproject core - 2.16.0 + 2.16.1-SNAPSHOT 4.0.0 org.mustangproject library - 2.16.0 + 2.16.1-SNAPSHOT jar Library to write, read and validate e-invoices (Factur-X, ZUGFeRD, Order-X, XRechnung/CII) FOSS Java library to read, write and validate european electronic invoices and orders in the UN/CEFACT @@ -20,7 +20,7 @@ scm:git:https://github.com/ZUGFeRD/mustangproject.git scm:git:https://github.com/ZUGFeRD/mustangproject.git https://github.com/ZUGFeRD/mustangproject - core-2.16.0 + core-2.3.2 diff --git a/pom.xml b/pom.xml index 92d0d294..03f326a5 100644 --- a/pom.xml +++ b/pom.xml @@ -3,7 +3,7 @@ 4.0.0 org.mustangproject core - 2.16.0 pom + 2.16.1-SNAPSHOT pom Mustang @@ -19,7 +19,7 @@ scm:git:git://github.com/dexecutor/dependent-tasks-executor.git scm:git:git@github.com:dexecutor/dexecutor.git https://github.com/dexecutor/dependent-tasks-executor - core-2.16.0 + core-2.3.2 diff --git a/validator/pom.xml b/validator/pom.xml index 854fcf5b..d8820ab1 100644 --- a/validator/pom.xml +++ b/validator/pom.xml @@ -3,7 +3,7 @@ org.mustangproject core - 2.16.0 + 2.16.1-SNAPSHOT 4.0.0 org.mustangproject @@ -11,7 +11,7 @@ Library to validate e-invoices (ZUGFeRD, Factur-X and Xrechnung) jar - 2.16.0 + 2.16.1-SNAPSHOT @@ -38,7 +38,7 @@ ${project.groupId} library - 2.16.0 + 2.16.1-SNAPSHOT org.dom4j From 8c7a2c322d0d4f17ff667d6d0873836a04ce0dc7 Mon Sep 17 00:00:00 2001 From: jstaerk Date: Tue, 14 Jan 2025 07:05:46 +0100 Subject: [PATCH 3/4] closes #678 --- History.md | 1 + .../ZUGFeRD/ZUGFeRDInvoiceImporter.java | 13 +++++----- .../ZUGFeRD/ZF2ZInvoiceImporterTest.java | 24 ++++++++++++++++++- 3 files changed, 31 insertions(+), 7 deletions(-) diff --git a/History.md b/History.md index 701106d8..f02bc608 100644 --- a/History.md +++ b/History.md @@ -1,3 +1,4 @@ +- #678 2.16.0 ======= diff --git a/library/src/main/java/org/mustangproject/ZUGFeRD/ZUGFeRDInvoiceImporter.java b/library/src/main/java/org/mustangproject/ZUGFeRD/ZUGFeRDInvoiceImporter.java index de66b35d..b9d3f5c1 100644 --- a/library/src/main/java/org/mustangproject/ZUGFeRD/ZUGFeRDInvoiceImporter.java +++ b/library/src/main/java/org/mustangproject/ZUGFeRD/ZUGFeRDInvoiceImporter.java @@ -309,7 +309,7 @@ public class ZUGFeRDInvoiceImporter { List includedNotes = new ArrayList<>(); //UBL... - XPathExpression UBLNotesEx = xpath.compile("/*[local-name()=\"Invoice\"]/*[local-name()=\"Note\"]"); + XPathExpression UBLNotesEx = xpath.compile("/*[local-name()=\"Invoice\" or local-name()=\"CreditNote\"]/*[local-name()=\"Note\"]"); NodeList UBLNotesNd = (NodeList) UBLNotesEx.evaluate(getDocument(), XPathConstants.NODESET); if ((UBLNotesNd != null) && (UBLNotesNd.getLength() > 0)) { for (int nodeIndex = 0; nodeIndex < UBLNotesNd.getLength(); nodeIndex++) { @@ -556,15 +556,16 @@ public class ZUGFeRDInvoiceImporter { } zpp.addNotes(includedNotes); String rootNode = extractString("local-name(/*)"); - if (rootNode.equals("Invoice")) { + if (rootNode.equals("Invoice")||rootNode.equals("CreditNote")) { // UBL... - number = extractString("//*[local-name()=\"Invoice\"]/*[local-name()=\"ID\"]").trim(); - typeCode = extractString("//*[local-name()=\"Invoice\"]/*[local-name()=\"InvoiceTypeCode\"]").trim(); - String issueDateStr = extractString("//*[local-name()=\"Invoice\"]/*[local-name()=\"IssueDate\"]").trim(); + // //*[local-name()="Invoice" or local-name()="CreditNote"] + number = extractString("/*[local-name()=\"Invoice\" or local-name()=\"CreditNote\"]/*[local-name()=\"ID\"]").trim(); + typeCode = extractString("/*[local-name()=\"Invoice\" or local-name()=\"CreditNote\"]/*[local-name()=\"InvoiceTypeCode\"]").trim(); + String issueDateStr = extractString("/*[local-name()=\"Invoice\" or local-name()=\"CreditNote\"]/*[local-name()=\"IssueDate\"]").trim(); if (issueDateStr.length()>0) { issueDate = new SimpleDateFormat("yyyy-MM-dd").parse(issueDateStr); } - String dueDt = extractString("//*[local-name()=\"Invoice\"]/*[local-name()=\"DueDate\"]").trim(); + String dueDt = extractString("/*[local-name()=\"Invoice\" or local-name()=\"CreditNote\"]/*[local-name()=\"DueDate\"]").trim(); if (dueDt.length() > 0) { dueDate = new SimpleDateFormat("yyyy-MM-dd").parse(dueDt); } diff --git a/library/src/test/java/org/mustangproject/ZUGFeRD/ZF2ZInvoiceImporterTest.java b/library/src/test/java/org/mustangproject/ZUGFeRD/ZF2ZInvoiceImporterTest.java index 49c5ce78..11daecf0 100644 --- a/library/src/test/java/org/mustangproject/ZUGFeRD/ZF2ZInvoiceImporterTest.java +++ b/library/src/test/java/org/mustangproject/ZUGFeRD/ZF2ZInvoiceImporterTest.java @@ -375,7 +375,7 @@ public class ZF2ZInvoiceImporterTest extends ResourceCase { } - public void testImportMinimum() { + public void testImportMinimum() { File CIIinputFile = getResourceAsFile("cii/facturFrMinimum.xml"); try { ZUGFeRDInvoiceImporter zii = new ZUGFeRDInvoiceImporter(new FileInputStream(CIIinputFile)); @@ -394,6 +394,28 @@ public class ZF2ZInvoiceImporterTest extends ResourceCase { } + } + + public void testImportUBLCreditnote() { // Confirm some basics also work with UBL credit notes + File CIIinputFile = getResourceAsFile("ubl/UBL-CreditNote-2.1-Example.ubl.xml"); + try { + ZUGFeRDInvoiceImporter zii = new ZUGFeRDInvoiceImporter(new FileInputStream(CIIinputFile)); + + + CalculatedInvoice i = new CalculatedInvoice(); + zii.extractInto(i); + assertEquals("TOSL108", i.getNumber()); + assertEquals("729", i.getGrandTotal().toString()); + + } catch (IOException e) { + fail("IOException not expected"); + } catch (XPathExpressionException e) { + throw new RuntimeException(e); + } catch (ParseException e) { + throw new RuntimeException(e); + } + + } From 8d7a3a9d6d5578ee1c7eef7a146ab4cc708e31a2 Mon Sep 17 00:00:00 2001 From: jstaerk Date: Tue, 14 Jan 2025 07:18:28 +0100 Subject: [PATCH 4/4] closes #679 --- History.md | 1 + .../java/org/mustangproject/validator/ValidationContext.java | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/History.md b/History.md index f02bc608..6a8f4be3 100644 --- a/History.md +++ b/History.md @@ -1,4 +1,5 @@ - #678 +- #679 2.16.0 ======= diff --git a/validator/src/main/java/org/mustangproject/validator/ValidationContext.java b/validator/src/main/java/org/mustangproject/validator/ValidationContext.java index 73b95f2e..ce3cde48 100644 --- a/validator/src/main/java/org/mustangproject/validator/ValidationContext.java +++ b/validator/src/main/java/org/mustangproject/validator/ValidationContext.java @@ -70,7 +70,7 @@ public class ValidationContext { } public ValidationContext setProfile(String profile) { - this.profile = profile; + this.profile = profile.trim(); return this; }