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    package org.kuali.kfs.module.bc.businessobject.lookup;
017    
018    import java.util.List;
019    import java.util.Map;
020    
021    import org.kuali.kfs.sys.KFSConstants;
022    import org.kuali.rice.kns.bo.BusinessObject;
023    import org.kuali.rice.kns.lookup.KualiLookupableHelperServiceImpl;
024    
025    /**
026     * Base lookupable helper service for budget selection lookups.
027     */
028    public class CSFTrackerLookupableHelperServiceImpl extends KualiLookupableHelperServiceImpl {
029    
030        /**
031         * Super impl clears out hidden values but we need to keep principalId hidden field in the criteria. 
032         * Overridding here so that the call to clear hiddens is not executed.
033         * 
034         * @see org.kuali.rice.kns.lookup.AbstractLookupableHelperServiceImpl#getSearchResults(java.util.Map)
035         */
036        @Override
037        public List<? extends BusinessObject> getSearchResults(Map<String, String> fieldValues) {
038            setBackLocation(fieldValues.get(KFSConstants.BACK_LOCATION));
039            setDocFormKey(fieldValues.get(KFSConstants.DOC_FORM_KEY));
040            setReferencesToRefresh(fieldValues.get(KFSConstants.REFERENCES_TO_REFRESH));
041            
042            String universityFiscalYear = ((String[]) getParameters().get(KFSConstants.UNIVERSITY_FISCAL_YEAR_PROPERTY_NAME))[0];
043            String chartOfAccountsCode = ((String[]) getParameters().get(KFSConstants.CHART_OF_ACCOUNTS_CODE_PROPERTY_NAME))[0];
044            String accountNumber = ((String[]) getParameters().get(KFSConstants.ACCOUNT_NUMBER_PROPERTY_NAME))[0];
045            String subAccountNumber = ((String[]) getParameters().get(KFSConstants.SUB_ACCOUNT_NUMBER_PROPERTY_NAME))[0];
046            String financialObjectCode = ((String[]) getParameters().get(KFSConstants.FINANCIAL_OBJECT_CODE_PROPERTY_NAME))[0];
047            String financialSubObjectCode = ((String[]) getParameters().get(KFSConstants.FINANCIAL_SUB_OBJECT_CODE_PROPERTY_NAME))[0];
048            
049            fieldValues.put(KFSConstants.UNIVERSITY_FISCAL_YEAR_PROPERTY_NAME, universityFiscalYear);
050            fieldValues.put(KFSConstants.CHART_OF_ACCOUNTS_CODE_PROPERTY_NAME, chartOfAccountsCode);
051            fieldValues.put(KFSConstants.ACCOUNT_NUMBER_PROPERTY_NAME, accountNumber);
052            fieldValues.put(KFSConstants.SUB_ACCOUNT_NUMBER_PROPERTY_NAME, subAccountNumber);
053            fieldValues.put(KFSConstants.FINANCIAL_OBJECT_CODE_PROPERTY_NAME, financialObjectCode);
054            fieldValues.put(KFSConstants.FINANCIAL_SUB_OBJECT_CODE_PROPERTY_NAME, financialSubObjectCode);
055            
056            return super.getSearchResults(fieldValues);
057        }
058    
059    }