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.java26
1 files changed, 16 insertions, 10 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 21e00a1..4e7abae 100644
--- a/src/main/java/at/gv/egiz/moazs/scheme/NotificationResponse.java
+++ b/src/main/java/at/gv/egiz/moazs/scheme/NotificationResponse.java
@@ -1,16 +1,17 @@
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.ErrorInfoType;
import at.gv.zustellung.msg.xsd.ObjectFactory;
import javax.xml.bind.JAXBElement;
-
+import java.util.List;
import java.util.Optional;
import java.util.concurrent.CompletableFuture;
+import static at.gv.zustellung.msg.xsd.DeliveryErrorType.deliveryErrorTypeBuilder;
import static at.gv.zustellung.msg.xsd.DeliveryNotificationType.deliveryNotificationTypeBuilder;
public class NotificationResponse extends MsgResponse<DeliveryNotificationType> {
@@ -54,14 +55,19 @@ public class NotificationResponse extends MsgResponse<DeliveryNotificationType>
}
@Override
- public NotificationResponse generateError(MoaZSException exception) {
-
- //TODO: use copy constructor?
- var notificationType = deliveryNotificationTypeBuilder()
- .withAppDeliveryID(exception.getAppDeliveryID())
- .withDeliverySystem(exception.getDeliverySystem())
- .withGZ(exception.getGz())
- .withZSDeliveryID(exception.getZsDeliveryID())
+ public NotificationResponse generateError(String text, String code) {
+
+ var info = ErrorInfoType.errorInfoTypeBuilder()
+ .withCode(code)
+ .withText(text)
+ .build();
+
+ var error = deliveryErrorTypeBuilder()
+ .withErrorInfo(info)
+ .build();
+
+ var notificationType = deliveryNotificationTypeBuilder(notification)
+ .withAnswer(List.of(factory.createAnswer(error)))
.build();
return new NotificationResponse(notificationType);