aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/at/gv/egiz/moazs/backend/ForwardResponseToServiceSink.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/at/gv/egiz/moazs/backend/ForwardResponseToServiceSink.java')
-rw-r--r--src/main/java/at/gv/egiz/moazs/backend/ForwardResponseToServiceSink.java33
1 files changed, 33 insertions, 0 deletions
diff --git a/src/main/java/at/gv/egiz/moazs/backend/ForwardResponseToServiceSink.java b/src/main/java/at/gv/egiz/moazs/backend/ForwardResponseToServiceSink.java
new file mode 100644
index 0000000..4b3c085
--- /dev/null
+++ b/src/main/java/at/gv/egiz/moazs/backend/ForwardResponseToServiceSink.java
@@ -0,0 +1,33 @@
+package at.gv.egiz.moazs.backend;
+
+import at.gv.egiz.moazs.client.ClientFactory;
+import at.gv.egiz.moazs.repository.DeliveryRepository;
+import at.gv.egiz.moazs.scheme.Msg2MzsConverter;
+import at.gv.egiz.moazs.scheme.MsgResponse;
+import at.gv.zustellung.app2mzs.xsd.ClientType;
+import at.gv.zustellung.app2mzs.xsd.Mzs2AppPortType;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Component;
+
+import java.util.concurrent.CompletableFuture;
+
+@Component
+public class ForwardResponseToServiceSink {
+
+ private final ClientFactory factory;
+ private final DeliveryRepository repository;
+ private final Msg2MzsConverter converter;
+
+ @Autowired
+ public ForwardResponseToServiceSink(ClientFactory factory, DeliveryRepository repository, Msg2MzsConverter converter) {
+ this.factory = factory;
+ this.repository = repository;
+ this.converter = converter;
+ }
+
+ public CompletableFuture<Void> send(MsgResponse msgResponse, ClientType params) {
+ var binaryResponse = repository.retrieveBinaryResponse(msgResponse.getResponseID());
+ Mzs2AppPortType client = factory.create(params, Mzs2AppPortType.class);
+ return msgResponse.sendToMzsClient(converter, binaryResponse, client);
+ }
+}