aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/at/gv/egiz/moazs/DeliveryRequestAugmenter.java
diff options
context:
space:
mode:
authorChristof Rabensteiner <christof.rabensteiner@iaik.tugraz.at>2019-05-15 06:41:15 +0200
committerChristof Rabensteiner <christof.rabensteiner@iaik.tugraz.at>2019-05-15 06:41:15 +0200
commite70ec39488c0688d8144fa529d58d60ae9564fbd (patch)
tree07ef8e905d56b5ab2142f7a787d98317debcb38d /src/main/java/at/gv/egiz/moazs/DeliveryRequestAugmenter.java
parent1c252d7fc336831188c628ecdd39cd1b84b0cada (diff)
downloadmoa-zs-e70ec39488c0688d8144fa529d58d60ae9564fbd.tar.gz
moa-zs-e70ec39488c0688d8144fa529d58d60ae9564fbd.tar.bz2
moa-zs-e70ec39488c0688d8144fa529d58d60ae9564fbd.zip
WIP: Generate Map of Config Profiles from Spring Environment
Augmenter - Replace default Config Profile with map of Config Profiles. Now, Augmenter can choose a config profile at runtime and augment it. - Move Augmenter to sub package. WIP - Implement ConfigProfileGenerator, which retrieves Config profiles from Spring Environment and returns an easy-to-use map with profiles that is keyed with profile id's. - Replace application.properties with application.yaml. - Remove Augmenter test cases: They need to be adapted.
Diffstat (limited to 'src/main/java/at/gv/egiz/moazs/DeliveryRequestAugmenter.java')
-rw-r--r--src/main/java/at/gv/egiz/moazs/DeliveryRequestAugmenter.java68
1 files changed, 0 insertions, 68 deletions
diff --git a/src/main/java/at/gv/egiz/moazs/DeliveryRequestAugmenter.java b/src/main/java/at/gv/egiz/moazs/DeliveryRequestAugmenter.java
deleted file mode 100644
index 96197d0..0000000
--- a/src/main/java/at/gv/egiz/moazs/DeliveryRequestAugmenter.java
+++ /dev/null
@@ -1,68 +0,0 @@
-package at.gv.egiz.moazs;
-
-import at.gv.zustellung.app2mzs.xsd.ConfigType;
-import at.gv.zustellung.app2mzs.xsd.DeliveryRequestType;
-import at.gv.zustellung.app2mzs.xsd.DeliveryRequestType.DeliveryRequestTypeBuilder;
-import at.gv.zustellung.app2mzs.xsd.ServerType;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Component;
-
-import static at.gv.egiz.moazs.util.NullCoalesce.coalesce;
-import static at.gv.zustellung.app2mzs.xsd.ConfigType.configTypeBuilder;
-import static at.gv.zustellung.app2mzs.xsd.ServerType.*;
-
-@Component
-public class DeliveryRequestAugmenter {
-
- private final ConfigType defaultMzsConfig;
-
- @Autowired
- public DeliveryRequestAugmenter(ConfigType defaultMzsConfig) {
- this.defaultMzsConfig = defaultMzsConfig;
- }
-
- /**
- * Augments an incoming {@code request} by filling gaps with config- or default parameters.
- *
- * @param request
- * @return augmented request
- */
- public DeliveryRequestType augment(DeliveryRequestType request) {
-
- var config = merge(request.getConfig(), defaultMzsConfig);
-
- return new DeliveryRequestTypeBuilder(request)
- .withConfig(config)
- .build();
- }
-
- private ConfigType merge(ConfigType primary, ConfigType fallback) {
-
- var builder = configTypeBuilder(fallback);
-
- if(primary != null) {
-
- if(primary.getServer() != null) {
- builder.withServer(merge(primary.getServer(), fallback.getServer()));
- }
-
- if(primary.isPerformQueryPersonRequest() != null) {
- builder.withPerformQueryPersonRequest(primary.isPerformQueryPersonRequest());
- }
-
- }
-
- return builder.build();
-
- }
-
- private ServerType merge(ServerType primary, ServerType fallback) {
-
- var builder = serverTypeBuilder(fallback);
-
- if (primary.getX509() != null) builder.withX509 (primary.getX509() );
- if (primary.getZUSEUrlID() != null) builder.withZUSEUrlID(primary.getZUSEUrlID());
-
- return builder.build();
- }
-}