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.purap.businessobject;
017    
018    
019    import java.util.LinkedHashMap;
020    
021    import org.kuali.kfs.integration.purap.CapitalAssetLocation;
022    import org.kuali.kfs.sys.businessobject.Building;
023    import org.kuali.kfs.vnd.businessobject.CampusParameter;
024    import org.kuali.rice.kim.bo.Person;
025    import org.kuali.rice.kns.bo.PersistableBusinessObjectBase;
026    import org.kuali.rice.kns.util.GlobalVariables;
027    import org.kuali.rice.kns.util.KualiDecimal;
028    import org.kuali.rice.kns.util.ObjectUtils;
029    
030    public abstract class PurchasingCapitalAssetLocationBase extends PersistableBusinessObjectBase implements CapitalAssetLocation {
031    
032        private Integer capitalAssetLocationIdentifier;
033        private Integer capitalAssetSystemIdentifier;
034        private KualiDecimal itemQuantity;
035        private String campusCode;
036        private boolean offCampusIndicator;
037        private String buildingCode;
038        private String buildingRoomNumber;
039        private String capitalAssetLine1Address;
040        private String capitalAssetCityName;
041        private String capitalAssetStateCode;
042        private String capitalAssetPostalCode;
043        private String capitalAssetCountryCode;
044        
045        private CampusParameter campus;
046    
047        public PurchasingCapitalAssetLocationBase() {
048            super();
049            if(GlobalVariables.getUserSession()!=null && GlobalVariables.getUserSession().getPerson()!=null){
050                Person user = GlobalVariables.getUserSession().getPerson();
051                this.campusCode = user.getCampusCode();
052            }
053        }
054    
055        public Integer getCapitalAssetSystemIdentifier() {
056            return capitalAssetSystemIdentifier;
057        }
058    
059        public void setCapitalAssetSystemIdentifier(Integer capitalAssetSystemIdentifier) {
060            this.capitalAssetSystemIdentifier = capitalAssetSystemIdentifier;
061        }
062    
063        public Integer getCapitalAssetLocationIdentifier() {
064            return capitalAssetLocationIdentifier;
065        }
066    
067        public void setCapitalAssetLocationIdentifier(Integer capitalAssetLocationIdentifier) {
068            this.capitalAssetLocationIdentifier = capitalAssetLocationIdentifier;
069        }
070    
071        public KualiDecimal getItemQuantity() {
072            return itemQuantity;
073        }
074    
075        public void setItemQuantity(KualiDecimal itemQuantity) {
076            this.itemQuantity = itemQuantity;
077        }
078    
079        public String getCampusCode() {
080            return campusCode;
081        }
082    
083        public void setCampusCode(String campusCode) {
084            this.campusCode = campusCode;
085        }
086    
087        public boolean isOffCampusIndicator() {
088            return offCampusIndicator;
089        }
090    
091        public void setOffCampusIndicator(boolean offCampusIndicator) {
092            this.offCampusIndicator = offCampusIndicator;
093        }
094    
095        public String getBuildingCode() {
096            return buildingCode;
097        }
098    
099        public void setBuildingCode(String buildingCode) {
100            this.buildingCode = buildingCode;
101        }
102    
103        public String getBuildingRoomNumber() {
104            return buildingRoomNumber;
105        }
106    
107        public void setBuildingRoomNumber(String buildingRoomNumber) {
108            this.buildingRoomNumber = buildingRoomNumber;
109        }
110    
111        public String getCapitalAssetLine1Address() {
112            return capitalAssetLine1Address;
113        }
114    
115        public void setCapitalAssetLine1Address(String capitalAssetLine1Address) {
116            this.capitalAssetLine1Address = capitalAssetLine1Address;
117        }
118    
119        public String getCapitalAssetCityName() {
120            return capitalAssetCityName;
121        }
122    
123        public void setCapitalAssetCityName(String capitalAssetCityName) {
124            this.capitalAssetCityName = capitalAssetCityName;
125        }
126    
127        public String getCapitalAssetStateCode() {
128            return capitalAssetStateCode;
129        }
130    
131        public void setCapitalAssetStateCode(String capitalAssetStateCode) {
132            this.capitalAssetStateCode = capitalAssetStateCode;
133        }
134    
135        public String getCapitalAssetPostalCode() {
136            return capitalAssetPostalCode;
137        }
138    
139        public void setCapitalAssetPostalCode(String capitalAssetPostalCode) {
140            this.capitalAssetPostalCode = capitalAssetPostalCode;
141        }
142    
143        public String getCapitalAssetCountryCode() {
144            return capitalAssetCountryCode;
145        }
146    
147        public void setCapitalAssetCountryCode(String capitalAssetCountryCode) {
148            this.capitalAssetCountryCode = capitalAssetCountryCode;
149        }
150    
151        public CampusParameter getCampus() { 
152            return campus;
153        }
154    
155        public void setCampus(CampusParameter campus) {
156            this.campus = campus;
157        }
158        
159        public void templateBuilding(Building building) {
160            if(ObjectUtils.isNotNull(building)) {
161                this.setOffCampusIndicator(false);
162                this.setBuildingCode(building.getBuildingCode());
163                this.setCampusCode(building.getCampusCode());
164                this.setCapitalAssetLine1Address(building.getBuildingStreetAddress());
165                this.setCapitalAssetCityName(building.getBuildingAddressCityName());
166                this.setCapitalAssetStateCode(building.getBuildingAddressStateCode());
167                this.setCapitalAssetPostalCode(building.getBuildingAddressZipCode());
168                this.setCapitalAssetCountryCode(building.getBuildingAddressCountryCode());
169            }
170        }
171    
172        protected LinkedHashMap toStringMapper() {
173            LinkedHashMap m = new LinkedHashMap();      
174            if (this.capitalAssetSystemIdentifier != null) {
175                m.put("capitalAssetSystemIdentifier", this.capitalAssetSystemIdentifier.toString());
176            }
177            if (this.capitalAssetLocationIdentifier != null) {
178                m.put("capitalAssetLocationIdentifier", this.capitalAssetLocationIdentifier.toString());
179            }
180            return m;
181        }
182    
183    }