49b3e91f15067d73a1e4a015285d2e544ff6bf2d
[sdc.git] /
1 package org.openecomp.sdcrests.vendorsoftwareproducts.types.validation;
2
3 import javax.validation.ConstraintValidator;
4 import javax.validation.ConstraintValidatorContext;
5 import java.util.ArrayList;
6 import java.util.List;
7
8 public class StringValidator implements ConstraintValidator<ValidateString, String> {
9
10   private List<String> valueList;
11   boolean isCaseSensitive;
12
13   @Override
14   public void initialize(ValidateString constraintAnnotation) {
15     valueList = new ArrayList<String>();
16     isCaseSensitive = constraintAnnotation.isCaseSensitive();
17     for (String val : constraintAnnotation.acceptedValues()) {
18       if (!isCaseSensitive) {
19         val = val.toUpperCase();
20       }
21       valueList.add(val);
22     }
23   }
24
25   @Override
26   public boolean isValid(String value, ConstraintValidatorContext context) {
27     if (!isCaseSensitive) {
28       value = value.toUpperCase();
29     }
30     if (value != null && !valueList.contains(value)) {
31       return false;
32     }
33     return true;
34   }
35
36 }