aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/at/gv/egiz/moazs/repository/InMemoryDeliveryRepository.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/at/gv/egiz/moazs/repository/InMemoryDeliveryRepository.java')
-rw-r--r--src/main/java/at/gv/egiz/moazs/repository/InMemoryDeliveryRepository.java37
1 files changed, 9 insertions, 28 deletions
diff --git a/src/main/java/at/gv/egiz/moazs/repository/InMemoryDeliveryRepository.java b/src/main/java/at/gv/egiz/moazs/repository/InMemoryDeliveryRepository.java
index 58ec92c..d9abb7b 100644
--- a/src/main/java/at/gv/egiz/moazs/repository/InMemoryDeliveryRepository.java
+++ b/src/main/java/at/gv/egiz/moazs/repository/InMemoryDeliveryRepository.java
@@ -1,36 +1,27 @@
package at.gv.egiz.moazs.repository;
+import at.gv.egiz.moazs.scheme.MsgResponse;
import at.gv.zustellung.app2mzs.xsd.DeliveryRequestType;
-import at.gv.zustellung.msg.xsd.DeliveryRequestStatusType;
import com.google.common.cache.Cache;
import com.google.common.cache.CacheBuilder;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
import org.springframework.context.annotation.Profile;
import org.springframework.stereotype.Repository;
import java.util.Optional;
import java.util.concurrent.TimeUnit;
-import static at.gv.egiz.moazs.util.NullCoalesce.coalesce;
import static java.util.Optional.ofNullable;
@Repository
@Profile("!cluster")
public class InMemoryDeliveryRepository implements DeliveryRepository {
- private static final Logger logger = LoggerFactory.getLogger(InMemoryDeliveryRepository.class);
-
- private static final Cache<String, DeliveryRequestType> requestRepository = CacheBuilder.newBuilder()
+ private final Cache<String, DeliveryRequestType> requestRepository = CacheBuilder.newBuilder()
.expireAfterWrite(30, TimeUnit.MINUTES)
.build();
- private static final Cache<String, DeliveryRequestStatusType> statusRepository = CacheBuilder.newBuilder()
- .expireAfterWrite(30, TimeUnit.MINUTES)
- .build();
-
- private static final Cache<String, byte[]> signedStatusRepository = CacheBuilder.newBuilder()
+ private final Cache<String, MsgResponse> responseRepository = CacheBuilder.newBuilder()
.expireAfterWrite(30, TimeUnit.MINUTES)
.build();
@@ -46,24 +37,14 @@ public class InMemoryDeliveryRepository implements DeliveryRepository {
}
@Override
- public void add(DeliveryRequestStatusType status) {
- var key = coalesce(status.getSuccess(), status.getPartialSuccess(), status.getError())
- .get().getAppDeliveryID();
- statusRepository.put(key, status);
- }
-
- @Override
- public Optional<DeliveryRequestStatusType> getDeliveryRequestStatus(String appDeliveryID) {
- return ofNullable(statusRepository.getIfPresent(appDeliveryID));
- }
-
- @Override
- public void addSignedDeliveryRequestStatus(byte[] bytes, String appDeliveryId) {
- signedStatusRepository.put(appDeliveryId, bytes);
+ public void add(MsgResponse response) {
+ String key = response.getResponseID();
+ System.out.println("storing with response id " + key);
+ responseRepository.put(key, response);
}
@Override
- public Optional<byte[]> getSignedDeliveryRequestStatus(String appDeliveryID) {
- return ofNullable(signedStatusRepository.getIfPresent(appDeliveryID));
+ public Optional<MsgResponse> getResponse(String id) {
+ return ofNullable(responseRepository.getIfPresent(id));
}
}