aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/at/gv/egiz/moazs/tnvz/TnvzHelper.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/at/gv/egiz/moazs/tnvz/TnvzHelper.java')
-rw-r--r--src/main/java/at/gv/egiz/moazs/tnvz/TnvzHelper.java46
1 files changed, 26 insertions, 20 deletions
diff --git a/src/main/java/at/gv/egiz/moazs/tnvz/TnvzHelper.java b/src/main/java/at/gv/egiz/moazs/tnvz/TnvzHelper.java
index a14df9d..3599362 100644
--- a/src/main/java/at/gv/egiz/moazs/tnvz/TnvzHelper.java
+++ b/src/main/java/at/gv/egiz/moazs/tnvz/TnvzHelper.java
@@ -3,7 +3,6 @@ package at.gv.egiz.moazs.tnvz;
import at.gv.egiz.moazs.MoaZSException;
import at.gv.egiz.moazs.scheme.Mzs2MsgConverter;
import at.gv.zustellung.app2mzs.xsd.DeliveryRequestType;
-import at.gv.zustellung.app2mzs.xsd.TnvzMetaDataType;
import at.gv.zustellung.app2mzs.xsd.persondata.AbstractAddressType;
import at.gv.zustellung.msg.xsd.persondata.IdentificationType;
import at.gv.zustellung.msg.xsd.persondata.ObjectFactory;
@@ -39,7 +38,7 @@ public class TnvzHelper {
private static final String RECEIVER_NOT_ADRESSABLE_ERROR_MSG = "Receiver is not addressable. Reason: %s";
private static final String MIMETYPE_MISSMATCH_ERROR_MSG = "Request contains attachment of type(s) %s, but " +
"receiver only accepts attachments of type(s) %s.";
- private static final String MZS_NO_TNVZ_PERSON_QUERY_RESULTS_ERROR_MSG = "tnvz:PersonQueryResult's list was empty.";
+ private static final String MZS_NO_TNVZ_PERSON_QUERY_RESULTS_ERROR_MSG = "tnvz:QueryResultList was empty.";
@Autowired
@@ -74,9 +73,9 @@ public class TnvzHelper {
private QueryPersonRequest buildQuery(DeliveryRequestType mzsRequest) {
- Sender sender = extractSender(mzsRequest.getSender().getCorporateBody());
+ Sender sender = extractSender(mzsRequest.getSender());
Receiver receiver = extractReceiver(mzsRequest.getReceiver());
- var metadata = extractMetaData(mzsRequest.getTnvzMetaData());
+ var metadata = extractMetaData(mzsRequest);
PersonQueryType personQuery = personQueryTypeBuilder()
.withEntryID(ENTRY_ID)
@@ -94,27 +93,32 @@ public class TnvzHelper {
.build();
}
- private PersonQueryType.MetaData extractMetaData(@Nullable TnvzMetaDataType meta) {
- if (meta == null) {
- return null;
- } else {
- var builder = metaDataBuilder();
+ private PersonQueryType.MetaData extractMetaData(DeliveryRequestType request) {
- if (meta.getDeliveryQuality() != null) {
- builder.withDeliveryQuality(meta.getDeliveryQuality());
- } else {
- builder.withPrivateMessageQuality(meta.getPrivateMessageQuality());
- }
+ var builder = metaDataBuilder();
- return builder
- .withOrigin(meta.getOrigin())
- .withPreAdviceNote(meta.getPreAdviceNote())
- .withIgnorePostRedirectionOrder(meta.getIgnorePostRedirectionOrder())
- .build();
+ var meta = request.getTnvzMetaData();
+
+ if (meta.getDeliveryQuality() != null) {
+ builder.withDeliveryQuality(meta.getDeliveryQuality());
+ } else {
+ builder.withPrivateMessageQuality(meta.getPrivateMessageQuality());
}
+
+ return builder
+ .withOrigin(meta.getOrigin())
+ .withPreAdviceNote(request.getReceiver().getPreAdviceNote())
+ .withIgnorePostRedirectionOrder(meta.getIgnorePostRedirectionOrder())
+ .build();
}
- private Sender extractSender(at.gv.zustellung.app2mzs.xsd.persondata.CorporateBodyType corporateBody) {
+ private Sender extractSender(DeliveryRequestType.Sender sender) {
+
+ var corporateBody = sender.getCorporateBody();
+ if (corporateBody == null) {
+ //todo! implement this case
+ throw MoaZSException.moaZSException("Not Implemented.");
+ }
var mzsIdentification = corporateBody.getIdentification().get(0);
var msgIdentification = converter.convert(mzsIdentification);
@@ -152,6 +156,8 @@ public class TnvzHelper {
private @Nullable PostalAddressType findPostalAddress(List<JAXBElement<? extends AbstractAddressType>> addresses) {
+ if (addresses == null) return null;
+
for (JAXBElement<? extends AbstractAddressType> address : addresses) {
if(address.getValue() instanceof at.gv.zustellung.app2mzs.xsd.persondata.PostalAddressType) {
var mzsPostalAddress = (at.gv.zustellung.app2mzs.xsd.persondata.PostalAddressType) address.getValue();