01: /*
02: * Copyright 2006-2007 The Kuali Foundation.
03: *
04: * Licensed under the Educational Community License, Version 1.0 (the "License");
05: * you may not use this file except in compliance with the License.
06: * You may obtain a copy of the License at
07: *
08: * http://www.opensource.org/licenses/ecl1.php
09: *
10: * Unless required by applicable law or agreed to in writing, software
11: * distributed under the License is distributed on an "AS IS" BASIS,
12: * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13: * See the License for the specific language governing permissions and
14: * limitations under the License.
15: */
16: package org.kuali.core.lookup.keyvalues;
17:
18: import java.util.ArrayList;
19: import java.util.Collections;
20: import java.util.Iterator;
21: import java.util.List;
22:
23: import org.kuali.core.bo.DocumentType;
24: import org.kuali.core.service.KeyValuesService;
25: import org.kuali.core.web.ui.KeyLabelPair;
26: import org.kuali.rice.KNSServiceLocator;
27:
28: public class DocumentTypeValueFinder extends KeyValuesBase {
29:
30: /**
31: *
32: * Constructs a DocumentTypeValueFinder.java.
33: */
34: public DocumentTypeValueFinder() {
35: super ();
36: }
37:
38: public List getKeyValues() {
39:
40: // get a list of all DocumentTypes
41: KeyValuesService boService = KNSServiceLocator
42: .getKeyValuesService();
43: List docTypes = (List) boService.findAll(DocumentType.class);
44:
45: // calling comparator.
46: DocumentTypeComparator docTypeComparator = new DocumentTypeComparator();
47:
48: // sort using comparator.
49: Collections.sort(docTypes, docTypeComparator);
50:
51: // create a new list (code, descriptive-name)
52: List labels = new ArrayList();
53: labels.add(new KeyLabelPair("", "")); // blank first entry
54: labels.add(new KeyLabelPair("ALL", "ALL - All Document Types")); // ALL document entry
55:
56: for (Iterator iter = docTypes.iterator(); iter.hasNext();) {
57: DocumentType docType = (DocumentType) iter.next();
58: labels.add(new KeyLabelPair(docType
59: .getFinancialDocumentTypeCode(), docType
60: .getFinancialDocumentTypeCode()
61: + " - " + docType.getFinancialDocumentName()));
62: }
63:
64: return labels;
65: }
66:
67: }
|