diff --git a/mustang/pom.xml b/mustang/pom.xml index 83350a5a..54ae39fd 100644 --- a/mustang/pom.xml +++ b/mustang/pom.xml @@ -4,7 +4,7 @@ org.mustangproject.ZUGFeRD mustang - 1.1.0.alpha + 1.1.0 @@ -40,7 +40,7 @@ org.apache.pdfbox pdfbox - 2.0.0-SNAPSHOT + 1.8.6 compile diff --git a/mustang/src/main/java/org/mustangproject/ZUGFeRD/ZUGFeRDImporter.java b/mustang/src/main/java/org/mustangproject/ZUGFeRD/ZUGFeRDImporter.java index 584f8ffe..1c8f7dc6 100644 --- a/mustang/src/main/java/org/mustangproject/ZUGFeRD/ZUGFeRDImporter.java +++ b/mustang/src/main/java/org/mustangproject/ZUGFeRD/ZUGFeRDImporter.java @@ -3,8 +3,8 @@ package org.mustangproject.ZUGFeRD; * Mustangproject's ZUGFeRD implementation * ZUGFeRD importer * Licensed under the APLv2 - * @date 2014-06-20 - * @version 1.0.1 + * @date 2014-07-07 + * @version 1.1.0 * @author jstaerk * */ diff --git a/mustang/src/test/java/org/mustangproject/ZUGFeRD/MustangWriterTest.java b/mustang/src/test/java/org/mustangproject/ZUGFeRD/MustangWriterTest.java deleted file mode 100644 index f7043564..00000000 --- a/mustang/src/test/java/org/mustangproject/ZUGFeRD/MustangWriterTest.java +++ /dev/null @@ -1,340 +0,0 @@ -package org.mustangproject.ZUGFeRD; - - -import java.io.IOException; -import java.math.BigDecimal; -import java.util.Calendar; -import java.util.Date; -import java.util.GregorianCalendar; - -import javax.xml.transform.TransformerException; - -import junit.framework.Test; -import junit.framework.TestCase; -import junit.framework.TestSuite; - -import org.apache.pdfbox.pdmodel.PDDocument; - - -public class MustangWriterTest extends TestCase implements IZUGFeRDExportableTransaction { - - @Override - public Date getDeliveryDate() { - return new GregorianCalendar(2014, Calendar.JULY, 3).getTime(); - } - - @Override - public Date getDueDate() { - return new GregorianCalendar(2014, Calendar.JULY, 24).getTime(); - } - - @Override - public Date getIssueDate() { - return new GregorianCalendar(2014, Calendar.JULY, 3).getTime(); - } - - @Override - public String getNumber() { - return "RE-20140703/502"; - } - - @Override - public String getOwnBIC() { - return "COBADEFXXX"; - } - - @Override - public String getOwnBankName() { - return "Commerzbank"; - } - - @Override - public String getOwnCountry() { - return "DE"; - } - - @Override - public String getOwnIBAN() { - return "DE88 2008 0000 0970 3757 00"; - } - - @Override - public String getOwnLocation() { - return "Stadthausen"; - } - - @Override - public String getOwnOrganisationName() { - return "Bei Spiel GmbH"; - } - - @Override - public String getOwnStreet() { - return "Ecke 12"; - } - - @Override - public String getOwnTaxID() { - return "22/815/0815/4"; - } - - @Override - public String getOwnVATID() { - return "DE136695976"; - } - - @Override - public String getOwnZIP() { - return "12345"; - } - - @Override - public IZUGFeRDExportableContact getRecipient() { - return new Contact(); - } - - @Override - public BigDecimal getTotal() { - return new BigDecimal("496.00"); - } - - @Override - public BigDecimal getTotalGross() { - return new BigDecimal("571.04"); - } - - @Override - public IZUGFeRDExportableItem[] getZFItems() { - Item[] allItems = new Item[3]; - Product designProduct = new Product("", - "Künstlerische Gestaltung (Stunde)", "HUR", new BigDecimal( - "7.000000")); - Product balloonProduct = new Product("", "Luftballon", "C62", - new BigDecimal("19.000000")); - Product airProduct = new Product("", "Heiße Luft pro Liter", "LTR", - new BigDecimal("19.000000")); - - allItems[0] = new Item(new BigDecimal("160"), new BigDecimal("171.20"), - new BigDecimal("1"), new BigDecimal("171.20"), designProduct); - allItems[1] = new Item(new BigDecimal("0.79"), new BigDecimal("0.94"), - new BigDecimal("400"), new BigDecimal("376.04"), balloonProduct); - allItems[2] = new Item(new BigDecimal("0.10"), new BigDecimal("0.12"), - new BigDecimal("200"), new BigDecimal("23.80"), airProduct); - return allItems; - } - - class Contact implements IZUGFeRDExportableContact { - - @Override - public String getCountry() { - return "DE"; - } - - @Override - public String getLocation() { - return "Spielkreis"; - } - - @Override - public String getName() { - return "Theodor Est"; - } - - @Override - public String getStreet() { - return "Bahnstr. 42"; - } - - @Override - public String getVATID() { - return "DE999999999"; - } - - @Override - public String getZIP() { - return "88802"; - } - } - - class Item implements IZUGFeRDExportableItem { - - public Item(BigDecimal price, BigDecimal priceGross, - BigDecimal quantity, BigDecimal totalGross, Product product) { - super(); - this.price = price; - this.priceGross = priceGross; - this.quantity = quantity; - this.totalGross = totalGross; - this.product = product; - } - - private BigDecimal price, priceGross, quantity, totalGross; - private Product product; - - public BigDecimal getPrice() { - return price; - } - - public void setPrice(BigDecimal price) { - this.price = price; - } - - public BigDecimal getPriceGross() { - return priceGross; - } - - public void setPriceGross(BigDecimal priceGross) { - this.priceGross = priceGross; - } - - public BigDecimal getQuantity() { - return quantity; - } - - public void setQuantity(BigDecimal quantity) { - this.quantity = quantity; - } - - public BigDecimal getTotalGross() { - return totalGross; - } - - public void setTotalGross(BigDecimal totalGross) { - this.totalGross = totalGross; - } - - public Product getProduct() { - return product; - } - - public void setProduct(Product product) { - this.product = product; - } - - } - - class Product implements IZUGFeRDExportableProduct { - private String description, name, unit; - private BigDecimal VATPercent; - - public Product(String description, String name, String unit, - BigDecimal VATPercent) { - super(); - this.description = description; - this.name = name; - this.unit = unit; - this.VATPercent = VATPercent; - } - - public String getDescription() { - return description; - } - - public void setDescription(String description) { - this.description = description; - } - - public String getName() { - return name; - } - - public void setName(String name) { - this.name = name; - } - - public String getUnit() { - return unit; - } - - public void setUnit(String unit) { - this.unit = unit; - } - - public BigDecimal getVATPercent() { - return VATPercent; - } - - public void setVATPercent(BigDecimal vATPercent) { - VATPercent = vATPercent; - } - - } - - private void apply() { - PDDocument doc; - try { - System.out.println("Lese Blanko-PDF"); - doc = PDDocument - .load("./src/test/MustangGnuaccountingBeispielRE-20140703_502blanko.pdf"); - // automatically add Zugferd to all outgoing invoices - ZUGFeRDExporter ze = new ZUGFeRDExporter(); - System.out.println("Wandle in PDF/A-3u um"); - ze.PDFmakeA3compliant(doc, "My Application", - System.getProperty("user.name"), true); - System.out.println("ZUGFeRD-Daten generieren und anhängen"); - ze.PDFattachZugferdFile(doc, this); - System.out.println("Schreibe ZUGFeRD-PDF"); - doc.save("./src/test/MustangGnuaccountingBeispielRE-20140703_502new.pdf"); - System.out.println("Fertig."); - } catch (IOException e) { - e.printStackTrace(); - } catch (TransformerException e) { - e.printStackTrace(); - } - - } - - /** - * Create the test case - * - * @param testName - * name of the test case - */ - public MustangWriterTest(String testName) { - super(testName); - } - - /** - * @return the suite of tests being tested - */ - public static Test suite() { - return new TestSuite(MustangWriterTest.class); - } - - - - public void testExport() { - // generate ./src/test/MustangGnuaccountingBeispielRE-20140703_502new.pdf from ./src/test/MustangGnuaccountingBeispielRE-20140703_502blank.pdf: - // the writing part - apply(); - // now check the contents (like MustangReaderTest) - ZUGFeRDImporter zi = new ZUGFeRDImporter(); - zi.extract("./src/test/MustangGnuaccountingBeispielRE-20140703_502new.pdf"); - // Reading ZUGFeRD - - String amount=null; - String bic=null; - String iban=null; - String holder=null; - String ref=null; - - if (zi.canParse()) { - zi.parse(); - amount=zi.getAmount(); - bic=zi.getBIC(); - iban=zi.getIBAN(); - holder=zi.getHolder(); - ref=zi.getForeignReference(); - } - - - assertEquals(amount, "571.04"); - assertEquals(bic, "COBADEFXXX"); - assertEquals(iban, "DE88 2008 0000 0970 3757 00"); - assertEquals(holder, "Bei Spiel GmbH"); - assertEquals(ref, "RE-20140703/502"); - - - } - -} diff --git a/mustang/target/mustang-1.1.0.jar b/mustang/target/mustang-1.1.0.jar new file mode 100644 index 00000000..a2be2b0f Binary files /dev/null and b/mustang/target/mustang-1.1.0.jar differ