/* * 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.external.kc.businessobject; import java.sql.Date; import org.apache.commons.lang.StringUtils; import org.kuali.kfs.integration.cg.ContractsAndGrantsAgencyAddress; import org.kuali.kfs.module.ar.ArConstants; import org.kuali.kfs.module.external.kc.dto.RolodexDTO; import org.kuali.rice.location.api.country.Country; import org.kuali.rice.location.api.services.LocationApiServiceLocator; public class AgencyAddress implements ContractsAndGrantsAgencyAddress { private String agencyNumber; private Long agencyAddressIdentifier; private String agencyAddressName; private String agencyLine1StreetAddress; private String agencyLine2StreetAddress; private String agencyLine3StreetAddress; private String agencyLine4StreetAddress; private String agencyCityName; private String agencyStateCode; private String agencyZipCode; private String agencyAddressInternationalProvinceName; private String agencyCountryCode; private String agencyInternationalMailCode; private String agencyContactEmailAddress; private String customerAddressTypeCode; private Date agencyAddressEndDate; private String agencyContractName; private String agencyPhoneNumber; private String agencyFaxNumber; private String agencyContactName; private Agency agency; private boolean primary; public AgencyAddress() { } public AgencyAddress(Agency agency, RolodexDTO kcAddress) { this.agency = agency; this.agencyNumber = agency.getAgencyNumber(); this.agencyAddressIdentifier = kcAddress.getRolodexId().longValue(); this.agencyAddressName = agency.getFullName(); this.agencyLine1StreetAddress = kcAddress.getAddressLine1(); this.agencyLine2StreetAddress = kcAddress.getAddressLine2(); this.agencyLine3StreetAddress = kcAddress.getAddressLine3(); this.agencyCityName = kcAddress.getCity(); Country country = LocationApiServiceLocator.getCountryService().getCountryByAlternateCode(kcAddress.getCountryCode()); Country defaultCountry = LocationApiServiceLocator.getCountryService().getDefaultCountry(); if (country != null) { this.agencyCountryCode = country.getCode(); } else { this.agencyCountryCode = kcAddress.getCountryCode(); } if (StringUtils.equals(getAgencyCountryCode(), defaultCountry.getCode())) { this.agencyStateCode = kcAddress.getState(); this.agencyZipCode = kcAddress.getPostalCode(); } else { this.agencyAddressInternationalProvinceName = kcAddress.getState(); this.agencyInternationalMailCode = kcAddress.getPostalCode(); } this.agencyContactEmailAddress = kcAddress.getEmailAddress(); this.agencyContactName = kcAddress.getFullName(); this.agencyPhoneNumber = kcAddress.getPhoneNumber(); this.agencyFaxNumber = kcAddress.getFaxNumber(); this.customerAddressTypeCode = ArConstants.AGENCY_PRIMARY_ADDRESSES_TYPE_CODE; this.primary = true; } @Override public String getAgencyNumber() { return agencyNumber; } public void setAgencyNumber(String agencyNumber) { this.agencyNumber = agencyNumber; } @Override public Long getAgencyAddressIdentifier() { return agencyAddressIdentifier; } public void setAgencyAddressIdentifier(Long agencyAddressIdentifier) { this.agencyAddressIdentifier = agencyAddressIdentifier; } @Override public String getAgencyAddressName() { return agencyAddressName; } public void setAgencyAddressName(String agencyAddressName) { this.agencyAddressName = agencyAddressName; } @Override public String getAgencyLine1StreetAddress() { return agencyLine1StreetAddress; } public void setAgencyLine1StreetAddress(String agencyLine1StreetAddress) { this.agencyLine1StreetAddress = agencyLine1StreetAddress; } @Override public String getAgencyLine2StreetAddress() { return agencyLine2StreetAddress; } public void setAgencyLine2StreetAddress(String agencyLine2StreetAddress) { this.agencyLine2StreetAddress = agencyLine2StreetAddress; } @Override public String getAgencyLine3StreetAddress() { return agencyLine3StreetAddress; } public void setAgencyLine3StreetAddress(String agencyLine3StreetAddress) { this.agencyLine3StreetAddress = agencyLine3StreetAddress; } @Override public String getAgencyCityName() { return agencyCityName; } public void setAgencyCityName(String agencyCityName) { this.agencyCityName = agencyCityName; } @Override public String getAgencyStateCode() { return agencyStateCode; } public void setAgencyStateCode(String agencyStateCode) { this.agencyStateCode = agencyStateCode; } @Override public String getAgencyZipCode() { return agencyZipCode; } public void setAgencyZipCode(String agencyZipCode) { this.agencyZipCode = agencyZipCode; } @Override public String getAgencyAddressInternationalProvinceName() { return agencyAddressInternationalProvinceName; } public void setAgencyAddressInternationalProvinceName(String agencyAddressInternationalProvinceName) { this.agencyAddressInternationalProvinceName = agencyAddressInternationalProvinceName; } @Override public String getAgencyCountryCode() { return agencyCountryCode; } public void setAgencyCountryCode(String agencyCountryCode) { this.agencyCountryCode = agencyCountryCode; } @Override public String getAgencyInternationalMailCode() { return agencyInternationalMailCode; } public void setAgencyInternationalMailCode(String agencyInternationalMailCode) { this.agencyInternationalMailCode = agencyInternationalMailCode; } @Override public String getAgencyContactEmailAddress() { return agencyContactEmailAddress; } public void setAgencyContactEmailAddress(String agencyContactEmailAddress) { this.agencyContactEmailAddress = agencyContactEmailAddress; } @Override public String getCustomerAddressTypeCode() { return customerAddressTypeCode; } public void setCustomerAddressTypeCode(String customerAddressTypeCode) { this.customerAddressTypeCode = customerAddressTypeCode; } @Override public Date getAgencyAddressEndDate() { return agencyAddressEndDate; } public void setAgencyAddressEndDate(Date agencyAddressEndDate) { this.agencyAddressEndDate = agencyAddressEndDate; } public String getAgencyContractName() { return agencyContractName; } public void setAgencyContractName(String agencyContractName) { this.agencyContractName = agencyContractName; } @Override public String getAgencyPhoneNumber() { return agencyPhoneNumber; } public void setAgencyPhoneNumber(String agencyPhoneNumber) { this.agencyPhoneNumber = agencyPhoneNumber; } @Override public String getAgencyFaxNumber() { return agencyFaxNumber; } public void setAgencyFaxNumber(String agencyFaxNumber) { this.agencyFaxNumber = agencyFaxNumber; } @Override public Agency getAgency() { return agency; } public void setAgency(Agency agency) { this.agency = agency; } @Override public boolean isPrimary() { return primary; } public void setPrimary(boolean primary) { this.primary = primary; } @Override public void refresh() { } @Override public String getAgencyLine4StreetAddress() { return agencyLine4StreetAddress; } public void setAgencyLine4StreetAddress(String agencyLine4StreetAddress) { this.agencyLine4StreetAddress = agencyLine4StreetAddress; } @Override public String getAgencyContactName() { return agencyContactName; } public void setAgencyContactName(String agencyContactName) { this.agencyContactName = agencyContactName; } }