diff --git a/History.md b/History.md index 5641348b..a23a614a 100644 --- a/History.md +++ b/History.md @@ -1,4 +1,6 @@ - correcly write charge reason codes also for non-Xrechnung +- correctly import additional referenced documents into invoice/corrected setting of attachments from jackson +- corrected parseException structure 2.15.1 ======= diff --git a/library/src/main/java/org/mustangproject/Invoice.java b/library/src/main/java/org/mustangproject/Invoice.java index 10ba057f..648ba71f 100644 --- a/library/src/main/java/org/mustangproject/Invoice.java +++ b/library/src/main/java/org/mustangproject/Invoice.java @@ -21,10 +21,7 @@ package org.mustangproject; import java.math.BigDecimal; -import java.util.ArrayList; -import java.util.Collection; -import java.util.Date; -import java.util.List; +import java.util.*; import com.fasterxml.jackson.annotation.JsonInclude; import org.mustangproject.ZUGFeRD.*; @@ -116,6 +113,16 @@ public class Invoice implements IExportableTransaction { } + /*** + * setter in case e.g. jackson tries to map attachments (normal use embedFileInXML) + * @param fileArr Array of FileAttachments + * @return fluent setter + */ + public Invoice setAdditionalReferencedDocuments(FileAttachment[] fileArr) { + xmlEmbeddedFiles = new ArrayList<>(Arrays.asList(fileArr)); + return this; + } + @Override public IZUGFeRDCashDiscount[] getCashDiscounts() { return cashDiscounts.toArray(new IZUGFeRDCashDiscount[0]); diff --git a/library/src/test/java/org/mustangproject/ZUGFeRD/XRTest.java b/library/src/test/java/org/mustangproject/ZUGFeRD/XRTest.java index 5a263eca..3efa4ccf 100644 --- a/library/src/test/java/org/mustangproject/ZUGFeRD/XRTest.java +++ b/library/src/test/java/org/mustangproject/ZUGFeRD/XRTest.java @@ -136,11 +136,11 @@ public class XRTest extends TestCase { } catch (IOException e) { fail("IOException not expected"); } - List attachedFiles=zii.getFileAttachmentsXML(); + FileAttachment[] attachedFiles=readInvoice.getAdditionalReferencedDocuments(); assertNotNull(attachedFiles); - assertEquals(attachedFiles.size(), 1); + assertEquals(attachedFiles.length, 1); - assertTrue(Arrays.equals(attachedFiles.get(0).getData(), b)); + assertTrue(Arrays.equals(attachedFiles[0].getData(), b)); }