View Javadoc
1   /*
2    * The Kuali Financial System, a comprehensive financial management system for higher education.
3    * 
4    * Copyright 2005-2014 The Kuali Foundation
5    * 
6    * This program is free software: you can redistribute it and/or modify
7    * it under the terms of the GNU Affero General Public License as
8    * published by the Free Software Foundation, either version 3 of the
9    * License, or (at your option) any later version.
10   * 
11   * This program is distributed in the hope that it will be useful,
12   * but WITHOUT ANY WARRANTY; without even the implied warranty of
13   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14   * GNU Affero General Public License for more details.
15   * 
16   * You should have received a copy of the GNU Affero General Public License
17   * along with this program.  If not, see <http://www.gnu.org/licenses/>.
18   */
19  package org.kuali.kfs.module.external.kc.businessobject;
20  
21  import java.sql.Date;
22  
23  import org.apache.commons.lang.StringUtils;
24  import org.kuali.kfs.integration.cg.ContractsAndGrantsAgencyAddress;
25  import org.kuali.kfs.module.ar.ArConstants;
26  import org.kuali.kfs.module.external.kc.dto.RolodexDTO;
27  import org.kuali.rice.location.api.country.Country;
28  import org.kuali.rice.location.api.services.LocationApiServiceLocator;
29  
30  public class AgencyAddress implements ContractsAndGrantsAgencyAddress {
31  
32      private String agencyNumber;
33      private Long agencyAddressIdentifier;
34      private String agencyAddressName;
35      private String agencyLine1StreetAddress;
36      private String agencyLine2StreetAddress;
37      private String agencyLine3StreetAddress;
38      private String agencyLine4StreetAddress;
39      private String agencyCityName;
40      private String agencyStateCode;
41      private String agencyZipCode;
42      private String agencyAddressInternationalProvinceName;
43      private String agencyCountryCode;
44      private String agencyInternationalMailCode;
45      private String agencyContactEmailAddress;
46      private String customerAddressTypeCode;
47      private Date agencyAddressEndDate;
48      private String agencyContractName;
49      private String agencyPhoneNumber;
50      private String agencyFaxNumber;
51      private String agencyContactName;
52      private Agency agency;
53      private boolean primary;
54  
55      public AgencyAddress() { }
56  
57      public AgencyAddress(Agency agency, RolodexDTO kcAddress) {
58          this.agency = agency;
59          this.agencyNumber = agency.getAgencyNumber();
60          this.agencyAddressIdentifier = kcAddress.getRolodexId().longValue();
61          this.agencyAddressName = agency.getFullName();
62          this.agencyLine1StreetAddress = kcAddress.getAddressLine1();
63          this.agencyLine2StreetAddress = kcAddress.getAddressLine2();
64          this.agencyLine3StreetAddress = kcAddress.getAddressLine3();
65          this.agencyCityName = kcAddress.getCity();
66          Country country = LocationApiServiceLocator.getCountryService().getCountryByAlternateCode(kcAddress.getCountryCode());
67          Country defaultCountry = LocationApiServiceLocator.getCountryService().getDefaultCountry();
68          if (country != null) {
69              this.agencyCountryCode = country.getCode();
70          } else {
71              this.agencyCountryCode = kcAddress.getCountryCode();
72          }
73          if (StringUtils.equals(getAgencyCountryCode(), defaultCountry.getCode())) {
74              this.agencyStateCode = kcAddress.getState();
75              this.agencyZipCode = kcAddress.getPostalCode();
76          } else {
77              this.agencyAddressInternationalProvinceName = kcAddress.getState();
78              this.agencyInternationalMailCode = kcAddress.getPostalCode();
79          }
80          this.agencyContactEmailAddress = kcAddress.getEmailAddress();
81          this.agencyContactName = kcAddress.getFullName();
82          this.agencyPhoneNumber = kcAddress.getPhoneNumber();
83          this.agencyFaxNumber = kcAddress.getFaxNumber();
84          this.customerAddressTypeCode = ArConstants.AGENCY_PRIMARY_ADDRESSES_TYPE_CODE;
85          this.primary = true;
86      }
87  
88      @Override
89      public String getAgencyNumber() {
90          return agencyNumber;
91      }
92  
93  
94      public void setAgencyNumber(String agencyNumber) {
95          this.agencyNumber = agencyNumber;
96      }
97  
98  
99      @Override
100     public Long getAgencyAddressIdentifier() {
101         return agencyAddressIdentifier;
102     }
103 
104 
105     public void setAgencyAddressIdentifier(Long agencyAddressIdentifier) {
106         this.agencyAddressIdentifier = agencyAddressIdentifier;
107     }
108 
109 
110     @Override
111     public String getAgencyAddressName() {
112         return agencyAddressName;
113     }
114 
115 
116     public void setAgencyAddressName(String agencyAddressName) {
117         this.agencyAddressName = agencyAddressName;
118     }
119 
120 
121     @Override
122     public String getAgencyLine1StreetAddress() {
123         return agencyLine1StreetAddress;
124     }
125 
126 
127     public void setAgencyLine1StreetAddress(String agencyLine1StreetAddress) {
128         this.agencyLine1StreetAddress = agencyLine1StreetAddress;
129     }
130 
131 
132     @Override
133     public String getAgencyLine2StreetAddress() {
134         return agencyLine2StreetAddress;
135     }
136 
137 
138     public void setAgencyLine2StreetAddress(String agencyLine2StreetAddress) {
139         this.agencyLine2StreetAddress = agencyLine2StreetAddress;
140     }
141 
142 
143     @Override
144     public String getAgencyLine3StreetAddress() {
145         return agencyLine3StreetAddress;
146     }
147 
148 
149     public void setAgencyLine3StreetAddress(String agencyLine3StreetAddress) {
150         this.agencyLine3StreetAddress = agencyLine3StreetAddress;
151     }
152 
153 
154     @Override
155     public String getAgencyCityName() {
156         return agencyCityName;
157     }
158 
159 
160     public void setAgencyCityName(String agencyCityName) {
161         this.agencyCityName = agencyCityName;
162     }
163 
164 
165     @Override
166     public String getAgencyStateCode() {
167         return agencyStateCode;
168     }
169 
170 
171     public void setAgencyStateCode(String agencyStateCode) {
172         this.agencyStateCode = agencyStateCode;
173     }
174 
175 
176     @Override
177     public String getAgencyZipCode() {
178         return agencyZipCode;
179     }
180 
181 
182     public void setAgencyZipCode(String agencyZipCode) {
183         this.agencyZipCode = agencyZipCode;
184     }
185 
186 
187     @Override
188     public String getAgencyAddressInternationalProvinceName() {
189         return agencyAddressInternationalProvinceName;
190     }
191 
192 
193     public void setAgencyAddressInternationalProvinceName(String agencyAddressInternationalProvinceName) {
194         this.agencyAddressInternationalProvinceName = agencyAddressInternationalProvinceName;
195     }
196 
197 
198     @Override
199     public String getAgencyCountryCode() {
200         return agencyCountryCode;
201     }
202 
203 
204     public void setAgencyCountryCode(String agencyCountryCode) {
205         this.agencyCountryCode = agencyCountryCode;
206     }
207 
208 
209     @Override
210     public String getAgencyInternationalMailCode() {
211         return agencyInternationalMailCode;
212     }
213 
214 
215     public void setAgencyInternationalMailCode(String agencyInternationalMailCode) {
216         this.agencyInternationalMailCode = agencyInternationalMailCode;
217     }
218 
219 
220     @Override
221     public String getAgencyContactEmailAddress() {
222         return agencyContactEmailAddress;
223     }
224 
225 
226     public void setAgencyContactEmailAddress(String agencyContactEmailAddress) {
227         this.agencyContactEmailAddress = agencyContactEmailAddress;
228     }
229 
230 
231     @Override
232     public String getCustomerAddressTypeCode() {
233         return customerAddressTypeCode;
234     }
235 
236 
237     public void setCustomerAddressTypeCode(String customerAddressTypeCode) {
238         this.customerAddressTypeCode = customerAddressTypeCode;
239     }
240 
241 
242     @Override
243     public Date getAgencyAddressEndDate() {
244         return agencyAddressEndDate;
245     }
246 
247 
248     public void setAgencyAddressEndDate(Date agencyAddressEndDate) {
249         this.agencyAddressEndDate = agencyAddressEndDate;
250     }
251 
252 
253     public String getAgencyContractName() {
254         return agencyContractName;
255     }
256 
257 
258     public void setAgencyContractName(String agencyContractName) {
259         this.agencyContractName = agencyContractName;
260     }
261 
262 
263     @Override
264     public String getAgencyPhoneNumber() {
265         return agencyPhoneNumber;
266     }
267 
268 
269     public void setAgencyPhoneNumber(String agencyPhoneNumber) {
270         this.agencyPhoneNumber = agencyPhoneNumber;
271     }
272 
273 
274     @Override
275     public String getAgencyFaxNumber() {
276         return agencyFaxNumber;
277     }
278 
279 
280     public void setAgencyFaxNumber(String agencyFaxNumber) {
281         this.agencyFaxNumber = agencyFaxNumber;
282     }
283 
284 
285     @Override
286     public Agency getAgency() {
287         return agency;
288     }
289 
290 
291     public void setAgency(Agency agency) {
292         this.agency = agency;
293     }
294 
295 
296     @Override
297     public boolean isPrimary() {
298         return primary;
299     }
300 
301 
302     public void setPrimary(boolean primary) {
303         this.primary = primary;
304     }
305 
306     @Override
307     public void refresh() { }
308 
309 
310     @Override
311     public String getAgencyLine4StreetAddress() {
312         return agencyLine4StreetAddress;
313     }
314 
315 
316     public void setAgencyLine4StreetAddress(String agencyLine4StreetAddress) {
317         this.agencyLine4StreetAddress = agencyLine4StreetAddress;
318     }
319 
320 
321     @Override
322     public String getAgencyContactName() {
323         return agencyContactName;
324     }
325 
326 
327     public void setAgencyContactName(String agencyContactName) {
328         this.agencyContactName = agencyContactName;
329     }
330 
331 }