/*
* The Kuali Financial System, a comprehensive financial management system for higher education.
*
* Copyright 2005-2014 The Kuali Foundation
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as
* published by the Free Software Foundation, either version 3 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package org.kuali.kfs.module.cg.businessobject.lookup;
import java.util.Collections;
import java.util.List;
import java.util.Map;
import org.kuali.kfs.module.cg.CGPropertyConstants;
import org.kuali.kfs.module.cg.service.ContractsAndGrantsLookupService;
import org.kuali.rice.kns.lookup.KualiLookupableHelperServiceImpl;
import org.kuali.rice.krad.bo.BusinessObject;
/**
* Allows custom handling of Proposals within the lookup framework.
*/
public class ProposalLookupableHelperServiceImpl extends KualiLookupableHelperServiceImpl {
protected ContractsAndGrantsLookupService contractsAndGrantsLookupService;
/**
* @see org.kuali.rice.kns.lookup.KualiLookupableHelperServiceImpl#getSearchResultsHelper(java.util.Map, boolean)
*/
@Override
protected List<? extends BusinessObject> getSearchResultsHelper(Map<String, String> fieldValues, boolean unbounded) {
// perform the lookup on the project director object first
if (contractsAndGrantsLookupService.setupSearchFields(fieldValues, CGPropertyConstants.LOOKUP_USER_ID_FIELD, CGPropertyConstants.PROPOSAL_LOOKUP_UNIVERSAL_USER_ID_FIELD)) {
return super.getSearchResultsHelper(fieldValues, unbounded);
}
return Collections.EMPTY_LIST;
}
public ContractsAndGrantsLookupService getContractsAndGrantsLookupService() {
return contractsAndGrantsLookupService;
}
public void setContractsAndGrantsLookupService(ContractsAndGrantsLookupService contractsAndGrantsLookupService) {
this.contractsAndGrantsLookupService = contractsAndGrantsLookupService;
}
}