/* * 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.coa.businessobject; import java.util.HashMap; import java.util.Map; import org.apache.commons.lang.StringUtils; import org.kuali.kfs.sys.businessobject.Building; import org.kuali.kfs.sys.context.SpringContext; import org.kuali.rice.krad.bo.PersistableBusinessObjectBase; import org.kuali.rice.krad.service.KualiModuleService; import org.kuali.rice.krad.service.ModuleService; import org.kuali.rice.location.api.LocationConstants; import org.kuali.rice.location.framework.campus.CampusEbo; public class AccountDescription extends PersistableBusinessObjectBase { private static final long serialVersionUID = 6233459415790165510L; protected String chartOfAccountsCode; protected String accountNumber; protected String campusDescription; protected String organizationDescription; protected String responsibilityCenterDescription; protected String campusCode; protected String buildingCode; protected CampusEbo campus; protected Building building; public String getChartOfAccountsCode() { return chartOfAccountsCode; } public void setChartOfAccountsCode(String chartOfAccountsCode) { this.chartOfAccountsCode = chartOfAccountsCode; } public String getAccountNumber() { return accountNumber; } public void setAccountNumber(String accountNumber) { this.accountNumber = accountNumber; } public String getCampusDescription() { return campusDescription; } public void setCampusDescription(String campusDescription) { this.campusDescription = campusDescription; } public String getOrganizationDescription() { return organizationDescription; } public void setOrganizationDescription(String organizationDescription) { this.organizationDescription = organizationDescription; } public String getResponsibilityCenterDescription() { return responsibilityCenterDescription; } public void setResponsibilityCenterDescription(String responsibilityCenterDescription) { this.responsibilityCenterDescription = responsibilityCenterDescription; } public String getCampusCode() { return campusCode; } public void setCampusCode(String campusCode) { this.campusCode = campusCode; } public String getBuildingCode() { return buildingCode; } public void setBuildingCode(String buildingCode) { this.buildingCode = buildingCode; } public Building getBuilding() { return building; } public void setBuilding(Building building) { this.building = building; } public CampusEbo getCampus() { if ( StringUtils.isBlank(campusCode) ) { campus = null; } else { if ( campus == null || !StringUtils.equals( campus.getCode(),campusCode) ) { ModuleService moduleService = SpringContext.getBean(KualiModuleService.class).getResponsibleModuleService(CampusEbo.class); if ( moduleService != null ) { Map<String,Object> keys = new HashMap<String, Object>(1); keys.put(LocationConstants.PrimaryKeyConstants.CODE, campusCode); campus = moduleService.getExternalizableBusinessObject(CampusEbo.class, keys); } else { throw new RuntimeException( "CONFIGURATION ERROR: No responsible module found for EBO class. Unable to proceed." ); } } } return campus; } public void setCampus(CampusEbo campus) { this.campus = campus; } }