001 /* 002 * Copyright 2011 The Kuali Foundation. 003 * 004 * Licensed under the Educational Community License, Version 2.0 (the "License"); 005 * you may not use this file except in compliance with the License. 006 * You may obtain a copy of the License at 007 * 008 * http://www.opensource.org/licenses/ecl2.php 009 * 010 * Unless required by applicable law or agreed to in writing, software 011 * distributed under the License is distributed on an "AS IS" BASIS, 012 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 013 * See the License for the specific language governing permissions and 014 * limitations under the License. 015 */ 016 017 /** 018 * Please modify this class to meet your needs 019 * This class is not complete 020 */ 021 022 package org.kuali.kfs.module.external.kc.service.impl; 023 024 025 import java.net.MalformedURLException; 026 import java.util.ArrayList; 027 import java.util.Collection; 028 import java.util.Iterator; 029 import java.util.List; 030 import java.util.Map; 031 032 import javax.xml.ws.WebServiceException; 033 034 import org.kuali.kfs.integration.cg.ContractsAndGrantsUnit; 035 import org.kuali.kfs.integration.cg.dto.HashMapElement; 036 import org.kuali.kfs.module.external.kc.KcConstants; 037 import org.kuali.kfs.module.external.kc.service.ExternalizableBusinessObjectService; 038 import org.kuali.kfs.module.external.kc.service.KfsService; 039 import org.kuali.kfs.module.external.kc.util.GlobalVariablesExtractHelper; 040 import org.kuali.kfs.module.external.kc.webService.InstitutionalUnitService; 041 import org.kuali.kfs.module.external.kc.webService.InstitutionalUnitSoapService; 042 import org.kuali.rice.kns.bo.ExternalizableBusinessObject; 043 044 /** 045 * This class was generated by Apache CXF 2.2.10 046 * Thu Sep 30 05:29:28 HST 2010 047 * Generated source version: 2.2.10 048 * 049 */ 050 051 public class UnitServiceImpl implements ExternalizableBusinessObjectService { 052 protected static org.apache.log4j.Logger LOG = org.apache.log4j.Logger.getLogger(UnitServiceImpl.class); 053 054 protected InstitutionalUnitService getWebService() { 055 InstitutionalUnitSoapService ss = null; 056 try { 057 ss = new InstitutionalUnitSoapService(); 058 } 059 catch (MalformedURLException ex) { 060 LOG.error("Could not intialize InstitutionalUnitSoapService: " + ex.getMessage()); 061 throw new RuntimeException("Could not intialize InstitutionalUnitSoapService: " + ex.getMessage()); 062 } 063 InstitutionalUnitService port = ss.getInstitutionalUnitServicePort(); 064 return port; 065 } 066 067 public ExternalizableBusinessObject findByPrimaryKey(Map primaryKeys) { 068 ContractsAndGrantsUnit unitDTO = this.getWebService().getUnit((String)primaryKeys.get("unitNumber")); 069 return unitDTO; 070 } 071 072 public Collection findMatching(Map fieldValues) { 073 java.util.List <HashMapElement> hashMapList = new ArrayList<HashMapElement>(); 074 List lookupUnitsReturn = null; 075 076 for (Iterator i = fieldValues.entrySet().iterator(); i.hasNext();) { 077 Map.Entry e = (Map.Entry) i.next(); 078 079 String key = (String) e.getKey(); 080 String val = (String) e.getValue(); 081 082 if ( KcConstants.Unit.KC_ALLOWABLE_CRITERIA_PARAMETERS.contains(key) && (val.length() > 0)) { 083 HashMapElement hashMapElement = new HashMapElement(); 084 hashMapElement.setKey(key); 085 hashMapElement.setValue(val); 086 hashMapList.add(hashMapElement); 087 } 088 } 089 try { 090 lookupUnitsReturn = this.getWebService().lookupUnits( hashMapList); 091 } catch (WebServiceException ex) { 092 GlobalVariablesExtractHelper.insertError(KcConstants.WEBSERVICE_UNREACHABLE, KfsService.getWebServiceServerName()); 093 } 094 095 if (lookupUnitsReturn == null) lookupUnitsReturn = new ArrayList(); 096 return lookupUnitsReturn; 097 } 098 099 }