diff options
author | Christof Rabensteiner <christof.rabensteiner@iaik.tugraz.at> | 2019-07-02 16:42:43 +0200 |
---|---|---|
committer | Christof Rabensteiner <christof.rabensteiner@iaik.tugraz.at> | 2019-07-02 16:42:43 +0200 |
commit | 4b6ce58f339d69c70ef746ceecae78bf7ed0f0ba (patch) | |
tree | 7708c40ffdc7e29aa784ee5d26308f18aa1f460b /src/main/java/at/gv/egiz/moazs/preprocess/ConfigProfileGenerator.java | |
parent | 030488bb7ff9572f35032d80d4101c06cfc98bf5 (diff) | |
download | moa-zs-4b6ce58f339d69c70ef746ceecae78bf7ed0f0ba.tar.gz moa-zs-4b6ce58f339d69c70ef746ceecae78bf7ed0f0ba.tar.bz2 moa-zs-4b6ce58f339d69c70ef746ceecae78bf7ed0f0ba.zip |
Handle tnvz Query Edge Cases by Improving Validation
TnvzHelper Fixes
- Handle additional edge cases.
- Mzs:Schema Change: Eliminate PreAdviceNote redundancy by removing it
from mzs:DeliveryRequest/TnvzMetaData; PreadviceNote is already in
the Receiver element. Update TnvzHelper accordingly.
- Implement and integrate tnvz completeness check into
DeliveryRequestAugmenter to ensure that, after augmentation, tnvz
can be performed.
Refactor mzs:DeliveryRequest Validation:
- Before: Validating, merging and generatig ConfigType in ConfigUtil.
- Change: Need to add validation of DeliveryRequest (Reason: For
performing Tnvz Requests, the DeliveryRequest needs to be in a
consistent state).
- Problem: DeliveryRequest validation does not fit into ConfigUtil.
- Solution: Put validation of DeliveryRequest and Config into new
Component "MzsValidation".
Diffstat (limited to 'src/main/java/at/gv/egiz/moazs/preprocess/ConfigProfileGenerator.java')
-rw-r--r-- | src/main/java/at/gv/egiz/moazs/preprocess/ConfigProfileGenerator.java | 17 |
1 files changed, 13 insertions, 4 deletions
diff --git a/src/main/java/at/gv/egiz/moazs/preprocess/ConfigProfileGenerator.java b/src/main/java/at/gv/egiz/moazs/preprocess/ConfigProfileGenerator.java index fa1ccd6..c2f2415 100644 --- a/src/main/java/at/gv/egiz/moazs/preprocess/ConfigProfileGenerator.java +++ b/src/main/java/at/gv/egiz/moazs/preprocess/ConfigProfileGenerator.java @@ -1,6 +1,7 @@ package at.gv.egiz.moazs.preprocess; import at.gv.egiz.moazs.MoaZSException; +import at.gv.egiz.moazs.mzs.MzsValidator; import at.gv.egiz.moazs.util.StringUtils; import at.gv.zustellung.app2mzs.xsd.ConfigType; import org.slf4j.Logger; @@ -29,6 +30,7 @@ public class ConfigProfileGenerator { private final SpringPropertiesFacade properties; private final ConfigUtil util; + private final MzsValidator validator; private final boolean verifyCompletenessOfDefaultConfiguration; private final String profilePrefix; private final String defaultConfigKey; @@ -40,11 +42,12 @@ public class ConfigProfileGenerator { private ConfigProfileGenerator( SpringPropertiesFacade properties, ConfigUtil util, - boolean verifyCompletenessOfDefaultConfiguration, + MzsValidator validator, boolean verifyCompletenessOfDefaultConfiguration, String profilePrefix, String defaultConfigKey) { this.util = util; this.properties = properties; + this.validator = validator; this.verifyCompletenessOfDefaultConfiguration = verifyCompletenessOfDefaultConfiguration; this.profilePrefix = profilePrefix; this.defaultConfigKey = defaultConfigKey; @@ -68,7 +71,7 @@ public class ConfigProfileGenerator { var defaultProfile = profiles.get(defaultConfigKey); - if (!util.isComplete(defaultProfile)) { + if (!validator.isConfigProfileComplete(defaultProfile)) { if (verifyCompletenessOfDefaultConfiguration) throw MoaZSException.moaZSException(PROFILE_NOT_COMPLETE_ERROR_MESSAGE); else { @@ -110,6 +113,7 @@ public class ConfigProfileGenerator { public static class ConfigProfileGeneratorBuilder { private SpringPropertiesFacade properties; private ConfigUtil util; + private MzsValidator validator; private boolean verify = true; private String profilePrefix = "delivery-request-configuration-profiles"; private String defaultConfigKey = "default"; @@ -124,6 +128,11 @@ public class ConfigProfileGenerator { return this; } + public ConfigProfileGeneratorBuilder withValidator(MzsValidator validator) { + this.validator = validator; + return this; + } + public ConfigProfileGeneratorBuilder withVerifyCompletenessOfDefaultConfiguration( boolean verify) { this.verify = verify; @@ -141,10 +150,10 @@ public class ConfigProfileGenerator { } public ConfigProfileGenerator build() { - if (properties == null || util == null || profilePrefix == null || defaultConfigKey == null) + if (properties == null || util == null || profilePrefix == null || defaultConfigKey == null || validator == null) throw new IllegalArgumentException("Cannot build ConfigProfileGenerator: " + "One or more arguments are null."); - return new ConfigProfileGenerator(properties, util, verify, profilePrefix, defaultConfigKey); + return new ConfigProfileGenerator(properties, util, validator, verify, profilePrefix, defaultConfigKey); } } } |