1 /** 2 * Copyright 2010 The Kuali Foundation Licensed under the 3 * Educational Community License, Version 2.0 (the "License"); you may 4 * not use this file except in compliance with the License. You may 5 * obtain a copy of the License at 6 * 7 * http://www.osedu.org/licenses/ECL-2.0 8 * 9 * Unless required by applicable law or agreed to in writing, 10 * software distributed under the License is distributed on an "AS IS" 11 * BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express 12 * or implied. See the License for the specific language governing 13 * permissions and limitations under the License. 14 */ 15 16 /** 17 * 18 */ 19 package org.kuali.rice.student.lookup.keyvalues; 20 21 import javax.xml.namespace.QName; 22 23 import org.apache.commons.lang.StringUtils; 24 import org.kuali.rice.core.resourceloader.GlobalResourceLoader; 25 import org.kuali.rice.core.util.KeyLabelPair; 26 import org.kuali.rice.kns.lookup.keyvalues.KeyValuesBase; 27 import org.kuali.student.core.organization.service.OrganizationService; 28 29 /** 30 * Convenience class used to help out key values classes 31 * 32 */ 33 public abstract class StudentKeyValuesBase extends KeyValuesBase { 34 35 private static OrganizationService organizationService; 36 37 protected static OrganizationService getOrganizationService() { 38 if (organizationService == null) { 39 organizationService = (OrganizationService) GlobalResourceLoader 40 .getService(new QName("http://student.kuali.org/wsdl/organization","OrganizationService")); 41 } 42 return organizationService; 43 } 44 45 /** 46 * Builds a valid {@link KeyLabelPair} object for use in Student system KeyValue classes. Will throw an {@link IllegalArgumentException} 47 * if the parameters needed are not passed. 48 * 49 * @param orgId 50 * @param orgShortName 51 * @param orgLongName 52 * @param orgType 53 * @return 54 */ 55 56 //** question from Bonnie: Why the input parameters have orgId, orgShortName, orgLongName and orgType, 57 //** but the output of KeyLabelPair is constructed with orgShortName for both key and label? 58 //** This looks weird for me. 59 protected static KeyLabelPair buildKeyLabelPair(String orgId, String orgShortName, String orgLongName, String orgType) { 60 if (StringUtils.isBlank(orgShortName)) { 61 throw new IllegalArgumentException("Blank value for orgShortName is invalid."); 62 } 63 // return new KeyLabelPair(orgShortName, orgShortName); 64 return new KeyLabelPair(orgId, orgShortName); 65 } 66 67 }