diff options
author | Christof Rabensteiner <christof.rabensteiner@iaik.tugraz.at> | 2019-04-16 13:29:48 +0200 |
---|---|---|
committer | Christof Rabensteiner <christof.rabensteiner@iaik.tugraz.at> | 2019-04-16 13:29:48 +0200 |
commit | ef9a86858a5e05b4dd9bff3992c477f49b0b20f2 (patch) | |
tree | b5ca028b9df5d1b2edd0ea3979cd82138475e1d5 /src/main/java/at/gv/egiz/moazs/RedisRepository.java | |
parent | 5ee2fdd40732aa8eca29e89b14fa5238385868e8 (diff) | |
download | moa-zs-ef9a86858a5e05b4dd9bff3992c477f49b0b20f2.tar.gz moa-zs-ef9a86858a5e05b4dd9bff3992c477f49b0b20f2.tar.bz2 moa-zs-ef9a86858a5e05b4dd9bff3992c477f49b0b20f2.zip |
Add Getter for Repository + Refactor Marshalling
- mv MyMarshaller Marshaller
- Remove jaxbcontext bean
- Move Marshaller config to MarshallerConfig class
Diffstat (limited to 'src/main/java/at/gv/egiz/moazs/RedisRepository.java')
-rw-r--r-- | src/main/java/at/gv/egiz/moazs/RedisRepository.java | 20 |
1 files changed, 13 insertions, 7 deletions
diff --git a/src/main/java/at/gv/egiz/moazs/RedisRepository.java b/src/main/java/at/gv/egiz/moazs/RedisRepository.java index dfc68ea..db49b23 100644 --- a/src/main/java/at/gv/egiz/moazs/RedisRepository.java +++ b/src/main/java/at/gv/egiz/moazs/RedisRepository.java @@ -12,6 +12,7 @@ import org.springframework.stereotype.Repository; import javax.annotation.PostConstruct; import javax.xml.bind.JAXBElement; +import java.util.Optional; @Repository public class RedisRepository { @@ -22,14 +23,14 @@ public class RedisRepository { private final RedisTemplate<String, Object> redisTemplate; - private final MyMarshaller marshaller; + private final Marshaller marshaller; private HashOperations<String, String, String> hashOperations; private final ObjectFactory factory = new ObjectFactory(); @Autowired - public RedisRepository(RedisTemplate<String, Object> redisTemplate, MyMarshaller marshaller){ + public RedisRepository(RedisTemplate<String, Object> redisTemplate, Marshaller marshaller){ this.redisTemplate = redisTemplate; this.marshaller = marshaller; } @@ -43,15 +44,20 @@ public class RedisRepository { var hashKey = request.getMetaData().getAppDeliveryID(); var serializedRequest = marshaller.marshallXml(factory.createDeliveryRequest(request)); - logger.info("Adding DeliveryRequest to repository: AppDeliveryId = {}, request = {}", hashKey, serializedRequest); + logger.info("Save DeliveryRequest with AppDeliveryId = {}", hashKey); hashOperations.put(KEY, hashKey, serializedRequest); + } - var drs = (String) hashOperations.get(KEY, hashKey); - var requestFromRedis = (JAXBElement<DeliveryRequestType>) marshaller.unmarshallXml(new StringInputStream(drs)); - String appDeliveryID = requestFromRedis.getValue().getMetaData().getAppDeliveryID(); - logger.info("here's what i got out of redis: appDeliveryId = {}, request = {}", appDeliveryID, drs); + public Optional<DeliveryRequestType> getDeliveryRequest(String appDeliveryID) { + var serializedRequest = (String) hashOperations.get(KEY, appDeliveryID); + if (serializedRequest == null) { + return Optional.empty(); + } + var stream = new StringInputStream(serializedRequest); + var request = (JAXBElement<DeliveryRequestType>) marshaller.unmarshallXml(stream); + return Optional.of(request.getValue()); } } |