1 package org.onap.sdc.dcae.rule.editor.validators;
3 import org.onap.sdc.dcae.composition.restmodels.ruleeditor.MapAction;
4 import org.onap.sdc.dcae.errormng.ActionStatus;
5 import org.onap.sdc.dcae.errormng.ErrConfMgr;
6 import org.onap.sdc.dcae.errormng.ResponseFormat;
7 import org.onap.sdc.dcae.rule.editor.utils.ValidationUtils;
8 import org.springframework.util.CollectionUtils;
10 import java.util.List;
12 public class MapActionValidator extends ActionValidator<MapAction> {
14 private static MapActionValidator mapActionValidator = new MapActionValidator();
16 public static MapActionValidator getInstance() {
17 return mapActionValidator;
20 private MapActionValidator(){}
23 public boolean validate(MapAction action, List<ResponseFormat> errors) {
24 boolean valid = super.validate(action, errors);
25 if (action.getMap() == null || CollectionUtils.isEmpty(action.getMapValues())) {
27 errors.add(ErrConfMgr.INSTANCE.getResponseFormat(ActionStatus.MISSING_ENTRY, null, action.getTarget()));
29 if (action.mapHasDefault() && !ValidationUtils.validateNotEmpty(action.getMapDefaultValue())) {
31 errors.add(ErrConfMgr.INSTANCE.getResponseFormat(ActionStatus.MISSING_DEFAULT_VALUE, null, action.getTarget()));
34 if (!validateMapValues(action)) {
36 errors.add(ErrConfMgr.INSTANCE.getResponseFormat(ActionStatus.MISSING_ENTRY, null, action.getTarget()));
38 } catch (IllegalStateException err) {
40 errors.add(ErrConfMgr.INSTANCE.getResponseFormat(ActionStatus.DUPLICATE_KEY, null));
46 private boolean validateMapValues(MapAction action) {
47 return action.transformToMap().entrySet().stream().noneMatch(p -> !ValidationUtils.validateNotEmpty(p.getKey()) || !ValidationUtils.validateNotEmpty(p.getValue()));