summaryrefslogtreecommitdiffstats
path: root/dcaedt_be/src/main/java/org/onap/sdc/dcae/rule/editor/impl/RulesBusinessLogic.java
diff options
context:
space:
mode:
Diffstat (limited to 'dcaedt_be/src/main/java/org/onap/sdc/dcae/rule/editor/impl/RulesBusinessLogic.java')
-rw-r--r--dcaedt_be/src/main/java/org/onap/sdc/dcae/rule/editor/impl/RulesBusinessLogic.java17
1 files changed, 10 insertions, 7 deletions
diff --git a/dcaedt_be/src/main/java/org/onap/sdc/dcae/rule/editor/impl/RulesBusinessLogic.java b/dcaedt_be/src/main/java/org/onap/sdc/dcae/rule/editor/impl/RulesBusinessLogic.java
index 468a6d5..ced922b 100644
--- a/dcaedt_be/src/main/java/org/onap/sdc/dcae/rule/editor/impl/RulesBusinessLogic.java
+++ b/dcaedt_be/src/main/java/org/onap/sdc/dcae/rule/editor/impl/RulesBusinessLogic.java
@@ -10,6 +10,7 @@ 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.errormng.ServiceException;
+import org.onap.sdc.dcae.rule.editor.enums.RuleEditorElementType;
import org.onap.sdc.dcae.rule.editor.translators.MappingRulesTranslator;
import org.onap.sdc.dcae.rule.editor.utils.EmptyStringTranslationSerializer;
import org.onap.sdc.dcae.rule.editor.utils.ValidationUtils;
@@ -22,7 +23,6 @@ import java.util.*;
import java.util.function.BiFunction;
import java.util.function.Function;
import java.util.stream.Collectors;
-import java.util.stream.Stream;
@Component
public class RulesBusinessLogic {
@@ -33,6 +33,13 @@ public class RulesBusinessLogic {
private MappingRulesTranslator mappingRulesTranslator = MappingRulesTranslator.getInstance();
private static Gson gsonTranslator = new GsonBuilder().registerTypeAdapter(String.class, new EmptyStringTranslationSerializer()).enableComplexMapKeySerialization().create();
+
+ public List<ServiceException> validateFilter(BaseCondition filter) {
+ List<ResponseFormat> errors = new ArrayList<>();
+ RuleEditorElementType.getElementTypeByName(filter.getClass().getSimpleName()).getValidator().validate(filter, errors);
+ return errors.stream().map(r -> r.getRequestError().getServiceException()).collect(Collectors.toList());
+ }
+
public List<ServiceException> validateRule(Rule rule) {
List<ResponseFormat> errors = new ArrayList<>();
if(ruleValidator.validate(rule, errors)) {
@@ -43,7 +50,7 @@ public class RulesBusinessLogic {
public List<ServiceException> validateImportedRules(MappingRules rules) {
List<ResponseFormat> errors = new ArrayList<>();
- if(mappingRulesValidator.validate(rules, errors)){
+ if(mappingRulesValidator.validate(rules, errors)) {
rules.getRules().forEach((k,v) -> {
v.setUid(k);
detectAndResolveActionDependencies(v, errors);
@@ -80,6 +87,7 @@ public class RulesBusinessLogic {
}
+ // when saving a single rule its declared format (supportGroups) must match the existing rules format (a single match is enough as all previously saved rules were already validated)
public boolean validateGroupDefinitions(MappingRules rules, boolean supportGroups) {
return supportGroups == rules.getRules().values().stream().anyMatch(r -> ValidationUtils.validateNotEmpty(r.getGroupId()));
}
@@ -184,11 +192,6 @@ public class RulesBusinessLogic {
rules.setRules(rulesMap);
}
- public boolean validateTranslateRequestFields(TranslateRequest request) {
- return Stream.of(request.getVfcmtUuid(), request.getDcaeCompLabel(), request.getNid(), request.getConfigParam(), request.getPublishPhase(), request.getEntryPhase()).allMatch(ValidationUtils::validateNotEmpty)
- && !request.getEntryPhase().equalsIgnoreCase(request.getPublishPhase());
- }
-
public void updateGlobalTranslationFields(MappingRules mappingRules, TranslateRequest request, String vfcmtName) {
mappingRules.setEntryPhase(request.getEntryPhase());
mappingRules.setPublishPhase(request.getPublishPhase());