1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 package org.kuali.rice.kew.lookup.valuefinder;
17
18 import java.util.ArrayList;
19 import java.util.Collection;
20 import java.util.List;
21
22 import org.kuali.rice.core.util.KeyValue;
23 import org.kuali.rice.core.util.ConcreteKeyValue;
24 import org.kuali.rice.kew.util.KEWConstants;
25 import org.kuali.rice.krad.keyvalues.KeyValuesBase;
26
27
28
29
30
31
32
33 public class DocumentRouteStatusValuesFinder extends KeyValuesBase {
34
35 private static
36 <T extends Comparable<? super T>> List<T> asSortedList(Collection<T> c) {
37 List<T> list = new ArrayList<T>(c);
38 java.util.Collections.sort(list);
39 return list;
40 }
41
42
43
44
45 @Override
46 public List<KeyValue> getKeyValues() {
47 List<KeyValue> keyValues = new ArrayList<KeyValue>();
48 List<String> docStatusParentKeys = asSortedList(KEWConstants.DOCUMENT_STATUS_PARENT_TYPES.keySet());
49
50 for (String parentKey : docStatusParentKeys) {
51 KeyValue keyLabel = new ConcreteKeyValue(parentKey,parentKey + " Statuses");
52 keyValues.add(keyLabel);
53
54
55 List<String> docStatusCodes = KEWConstants.DOCUMENT_STATUS_PARENT_TYPES.get(parentKey);
56 for(String docStatusCode : docStatusCodes){
57 KeyValue docStat = new ConcreteKeyValue(docStatusCode, "- "+ KEWConstants.DOCUMENT_STATUSES.get(docStatusCode));
58 keyValues.add(docStat);
59 }
60 }
61 return keyValues;
62 }
63
64 }