diff options
Diffstat (limited to 'dcaedt_be/src/main/java/org/onap/sdc/dcae/rule/editor/validators/TopoSearchValidator.java')
-rw-r--r-- | dcaedt_be/src/main/java/org/onap/sdc/dcae/rule/editor/validators/TopoSearchValidator.java | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/dcaedt_be/src/main/java/org/onap/sdc/dcae/rule/editor/validators/TopoSearchValidator.java b/dcaedt_be/src/main/java/org/onap/sdc/dcae/rule/editor/validators/TopoSearchValidator.java index 1abc2d8..90073e5 100644 --- a/dcaedt_be/src/main/java/org/onap/sdc/dcae/rule/editor/validators/TopoSearchValidator.java +++ b/dcaedt_be/src/main/java/org/onap/sdc/dcae/rule/editor/validators/TopoSearchValidator.java @@ -1,11 +1,13 @@ package org.onap.sdc.dcae.rule.editor.validators; import org.onap.sdc.common.onaplog.Enums.LogLevel; +import org.onap.sdc.dcae.composition.restmodels.ruleeditor.Condition; import org.onap.sdc.dcae.composition.restmodels.ruleeditor.TopoSearchAction; import org.onap.sdc.dcae.errormng.ActionStatus; import org.onap.sdc.dcae.errormng.ErrConfMgr; import org.onap.sdc.dcae.errormng.ResponseFormat; import org.onap.sdc.dcae.rule.editor.utils.ValidationUtils; +import org.springframework.util.CollectionUtils; import java.util.List; @@ -26,7 +28,7 @@ public class TopoSearchValidator extends BaseActionValidator<TopoSearchAction> { public boolean validate(TopoSearchAction action, List<ResponseFormat> errors) { boolean valid = super.validate(action, errors); - if (action.conditionalSearch() && !conditionValidator.validateConditionalAction(action.searchFilter(), errors)) { + if (action.conditionalSearch() && searchFilterHasNoneEmptyFields(action.searchFilter()) && !conditionValidator.validateConditionalAction(action.searchFilter(), errors)) { valid = false; } if (!ValidationUtils.validateNotEmpty(action.searchField())) { @@ -40,6 +42,9 @@ public class TopoSearchValidator extends BaseActionValidator<TopoSearchAction> { return validateEnrichOrUpdates(action, errors) && valid; } + private boolean searchFilterHasNoneEmptyFields(Condition searchFilter) { + return ValidationUtils.validateNotEmpty(searchFilter.getLeft()) || ValidationUtils.validateNotEmpty(searchFilter.getOperator()) || !CollectionUtils.isEmpty(searchFilter.getRight()) && searchFilter.getRight().stream().anyMatch(ValidationUtils::validateNotEmpty); + } private boolean validateEnrichOrUpdates(TopoSearchAction action, List<ResponseFormat> errors) { if (!action.doEnrich()) { |