Author: adrianc
Date: Sat Jan 7 00:11:14 2012 New Revision: 1228508 URL: http://svn.apache.org/viewvc?rev=1228508&view=rev Log: Added a urlEncodePostalAddress method to ContactMechWorker.java - useful for calling map web services. Modified: ofbiz/trunk/applications/party/src/org/ofbiz/party/contact/ContactMechWorker.java Modified: ofbiz/trunk/applications/party/src/org/ofbiz/party/contact/ContactMechWorker.java URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/party/src/org/ofbiz/party/contact/ContactMechWorker.java?rev=1228508&r1=1228507&r2=1228508&view=diff ============================================================================== --- ofbiz/trunk/applications/party/src/org/ofbiz/party/contact/ContactMechWorker.java (original) +++ ofbiz/trunk/applications/party/src/org/ofbiz/party/contact/ContactMechWorker.java Sat Jan 7 00:11:14 2012 @@ -19,15 +19,19 @@ package org.ofbiz.party.contact; +import java.io.UnsupportedEncodingException; +import java.net.URLEncoder; import java.util.Collection; import java.util.Iterator; import java.util.List; import java.util.Map; import javax.servlet.ServletRequest; + import javolution.util.FastList; import javolution.util.FastMap; +import org.ofbiz.base.util.Assert; import org.ofbiz.base.util.Debug; import org.ofbiz.base.util.UtilMisc; import org.ofbiz.base.util.UtilProperties; @@ -941,4 +945,54 @@ public class ContactMechWorker { // nothing found, return null return null; } + + /** + * Returns a <b>PostalAddress</b> <code>GenericValue</code> as a URL encoded <code>String</code>. + * + * @param postalAddress A <b>PostalAddress</b> <code>GenericValue</code>. + * @return A URL encoded <code>String</code>. + * @throws GenericEntityException + * @throws UnsupportedEncodingException + */ + public static String urlEncodePostalAddress(GenericValue postalAddress) throws GenericEntityException, UnsupportedEncodingException { + Assert.notNull("postalAddress", postalAddress); + if (!"PostalAddress".equals(postalAddress.getEntityName())) { + throw new IllegalArgumentException("postalAddress argument is not a PostalAddress entity"); + } + StringBuilder sb = new StringBuilder(); + if (postalAddress.get("address1") != null) { + sb.append(postalAddress.get("address1")); + } + if (postalAddress.get("address2") != null) { + sb.append(", ").append(postalAddress.get("address2")); + } + if (postalAddress.get("city") != null) { + sb.append(", ").append(postalAddress.get("city")); + } + if (postalAddress.get("stateProvinceGeoId") != null) { + GenericValue geoValue = postalAddress.getRelatedOne("StateProvinceGeo"); + if (geoValue != null) { + sb.append(", ").append(geoValue.get("geoName")); + } + } else if (postalAddress.get("countyGeoId") != null) { + GenericValue geoValue = postalAddress.getRelatedOne("CountyGeo"); + if (geoValue != null) { + sb.append(", ").append(geoValue.get("geoName")); + } + } + if (postalAddress.get("postalCode") != null) { + sb.append(", ").append(postalAddress.get("postalCode")); + } + if (postalAddress.get("countryGeoId") != null) { + GenericValue geoValue = postalAddress.getRelatedOne("CountryGeo"); + if (geoValue != null) { + sb.append(", ").append(geoValue.get("geoName")); + } + } + String postalAddressString = sb.toString().trim(); + while (postalAddressString.contains(" ")) { + postalAddressString = postalAddressString.replace(" ", " "); + } + return URLEncoder.encode(postalAddressString, "UTF-8"); + } } |
Free forum by Nabble | Edit this page |