aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/at/gv/egiz/moazs/pipeline/SameThreadDeliveryPipeline.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/at/gv/egiz/moazs/pipeline/SameThreadDeliveryPipeline.java')
-rw-r--r--src/main/java/at/gv/egiz/moazs/pipeline/SameThreadDeliveryPipeline.java61
1 files changed, 28 insertions, 33 deletions
diff --git a/src/main/java/at/gv/egiz/moazs/pipeline/SameThreadDeliveryPipeline.java b/src/main/java/at/gv/egiz/moazs/pipeline/SameThreadDeliveryPipeline.java
index 2e0433f..ecf580d 100644
--- a/src/main/java/at/gv/egiz/moazs/pipeline/SameThreadDeliveryPipeline.java
+++ b/src/main/java/at/gv/egiz/moazs/pipeline/SameThreadDeliveryPipeline.java
@@ -2,17 +2,17 @@ package at.gv.egiz.moazs.pipeline;
import at.gv.egiz.moazs.MoaZSException;
-import at.gv.egiz.moazs.msg.MsgClientFactory;
-import at.gv.egiz.moazs.verify.SignatureVerifier;
+import at.gv.egiz.moazs.msg.ClientFactory;
import at.gv.egiz.moazs.repository.DeliveryRepository;
import at.gv.egiz.moazs.scheme.Mzs2MsgConverter;
import at.gv.egiz.moazs.scheme.NameSpace;
-import at.gv.egiz.moazs.tnvz.TnvzClient;
-import at.gv.egiz.moazs.tnvz.TnvzResultVerifier;
+import at.gv.egiz.moazs.tnvz.TnvzHelper;
+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.msg.xsd.DeliveryAnswerType;
import at.gv.zustellung.msg.xsd.DeliveryRequestStatusType;
-import at.gv.zustellung.tnvz.xsd.PersonResultType;
+import at.gv.zustellung.tnvz.xsd.TNVZServicePort;
import org.apache.log4j.Logger;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Profile;
@@ -32,54 +32,43 @@ public class SameThreadDeliveryPipeline implements DeliveryPipeline {
private static final Logger log = Logger.getLogger(SameThreadDeliveryPipeline.class);
private final DeliveryRepository repository;
- private final TnvzClient tnvzClient;
- private final TnvzResultVerifier tnvzVerifier;
+ private final TnvzHelper tnvzHelper;
private final Mzs2MsgConverter converter;
- private final MsgClientFactory msgClientFactory;
+ private final ClientFactory clientFactory;
private final SignatureVerifier verifier;
@Autowired
public SameThreadDeliveryPipeline(DeliveryRepository repository,
- TnvzClient tnvzClient,
- TnvzResultVerifier tnvzVerifier,
+ TnvzHelper tnvzHelper,
Mzs2MsgConverter converter,
- MsgClientFactory msgClientFactory,
+ ClientFactory clientFactory,
SignatureVerifier verifier
) {
this.repository = repository;
- this.tnvzClient = tnvzClient;
- this.tnvzVerifier = tnvzVerifier;
+ this.tnvzHelper = tnvzHelper;
this.converter = converter;
- this.msgClientFactory = msgClientFactory;
+ this.clientFactory = clientFactory;
this.verifier = verifier;
}
@Override
public void processRequest(String appDeliveryId) {
- var exceptionBuilder = moaZSExceptionBuilder("");
+ var exceptionBuilder = moaZSExceptionBuilder();
try {
var mzsRequest = repository.getDeliveryRequest(appDeliveryId).orElseThrow();
exceptionBuilder.withMzsRequest(mzsRequest);
- at.gv.zustellung.msg.xsd.DeliveryRequestType msgRequest;
-
- if (mzsRequest.getConfig().isPerformQueryPersonRequest()) {
- var tnvzResult = performTnvzQuery(mzsRequest);
- exceptionBuilder.withTnvzResult(tnvzResult);
-
- msgRequest = converter.convert(mzsRequest, tnvzResult.getSuccess().getIdentification());
- } else {
- msgRequest = converter.convert(mzsRequest);
- }
+ at.gv.zustellung.msg.xsd.DeliveryRequestType msgRequest = buildMsgRequest(mzsRequest, exceptionBuilder);
exceptionBuilder.withMsgRequest(msgRequest);
- var status = msgClientFactory.create(mzsRequest.getConfig().getMSGClient()).delivery(msgRequest);
+ var msgClientParams = mzsRequest.getConfig().getMSGClient();
+ App2ZusePort client = clientFactory.create(msgClientParams, App2ZusePort.class);
+ var status = client.delivery(msgRequest);
exceptionBuilder.withMsgResult(status);
verifySignedStatus(appDeliveryId, exceptionBuilder);
-
repository.add(status);
} catch (MoaZSException exception) {
@@ -92,6 +81,18 @@ public class SameThreadDeliveryPipeline implements DeliveryPipeline {
}
}
+ private at.gv.zustellung.msg.xsd.DeliveryRequestType buildMsgRequest(DeliveryRequestType mzsRequest,
+ MoaZSException.Builder exceptionBuilder) {
+ if (mzsRequest.getConfig().isPerformQueryPersonRequest()) {
+ var tnvzClientParams = mzsRequest.getConfig().getTNVZClient();
+ TNVZServicePort tvnzPort = clientFactory.create(tnvzClientParams, TNVZServicePort.class);
+ var identification = tnvzHelper.performQueryPersonRequest(mzsRequest, tvnzPort, exceptionBuilder);
+ return converter.convert(mzsRequest, identification);
+ } else {
+ return converter.convert(mzsRequest);
+ }
+ }
+
private void verifySignedStatus(String appDeliveryId, MoaZSException.Builder exceptionBuilder) throws MoaZSException {
try {
@@ -106,12 +107,6 @@ public class SameThreadDeliveryPipeline implements DeliveryPipeline {
}
}
- private PersonResultType performTnvzQuery(DeliveryRequestType request) {
- var result = tnvzClient.query(request.getSender(), request.getReceiver());
- tnvzVerifier.verify(request, result);
- return result;
- }
-
private DeliveryRequestStatusType generateErrorStatus(MoaZSException exception, String appDeliveryId) {
var infoBuilder = errorInfoTypeBuilder()