diff --git a/library/src/main/java/org/mustangproject/TradeParty.java b/library/src/main/java/org/mustangproject/TradeParty.java
index 3311fbf5..e1069e4d 100644
--- a/library/src/main/java/org/mustangproject/TradeParty.java
+++ b/library/src/main/java/org/mustangproject/TradeParty.java
@@ -5,9 +5,9 @@ import org.mustangproject.ZUGFeRD.IZUGFeRDExportableTradeParty;
public class TradeParty implements IZUGFeRDExportableTradeParty {
- protected String name,zip,street,location,country;
- protected String taxID=null, vatID=null;
- protected Contact contact=null;
+ protected String name, zip, street, location, country;
+ protected String taxID = null, vatID = null;
+ protected Contact contact = null;
public TradeParty(String name, String street, String zip, String location, String country) {
this.name = name;
@@ -24,12 +24,12 @@ public class TradeParty implements IZUGFeRDExportableTradeParty {
}
public TradeParty addTaxID(String taxID) {
- this.taxID=taxID;
+ this.taxID = taxID;
return this;
}
public TradeParty addVATID(String vatID) {
- this.vatID=vatID;
+ this.vatID = vatID;
return this;
}
@@ -91,4 +91,18 @@ public class TradeParty implements IZUGFeRDExportableTradeParty {
this.country = country;
return this;
}
+
+
+ public String getVatID() {
+ return vatID;
+ }
+
+ public String getZip() {
+ return zip;
+ }
+
+ @Override
+ public IZUGFeRDExportableContact getContact() {
+ return contact;
+ }
}
diff --git a/library/src/main/java/org/mustangproject/ZUGFeRD/ZUGFeRD2PullProvider.java b/library/src/main/java/org/mustangproject/ZUGFeRD/ZUGFeRD2PullProvider.java
index c9995ac4..1db437d1 100644
--- a/library/src/main/java/org/mustangproject/ZUGFeRD/ZUGFeRD2PullProvider.java
+++ b/library/src/main/java/org/mustangproject/ZUGFeRD/ZUGFeRD2PullProvider.java
@@ -159,38 +159,54 @@ public class ZUGFeRD2PullProvider implements IXMLProvider, IProfileProvider {
return "urn:cen.eu:en16931:2017";
}
- protected String getTradePartyAsXML(IZUGFeRDExportableTradeParty contact) {
+ protected String getTradePartyAsXML(IZUGFeRDExportableTradeParty party) {
String xml = "";
// According EN16931 either GlobalID or seller assigned ID might be present for BuyerTradeParty
// and ShipToTradeParty, but not both. Prefer seller assigned ID for now.
- if (contact.getID()!=null) {
- xml += " " + XMLTools.encodeXML(contact.getID()) + "\n";
+ if (party.getID()!=null) {
+ xml += " " + XMLTools.encodeXML(party.getID()) + "\n";
}
- else if ((contact.getGlobalIDScheme()!=null)&&(contact.getGlobalID()!=null)) {
- xml = xml + " "
- + XMLTools.encodeXML(contact.getGlobalID()) + "\n";
+ else if ((party.getGlobalIDScheme()!=null)&&(party.getGlobalID()!=null)) {
+ xml = xml + " "
+ + XMLTools.encodeXML(party.getGlobalID()) + "\n";
+ }
+ xml += " " + XMLTools.encodeXML(party.getName()) + "\n"; //$NON-NLS-2$
+
+ if (party.getContact() != null) {
+ xml = xml + "\n" + " " + XMLTools.encodeXML(party.getContact().getName())
+ + "\n";
+ if (party.getContact().getPhone() != null) {
+
+ xml = xml + " \n" + " "
+ + XMLTools.encodeXML(party.getContact().getPhone()) + "\n"
+ + " \n";
+ }
+ if (party.getContact().getEMail() != null) {
+
+ xml = xml + " \n" + " "
+ + XMLTools.encodeXML(party.getContact().getEMail()) + "\n"
+ + " \n";
+ }
+ xml = xml + " ";
+
}
- xml += " " + XMLTools.encodeXML(contact.getName()) + "\n"; //$NON-NLS-2$
- // + " \n"
- // + " xxx\n"
- // + " \n"
xml += " \n"
- + " " + XMLTools.encodeXML(contact.getZIP())
+ + " " + XMLTools.encodeXML(party.getZIP())
+ "\n"
- + " " + XMLTools.encodeXML(contact.getStreet())
+ + " " + XMLTools.encodeXML(party.getStreet())
+ "\n";
- if (contact.getAdditionalAddress() != null) {
- xml += " " + XMLTools.encodeXML(contact.getAdditionalAddress())
+ if (party.getAdditionalAddress() != null) {
+ xml += " " + XMLTools.encodeXML(party.getAdditionalAddress())
+ "\n";
}
- xml += " " + XMLTools.encodeXML(contact.getLocation())
+ xml += " " + XMLTools.encodeXML(party.getLocation())
+ "\n"
- + " " + XMLTools.encodeXML(contact.getCountry())
+ + " " + XMLTools.encodeXML(party.getCountry())
+ "\n"
+ " \n";
- if (contact.getVATID() != null) {
+ if (party.getVATID() != null) {
xml += " \n"
- + " " + XMLTools.encodeXML(contact.getVATID())
+ + " " + XMLTools.encodeXML(party.getVATID())
+ "\n"
+ " \n";
}
@@ -369,55 +385,8 @@ public class ZUGFeRD2PullProvider implements IXMLProvider, IProfileProvider {
xml = xml + " " + XMLTools.encodeXML(trans.getReferenceNumber()) + "\n";
}
- xml = xml + " \n";
- if (trans.getOwnForeignOrganisationID() != null) {
- xml = xml + " " + XMLTools.encodeXML(trans.getOwnForeignOrganisationID()) + "\n";
- }
-
- if ((trans.getSender() != null) && (trans.getSender().getGlobalID() != null) && (trans.getSender().getGlobalIDScheme() != null)) {
- xml = xml + " "
- + XMLTools.encodeXML(trans.getSender().getGlobalID()) + "\n";
- }
- xml = xml + " " + XMLTools.encodeXML(trans.getSender().getName()) + "\n"; //$NON-NLS-2$
-
- if ((trans.getOwnVATID() != null) && (trans.getOwnOrganisationName() != null)) {
-
- xml = xml + " \n" + " "
- + XMLTools.encodeXML(trans.getOwnVATID()) + "\n" + " "
- + XMLTools.encodeXML(trans.getOwnOrganisationName()) + "\n"
- + " ";
- }
-
- if (trans.getSender().getContact() != null) {
- xml = xml + "\n" + " " + XMLTools.encodeXML(trans.getSender().getContact().getName())
- + "\n";
- if (trans.getSender().getContact().getPhone() != null) {
-
- xml = xml + " \n" + " "
- + XMLTools.encodeXML(trans.getSender().getContact().getPhone()) + "\n"
- + " \n";
- }
- if (trans.getSender().getContact().getEMail() != null) {
-
- xml = xml + " \n" + " "
- + XMLTools.encodeXML(trans.getSender().getContact().getEMail()) + "\n"
- + " \n";
- }
- xml = xml + " ";
-
- }
-
- xml = xml + " \n" + " "
- + XMLTools.encodeXML(trans.getOwnZIP()) + "\n" + " "
- + XMLTools.encodeXML(trans.getOwnStreet()) + "\n" + " " + XMLTools.encodeXML(trans.getOwnLocation())
- + "\n" + " " + XMLTools.encodeXML(trans.getOwnCountry())
- + "\n" + " \n"
- + " \n"
- + " " + XMLTools.encodeXML(trans.getOwnTaxID()) + "\n" //$NON-NLS-2$
- + " \n"
- + " \n"
- + " " + XMLTools.encodeXML(trans.getOwnVATID()) + "\n" //$NON-NLS-2$
- + " \n"
+ xml = xml + " \n"
+ + getTradePartyAsXML(trans.getSender())
+ " \n"
+ " \n";
// + " GE2020211\n"
diff --git a/library/src/test/java/org/mustangproject/ZUGFeRD/MustangReaderTestCase.java b/library/src/test/java/org/mustangproject/ZUGFeRD/MustangReaderTestCase.java
index c0947bfc..437d0883 100644
--- a/library/src/test/java/org/mustangproject/ZUGFeRD/MustangReaderTestCase.java
+++ b/library/src/test/java/org/mustangproject/ZUGFeRD/MustangReaderTestCase.java
@@ -118,7 +118,7 @@ public abstract class MustangReaderTestCase extends TestCase implements IExporta
@Override
public String getZIP() {
- return "55232";
+ return "12345";
}
@Override
diff --git a/library/src/test/java/org/mustangproject/ZUGFeRD/ZF2PushTest.java b/library/src/test/java/org/mustangproject/ZUGFeRD/ZF2PushTest.java
index 4ad130c1..147aeead 100644
--- a/library/src/test/java/org/mustangproject/ZUGFeRD/ZF2PushTest.java
+++ b/library/src/test/java/org/mustangproject/ZUGFeRD/ZF2PushTest.java
@@ -54,7 +54,7 @@ public class ZF2PushTest extends TestCase {
.setCreator(System.getProperty("user.name")).setZUGFeRDVersion(2).ignorePDFAErrors()
.load(SOURCE_PDF)) {
- ze.setTransaction(new Invoice().setDueDate(new Date()).setIssueDate(new Date()).setDeliveryDate(new Date()).setContractReferencedDocument("0815").setSender(new TradeParty(orgname,"teststr", "55232","teststadt","DE")).setOwnTaxID("4711").setOwnVATID("DE19990815").setRecipient(new TradeParty("Franz Müller","teststr.12", "55232", "Entenhausen", "DE")).setNumber(number).addItem(new Item(new Product("Testprodukt", "", "C62", new BigDecimal(19)), amount, new BigDecimal(1.0))));
+ ze.setTransaction(new Invoice().setDueDate(new Date()).setIssueDate(new Date()).setDeliveryDate(new Date()).setContractReferencedDocument("0815").setSender(new TradeParty(orgname,"teststr", "55232","teststadt","DE")).setOwnTaxID("4711").setOwnVATID("DE19990815").setRecipient(new TradeParty("Franz Müller","teststr.12", "55232", "Entenhausen", "DE").setContact(new Contact("nameRep", "phoneRep", "emailRep@test.com"))).setNumber(number).addItem(new Item(new Product("Testprodukt", "", "C62", new BigDecimal(19)), amount, new BigDecimal(1.0))));
String theXML = new String(ze.getProvider().getXML());
assertTrue(theXML.contains("