View Javadoc
1   package org.kuali.ole.deliver.lookup;
2   
3   import org.apache.commons.lang.StringUtils;
4   import org.kuali.ole.OLEConstants;
5   import org.kuali.ole.deliver.bo.OleFixedDueDate;
6   import org.kuali.rice.krad.lookup.LookupView;
7   import org.kuali.rice.krad.lookup.LookupableImpl;
8   import org.kuali.rice.krad.uif.UifConstants;
9   import org.kuali.rice.krad.uif.UifParameters;
10  import org.kuali.rice.krad.util.GlobalVariables;
11  import org.kuali.rice.krad.util.KRADConstants;
12  import org.kuali.rice.krad.util.KRADUtils;
13  import org.kuali.rice.krad.util.UrlFactory;
14  import org.kuali.rice.krad.lookup.LookupForm;
15  
16  import java.util.ArrayList;
17  import java.util.List;
18  import java.util.Map;
19  import java.util.Properties;
20  
21  /**
22   * Created with IntelliJ IDEA.
23   * User: ?
24   * Date: 12/19/12
25   * Time: 6:35 PM
26   * To change this template use File | Settings | File Templates.
27   */
28  public class OleFixedDueDateLookupableImpl extends LookupableImpl {
29      private static final org.apache.log4j.Logger LOG = org.apache.log4j.Logger.getLogger(OleFixedDueDateLookupableImpl.class);
30  
31      @Override
32      /*protected String getActionUrlHref(LookupForm lookupForm, Object dataObject, String methodToCall,
33                                        List<String> pkNames) {*/
34      protected String getMaintenanceActionUrl(LookupForm lookupForm, Object dataObject, String methodToCall,
35                                        List<String> pkNames) {
36          LOG.debug("Inside getActionUrlHref()");
37          LookupView lookupView = (LookupView) lookupForm.getView();
38  
39          Properties props = new Properties();
40          props.put(KRADConstants.DISPATCH_REQUEST_PARAMETER, methodToCall);
41          Map<String, String> primaryKeyValues = KRADUtils.getPropertyKeyValuesFromDataObject(pkNames, dataObject);
42          for (String primaryKey : primaryKeyValues.keySet()) {
43              String primaryKeyValue = primaryKeyValues.get(primaryKey);
44  
45              props.put(primaryKey, primaryKeyValue);
46          }
47  
48          if (StringUtils.isNotBlank(lookupForm.getReturnLocation())) {
49              props.put(KRADConstants.RETURN_LOCATION_PARAMETER, lookupForm.getReturnLocation());
50          }
51  
52          props.put(UifParameters.DATA_OBJECT_CLASS_NAME, OleFixedDueDate.class.getName());
53          props.put(UifParameters.VIEW_TYPE_NAME, UifConstants.ViewType.MAINTENANCE.name());
54  
55          String maintenanceMapping = OLEConstants.FIXED_DUE_DATE_CONTROLLER;
56  
57          return UrlFactory.parameterizeUrl(maintenanceMapping, props);
58      }
59  
60  
61      @Override
62      /*protected List<?> getSearchResults(LookupForm form, Map<String, String> searchCriteria, boolean unbounded) {*/
63      public List<?> performSearch(LookupForm form, Map<String, String> searchCriteria, boolean unbounded) {
64          List<?> searchResults;
65          List<OleFixedDueDate> finalSearchResult = new ArrayList<OleFixedDueDate>();
66          List<OleFixedDueDate> oleFixedDueDate = new ArrayList<OleFixedDueDate>();
67  
68  
69          /*oleFixedDueDate = (List<OleFixedDueDate>) super.getSearchResults(form, searchCriteria, unbounded);*/
70          oleFixedDueDate = (List<OleFixedDueDate>) super.performSearch(form, searchCriteria, unbounded);
71          finalSearchResult.addAll(oleFixedDueDate);
72  
73          searchResults = finalSearchResult;
74  
75          if (searchResults.size() == 0) {
76              GlobalVariables.getMessageMap().putError(KRADConstants.GLOBAL_ERRORS, OLEConstants.NO_RECORD_FOUND);
77          }
78          sortSearchResults(form, searchResults);
79          return searchResults;
80      }
81  }