01: /*
02: * Copyright 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.kfs.lookup.keyvalues;
17:
18: import java.util.ArrayList;
19: import java.util.HashMap;
20: import java.util.Iterator;
21: import java.util.List;
22: import java.util.Map;
23:
24: import org.kuali.core.lookup.keyvalues.KeyValuesBase;
25: import org.kuali.core.service.BusinessObjectService;
26: import org.kuali.core.web.ui.KeyLabelPair;
27: import org.kuali.kfs.KFSConstants;
28: import org.kuali.kfs.bo.Country;
29: import org.kuali.kfs.context.SpringContext;
30:
31: /**
32: * This class returns list of country value pairs.
33: */
34: public class CountryNotRestrictedValuesFinder extends KeyValuesBase {
35:
36: /*
37: * @see org.kuali.keyvalues.KeyValuesFinder#getKeyValues()
38: */
39: public List getKeyValues() {
40:
41: Map criteria = new HashMap();
42:
43: List<String> criteriaValues = new ArrayList<String>();
44: criteriaValues.add(null);
45: criteriaValues.add("N");
46:
47: criteria
48: .put("postalCountryRestrictedIndicator", criteriaValues);
49: List boList = (List) SpringContext.getBean(
50: BusinessObjectService.class).findMatchingOrderBy(
51: Country.class, criteria, "postalCountryName", true);
52: List keyValues = new ArrayList();
53:
54: Country usCountry = null;
55: for (Iterator iter = boList.iterator(); iter.hasNext();) {
56: Country element = (Country) iter.next();
57: if (KFSConstants.COUNTRY_CODE_UNITED_STATES.equals(element
58: .getPostalCountryCode())) {
59: usCountry = element;
60: } else {
61: keyValues.add(new KeyLabelPair(element
62: .getPostalCountryCode(), element
63: .getPostalCountryName()));
64: }
65: }
66:
67: List keyValueUSFirst = new ArrayList();
68: keyValueUSFirst.add(new KeyLabelPair("", ""));
69: keyValueUSFirst.add(new KeyLabelPair(usCountry
70: .getPostalCountryCode(), usCountry
71: .getPostalCountryName()));
72: keyValueUSFirst.addAll(keyValues);
73:
74: return keyValueUSFirst;
75: }
76:
77: }
|