diff options
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.java | 42 |
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())); + } + + + } |