aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/at/gv/egiz/moazs/scheme
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/at/gv/egiz/moazs/scheme')
-rw-r--r--src/main/java/at/gv/egiz/moazs/scheme/MsgResponse.java29
-rw-r--r--src/main/java/at/gv/egiz/moazs/scheme/NotificationResponse.java20
-rw-r--r--src/main/java/at/gv/egiz/moazs/scheme/RequestStatusResponse.java13
3 files changed, 28 insertions, 34 deletions
diff --git a/src/main/java/at/gv/egiz/moazs/scheme/MsgResponse.java b/src/main/java/at/gv/egiz/moazs/scheme/MsgResponse.java
index fe46451..699819f 100644
--- a/src/main/java/at/gv/egiz/moazs/scheme/MsgResponse.java
+++ b/src/main/java/at/gv/egiz/moazs/scheme/MsgResponse.java
@@ -3,13 +3,26 @@ package at.gv.egiz.moazs.scheme;
import at.gv.egiz.moazs.MoaZSException;
import at.gv.zustellung.msg.xsd.DeliveryAnswerType;
-public interface MsgResponse <T> {
-
- String getResponseID();
- T getResponse();
- String getAppDeliveryID();
- String getZSDeliveryID();
- DeliveryAnswerType getAnswer();
- MsgResponse<T> generateError(MoaZSException exception);
+public abstract class MsgResponse <T> {
+
+ protected String id;
+
+ protected MsgResponse(){
+ this.id = "";
+ }
+
+ public static String createResponseId(String appDeliveryID, String idSuffix) {
+ return appDeliveryID + idSuffix;
+ }
+
+ public String getResponseID() {
+ return id;
+ }
+
+ abstract public T getResponse();
+ abstract public String getAppDeliveryID();
+ abstract public String getZSDeliveryID();
+ abstract public DeliveryAnswerType getAnswer();
+ abstract public MsgResponse<T> generateError(MoaZSException exception);
}
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 f465a28..7670ab7 100644
--- a/src/main/java/at/gv/egiz/moazs/scheme/NotificationResponse.java
+++ b/src/main/java/at/gv/egiz/moazs/scheme/NotificationResponse.java
@@ -6,24 +6,18 @@ import at.gv.zustellung.msg.xsd.DeliveryNotificationType;
import static at.gv.zustellung.msg.xsd.DeliveryNotificationType.deliveryNotificationTypeBuilder;
-public class NotificationResponse implements MsgResponse<DeliveryNotificationType> {
+public class NotificationResponse extends MsgResponse<DeliveryNotificationType> {
private final DeliveryNotificationType notification;
- private final String id;
- private static final String ID_SUFFIX = ".NO";
+ private final static String ID_SUFFIX = ".NO";
public NotificationResponse(DeliveryNotificationType notification) {
+ super.id = createResponseId(notification.getAppDeliveryID(), ID_SUFFIX);
this.notification = notification;
- this.id = getId(notification.getAppDeliveryID());
}
- @Override
- public String getResponseID() {
- return this.id;
- }
-
- public static String getId(String appDeliveryID) {
- return appDeliveryID + ID_SUFFIX;
+ public static String getResponseID(String appDeliveryID) {
+ return createResponseId(appDeliveryID, ID_SUFFIX);
}
@Override
@@ -60,8 +54,4 @@ public class NotificationResponse implements MsgResponse<DeliveryNotificationTyp
return new NotificationResponse(notification);
}
-
- public static String getIdSuffix() {
- return ID_SUFFIX;
- }
}
diff --git a/src/main/java/at/gv/egiz/moazs/scheme/RequestStatusResponse.java b/src/main/java/at/gv/egiz/moazs/scheme/RequestStatusResponse.java
index 89c8be3..0705698 100644
--- a/src/main/java/at/gv/egiz/moazs/scheme/RequestStatusResponse.java
+++ b/src/main/java/at/gv/egiz/moazs/scheme/RequestStatusResponse.java
@@ -10,17 +10,16 @@ import static at.gv.zustellung.msg.xsd.DeliveryRequestStatusType.Error.errorBuil
import static at.gv.zustellung.msg.xsd.DeliveryRequestStatusType.deliveryRequestStatusTypeBuilder;
import static at.gv.zustellung.msg.xsd.ErrorInfoType.errorInfoTypeBuilder;
-public class RequestStatusResponse implements MsgResponse<DeliveryRequestStatusType> {
+public class RequestStatusResponse extends MsgResponse<DeliveryRequestStatusType> {
private final DeliveryRequestStatusType status;
private final DeliveryAnswerType answer;
- private final String responseID;
private static final String ID_SUFFIX = ".RS";
public RequestStatusResponse(DeliveryRequestStatusType status) {
this.status = status;
this.answer = coalesce(status.getSuccess(), status.getPartialSuccess(), status.getError()).get();
- this.responseID = getResponseID(answer.getAppDeliveryID());
+ super.id = createResponseId(answer.getAppDeliveryID(), ID_SUFFIX);
}
public static String getResponseID(String appDeliveryID) {
@@ -28,11 +27,6 @@ public class RequestStatusResponse implements MsgResponse<DeliveryRequestStatusT
}
@Override
- public String getResponseID() {
- return this.responseID;
- }
-
- @Override
public DeliveryRequestStatusType getResponse() {
return status;
}
@@ -81,7 +75,4 @@ public class RequestStatusResponse implements MsgResponse<DeliveryRequestStatusT
}
- public static String getIdSuffix() {
- return ID_SUFFIX;
- }
}