aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/at/gv/egiz/moazs/scheme/NotificationResponse.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/at/gv/egiz/moazs/scheme/NotificationResponse.java')
-rw-r--r--src/main/java/at/gv/egiz/moazs/scheme/NotificationResponse.java24
1 files changed, 17 insertions, 7 deletions
diff --git a/src/main/java/at/gv/egiz/moazs/scheme/NotificationResponse.java b/src/main/java/at/gv/egiz/moazs/scheme/NotificationResponse.java
index 784d000..21e00a1 100644
--- a/src/main/java/at/gv/egiz/moazs/scheme/NotificationResponse.java
+++ b/src/main/java/at/gv/egiz/moazs/scheme/NotificationResponse.java
@@ -1,12 +1,16 @@
package at.gv.egiz.moazs.scheme;
import at.gv.egiz.moazs.MoaZSException;
+import at.gv.zustellung.app2mzs.xsd.Mzs2AppPortType;
import at.gv.zustellung.msg.xsd.DeliveryAnswerType;
import at.gv.zustellung.msg.xsd.DeliveryNotificationType;
import at.gv.zustellung.msg.xsd.ObjectFactory;
import javax.xml.bind.JAXBElement;
+import java.util.Optional;
+import java.util.concurrent.CompletableFuture;
+
import static at.gv.zustellung.msg.xsd.DeliveryNotificationType.deliveryNotificationTypeBuilder;
public class NotificationResponse extends MsgResponse<DeliveryNotificationType> {
@@ -50,17 +54,23 @@ public class NotificationResponse extends MsgResponse<DeliveryNotificationType>
}
@Override
- public MsgResponse<DeliveryNotificationType> generateError(MoaZSException exception) {
+ public NotificationResponse generateError(MoaZSException exception) {
- //TODO: test this!
+ //TODO: use copy constructor?
var notificationType = deliveryNotificationTypeBuilder()
- .withAppDeliveryID(exception.getAppDeliveryID())
- .withDeliverySystem(exception.getDeliverySystem())
- .withGZ(exception.getGz())
- .withZSDeliveryID(exception.getZsDeliveryID())
- .build();
+ .withAppDeliveryID(exception.getAppDeliveryID())
+ .withDeliverySystem(exception.getDeliverySystem())
+ .withGZ(exception.getGz())
+ .withZSDeliveryID(exception.getZsDeliveryID())
+ .build();
return new NotificationResponse(notificationType);
+ }
+ @Override
+ public CompletableFuture<Void> sendToMzsClient(Msg2MzsConverter converter, Optional<byte[]> signedNotification, Mzs2AppPortType client) {
+ var mzsNotification = converter.convert(notification, signedNotification);
+ client.forwardNotification(mzsNotification);
+ return CompletableFuture.completedFuture(null);
}
}