diff options
author | Christof Rabensteiner <christof.rabensteiner@iaik.tugraz.at> | 2019-05-10 11:22:46 +0200 |
---|---|---|
committer | Christof Rabensteiner <christof.rabensteiner@iaik.tugraz.at> | 2019-05-10 11:22:46 +0200 |
commit | dfbb2fb7e55eb99b777cc4d5f5fc5e2aca8f76c6 (patch) | |
tree | 6e9ca1515b18a77436ebd3283da505af2ef42ef3 /src/main/java/at/gv/egiz/moazs/DeliveryRequestAugmenter.java | |
parent | 0bb01c6701394d438ebdd94b4488a64d59f4e50b (diff) | |
download | moa-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.java | 37 |
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(); + } + +} |