diff --git a/History.md b/History.md
index 60d468de..62514f0a 100644
--- a/History.md
+++ b/History.md
@@ -9,7 +9,6 @@
- complete or discard read into push provider
- integrates validator
- validator now additionally supports xrechnung
-- integrates mustangserver
- modular project setup
- getSellerTradePartyAddress (PR #157 ) thanks to aberndt-hub
- switched from eclipse to IntelliJ
diff --git a/Mustang-CLI/pom.xml b/Mustang-CLI/pom.xml
index 9288d2fa..8d0861f1 100644
--- a/Mustang-CLI/pom.xml
+++ b/Mustang-CLI/pom.xml
@@ -164,12 +164,6 @@
**
-
- com.sun.xml.bind:jaxb-core
-
- **
-
-
diff --git a/library/src/main/java/org/mustangproject/ZUGFeRD/ZUGFeRDExporterFromA1.java b/library/src/main/java/org/mustangproject/ZUGFeRD/ZUGFeRDExporterFromA1.java
index a4d0d51d..b3c01beb 100644
--- a/library/src/main/java/org/mustangproject/ZUGFeRD/ZUGFeRDExporterFromA1.java
+++ b/library/src/main/java/org/mustangproject/ZUGFeRD/ZUGFeRDExporterFromA1.java
@@ -77,6 +77,7 @@ public class ZUGFeRDExporterFromA1 extends ZUGFeRDExporterFromA3 implements IZUG
public ZUGFeRDExporterFromA1() {
ensurePDFisUpgraded = true;
+ setZUGFeRDVersion(ZUGFeRDExporterFromA3.DefaultZUGFeRDVersion);
}
diff --git a/library/src/main/java/org/mustangproject/ZUGFeRD/ZUGFeRDExporterFromA3.java b/library/src/main/java/org/mustangproject/ZUGFeRD/ZUGFeRDExporterFromA3.java
index b73a8d52..c450edb0 100644
--- a/library/src/main/java/org/mustangproject/ZUGFeRD/ZUGFeRDExporterFromA3.java
+++ b/library/src/main/java/org/mustangproject/ZUGFeRD/ZUGFeRDExporterFromA3.java
@@ -199,7 +199,7 @@ public class ZUGFeRDExporterFromA3 extends XRExporter implements IZUGFeRDExporte
}
public ZUGFeRDExporterFromA3() {
-
+ super();
ensurePDFisUpgraded = false;
}
diff --git a/library/src/test/java/org/mustangproject/ZUGFeRD/UXTest.java b/library/src/test/java/org/mustangproject/ZUGFeRD/UXTest.java
new file mode 100644
index 00000000..dca81b70
--- /dev/null
+++ b/library/src/test/java/org/mustangproject/ZUGFeRD/UXTest.java
@@ -0,0 +1,118 @@
+
+/** **********************************************************************
+ *
+ * Copyright 2019 Jochen Staerk
+ *
+ * Use is subject to license terms.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not
+ * use this file except in compliance with the License. You may obtain a copy
+ * of the License at http://www.apache.org/licenses/LICENSE-2.0.
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+ * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ *
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ *********************************************************************** */
+package org.mustangproject.ZUGFeRD;
+
+import junit.framework.Test;
+import junit.framework.TestCase;
+import junit.framework.TestSuite;
+import org.junit.FixMethodOrder;
+import org.junit.runners.MethodSorters;
+import org.mustangproject.Contact;
+import org.mustangproject.Invoice;
+import org.mustangproject.Item;
+import org.mustangproject.Product;
+
+import java.io.IOException;
+import java.io.InputStream;
+import java.math.BigDecimal;
+import java.text.SimpleDateFormat;
+import java.util.Calendar;
+import java.util.Date;
+import java.util.GregorianCalendar;
+import java.util.List;
+
+@FixMethodOrder(MethodSorters.NAME_ASCENDING)
+public class UXTest extends TestCase {
+ final String TARGET_PDF = "./target/testout-ZF2new.pdf";
+ public void testShortExport() {
+
+ // the writing part
+
+ try (InputStream SOURCE_PDF = this.getClass()
+ .getResourceAsStream("/MustangGnuaccountingBeispielRE-20170509_505PDFA3.pdf"))
+ {
+ Invoice i = new Invoice().setDueDate(new Date()).setIssueDate(new Date()).setDeliveryDate(new Date()).setOwnOrganisationName("My company").setOwnStreet("teststr").setOwnZIP("12345").setOwnLocation("teststadt").setOwnCountry("DE").setOwnTaxID("4711").setOwnVATID("0815").setRecipient(new Contact("Franz Müller", "0177123456", "fmueller@test.com", "teststr.12", "55232", "Entenhausen", "DE")).setNumber("INV/123").addItem(new Item(new Product("Testprodukt", "", "C62", new BigDecimal(0)), new BigDecimal(1.0), new BigDecimal(1.0)));
+ new ZUGFeRDExporterFromA1().load("source.pdf").setTransaction(i).export(TARGET_PDF);
+ } catch (Exception e) {
+ fail("Exception should not be raised in testEdgeExport");
+ }
+
+ // now check the contents (like MustangReaderTest)
+ ZUGFeRDImporter zi = new ZUGFeRDImporter(TARGET_PDF);
+
+ assertTrue(zi.getUTF8().contains(""));
+
+ // Reading ZUGFeRD
+ assertEquals(zi.getAmount(), "571.04");
+ assertEquals(zi.getInvoiceID(), "RE-20170509/505");
+ assertEquals(zi.getZUGFeRDProfil(), "COMFORT");
+ assertEquals(zi.getInvoiceCurrencyCode(), "EUR");
+ assertEquals(zi.getIssuerAssignedID(),"");
+ assertEquals(zi.getIssueDate(), "20170509");
+ assertEquals(zi.getTaxPointDate(), "20170507");
+ assertEquals(zi.getPaymentTerms(), "Zahlbar ohne Abzug bis zum 30.05.2017");
+ assertEquals(zi.getLineTotalAmount(), "496.00");
+ assertEquals(zi.getTaxBasisTotalAmount(), "496.00");
+ assertEquals(zi.getTaxTotalAmount(),"75.04");
+ assertEquals(zi.getRoundingAmount(), "");
+ assertEquals(zi.getPaidAmount(), "0.00");
+ assertEquals(zi.getBuyerTradePartyName(), "Theodor Est");
+ assertEquals(zi.getBuyerTradePartyGlobalID(), "");
+ assertEquals(zi.getSellerTradePartyGlobalID(), "");
+ assertEquals(zi.getBuyerTradePartyID(), "DE999999999");
+ assertEquals(zi.getBuyertradePartySpecifiedTaxRegistrationID(), "DE999999999");
+ assertEquals(zi.getIncludedNote(), "");
+ assertEquals(zi.getDocumentCode(),"380");
+ assertEquals(zi.getReference(),"AB321");
+ assertEquals(zi.getAmount(), "571.04");
+ assertEquals(zi.getBuyerTradePartyAddress().getPostcodeCode(), "88802");
+ assertEquals(zi.getBuyerTradePartyAddress().getLineOne(), "Bahnstr. 42");
+ assertEquals(zi.getBuyerTradePartyAddress().getLineTwo(), null);
+ assertEquals(zi.getBuyerTradePartyAddress().getLineThree(), null);
+ assertEquals(zi.getBuyerTradePartyAddress().getCountrySubDivisionName(), null);
+ assertEquals(zi.getBuyerTradePartyAddress().getCountryID(), "DE");
+ assertEquals(zi.getBuyerTradePartyAddress().getCityName(), "Spielkreis");
+ assertEquals(zi.getSellerTradePartyAddress().getPostcodeCode(), "12345");
+ assertEquals(zi.getSellerTradePartyAddress().getLineOne(), "Ecke 12");
+ assertEquals(zi.getSellerTradePartyAddress().getLineTwo(), null);
+ assertEquals(zi.getSellerTradePartyAddress().getLineThree(), null);
+ assertEquals(zi.getSellerTradePartyAddress().getCountrySubDivisionName(), null);
+ assertEquals(zi.getSellerTradePartyAddress().getCountryID(), "DE");
+ assertEquals(zi.getSellerTradePartyAddress().getCityName(), "Stadthausen");
+
+ List li = zi.getLineItemList();
+ assertEquals(zi.getLineItemList().get(0).getId().toString(), "1");
+ assertEquals(zi.getLineItemList().get(0).getProduct().getBuyerAssignedID(), "");
+ assertEquals(zi.getLineItemList().get(0).getProduct().getSellerAssignedID(), "");
+ assertEquals(zi.getLineItemList().get(0).getLineTotalAmount().toString(), "160.00");
+ assertEquals(zi.getLineItemList().get(0).getQuantity().toString(), "1.0000");
+ assertEquals(zi.getLineItemList().get(0).getGrossPrice().toString(), "160.0000");
+ assertEquals(zi.getLineItemList().get(0).getProduct().getVATPercent().toString(), "7.00");
+ assertEquals(zi.getLineItemList().get(0).getProduct().getName(), "Künstlerische Gestaltung (Stunde): Einer Beispielrechnung");
+ assertEquals(zi.getLineItemList().get(0).getProduct().getDescription(), "");
+
+ try {
+ assertEquals(zi.getVersion(), 2);
+ } catch (Exception e) {
+ // TODO Auto-generated catch block
+ e.printStackTrace();
+ }
+ }
+}
diff --git a/validator/pom.xml b/validator/pom.xml
index c3ce3474..51ed5838 100644
--- a/validator/pom.xml
+++ b/validator/pom.xml
@@ -199,12 +199,6 @@
**
-
- com.sun.xml.bind:jaxb-core
-
- **
-
-