1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 package org.kuali.rice.krad.datadictionary.validation.processor;
17
18 import org.apache.commons.lang.StringUtils;
19 import org.kuali.rice.krad.datadictionary.exception.AttributeValidationException;
20 import org.kuali.rice.krad.datadictionary.validation.AttributeValueReader;
21 import org.kuali.rice.krad.datadictionary.validation.ValidationUtils;
22 import org.kuali.rice.krad.datadictionary.validation.constraint.Constraint;
23 import org.kuali.rice.krad.datadictionary.validation.constraint.PrerequisiteConstraint;
24 import org.kuali.rice.krad.datadictionary.validation.result.ConstraintValidationResult;
25 import org.kuali.rice.krad.datadictionary.validation.result.DictionaryValidationResult;
26 import org.kuali.rice.krad.datadictionary.validation.result.ProcessorResult;
27 import org.kuali.rice.krad.uif.UifConstants;
28
29
30
31
32 public class PrerequisiteConstraintProcessor extends BasePrerequisiteConstraintProcessor<PrerequisiteConstraint> {
33
34 private static final String CONSTRAINT_NAME = "prerequisite constraint";
35 private static final String FALLBACK_KEY = "prerequisiteFallback";
36
37
38
39
40 @Override
41 public ProcessorResult process(DictionaryValidationResult result, Object value, PrerequisiteConstraint constraint,
42 AttributeValueReader attributeValueReader) throws AttributeValidationException {
43
44 if (ValidationUtils.isNullOrEmpty(value)) {
45 return new ProcessorResult(result.addSkipped(attributeValueReader, CONSTRAINT_NAME));
46 }
47
48 ConstraintValidationResult constraintValidationResult = processPrerequisiteConstraint(constraint,
49 attributeValueReader);
50
51 if (constraint != null) {
52 if (StringUtils.isNotBlank(constraint.getMessageKey())) {
53 constraintValidationResult.setConstraintLabelKey(constraint.getMessageKey());
54 } else {
55 constraintValidationResult.setConstraintLabelKey(
56 UifConstants.Messages.VALIDATION_MSG_KEY_PREFIX + FALLBACK_KEY);
57 }
58 constraintValidationResult.setErrorParameters(constraint.getValidationMessageParamsArray());
59 }
60
61 result.addConstraintValidationResult(attributeValueReader, constraintValidationResult);
62
63 return new ProcessorResult(constraintValidationResult);
64 }
65
66 @Override
67 public String getName() {
68 return CONSTRAINT_NAME;
69 }
70
71
72
73
74 @Override
75 public Class<? extends Constraint> getConstraintType() {
76 return PrerequisiteConstraint.class;
77 }
78
79 }