aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/at/gv
diff options
context:
space:
mode:
authorChristof Rabensteiner <christof.rabensteiner@iaik.tugraz.at>2019-07-09 14:11:47 +0200
committerChristof Rabensteiner <christof.rabensteiner@iaik.tugraz.at>2019-07-09 14:11:47 +0200
commit8aba1b4f18f5fbfebdf239b4b4945b628e439905 (patch)
tree0004115e44b8d6ddf48542b7413d4f54fa76dc27 /src/main/java/at/gv
parent65163646205b6e05139485fe957bceabe531f447 (diff)
downloadmoa-zs-8aba1b4f18f5fbfebdf239b4b4945b628e439905.tar.gz
moa-zs-8aba1b4f18f5fbfebdf239b4b4945b628e439905.tar.bz2
moa-zs-8aba1b4f18f5fbfebdf239b4b4945b628e439905.zip
Refactor Needles Interfaces and Rename "process" to "backend"
Reason: - Interfaces with a single method can be replaced with interfaces from java.util.function. - Less interfaces = less code = less maintenance! - Spring can inject beans by name so we name dependencies correctly to prevent ambiguity. Others: - Rename process to backend since backend gives a better description of its components.
Diffstat (limited to 'src/main/java/at/gv')
-rw-r--r--src/main/java/at/gv/egiz/moazs/backend/DeliveryRequestBackend.java (renamed from src/main/java/at/gv/egiz/moazs/process/SingleThreadedDeliveryPipeline.java)39
-rw-r--r--src/main/java/at/gv/egiz/moazs/backend/MsgResponseBackend.java (renamed from src/main/java/at/gv/egiz/moazs/verify/MsgResponseVerifier.java)33
-rw-r--r--src/main/java/at/gv/egiz/moazs/backend/SaveResponseToFileSink.java (renamed from src/main/java/at/gv/egiz/moazs/process/SaveResponseToFileSink.java)8
-rw-r--r--src/main/java/at/gv/egiz/moazs/backend/SignatureVerifier.java (renamed from src/main/java/at/gv/egiz/moazs/verify/MoaSPSSSignatureVerifier.java)27
-rw-r--r--src/main/java/at/gv/egiz/moazs/config/MoaSigConfig.java12
-rw-r--r--src/main/java/at/gv/egiz/moazs/config/PreprocessConfig.java7
-rw-r--r--src/main/java/at/gv/egiz/moazs/config/ServicesConfig.java3
-rw-r--r--src/main/java/at/gv/egiz/moazs/process/DeliveryPipeline.java17
-rw-r--r--src/main/java/at/gv/egiz/moazs/process/MsgResponseHandler.java7
-rw-r--r--src/main/java/at/gv/egiz/moazs/process/MsgResponseSink.java11
-rw-r--r--src/main/java/at/gv/egiz/moazs/process/SingleNodeResponseHandler.java26
-rw-r--r--src/main/java/at/gv/egiz/moazs/service/MsgService.java11
-rw-r--r--src/main/java/at/gv/egiz/moazs/service/MzsService.java10
-rw-r--r--src/main/java/at/gv/egiz/moazs/verify/SignatureVerifier.java13
14 files changed, 93 insertions, 131 deletions
diff --git a/src/main/java/at/gv/egiz/moazs/process/SingleThreadedDeliveryPipeline.java b/src/main/java/at/gv/egiz/moazs/backend/DeliveryRequestBackend.java
index 445f386..06eba80 100644
--- a/src/main/java/at/gv/egiz/moazs/process/SingleThreadedDeliveryPipeline.java
+++ b/src/main/java/at/gv/egiz/moazs/backend/DeliveryRequestBackend.java
@@ -1,4 +1,4 @@
-package at.gv.egiz.moazs.process;
+package at.gv.egiz.moazs.backend;
import at.gv.egiz.moazs.MoaZSException;
@@ -7,8 +7,6 @@ import at.gv.egiz.moazs.client.TnvzHelper;
import at.gv.egiz.moazs.repository.DeliveryRepository;
import at.gv.egiz.moazs.scheme.Mzs2MsgConverter;
import at.gv.egiz.moazs.scheme.RequestStatusResponse;
-import at.gv.egiz.moazs.verify.MsgResponseVerifier;
-import at.gv.egiz.moazs.verify.SignatureVerifier;
import at.gv.zustellung.app2mzs.xsd.DeliveryRequestType;
import at.gv.zustellung.msg.xsd.App2ZusePort;
import at.gv.zustellung.tnvz.xsd.TNVZServicePort;
@@ -17,15 +15,17 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Profile;
import org.springframework.stereotype.Component;
+import java.util.function.Consumer;
+
import static at.gv.egiz.moazs.MoaZSException.moaZSExceptionBuilder;
import static at.gv.egiz.moazs.scheme.RequestStatusResponse.generateErrorFromException;
import static java.lang.String.format;
@Component
@Profile("!cluster")
-public class SingleThreadedDeliveryPipeline implements DeliveryPipeline {
+public class DeliveryRequestBackend implements Consumer<String> {
- private static final Logger log = Logger.getLogger(SingleThreadedDeliveryPipeline.class);
+ private static final Logger log = Logger.getLogger(DeliveryRequestBackend.class);
private static final String MZS_PIPELINE_ERROR_MSG =
"An error occured while processing the DeliveryRequest with AppDeliveryID=%s. ";
@@ -33,23 +33,32 @@ public class SingleThreadedDeliveryPipeline implements DeliveryPipeline {
private final TnvzHelper tnvzHelper;
private final Mzs2MsgConverter converter;
private final ClientFactory clientFactory;
- private final SignatureVerifier verifier;
+ private final Consumer<byte[]> signatureVerifier;
@Autowired
- public SingleThreadedDeliveryPipeline(DeliveryRepository repository,
- TnvzHelper tnvzHelper,
- Mzs2MsgConverter converter,
- ClientFactory clientFactory,
- SignatureVerifier verifier) {
+ public DeliveryRequestBackend(DeliveryRepository repository,
+ TnvzHelper tnvzHelper,
+ Mzs2MsgConverter converter,
+ ClientFactory clientFactory,
+ Consumer<byte[]> signatureVerifier) {
this.repository = repository;
this.tnvzHelper = tnvzHelper;
this.converter = converter;
this.clientFactory = clientFactory;
- this.verifier = verifier;
+ this.signatureVerifier = signatureVerifier;
}
+ /**
+ * Performs all {@code DeliveryRequest}'s Back-End Tasks.
+ *
+ * Fetches {@code DeliveryRequest} referred by appDeliveryID from
+ * {@code DeliveryRepository}, makes sure that all necessary
+ * tasks (query tnvz, query msg, accept status) are executed and
+ * stores the response back to {@code DeliveryRepository}.
+ * @param appDeliveryID
+ */
@Override
- public void processRequest(String appDeliveryID) {
+ public void accept(String appDeliveryID) {
var exceptionBuilder = moaZSExceptionBuilder();
@@ -79,9 +88,9 @@ public class SingleThreadedDeliveryPipeline implements DeliveryPipeline {
private void verifySignedStatus(String responseID, String appDeliveryID, MoaZSException.Builder exceptionBuilder) throws MoaZSException {
try {
var signedStatus = repository.retrieveBinaryResponse(responseID).get();
- verifier.verify(signedStatus);
+ signatureVerifier.accept(signedStatus);
} catch (MoaZSException ex) {
- throw exceptionBuilder.withMessage(format(MsgResponseVerifier.MOASP_SIGNATURE_INVALID_ERROR_MSG, appDeliveryID))
+ throw exceptionBuilder.withMessage(format(MsgResponseBackend.MOASP_SIGNATURE_INVALID_ERROR_MSG, appDeliveryID))
.withErrorCode(MoaZSException.ERROR_MOASP_SIGNATURE_INVALID)
.withCause(ex)
.build();
diff --git a/src/main/java/at/gv/egiz/moazs/verify/MsgResponseVerifier.java b/src/main/java/at/gv/egiz/moazs/backend/MsgResponseBackend.java
index 9c8b17c..414c2dc 100644
--- a/src/main/java/at/gv/egiz/moazs/verify/MsgResponseVerifier.java
+++ b/src/main/java/at/gv/egiz/moazs/backend/MsgResponseBackend.java
@@ -1,4 +1,4 @@
-package at.gv.egiz.moazs.verify;
+package at.gv.egiz.moazs.backend;
import at.gv.egiz.moazs.MoaZSException;
import at.gv.egiz.moazs.repository.DeliveryRepository;
@@ -9,23 +9,44 @@ import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
+import java.util.concurrent.CompletableFuture;
+import java.util.function.Consumer;
+import java.util.function.Function;
+
import static at.gv.egiz.moazs.MoaZSException.moaZSExceptionBuilder;
import static java.lang.String.format;
+import static java.util.concurrent.CompletableFuture.supplyAsync;
@Component
-public class MsgResponseVerifier {
+public class MsgResponseBackend implements Consumer<String> {
private static final Logger log = LoggerFactory.getLogger(MsgService.class);
+
public static final String MOASP_SIGNATURE_INVALID_ERROR_MSG = "Signature of Msg Response " +
"with AppDeliveryID=%s is not valid.";
private final DeliveryRepository repository;
- private final SignatureVerifier verifier;
+ private final Consumer<byte[]> signatureVerifier;
+ private final Function<MsgResponse, CompletableFuture<Void>> sink;
@Autowired
- public MsgResponseVerifier(DeliveryRepository repository, SignatureVerifier verifier) {
+ public MsgResponseBackend(DeliveryRepository repository,
+ Consumer<byte[]> signatureVerifier,
+ Function<MsgResponse, CompletableFuture<Void>> sink) {
this.repository = repository;
- this.verifier = verifier;
+ this.signatureVerifier = signatureVerifier;
+ this.sink = sink;
+ }
+
+ /**
+ * Performs all {@code MsgResponse}'s Back-End Tasks, such as verifying
+ * its signature and archiving the response.
+ *
+ * @param responseID refers to MsgResponse Object.
+ */
+ @Override
+ public void accept(String responseID) {
+ supplyAsync(() -> verify(responseID)).thenAcceptAsync(sink::apply);
}
public MsgResponse verify(String responseID) {
@@ -36,7 +57,7 @@ public class MsgResponseVerifier {
var binaryResponse = repository.retrieveBinaryResponse(responseID).get();
try {
- verifier.verify(binaryResponse);
+ signatureVerifier.accept(binaryResponse);
return response;
} catch (MoaZSException ex) {
log.error(ex.getMessage(), ex);
diff --git a/src/main/java/at/gv/egiz/moazs/process/SaveResponseToFileSink.java b/src/main/java/at/gv/egiz/moazs/backend/SaveResponseToFileSink.java
index 09d8570..02771a9 100644
--- a/src/main/java/at/gv/egiz/moazs/process/SaveResponseToFileSink.java
+++ b/src/main/java/at/gv/egiz/moazs/backend/SaveResponseToFileSink.java
@@ -1,4 +1,4 @@
-package at.gv.egiz.moazs.process;
+package at.gv.egiz.moazs.backend;
import at.gv.egiz.moazs.repository.DeliveryRepository;
import at.gv.egiz.moazs.scheme.Marshaller;
@@ -15,6 +15,7 @@ import java.nio.charset.StandardCharsets;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.concurrent.CompletableFuture;
+import java.util.function.Function;
import static at.gv.egiz.moazs.MoaZSException.moaZSException;
import static java.lang.String.format;
@@ -22,7 +23,7 @@ import static java.util.concurrent.CompletableFuture.allOf;
import static java.util.concurrent.CompletableFuture.supplyAsync;
@Component
-public class SaveResponseToFileSink implements MsgResponseSink {
+public class SaveResponseToFileSink implements Function<MsgResponse, CompletableFuture<Void>> {
private static final Logger log = LoggerFactory.getLogger(SaveResponseToFileSink.class);
private static final String SAVING_FAILED_MSG = "Could not save response with AppDeliveryId=%s.";
@@ -41,7 +42,7 @@ public class SaveResponseToFileSink implements MsgResponseSink {
}
@Override
- public CompletableFuture<Void> handle(MsgResponse response) {
+ public CompletableFuture<Void> apply(MsgResponse response) {
var responseID = response.getResponseID();
@@ -84,4 +85,5 @@ public class SaveResponseToFileSink implements MsgResponseSink {
throw moaZSException(e.getMessage(), e);
}
}
+
}
diff --git a/src/main/java/at/gv/egiz/moazs/verify/MoaSPSSSignatureVerifier.java b/src/main/java/at/gv/egiz/moazs/backend/SignatureVerifier.java
index 5220c3b..e9c5387 100644
--- a/src/main/java/at/gv/egiz/moazs/verify/MoaSPSSSignatureVerifier.java
+++ b/src/main/java/at/gv/egiz/moazs/backend/SignatureVerifier.java
@@ -1,4 +1,4 @@
-package at.gv.egiz.moazs.verify;
+package at.gv.egiz.moazs.backend;
import at.gv.egiz.eid.authhandler.modules.sigverify.moasig.api.ISignatureVerificationService;
import at.gv.egiz.eid.authhandler.modules.sigverify.moasig.api.data.IXMLSignatureVerificationResponse;
@@ -6,31 +6,36 @@ import at.gv.egiz.eid.authhandler.modules.sigverify.moasig.exceptions.MOASigServ
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
+import java.util.function.Consumer;
+
import static at.gv.egiz.moazs.MoaZSException.moaZSException;
import static at.gv.egiz.moazs.MoaZSException.moaZSExceptionBuilder;
-import static java.lang.String.*;
+import static java.lang.String.format;
-public class MoaSPSSSignatureVerifier implements SignatureVerifier {
+public class SignatureVerifier implements Consumer<byte[]> {
- private static final Logger log = LoggerFactory.getLogger(MoaSPSSSignatureVerifier.class);
+ private static final Logger log = LoggerFactory.getLogger(SignatureVerifier.class);
+ private static final int OK_CODE = 0;
private final ISignatureVerificationService service;
-
private final String trustProfile;
-
private final boolean isManifestCheckActive;
- private static final int OK_CODE = 0;
-
- public MoaSPSSSignatureVerifier(ISignatureVerificationService service,
+ public SignatureVerifier(ISignatureVerificationService service,
String trustProfile, boolean isManifestCheckActive) {
this.service = service;
this.trustProfile = trustProfile;
this.isManifestCheckActive = isManifestCheckActive;
}
+ /**
+ * Verifies the signature of a signed XML document. Throws a at.gv.egiz.moazs.MoaZSException exception
+ * if the validation fails.
+ * @param signedXMLdocument
+ * @throws at.gv.egiz.moazs.MoaZSException
+ */
@Override
- public void verify(byte[] signedXMLdocument) {
+ public void accept(byte[] signedXMLdocument) {
try {
var response = service.verifyXMLSignature(signedXMLdocument, trustProfile);
@@ -82,7 +87,7 @@ public class MoaSPSSSignatureVerifier implements SignatureVerifier {
}
} catch (MOASigServiceException e) {
- throw moaZSExceptionBuilder("Could not verify the XML signature.")
+ throw moaZSExceptionBuilder("Could not accept the XML signature.")
.withCause(e)
.build();
}
diff --git a/src/main/java/at/gv/egiz/moazs/config/MoaSigConfig.java b/src/main/java/at/gv/egiz/moazs/config/MoaSigConfig.java
index 0b7bdc7..e02c11d 100644
--- a/src/main/java/at/gv/egiz/moazs/config/MoaSigConfig.java
+++ b/src/main/java/at/gv/egiz/moazs/config/MoaSigConfig.java
@@ -3,8 +3,7 @@ package at.gv.egiz.moazs.config;
import at.gv.egiz.eid.authhandler.modules.sigverify.moasig.api.ISignatureVerificationService;
import at.gv.egiz.eid.authhandler.modules.sigverify.moasig.impl.SignatureVerificationService;
import at.gv.egiz.moazs.util.FileUtils;
-import at.gv.egiz.moazs.verify.MoaSPSSSignatureVerifier;
-import at.gv.egiz.moazs.verify.SignatureVerifier;
+import at.gv.egiz.moazs.backend.SignatureVerifier;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
@@ -14,6 +13,7 @@ import org.springframework.context.annotation.Configuration;
import java.io.File;
import java.io.FileNotFoundException;
+import java.util.function.Consumer;
@Configuration
@@ -62,8 +62,6 @@ public class MoaSigConfig {
}
}
-
-
private void fallBackToSpringEnvForJavaxNetSSLStoreTypeProperty() {
if (System.getProperty(JAVAX_SSL_TRUSTSTORE_TYPE_PROPERTY) == null) {
log.info(SET_PROPERTY_MSG_TEMPLATE, JAVAX_SSL_TRUSTSTORE_TYPE_PROPERTY, trustStoreType);
@@ -87,11 +85,11 @@ public class MoaSigConfig {
}
@Bean
- public SignatureVerifier signatureVerifier(@Value("${moa.spss.is-active}") boolean isMoaSPSSActive,
- @Value("${moa.spss.is-manifest-check-active}") boolean isManifestCheckActive) {
+ public Consumer<byte[]> signatureVerifier(@Value("${moa.spss.is-active}") boolean isMoaSPSSActive,
+ @Value("${moa.spss.is-manifest-check-active}") boolean isManifestCheckActive) {
if (isMoaSPSSActive) {
log.info("Moa SPSS is active. Signatures in SOAP Messages will be verified.");
- return new MoaSPSSSignatureVerifier(moaSigVerifyService(), defaultTrustProfile, isManifestCheckActive);
+ return new SignatureVerifier(moaSigVerifyService(), defaultTrustProfile, isManifestCheckActive);
} else {
log.warn("Moa SPSS is not active. Signatures in SOAP Messages will not be verified.");
return signedXMLdocument -> {};
diff --git a/src/main/java/at/gv/egiz/moazs/config/PreprocessConfig.java b/src/main/java/at/gv/egiz/moazs/config/PreprocessConfig.java
index 76bfb30..29797dd 100644
--- a/src/main/java/at/gv/egiz/moazs/config/PreprocessConfig.java
+++ b/src/main/java/at/gv/egiz/moazs/config/PreprocessConfig.java
@@ -21,15 +21,14 @@ public class PreprocessConfig {
return generator.generate();
}
- @Value("${verify-completeness-of-default-delivery-request-configuration:true}")
- private boolean verifyCompletenessOfDefaultConfiguration;
-
@Bean
@Autowired
public ConfigProfileGenerator configProfileGenerator(
SpringPropertiesFacade properties,
MzsDeliveryRequestValidator validator,
- ConfigUtil util) {
+ ConfigUtil util,
+ @Value("${verify-completeness-of-default-delivery-request-configuration:true}")
+ boolean verifyCompletenessOfDefaultConfiguration) {
return configProfileGeneratorBuilder()
.withProperties(properties)
diff --git a/src/main/java/at/gv/egiz/moazs/config/ServicesConfig.java b/src/main/java/at/gv/egiz/moazs/config/ServicesConfig.java
index 42019b1..c16dfd2 100644
--- a/src/main/java/at/gv/egiz/moazs/config/ServicesConfig.java
+++ b/src/main/java/at/gv/egiz/moazs/config/ServicesConfig.java
@@ -38,7 +38,8 @@ public class ServicesConfig {
return new Zuse2AppPortService();
}
- @Bean public App2Mzs app2mzs() {
+ @Bean
+ public App2Mzs app2mzs() {
return new App2Mzs();
}
diff --git a/src/main/java/at/gv/egiz/moazs/process/DeliveryPipeline.java b/src/main/java/at/gv/egiz/moazs/process/DeliveryPipeline.java
deleted file mode 100644
index 506dd1f..0000000
--- a/src/main/java/at/gv/egiz/moazs/process/DeliveryPipeline.java
+++ /dev/null
@@ -1,17 +0,0 @@
-package at.gv.egiz.moazs.process;
-
-
-public interface DeliveryPipeline {
-
- /**
- * Performs all {@code DeliveryRequest}'s Back-End Tasks.
- *
- * Fetches {@code DeliveryRequest} referred by appDeliveryId from
- * {@code DeliveryRepository}, makes sure that all necessary
- * tasks (query tnvz, query msg, verify status) are executed and
- * stores the response back to {@code DeliveryRepository}.
- * @param appDeliveryId
- */
- void processRequest(String appDeliveryId);
-
-}
diff --git a/src/main/java/at/gv/egiz/moazs/process/MsgResponseHandler.java b/src/main/java/at/gv/egiz/moazs/process/MsgResponseHandler.java
deleted file mode 100644
index 5a7d39b..0000000
--- a/src/main/java/at/gv/egiz/moazs/process/MsgResponseHandler.java
+++ /dev/null
@@ -1,7 +0,0 @@
-package at.gv.egiz.moazs.process;
-
-public interface MsgResponseHandler {
-
- void handle(String id);
-
-}
diff --git a/src/main/java/at/gv/egiz/moazs/process/MsgResponseSink.java b/src/main/java/at/gv/egiz/moazs/process/MsgResponseSink.java
deleted file mode 100644
index 67348fc..0000000
--- a/src/main/java/at/gv/egiz/moazs/process/MsgResponseSink.java
+++ /dev/null
@@ -1,11 +0,0 @@
-package at.gv.egiz.moazs.process;
-
-import at.gv.egiz.moazs.scheme.MsgResponse;
-
-import java.util.concurrent.CompletableFuture;
-
-public interface MsgResponseSink {
-
- CompletableFuture<Void> handle(MsgResponse response);
-
-}
diff --git a/src/main/java/at/gv/egiz/moazs/process/SingleNodeResponseHandler.java b/src/main/java/at/gv/egiz/moazs/process/SingleNodeResponseHandler.java
deleted file mode 100644
index 65f5eed..0000000
--- a/src/main/java/at/gv/egiz/moazs/process/SingleNodeResponseHandler.java
+++ /dev/null
@@ -1,26 +0,0 @@
-package at.gv.egiz.moazs.process;
-
-import at.gv.egiz.moazs.verify.MsgResponseVerifier;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Component;
-
-import static java.util.concurrent.CompletableFuture.supplyAsync;
-
-@Component
-public class SingleNodeResponseHandler implements MsgResponseHandler {
-
- private final MsgResponseVerifier verifier;
- private final MsgResponseSink sink;
-
- @Autowired
- public SingleNodeResponseHandler(MsgResponseVerifier verifier, MsgResponseSink sink) {
- this.verifier = verifier;
- this.sink = sink;
- }
-
- @Override
- public void handle(String responseID) {
- supplyAsync(() -> verifier.verify(responseID))
- .thenAcceptAsync(response -> sink.handle(response));
- }
-}
diff --git a/src/main/java/at/gv/egiz/moazs/service/MsgService.java b/src/main/java/at/gv/egiz/moazs/service/MsgService.java
index 87644a0..9f94cb3 100644
--- a/src/main/java/at/gv/egiz/moazs/service/MsgService.java
+++ b/src/main/java/at/gv/egiz/moazs/service/MsgService.java
@@ -1,5 +1,4 @@
package at.gv.egiz.moazs.service;
-import at.gv.egiz.moazs.process.MsgResponseHandler;
import at.gv.egiz.moazs.repository.DeliveryRepository;
import at.gv.egiz.moazs.scheme.MsgResponse;
import at.gv.egiz.moazs.scheme.NameSpace;
@@ -10,6 +9,8 @@ import org.apache.cxf.annotations.SchemaValidation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
+import java.util.function.Consumer;
+
import static at.gv.zustellung.msg.xsd.DeliveryNotificationACKType.deliveryNotificationACKTypeBuilder;
import static at.gv.zustellung.msg.xsd.DeliveryRequestStatusACKType.deliveryRequestStatusACKTypeBuilder;
import static at.gv.zustellung.msg.xsd.GetVersionResponse.getVersionResponseBuilder;
@@ -20,12 +21,12 @@ import static java.util.concurrent.CompletableFuture.runAsync;
public class MsgService implements Zuse2AppPort {
private final DeliveryRepository repository;
- private final MsgResponseHandler handler;
+ private final Consumer<String> backend;
@Autowired
- public MsgService(DeliveryRepository repository, MsgResponseHandler handler) {
+ public MsgService(DeliveryRepository repository, Consumer<String> msgResponseBackend) {
this.repository = repository;
- this.handler = handler;
+ this.backend = msgResponseBackend;
}
@Override
@@ -59,7 +60,7 @@ public class MsgService implements Zuse2AppPort {
private void sendToWork(MsgResponse response) {
runAsync(() -> repository.store(response))
- .thenRunAsync(() -> handler.handle(response.getResponseID()));
+ .thenRunAsync(() -> backend.accept(response.getResponseID()));
}
private DeliveryNotificationACKType notificationAck(String appDeliveryID, String zsDeliveryID) {
diff --git a/src/main/java/at/gv/egiz/moazs/service/MzsService.java b/src/main/java/at/gv/egiz/moazs/service/MzsService.java
index 2755a37..c8c0878 100644
--- a/src/main/java/at/gv/egiz/moazs/service/MzsService.java
+++ b/src/main/java/at/gv/egiz/moazs/service/MzsService.java
@@ -1,7 +1,6 @@
package at.gv.egiz.moazs.service;
import at.gv.egiz.moazs.preprocess.DeliveryRequestAugmenter;
-import at.gv.egiz.moazs.process.DeliveryPipeline;
import at.gv.egiz.moazs.repository.DeliveryRepository;
import at.gv.egiz.moazs.scheme.Msg2MzsConverter;
import at.gv.egiz.moazs.client.MzsClient;
@@ -19,6 +18,7 @@ import org.springframework.stereotype.Service;
import javax.jws.WebParam;
import java.util.concurrent.TimeUnit;
import java.util.concurrent.TimeoutException;
+import java.util.function.Consumer;
import static at.gv.egiz.moazs.MoaZSException.moaZSException;
import static at.gv.egiz.moazs.MoaZSException.moaZSExceptionBuilder;
@@ -36,16 +36,16 @@ public class MzsService implements App2MzsPortType {
private static final int TIMEOUT_FOR_ANWSER = 10;
private final DeliveryRepository repository;
- private final DeliveryPipeline pipeline;
+ private final Consumer<String> backend;
private final MzsClient appClient;
private final DeliveryRequestAugmenter augmenter;
private final Msg2MzsConverter converter;
@Autowired
- public MzsService(DeliveryRepository repository, DeliveryPipeline pipeline, MzsClient appClient,
+ public MzsService(DeliveryRepository repository, Consumer<String> deliveryRequestBackend, MzsClient appClient,
DeliveryRequestAugmenter augmenter, Msg2MzsConverter converter) {
this.repository = repository;
- this.pipeline = pipeline;
+ this.backend = deliveryRequestBackend;
this.appClient = appClient;
this.augmenter = augmenter;
this.converter = converter;
@@ -87,7 +87,7 @@ public class MzsService implements App2MzsPortType {
logger.info("Receive request with appDeliveryID = {}.", appDeliveryID);
repository.store(deliveryRequest);
- pipeline.processRequest(appDeliveryID);
+ backend.accept(appDeliveryID);
var statusId = RequestStatusResponse.getResponseID(appDeliveryID);
var response = repository.retrieveResponse(statusId)
diff --git a/src/main/java/at/gv/egiz/moazs/verify/SignatureVerifier.java b/src/main/java/at/gv/egiz/moazs/verify/SignatureVerifier.java
deleted file mode 100644
index a31c4cf..0000000
--- a/src/main/java/at/gv/egiz/moazs/verify/SignatureVerifier.java
+++ /dev/null
@@ -1,13 +0,0 @@
-package at.gv.egiz.moazs.verify;
-
-@FunctionalInterface
-public interface SignatureVerifier {
-
- /**
- * Verifies the signature of a signed XML document. Throws a at.gv.egiz.moazs.MoaZSException exception
- * if the validation fails.
- * @param signedXMLdocument
- * @throws at.gv.egiz.moazs.MoaZSException
- */
- void verify(byte[] signedXMLdocument);
-}