1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 package org.kuali.kpme.tklm.time.rules.timecollection.web;
17
18 import java.util.ArrayList;
19 import java.util.List;
20 import java.util.Map;
21 import java.util.Properties;
22
23 import org.apache.commons.lang.StringUtils;
24 import org.kuali.kpme.core.api.bo.HrBusinessObjectContract;
25 import org.kuali.kpme.core.lookup.KpmeHrBusinessObjectLookupableHelper;
26 import org.kuali.kpme.tklm.time.rules.timecollection.TimeCollectionRule;
27 import org.kuali.kpme.tklm.time.service.TkServiceLocator;
28 import org.kuali.rice.kns.lookup.HtmlData;
29 import org.kuali.rice.krad.bo.BusinessObject;
30 import org.kuali.rice.krad.util.GlobalVariables;
31 import org.kuali.rice.krad.util.KRADConstants;
32
33 @SuppressWarnings("deprecation")
34 public class TimeCollectionRuleLookupableHelperServiceImpl extends KpmeHrBusinessObjectLookupableHelper {
35 private static final long serialVersionUID = -1690980961895784168L;
36
37 @Override
38 @SuppressWarnings("rawtypes")
39 public List<HtmlData> getCustomActionUrls(BusinessObject businessObject, List pkNames) {
40 List<HtmlData> customActionUrls = super.getCustomActionUrls(businessObject, pkNames);
41
42 TimeCollectionRule timeCollectionRule = (TimeCollectionRule) businessObject;
43 String tkTimeCollectionRuleId = timeCollectionRule.getTkTimeCollectionRuleId();
44
45 Properties params = new Properties();
46 params.put(KRADConstants.BUSINESS_OBJECT_CLASS_ATTRIBUTE, getBusinessObjectClass().getName());
47 params.put(KRADConstants.DISPATCH_REQUEST_PARAMETER, KRADConstants.MAINTENANCE_NEW_METHOD_TO_CALL);
48
49 params.put("tkTimeCollectionRuleId", tkTimeCollectionRuleId);
50
51 return customActionUrls;
52 }
53
54 @Override
55 public List<? extends HrBusinessObjectContract> getSearchResults(Map<String, String> fieldValues) {
56
57 List<? extends HrBusinessObjectContract> temp = new ArrayList<HrBusinessObjectContract>();
58 temp = super.getSearchResults(fieldValues);
59
60 if (temp != null){
61 List<TimeCollectionRule> results = new ArrayList<TimeCollectionRule>();
62 for (int i = 0; i < temp.size(); i++) {
63 TimeCollectionRule timeCollectionRule = (TimeCollectionRule)temp.get(i);
64 results.add(timeCollectionRule);
65 }
66
67 return TkServiceLocator.getTimeCollectionRuleService().getTimeCollectionRules(GlobalVariables.getUserSession().getPrincipalId(), results);
68 } else {
69 return temp;
70 }
71 }
72
73 @Override
74 protected void validateSearchParameterWildcardAndOperators(
75 String attributeName, String attributeValue) {
76 if (!StringUtils.equals(attributeValue, "%")) {
77 super.validateSearchParameterWildcardAndOperators(attributeName,
78 attributeValue);
79 }
80 }
81 }