From d8a3e5d4f60dacb135a36991acd8ca588ac2ad09 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jochen=20Sta=CC=88rk?= Date: Sun, 19 Nov 2017 18:29:27 +0100 Subject: [PATCH] closes #39 --- .../org/mustangproject/ZUGFeRD/ZUGFeRDExporter.java | 11 ++++++++++- .../ZUGFeRD/MustangReaderWriterCustomXMLTest.java | 3 +-- .../ZUGFeRD/MustangReaderWriterEdgeTest.java | 2 +- 3 files changed, 12 insertions(+), 4 deletions(-) diff --git a/src/main/java/org/mustangproject/ZUGFeRD/ZUGFeRDExporter.java b/src/main/java/org/mustangproject/ZUGFeRD/ZUGFeRDExporter.java index df83994a..86667e1f 100644 --- a/src/main/java/org/mustangproject/ZUGFeRD/ZUGFeRDExporter.java +++ b/src/main/java/org/mustangproject/ZUGFeRD/ZUGFeRDExporter.java @@ -75,6 +75,8 @@ public class ZUGFeRDExporter implements Closeable { private boolean disableAutoClose; + private boolean fileAttached=false; + public ZUGFeRDExporter() { init(); } @@ -274,7 +276,6 @@ public class ZUGFeRDExporter implements Closeable { * setZUGFeRDXMLData(byte[] zugferdData) */ public void PDFattachZugferdFile(IZUGFeRDExportableTransaction trans) throws IOException { - xmlProvider.generateXML(trans); String filename = getFilenameForVersion(ZFVersion); PDFAttachGenericFile(doc, filename, "Alternative", @@ -283,6 +284,9 @@ public class ZUGFeRDExporter implements Closeable { } public void export(String ZUGFeRDfilename) throws IOException { + if (!fileAttached) { + throw new IOException("File must be attached (usually with PDFattachZugferdFile) before perfoming this operation"); + } doc.save(ZUGFeRDfilename); if (!disableAutoClose) { close(); @@ -290,6 +294,9 @@ public class ZUGFeRDExporter implements Closeable { } public void export(OutputStream output) throws IOException { + if (!fileAttached) { + throw new IOException("File must be attached (usually with PDFattachZugferdFile) before perfoming this operation"); + } doc.save(output); if (!disableAutoClose) { close(); @@ -316,6 +323,8 @@ public class ZUGFeRDExporter implements Closeable { */ public void PDFAttachGenericFile(PDDocument doc, String filename, String relationship, String description, String subType, byte[] data) throws IOException { + fileAttached=true; + PDComplexFileSpecification fs = new PDComplexFileSpecification(); fs.setFile(filename); diff --git a/src/test/java/org/mustangproject/ZUGFeRD/MustangReaderWriterCustomXMLTest.java b/src/test/java/org/mustangproject/ZUGFeRD/MustangReaderWriterCustomXMLTest.java index 2e1647f4..4960de8e 100644 --- a/src/test/java/org/mustangproject/ZUGFeRD/MustangReaderWriterCustomXMLTest.java +++ b/src/test/java/org/mustangproject/ZUGFeRD/MustangReaderWriterCustomXMLTest.java @@ -183,8 +183,7 @@ public class MustangReaderWriterCustomXMLTest extends TestCase { + "\n" + "\n" + "\n" + ""; zea1.setZUGFeRDXMLData(ownZUGFeRDXML.getBytes("UTF-8")); - zea1.PDFattachZugferdFile(null); - + ByteArrayOutputStream baos=new ByteArrayOutputStream(); zea1.disableAutoClose(true); zea1.export(TARGET_PDF); diff --git a/src/test/java/org/mustangproject/ZUGFeRD/MustangReaderWriterEdgeTest.java b/src/test/java/org/mustangproject/ZUGFeRD/MustangReaderWriterEdgeTest.java index e47d360b..c1c2d44b 100644 --- a/src/test/java/org/mustangproject/ZUGFeRD/MustangReaderWriterEdgeTest.java +++ b/src/test/java/org/mustangproject/ZUGFeRD/MustangReaderWriterEdgeTest.java @@ -412,7 +412,7 @@ public class MustangReaderWriterEdgeTest extends TestCase implements IZUGFeRDExp ze.setZUGFeRDVersion(1); ze.PDFattachZugferdFile(this); String theXML=new String(ze.getProvider().getXML()); - //assertTrue(theXML.contains("