/* * Copyright (c) 2005-2011 Grameen Foundation USA * All rights reserved. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or * implied. See the License for the specific language governing * permissions and limitations under the License. * * See also http://www.apache.org/licenses/LICENSE-2.0.html for an * explanation of the license and how it is applied. */ package org.mifos.ui.core.controller; import java.io.Serializable; import org.apache.commons.lang.StringUtils; import org.springframework.binding.message.MessageBuilder; import org.springframework.binding.message.MessageContext; @SuppressWarnings("PMD") @edu.umd.cs.findbugs.annotations.SuppressWarnings(value="SE_NO_SERIALVERSIONID", justification="required for spring web flow storage at a minimum - should disable at filter level and also for pmd") public class AddressBean implements Serializable { private String address1; private String address2; private String address3; private String cityDistrict; private String state; private String country; private String postalCode; private String telephoneNumber; private boolean address1Mandatory; private boolean address2Hidden; private boolean address3Hidden; private boolean cityDistrictHidden; private boolean stateHidden; private boolean countryHidden; private boolean postalCodeHidden; public String getAddress1() { return this.address1; } public void setAddress1(String address1) { this.address1 = address1; } public String getAddress2() { return this.address2; } public void setAddress2(String address2) { this.address2 = address2; } public String getAddress3() { return this.address3; } public void setAddress3(String address3) { this.address3 = address3; } public String getCityDistrict() { return this.cityDistrict; } public void setCityDistrict(String cityDistrict) { this.cityDistrict = cityDistrict; } public String getState() { return this.state; } public void setState(String state) { this.state = state; } public String getCountry() { return this.country; } public void setCountry(String country) { this.country = country; } public String getPostalCode() { return this.postalCode; } public void setPostalCode(String postalCode) { this.postalCode = postalCode; } public String getTelephoneNumber() { return this.telephoneNumber; } public void setTelephoneNumber(String telephoneNumber) { this.telephoneNumber = telephoneNumber; } public boolean isAddress1Mandatory() { return this.address1Mandatory; } public void setAddress1Mandatory(boolean address1Mandatory) { this.address1Mandatory = address1Mandatory; } public boolean isAddress2Hidden() { return this.address2Hidden; } public void setAddress2Hidden(boolean address2Hidden) { this.address2Hidden = address2Hidden; } public boolean isAddress3Hidden() { return this.address3Hidden; } public void setAddress3Hidden(boolean address3Hidden) { this.address3Hidden = address3Hidden; } public boolean isCityDistrictHidden() { return this.cityDistrictHidden; } public void setCityDistrictHidden(boolean cityDistrictHidden) { this.cityDistrictHidden = cityDistrictHidden; } public boolean isStateHidden() { return this.stateHidden; } public void setStateHidden(boolean stateHidden) { this.stateHidden = stateHidden; } public boolean isCountryHidden() { return this.countryHidden; } public void setCountryHidden(boolean countryHidden) { this.countryHidden = countryHidden; } public boolean isPostalCodeHidden() { return this.postalCodeHidden; } public void setPostalCodeHidden(boolean postalCodeHidden) { this.postalCodeHidden = postalCodeHidden; } public void validate(MessageContext messages, String parentObjectName) { if (this.address1Mandatory && StringUtils.isBlank(this.address1)) { messages.addMessage(new MessageBuilder().error().source("address1").code("NotEmpty." + parentObjectName + ".address.address1").defaultText("address1 is mandatory.").build()); } } public String getDisplayAddress() { StringBuilder displayAddressBuilder = new StringBuilder(); if (StringUtils.isNotBlank(this.address1)) { displayAddressBuilder.append(this.address1); } if (StringUtils.isNotBlank(this.address2) && StringUtils.isNotBlank(this.address1)) { displayAddressBuilder.append(", ").append(this.address2); } else if (StringUtils.isNotBlank(this.address2)) { displayAddressBuilder.append(this.address2); } if (StringUtils.isNotBlank(this.address3) && StringUtils.isNotBlank(this.address2) || (StringUtils.isNotBlank(this.address3) && StringUtils.isNotBlank(this.address1))) { displayAddressBuilder.append(", ").append(this.address3); } else if (StringUtils.isNotBlank(this.address3)) { displayAddressBuilder.append(", ").append(this.address3); } return displayAddressBuilder.toString(); } }