Search in sources :

Example 1 with Collectors.toSet

use of java.util.stream.Collectors.toSet in project ddf by codice.

the class ValidationParser method getMetacardValidators.

@SuppressWarnings("unchecked")
private List<MetacardValidator> getMetacardValidators(MetacardValidatorDefinition validatorDefinition) {
    List<MetacardValidator> metacardValidators = new ArrayList<>();
    MetacardValidator metacardValidator = null;
    String validatorName = null;
    Object metacardValidatorObj = validatorDefinition.arguments.get(VALIDATOR_PROPERTY);
    if (metacardValidatorObj instanceof String) {
        validatorName = (String) metacardValidatorObj;
    }
    if (validatorName != null) {
        String metacardType = validatorDefinition.metacardType;
        switch(validatorName) {
            case REQUIRED_ATTRIBUTE_VALIDATOR_PROPERTY:
                {
                    if (metacardType == null) {
                        throw new IllegalStateException("Required Attributes Validator received invalid configuration");
                    }
                    Set<String> requiredAttributes = new HashSet<>();
                    Object requiredAttributesObj = validatorDefinition.arguments.get(REQUIRED_ATTRIBUTES_PROPERTY);
                    if (requiredAttributesObj instanceof List) {
                        List<Object> requiredAttrObjList = (List) requiredAttributesObj;
                        requiredAttributes = requiredAttrObjList.stream().filter(String.class::isInstance).map(String.class::cast).collect(Collectors.toSet());
                    }
                    if (CollectionUtils.isNotEmpty(requiredAttributes)) {
                        metacardValidator = new RequiredAttributesMetacardValidator(metacardType, requiredAttributes);
                    } else {
                        throw new IllegalStateException("Required Attributes Validator received invalid configuration");
                    }
                    break;
                }
            default:
                throw new IllegalStateException("Validator does not exist. (" + validatorName + ")");
        }
    }
    if (metacardValidator != null) {
        metacardValidators.add(metacardValidator);
    }
    return metacardValidators;
}
Also used : Collectors.toSet(java.util.stream.Collectors.toSet) Set(java.util.Set) HashSet(java.util.HashSet) MetacardValidator(ddf.catalog.validation.MetacardValidator) RequiredAttributesMetacardValidator(ddf.catalog.validation.impl.validator.RequiredAttributesMetacardValidator) ArrayList(java.util.ArrayList) List(java.util.List) ArrayList(java.util.ArrayList) Collectors.toList(java.util.stream.Collectors.toList) RequiredAttributesMetacardValidator(ddf.catalog.validation.impl.validator.RequiredAttributesMetacardValidator)

Aggregations

MetacardValidator (ddf.catalog.validation.MetacardValidator)1 RequiredAttributesMetacardValidator (ddf.catalog.validation.impl.validator.RequiredAttributesMetacardValidator)1 ArrayList (java.util.ArrayList)1 HashSet (java.util.HashSet)1 List (java.util.List)1 Set (java.util.Set)1 Collectors.toList (java.util.stream.Collectors.toList)1 Collectors.toSet (java.util.stream.Collectors.toSet)1