1 | |
|
2 | |
|
3 | |
|
4 | |
|
5 | |
|
6 | |
|
7 | |
|
8 | |
|
9 | |
|
10 | |
|
11 | |
|
12 | |
|
13 | |
|
14 | |
|
15 | |
|
16 | |
package org.kuali.student.datadictionary; |
17 | |
|
18 | |
import java.util.List; |
19 | |
import org.kuali.rice.kns.datadictionary.DataObjectEntry; |
20 | |
import org.kuali.rice.kns.datadictionary.validation.result.DictionaryValidationResult; |
21 | |
import org.kuali.rice.kns.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 DataDictionaryValidatorInfc { |
44 | |
|
45 | 1 | private static org.apache.log4j.Logger LOG = org.apache.log4j.Logger.getLogger(RiceDataDictionaryValidatorImpl.class); |
46 | |
private RiceDataDictionaryServiceInfc riceDataDictionaryService; |
47 | |
private DictionaryValidationService riceDictionaryValidationService; |
48 | |
|
49 | 7 | public RiceDataDictionaryValidatorImpl() { |
50 | 7 | } |
51 | |
|
52 | |
public RiceDataDictionaryServiceInfc getRiceDataDictionaryService() { |
53 | 0 | return riceDataDictionaryService; |
54 | |
} |
55 | |
|
56 | |
public void setRiceDataDictionaryService(RiceDataDictionaryServiceInfc riceDataDictionaryService) { |
57 | 7 | this.riceDataDictionaryService = riceDataDictionaryService; |
58 | 7 | } |
59 | |
|
60 | |
public DictionaryValidationService getRiceDictionaryValidationService() { |
61 | 0 | return riceDictionaryValidationService; |
62 | |
} |
63 | |
|
64 | |
public void setRiceDictionaryValidationService(DictionaryValidationService riceDictionaryValidationService) { |
65 | 7 | this.riceDictionaryValidationService = riceDictionaryValidationService; |
66 | 7 | } |
67 | |
|
68 | |
|
69 | |
@Override |
70 | |
public List<ValidationResultInfo> validate(ValidationType validationType, Object info, ContextInfo context) |
71 | |
throws OperationFailedException, MissingParameterException, InvalidParameterException, PermissionDeniedException { |
72 | 8 | boolean doOptionalProcessing = true; |
73 | |
|
74 | |
|
75 | 8 | if (validationType.equals(DataDictionaryValidatorInfc.ValidationType.SKIP_REQUREDNESS_VALIDATIONS)) { |
76 | 4 | doOptionalProcessing = false; |
77 | |
} |
78 | 8 | String entryName = info.getClass().getName(); |
79 | |
DataObjectEntry dictEntry; |
80 | 8 | dictEntry = this.riceDataDictionaryService.getDataObjectEntry(entryName); |
81 | 8 | if (dictEntry == null) { |
82 | 0 | throw new OperationFailedException("Dictionary entry for " + entryName + " does not exist"); |
83 | |
} |
84 | 8 | DictionaryValidationResult dvr = this.riceDictionaryValidationService.validate(info, |
85 | |
entryName, |
86 | |
dictEntry, |
87 | |
doOptionalProcessing); |
88 | 8 | Rice2ValidationResultConverter converter = new Rice2ValidationResultConverter(); |
89 | 8 | List<ValidationResultInfo> vrs = converter.convert(dvr); |
90 | 8 | return vrs; |
91 | |
} |
92 | |
} |