View Javadoc
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.kns.service.KNSServiceLocator;
6   import org.kuali.rice.krad.maintenance.MaintenanceDocument;
7   import org.kuali.rice.krad.rules.MaintenanceDocumentRuleBase;
8   import org.kuali.rice.krad.service.KRADServiceLocatorWeb;
9   import org.kuali.rice.krad.util.GlobalVariables;
10  
11  import java.util.HashMap;
12  import java.util.List;
13  import java.util.Map;
14  
15  /**
16   * Created with IntelliJ IDEA.
17   * User: chenchulakshmig
18   * Date: 6/21/13
19   * Time: 3:58 PM
20   * To change this template use File | Settings | File Templates.
21   */
22  public class OLEEResourceStatusRule extends MaintenanceDocumentRuleBase {
23  
24      protected boolean processCustomSaveDocumentBusinessRules(MaintenanceDocument document) {
25          boolean isValid = true;
26          OLEEResourceStatus statusMethod = (OLEEResourceStatus) document.getNewMaintainableObject().getDataObject();
27          isValid &= validateAccessMethodCode(statusMethod);
28          return isValid;
29      }
30  
31      /**
32       * This method  validates duplicate authenticationMethod Id and return boolean value.
33       *
34       * @param statusMethod
35       * @return boolean
36       */
37      private boolean validateAccessMethodCode(OLEEResourceStatus statusMethod) {
38          if (statusMethod.getOleEResourceStatusName() != null) {
39              Map<String, String> criteria = new HashMap<String, String>();
40              criteria.put(OLEConstants.OleEResourceStatus.E_RES_STAT_TYPE_NAME, statusMethod.getOleEResourceStatusName());
41              List<OLEEResourceStatus> authenticationMethodInDatabase = (List<OLEEResourceStatus>) KRADServiceLocatorWeb.getLegacyDataAdapter().findMatching(OLEEResourceStatus.class, criteria);
42              if ((authenticationMethodInDatabase.size() > 0)) {
43                  for (OLEEResourceStatus authenticationMethodObj : authenticationMethodInDatabase) {
44                      String oleEResourceStatusId = authenticationMethodObj.getOleEResourceStatusId();
45                      if (null == statusMethod.getOleEResourceStatusId() || (!statusMethod.getOleEResourceStatusId().equalsIgnoreCase(oleEResourceStatusId))) {
46                          GlobalVariables.getMessageMap().putError(OLEConstants.OleEResourceStatus.E_RES_STAT_TYPE_NAME_FIELD, OLEConstants.ERROR_DUPLICATE_CODE);
47                          return false;
48                      }
49                  }
50              }
51          }
52          return true;
53      }
54  }