/* * 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.fp.businessobject; import java.util.HashMap; import java.util.Map; import org.apache.commons.lang.StringUtils; import org.kuali.kfs.sys.KFSPropertyConstants; import org.kuali.kfs.sys.businessobject.Building; import org.kuali.kfs.sys.businessobject.Room; 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 CapitalAssetInformationDetail extends PersistableBusinessObjectBase { //primary key fields.. protected String documentNumber; protected Integer capitalAssetLineNumber; protected Integer itemLineNumber; protected String campusCode; protected String buildingCode; protected String buildingRoomNumber; protected String buildingSubRoomNumber; protected String capitalAssetTagNumber; protected String capitalAssetSerialNumber; protected CampusEbo campus; protected Building building; protected Room room; protected CapitalAssetInformation capitalAssetInformation; /** * Gets the documentNumber attribute. * * @return Returns the documentNumber. */ public String getDocumentNumber() { return documentNumber; } /** * Sets the documentNumber attribute value. * * @param documentNumber The documentNumber to set. */ public void setDocumentNumber(String documentNumber) { this.documentNumber = documentNumber; } /** * Gets the itemLineNumber attribute. * * @return Returns the itemLineNumber. */ public Integer getItemLineNumber() { return itemLineNumber; } /** * Sets the itemLineNumber attribute value. * * @param itemLineNumber The itemLineNumber to set. */ public void setItemLineNumber(Integer itemLineNumber) { this.itemLineNumber = itemLineNumber; } /** * Gets the campusCode attribute. * * @return Returns the campusCode. */ public String getCampusCode() { return campusCode; } /** * Sets the campusCode attribute value. * * @param campusCode The campusCode to set. */ public void setCampusCode(String campusCode) { this.campusCode = campusCode; } /** * Gets the buildingCode attribute. * * @return Returns the buildingCode. */ public String getBuildingCode() { return buildingCode; } /** * Sets the buildingCode attribute value. * * @param buildingCode The buildingCode to set. */ public void setBuildingCode(String buildingCode) { this.buildingCode = buildingCode; } /** * Gets the buildingRoomNumber attribute. * * @return Returns the buildingRoomNumber. */ public String getBuildingRoomNumber() { return buildingRoomNumber; } /** * Sets the buildingRoomNumber attribute value. * * @param buildingRoomNumber The buildingRoomNumber to set. */ public void setBuildingRoomNumber(String buildingRoomNumber) { this.buildingRoomNumber = buildingRoomNumber; } /** * Gets the capitalAssetTagNumber attribute. * * @return Returns the capitalAssetTagNumber. */ public String getCapitalAssetTagNumber() { return capitalAssetTagNumber; } /** * Sets the capitalAssetTagNumber attribute value. * * @param capitalAssetTagNumber The capitalAssetTagNumber to set. */ public void setCapitalAssetTagNumber(String capitalAssetTagNumber) { this.capitalAssetTagNumber = capitalAssetTagNumber; } /** * Gets the capitalAssetSerialNumber attribute. * * @return Returns the capitalAssetSerialNumber. */ public String getCapitalAssetSerialNumber() { return capitalAssetSerialNumber; } /** * Sets the capitalAssetSerialNumber attribute value. * * @param capitalAssetSerialNumber The capitalAssetSerialNumber to set. */ public void setCapitalAssetSerialNumber(String capitalAssetSerialNumber) { this.capitalAssetSerialNumber = capitalAssetSerialNumber; } /** * Gets the campus attribute. * * @return Returns the campus. */ 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; } /** * Sets the campus attribute value. * * @param campus The campus to set. */ public void setCampus(CampusEbo campus) { this.campus = campus; } /** * Gets the building attribute. * * @return Returns the building. */ public Building getBuilding() { return building; } /** * Sets the building attribute value. * * @param building The building to set. */ public void setBuilding(Building building) { this.building = building; } /** * Gets the room attribute. * * @return Returns the room. */ public Room getRoom() { return room; } /** * Sets the room attribute value. * * @param room The room to set. */ public void setRoom(Room room) { this.room = room; } /** * Gets the capitalAssetInformation attribute. * * @return Returns the capitalAssetInformation. */ public CapitalAssetInformation getCapitalAssetInformation() { return capitalAssetInformation; } /** * Sets the capitalAssetInformation attribute value. * * @param capitalAssetInformation The capitalAssetInformation to set. */ public void setCapitalAssetInformation(CapitalAssetInformation capitalAssetInformation) { this.capitalAssetInformation = capitalAssetInformation; } /** * Gets the buildingSubRoomNumber attribute. * @return Returns the buildingSubRoomNumber. */ public String getBuildingSubRoomNumber() { return buildingSubRoomNumber; } /** * Sets the buildingSubRoomNumber attribute value. * @param buildingSubRoomNumber The buildingSubRoomNumber to set. */ public void setBuildingSubRoomNumber(String buildingSubRoomNumber) { this.buildingSubRoomNumber = buildingSubRoomNumber; } /** * Gets the capitalAssetLineNumber attribute. * @return Returns the capitalAssetLineNumber. */ public Integer getCapitalAssetLineNumber() { return capitalAssetLineNumber; } /** * Sets the capitalAssetLineNumber attribute value. * @param capitalAssetLineNumber The capitalAssetLineNumber to set. */ public void setCapitalAssetLineNumber(Integer capitalAssetLineNumber) { this.capitalAssetLineNumber = capitalAssetLineNumber; } /** * Returns a map with the primitive field names as the key and the primitive values as the map value. * * @return Map a map with the primitive field names as the key and the primitive values as the map value. */ public Map<String, Object> getValuesMap() { Map<String, Object> simpleValues = new HashMap<String, Object>(); simpleValues.put(KFSPropertyConstants.DOCUMENT_NUMBER, this.getDocumentNumber()); simpleValues.put(KFSPropertyConstants.CAPITAL_ASSET_LINE_NUMBER, this.getCapitalAssetLineNumber()); simpleValues.put(KFSPropertyConstants.ITEM_LINE_NUMBER, this.getItemLineNumber()); simpleValues.put(KFSPropertyConstants.CAMPUS_CODE, this.getCampusCode()); simpleValues.put(KFSPropertyConstants.BUILDING_CODE, this.getBuildingCode()); simpleValues.put(KFSPropertyConstants.BUILDING_ROOM_NUMBER, this.getBuildingRoomNumber()); return simpleValues; } }