1 package org.kuali.ole.select.rule;
2
3 import org.kuali.ole.OLEConstants;
4 import org.kuali.ole.select.bo.OLEEResourceStatus;
5 import org.kuali.rice.krad.maintenance.MaintenanceDocument;
6 import org.kuali.rice.krad.rules.MaintenanceDocumentRuleBase;
7 import org.kuali.rice.krad.util.GlobalVariables;
8
9 import java.util.HashMap;
10 import java.util.List;
11 import java.util.Map;
12
13
14
15
16
17
18
19
20 public class OLEEResourceStatusRule extends MaintenanceDocumentRuleBase {
21
22 protected boolean processCustomSaveDocumentBusinessRules(MaintenanceDocument document) {
23 boolean isValid = true;
24 OLEEResourceStatus statusMethod = (OLEEResourceStatus) document.getNewMaintainableObject().getDataObject();
25 isValid &= validateAccessMethodCode(statusMethod);
26 return isValid;
27 }
28
29
30
31
32
33
34
35 private boolean validateAccessMethodCode(OLEEResourceStatus statusMethod) {
36 if (statusMethod.getOleEResourceStatusName() != null) {
37 Map<String, String> criteria = new HashMap<String, String>();
38 criteria.put(OLEConstants.OleEResourceStatus.E_RES_STAT_TYPE_NAME, statusMethod.getOleEResourceStatusName());
39 List<OLEEResourceStatus> authenticationMethodInDatabase = (List<OLEEResourceStatus>) getBoService().findMatching(OLEEResourceStatus.class, criteria);
40 if ((authenticationMethodInDatabase.size() > 0)) {
41 for (OLEEResourceStatus authenticationMethodObj : authenticationMethodInDatabase) {
42 String oleEResourceStatusId = authenticationMethodObj.getOleEResourceStatusId();
43 if (null == statusMethod.getOleEResourceStatusId() || (!statusMethod.getOleEResourceStatusId().equalsIgnoreCase(oleEResourceStatusId))) {
44 GlobalVariables.getMessageMap().putError(OLEConstants.OleEResourceStatus.E_RES_STAT_TYPE_NAME_FIELD, OLEConstants.ERROR_DUPLICATE_CODE);
45 return false;
46 }
47 }
48 }
49 }
50 return true;
51 }
52 }