1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 package org.kuali.kfs.sys.businessobject.lookup;
20
21 import java.util.ArrayList;
22 import java.util.Collections;
23 import java.util.List;
24 import java.util.Map;
25
26 import org.kuali.kfs.sys.KFSPropertyConstants;
27 import org.kuali.kfs.sys.businessobject.FunctionalFieldDescription;
28 import org.kuali.kfs.sys.service.KfsBusinessObjectMetaDataService;
29 import org.kuali.rice.kns.lookup.KualiLookupableHelperServiceImpl;
30 import org.kuali.rice.krad.bo.BusinessObject;
31 import org.kuali.rice.krad.util.BeanPropertyComparator;
32
33 public class FunctionalFieldDescriptionLookupableHelperServiceImpl extends KualiLookupableHelperServiceImpl {
34 private static final List<String> SORT_PROPERTIES = new ArrayList<String>();
35 static {
36 SORT_PROPERTIES.add(KFSPropertyConstants.NAMESPACE_CODE);
37 SORT_PROPERTIES.add(KFSPropertyConstants.BUSINESS_OBJECT_PROPERTY_COMPONENT_LABEL);
38 SORT_PROPERTIES.add(KFSPropertyConstants.BUSINESS_OBJECT_PROPERTY_LABEL);
39 }
40 protected KfsBusinessObjectMetaDataService kfsBusinessObjectMetaDataService;
41
42 @Override
43 public List<? extends BusinessObject> getSearchResults(Map<String, String> fieldValues) {
44 List<FunctionalFieldDescription> searchResults = kfsBusinessObjectMetaDataService.findFunctionalFieldDescriptions(fieldValues.get(KFSPropertyConstants.NAMESPACE_CODE), fieldValues.get(KFSPropertyConstants.BUSINESS_OBJECT_PROPERTY_COMPONENT_LABEL), fieldValues.get(KFSPropertyConstants.BUSINESS_OBJECT_PROPERTY_LABEL), fieldValues.get(KFSPropertyConstants.DESCRIPTION), fieldValues.get(KFSPropertyConstants.ACTIVE));
45 Collections.sort(searchResults, new BeanPropertyComparator(getSortProperties(), true));
46 return searchResults;
47 }
48
49 protected List<String> getSortProperties() {
50 return SORT_PROPERTIES;
51 }
52
53 public void setKfsBusinessObjectMetaDataService(KfsBusinessObjectMetaDataService kfsBusinessObjectMetaDataService) {
54 this.kfsBusinessObjectMetaDataService = kfsBusinessObjectMetaDataService;
55 }
56 }