diff --git a/History.md b/History.md
index 4b7d42b6..8b67d1fe 100644
--- a/History.md
+++ b/History.md
@@ -29,7 +29,9 @@ switch
- validate as library doc
- unify loggers
- release notes
-- new tradeparty class, switch recipient, shipping address from contact to tradeparty
+- new tradeparty class, Contact getOwnContact superseded by TradeParty getSender
+- switch recipient, shipping address from contact to tradeparty
+- new invoicecorrection class
### 2.0 still todo
- verapdf as prevalidation?
diff --git a/library/src/main/java/org/mustangproject/ZUGFeRD/IExportableTransaction.java b/library/src/main/java/org/mustangproject/ZUGFeRD/IExportableTransaction.java
index 76bb7e01..fdaf66a4 100644
--- a/library/src/main/java/org/mustangproject/ZUGFeRD/IExportableTransaction.java
+++ b/library/src/main/java/org/mustangproject/ZUGFeRD/IExportableTransaction.java
@@ -195,7 +195,11 @@ public interface IExportableTransaction {
* @return the sender's organisation name
*/
default String getOwnOrganisationName() {
- return null;
+ if (getSender()!=null) {
+ return getSender().getName();
+ } else {
+ return null;
+ }
}
@@ -205,7 +209,11 @@ public interface IExportableTransaction {
* @return sender street address
*/
default String getOwnStreet() {
- return null;
+ if (getSender()!=null) {
+ return getSender().getStreet();
+ } else {
+ return null;
+ }
}
@@ -215,7 +223,12 @@ public interface IExportableTransaction {
* @return sender postal code
*/
default String getOwnZIP() {
- return null;
+ if (getSender()!=null) {
+ return getSender().getZIP();
+ } else {
+ return null;
+ }
+
}
@@ -225,7 +238,12 @@ public interface IExportableTransaction {
* @return the invoice sender's city
*/
default String getOwnLocation() {
- return null;
+ if (getSender()!=null) {
+ return getSender().getLocation();
+ } else {
+ return null;
+ }
+
}
@@ -235,7 +253,12 @@ public interface IExportableTransaction {
* @return the invoice senders two character country iso code
*/
default String getOwnCountry() {
- return null;
+ if (getSender()!=null) {
+ return getSender().getCountry();
+ } else {
+ return null;
+ }
+
}
diff --git a/library/src/main/java/org/mustangproject/ZUGFeRD/ZUGFeRD2PullProvider.java b/library/src/main/java/org/mustangproject/ZUGFeRD/ZUGFeRD2PullProvider.java
index 9c252217..29dcfcd3 100644
--- a/library/src/main/java/org/mustangproject/ZUGFeRD/ZUGFeRD2PullProvider.java
+++ b/library/src/main/java/org/mustangproject/ZUGFeRD/ZUGFeRD2PullProvider.java
@@ -351,7 +351,7 @@ public class ZUGFeRD2PullProvider implements IXMLProvider, IProfileProvider {
xml = xml + " "
+ XMLTools.encodeXML(trans.getSender().getGlobalID()) + "\n";
}
- xml = xml + " " + XMLTools.encodeXML(trans.getOwnOrganisationName()) + "\n"; //$NON-NLS-2$
+ xml = xml + " " + XMLTools.encodeXML(trans.getSender().getName()) + "\n"; //$NON-NLS-2$
if ((trans.getOwnVATID()!=null)&&(trans.getOwnOrganisationName()!=null)) {
diff --git a/library/src/test/java/org/mustangproject/ZUGFeRD/BackwardCompatibilityTest.java b/library/src/test/java/org/mustangproject/ZUGFeRD/BackwardCompatibilityTest.java
index 026d79c9..21b9fce2 100644
--- a/library/src/test/java/org/mustangproject/ZUGFeRD/BackwardCompatibilityTest.java
+++ b/library/src/test/java/org/mustangproject/ZUGFeRD/BackwardCompatibilityTest.java
@@ -302,12 +302,17 @@ public class BackwardCompatibilityTest extends TestCase implements IExportableTr
return new GregorianCalendar(2019, Calendar.JUNE, 10).getTime();
}
-
+
@Override
public IZUGFeRDExportableTradeParty getRecipient() {
return new TradeParty("name","street","zip","city","DE");
}
+
+ @Override
+ public IZUGFeRDExportableTradeParty getSender() {
+ return new TradeParty("Bei Spiel GmbH","street","zip","city","DE");
+ }
//
diff --git a/library/src/test/java/org/mustangproject/ZUGFeRD/MustangReaderTestCase.java b/library/src/test/java/org/mustangproject/ZUGFeRD/MustangReaderTestCase.java
index df54834b..df3cb918 100644
--- a/library/src/test/java/org/mustangproject/ZUGFeRD/MustangReaderTestCase.java
+++ b/library/src/test/java/org/mustangproject/ZUGFeRD/MustangReaderTestCase.java
@@ -86,7 +86,7 @@ public abstract class MustangReaderTestCase extends TestCase implements IExporta
return "88802";
}
}
-
+
protected class SenderContact implements IZUGFeRDExportableContact {
@@ -108,6 +108,36 @@ public abstract class MustangReaderTestCase extends TestCase implements IExporta
}
+ protected class SenderTradeParty implements IZUGFeRDExportableTradeParty {
+
+
+ @Override
+ public String getName() {
+ return "Bei Spiel GmbH";
+ }
+
+ @Override
+ public String getZIP() {
+ return "55232";
+ }
+
+ @Override
+ public String getCountry() {
+ return "DE";
+ }
+
+ @Override
+ public String getLocation() {
+ return "Stadthausen";
+ }
+
+ @Override
+ public String getStreet() {
+ return "Ecke 12";
+ }
+
+ }
+
protected class Item implements IZUGFeRDExportableItem {
public Item(BigDecimal price, BigDecimal quantity, IZUGFeRDExportableProduct product) {
diff --git a/library/src/test/java/org/mustangproject/ZUGFeRD/MustangReaderWriterEdgeTest.java b/library/src/test/java/org/mustangproject/ZUGFeRD/MustangReaderWriterEdgeTest.java
index 81816e5f..bb956282 100644
--- a/library/src/test/java/org/mustangproject/ZUGFeRD/MustangReaderWriterEdgeTest.java
+++ b/library/src/test/java/org/mustangproject/ZUGFeRD/MustangReaderWriterEdgeTest.java
@@ -76,8 +76,8 @@ public class MustangReaderWriterEdgeTest extends MustangReaderTestCase {
@Override
- public IZUGFeRDExportableContact getOwnContact() {
- return new SenderContact();
+ public IZUGFeRDExportableTradeParty getSender() {
+ return new SenderTradeParty();
}
diff --git a/library/src/test/java/org/mustangproject/ZUGFeRD/MustangReaderWriterTest.java b/library/src/test/java/org/mustangproject/ZUGFeRD/MustangReaderWriterTest.java
index 7a2c93df..063212f9 100644
--- a/library/src/test/java/org/mustangproject/ZUGFeRD/MustangReaderWriterTest.java
+++ b/library/src/test/java/org/mustangproject/ZUGFeRD/MustangReaderWriterTest.java
@@ -105,8 +105,8 @@ public class MustangReaderWriterTest extends MustangReaderTestCase {
}
@Override
- public IZUGFeRDExportableContact getOwnContact() {
- return new SenderContact();
+ public IZUGFeRDExportableTradeParty getSender() {
+ return new SenderTradeParty();
}
@Override
@@ -459,11 +459,11 @@ public class MustangReaderWriterTest extends MustangReaderTestCase {
ZUGFeRDImporter zi = new ZUGFeRDImporter(TARGET_PDF);
// Reading ZUGFeRD
- assertEquals(zi.getAmount(), "571.04");
- assertEquals(zi.getBIC(), getTradeSettlementPayment()[0].getOwnBIC());
- assertEquals(zi.getIBAN(), getTradeSettlementPayment()[0].getOwnIBAN());
- assertEquals(zi.getHolder(), getOwnOrganisationName());
- assertEquals(zi.getForeignReference(), getNumber());
+ assertEquals("571.04", zi.getAmount());
+ assertEquals(getTradeSettlementPayment()[0].getOwnBIC(), zi.getBIC());
+ assertEquals(getTradeSettlementPayment()[0].getOwnIBAN(), zi.getIBAN());
+ assertEquals(getOwnOrganisationName(), zi.getHolder());
+ assertEquals(getNumber(), zi.getForeignReference());
}
public void testExceptionOnPDF14() {
diff --git a/library/src/test/java/org/mustangproject/ZUGFeRD/ZF2EdgeTest.java b/library/src/test/java/org/mustangproject/ZUGFeRD/ZF2EdgeTest.java
index 92b8daa9..1a37ae02 100644
--- a/library/src/test/java/org/mustangproject/ZUGFeRD/ZF2EdgeTest.java
+++ b/library/src/test/java/org/mustangproject/ZUGFeRD/ZF2EdgeTest.java
@@ -153,8 +153,8 @@ public class ZF2EdgeTest extends MustangReaderTestCase implements IExportableTra
}
@Override
- public IZUGFeRDExportableContact getOwnContact() {
- return new SenderContact();
+ public IZUGFeRDExportableTradeParty getSender() {
+ return new SenderTradeParty();
}
@Override
diff --git a/library/src/test/java/org/mustangproject/ZUGFeRD/ZF2Test.java b/library/src/test/java/org/mustangproject/ZUGFeRD/ZF2Test.java
index d8431980..6ffc0768 100644
--- a/library/src/test/java/org/mustangproject/ZUGFeRD/ZF2Test.java
+++ b/library/src/test/java/org/mustangproject/ZUGFeRD/ZF2Test.java
@@ -59,28 +59,8 @@ public class ZF2Test extends MustangReaderTestCase {
}
@Override
- public String getOwnCountry() {
- return "DE";
- }
-
- @Override
- public String getOwnLocation() {
- return "Stadthausen";
- }
-
- @Override
- public String getOwnOrganisationName() {
- return "Bei Spiel GmbH";
- }
-
- @Override
- public String getOwnStreet() {
- return "Ecke 12";
- }
-
- @Override
- public IZUGFeRDExportableContact getOwnContact() {
- return new SenderContact();
+ public IZUGFeRDExportableTradeParty getSender() {
+ return new SenderTradeParty();
}