1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 package org.kuali.student.r2.common.datadictionary;
17
18 import java.util.List;
19 import org.kuali.rice.krad.datadictionary.DataObjectEntry;
20 import org.kuali.rice.krad.datadictionary.validation.result.DictionaryValidationResult;
21 import org.kuali.rice.krad.service.DictionaryValidationService;
22 import org.kuali.student.r2.common.dto.ContextInfo;
23 import org.kuali.student.r2.common.dto.ValidationResultInfo;
24 import org.kuali.student.r2.common.exceptions.InvalidParameterException;
25 import org.kuali.student.r2.common.exceptions.MissingParameterException;
26 import org.kuali.student.r2.common.exceptions.OperationFailedException;
27 import org.kuali.student.r2.common.exceptions.PermissionDeniedException;
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43 public class RiceDataDictionaryValidatorImpl implements DataDictionaryValidator {
44
45 private static org.apache.log4j.Logger log = org.apache.log4j.Logger.getLogger(RiceDataDictionaryValidatorImpl.class);
46 private RiceDataDictionaryServiceInfc riceDataDictionaryService;
47 private DictionaryValidationService riceDictionaryValidationService;
48
49 public RiceDataDictionaryValidatorImpl() {
50 }
51
52 public RiceDataDictionaryServiceInfc getRiceDataDictionaryService() {
53 return riceDataDictionaryService;
54 }
55
56 public void setRiceDataDictionaryService(RiceDataDictionaryServiceInfc riceDataDictionaryService) {
57 this.riceDataDictionaryService = riceDataDictionaryService;
58 }
59
60 public DictionaryValidationService getRiceDictionaryValidationService() {
61 return riceDictionaryValidationService;
62 }
63
64 public void setRiceDictionaryValidationService(DictionaryValidationService riceDictionaryValidationService) {
65 this.riceDictionaryValidationService = riceDictionaryValidationService;
66 }
67
68
69 @Override
70 public List<ValidationResultInfo> validate(ValidationType validationType, Object info, ContextInfo context)
71 throws OperationFailedException, MissingParameterException, InvalidParameterException, PermissionDeniedException {
72 boolean doOptionalProcessing = true;
73
74
75 if (validationType.equals(DataDictionaryValidator.ValidationType.SKIP_REQUREDNESS_VALIDATIONS)) {
76 doOptionalProcessing = false;
77 }
78 String entryName = info.getClass().getName();
79 DataObjectEntry dictEntry;
80 dictEntry = this.riceDataDictionaryService.getDataObjectEntry(entryName);
81 if (dictEntry == null) {
82 throw new OperationFailedException("Dictionary entry for " + entryName + " does not exist");
83 }
84 DictionaryValidationResult dvr = this.riceDictionaryValidationService.validate(info,
85 entryName,
86 dictEntry,
87 doOptionalProcessing);
88 Rice2ValidationResultConverter converter = new Rice2ValidationResultConverter();
89 List<ValidationResultInfo> vrs = converter.convert(dvr);
90 return vrs;
91 }
92 }