aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/at/gv/egiz/moazs/preprocess/MzsDeliveryRequestValidator.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/at/gv/egiz/moazs/preprocess/MzsDeliveryRequestValidator.java')
-rw-r--r--src/main/java/at/gv/egiz/moazs/preprocess/MzsDeliveryRequestValidator.java42
1 files changed, 29 insertions, 13 deletions
diff --git a/src/main/java/at/gv/egiz/moazs/preprocess/MzsDeliveryRequestValidator.java b/src/main/java/at/gv/egiz/moazs/preprocess/MzsDeliveryRequestValidator.java
index 8f9cd27..2c2fc36 100644
--- a/src/main/java/at/gv/egiz/moazs/preprocess/MzsDeliveryRequestValidator.java
+++ b/src/main/java/at/gv/egiz/moazs/preprocess/MzsDeliveryRequestValidator.java
@@ -1,9 +1,6 @@
package at.gv.egiz.moazs.preprocess;
-import at.gv.zustellung.app2mzs.xsd.ClientType;
-import at.gv.zustellung.app2mzs.xsd.ConfigType;
-import at.gv.zustellung.app2mzs.xsd.DeliveryRequestType;
-import at.gv.zustellung.app2mzs.xsd.KeyStoreType;
+import at.gv.zustellung.app2mzs.xsd.*;
import org.springframework.lang.Nullable;
import org.springframework.stereotype.Component;
@@ -19,8 +16,6 @@ public class MzsDeliveryRequestValidator {
return !request.getConfig().isPerformQueryPersonRequest() ||
(request.getTnvzMetaData() != null
&& request.getSender().getCorporateBody() != null);
-
-
}
/**
@@ -33,7 +28,8 @@ public class MzsDeliveryRequestValidator {
return profile != null
&& profile.isPerformQueryPersonRequest() != null
&& isTVNZClientConfigured(profile.getTNVZClient(), profile.isPerformQueryPersonRequest())
- && isMSGClientConfigured(profile.getMSGClient());
+ && isClientConfigured(profile.getMSGClient())
+ && areSinksConfigured(profile.getMsgResponseSinks());
}
private boolean isTVNZClientConfigured(ClientType tnvzClient, Boolean isPerformQueryPersonRequest) {
@@ -44,12 +40,12 @@ public class MzsDeliveryRequestValidator {
&& isSSLConfigured(tnvzClient));
}
- private boolean isMSGClientConfigured(ClientType msgClientParams) {
- return msgClientParams != null
- && msgClientParams.getURL() != null
- && isSSLConfigured(msgClientParams)
- && msgClientParams.getReceiveTimeout() != null
- && msgClientParams.getConnectionTimeout() != null;
+ private boolean isClientConfigured(ClientType clientParams) {
+ return clientParams != null
+ && clientParams.getURL() != null
+ && isSSLConfigured(clientParams)
+ && clientParams.getReceiveTimeout() != null
+ && clientParams.getConnectionTimeout() != null;
}
private boolean isSSLConfigured(ClientType clientParams) {
@@ -71,4 +67,24 @@ public class MzsDeliveryRequestValidator {
&& "JKS".equals(trustStore.getFileType())
&& trustStore.getFileName() != null);
}
+
+ private boolean areSinksConfigured(MsgResponseSinksType sinks) {
+ return sinks != null
+ && sinks.isLogResponse() != null
+ && isSaveResponseToFileConfigured(sinks.getSaveResponseToFile())
+ && isForwardResponseToServiceConfigured(sinks.getForwardResponseToService());
+ }
+
+ private boolean isSaveResponseToFileConfigured(SaveResponseToFileType fileSink) {
+ return fileSink != null
+ && (!fileSink.isActive() || fileSink.getPath() != null);
+ }
+
+ private boolean isForwardResponseToServiceConfigured(ForwardResponseToServiceType forwardSink) {
+ return forwardSink != null
+ && (!forwardSink.isActive() || isClientConfigured(forwardSink.getMzsClient()));
+ }
+
+
+
}