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
23
24
25
26
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
33
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
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
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 }