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-10 11:22:46 +0200
committerChristof Rabensteiner <christof.rabensteiner@iaik.tugraz.at>2019-05-10 11:22:46 +0200
commitdfbb2fb7e55eb99b777cc4d5f5fc5e2aca8f76c6 (patch)
tree6e9ca1515b18a77436ebd3283da505af2ef42ef3 /src/main/java/at/gv/egiz/moazs/DeliveryRequestAugmenter.java
parent0bb01c6701394d438ebdd94b4488a64d59f4e50b (diff)
downloadmoa-zs-dfbb2fb7e55eb99b777cc4d5f5fc5e2aca8f76c6.tar.gz
moa-zs-dfbb2fb7e55eb99b777cc4d5f5fc5e2aca8f76c6.tar.bz2
moa-zs-dfbb2fb7e55eb99b777cc4d5f5fc5e2aca8f76c6.zip
Refactor: Rename DeliveryPreprocessor to Augmenter
- Reason: Preprocessor does not perform any validation anymore!
Diffstat (limited to 'src/main/java/at/gv/egiz/moazs/DeliveryRequestAugmenter.java')
-rw-r--r--src/main/java/at/gv/egiz/moazs/DeliveryRequestAugmenter.java37
1 files changed, 37 insertions, 0 deletions
diff --git a/src/main/java/at/gv/egiz/moazs/DeliveryRequestAugmenter.java b/src/main/java/at/gv/egiz/moazs/DeliveryRequestAugmenter.java
new file mode 100644
index 0000000..5c11ecb
--- /dev/null
+++ b/src/main/java/at/gv/egiz/moazs/DeliveryRequestAugmenter.java
@@ -0,0 +1,37 @@
+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.persondata.CorporateBodyType;
+import at.gv.zustellung.msg.xsd.SenderProfile;
+import org.springframework.stereotype.Component;
+import org.springframework.util.Assert;
+
+import static at.gv.egiz.moazs.util.NullCoalesce.coalesce;
+import static at.gv.zustellung.app2mzs.xsd.ConfigType.configTypeBuilder;
+import static org.springframework.util.Assert.isTrue;
+import static org.springframework.util.Assert.notNull;
+
+@Component
+public class DeliveryRequestAugmenter {
+
+ /**
+ * Augments an incoming {@code request} by filling gaps with config- or default parameters.
+ *
+ * @param request
+ * @return augmented request
+ */
+ public DeliveryRequestType augment(DeliveryRequestType request) {
+ return new DeliveryRequestTypeBuilder(request)
+ .withConfig(coalesce(request.getConfig(), initDefaultConfig()).get())
+ .build();
+ }
+
+ private ConfigType initDefaultConfig() {
+ return configTypeBuilder()
+ .withPerformQueryPersonRequest(false)
+ .build();
+ }
+
+}