diff options
author | Benjamin, Max (mb388a) <mb388a@us.att.com> | 2019-01-11 22:24:32 -0500 |
---|---|---|
committer | Benjamin, Max (mb388a) <mb388a@us.att.com> | 2019-01-11 22:24:46 -0500 |
commit | 45986141965394d115f41e1b404834f386cb5fa2 (patch) | |
tree | 4475dd368c7d0c43d41057e60624b3451ec83c17 /bpmn/MSOCommonBPMN/src/main | |
parent | c286ac0022ccef0ea4f7d74f8626fba6e3060b86 (diff) |
descriptive messages now returned by validator
descriptive messages now returned by validator
Change-Id: I49db843fbdfe20979fba6991744c62aa1f745d5f
Issue-ID: SO-1388
Signed-off-by: Benjamin, Max (mb388a) <mb388a@us.att.com>
Diffstat (limited to 'bpmn/MSOCommonBPMN/src/main')
2 files changed, 8 insertions, 6 deletions
diff --git a/bpmn/MSOCommonBPMN/src/main/java/org/onap/so/bpmn/common/validation/FlowValidator.java b/bpmn/MSOCommonBPMN/src/main/java/org/onap/so/bpmn/common/validation/FlowValidator.java index 9995b95c50..96322c3c88 100644 --- a/bpmn/MSOCommonBPMN/src/main/java/org/onap/so/bpmn/common/validation/FlowValidator.java +++ b/bpmn/MSOCommonBPMN/src/main/java/org/onap/so/bpmn/common/validation/FlowValidator.java @@ -1,5 +1,6 @@ package org.onap.so.bpmn.common.validation; +import java.util.Optional; import java.util.Set; import org.onap.so.bpmn.common.BuildingBlockExecution; @@ -14,10 +15,11 @@ public interface FlowValidator { /** * Determines whether or not the workflow should be executed + * * @param execution * @return */ - public boolean validate(BuildingBlockExecution execution); + public Optional<String> validate(BuildingBlockExecution execution); } diff --git a/bpmn/MSOCommonBPMN/src/main/java/org/onap/so/bpmn/common/validation/FlowValidatorRunner.java b/bpmn/MSOCommonBPMN/src/main/java/org/onap/so/bpmn/common/validation/FlowValidatorRunner.java index c2e7d1f4d9..9e6ea53a47 100644 --- a/bpmn/MSOCommonBPMN/src/main/java/org/onap/so/bpmn/common/validation/FlowValidatorRunner.java +++ b/bpmn/MSOCommonBPMN/src/main/java/org/onap/so/bpmn/common/validation/FlowValidatorRunner.java @@ -99,24 +99,24 @@ public abstract class FlowValidatorRunner<S extends FlowValidator, E extends Flo } protected boolean validate(List<? extends FlowValidator> validators, String bbName, BuildingBlockExecution execution) { - List<Pair<String, Boolean>> results = runValidations(validators, bbName, execution); + List<Pair<String, Optional<String>>> results = runValidations(validators, bbName, execution); if (!results.isEmpty()) { exceptionBuilder.buildAndThrowWorkflowException(execution, 7000, - "Failed Validations:\n" + results.stream().map(item -> item.getValue0()).collect(Collectors.joining("\n"))); + "Failed Validations:\n" + results.stream().map(item -> String.format("%s: %s", item.getValue0(), item.getValue1().get())).collect(Collectors.joining("\n"))); } return true; } - protected List<Pair<String, Boolean>> runValidations(List<? extends FlowValidator> validators, String bbName, BuildingBlockExecution execution) { + protected List<Pair<String, Optional<String>>> runValidations(List<? extends FlowValidator> validators, String bbName, BuildingBlockExecution execution) { List<FlowValidator> filtered = filterValidators(validators, bbName); - List<Pair<String,Boolean>> results = new ArrayList<>(); + List<Pair<String,Optional<String>>> results = new ArrayList<>(); filtered.forEach(item -> results.add(new Pair<>(item.getClass().getName(), item.validate(execution)))); - return results.stream().filter(item -> item.getValue1().equals(false)).collect(Collectors.toList()); + return results.stream().filter(item -> item.getValue1().isPresent()).collect(Collectors.toList()); } protected List<FlowValidator> filterValidators(List<? extends FlowValidator> validators, String bbName) { |