Author: jleroux
Date: Mon Jan 24 13:12:02 2011
New Revision: 1062762

URL: http://svn.apache.org/viewvc?rev=1062762&view=rev
Log:
A patch from Norbert Rieger "NPE in EbayOrderServices.createShoppingCar" 
(https://issues.apache.org/jira/browse/OFBIZ-3926) - OFBIZ-3926

Due to missing property "stateProvinceGeoId" in shippingAddressCtx the 
following call raises an NPE (EbayOrderServices.createShoppingCart, line 
1118ff):

List<GenericValue> shipInfo = 
PartyWorker.findMatchingPersonPostalAddresses(delegator, 
shippingAddressCtx.get("shippingAddressStreet1").toString(),
(UtilValidate.isEmpty(shippingAddressCtx.get("shippingAddressStreet2")) ? null 
: shippingAddressCtx.get("shippingAddressStreet2").toString()), 
shippingAddressCtx.get("city").toString(),
shippingAddressCtx.get("stateProvinceGeoId").toString(), 
shippingAddressCtx.get("shippingAddressPostalCode").toString(), null, 
shippingAddressCtx.get("countryGeoId").toString(), firstName, null, lastName);

Checking whether the property is set (not empty) will solve this.

JLR: Norbert did the same for shippingAddressStreet2. I did not check if others 
were missing, hopefully there are none...

Modified:
    ofbiz/trunk/specialpurpose/ebay/src/org/ofbiz/ebay/EbayOrderServices.java

Modified: 
ofbiz/trunk/specialpurpose/ebay/src/org/ofbiz/ebay/EbayOrderServices.java
URL: 
http://svn.apache.org/viewvc/ofbiz/trunk/specialpurpose/ebay/src/org/ofbiz/ebay/EbayOrderServices.java?rev=1062762&r1=1062761&r2=1062762&view=diff
==============================================================================
--- ofbiz/trunk/specialpurpose/ebay/src/org/ofbiz/ebay/EbayOrderServices.java 
(original)
+++ ofbiz/trunk/specialpurpose/ebay/src/org/ofbiz/ebay/EbayOrderServices.java 
Mon Jan 24 13:12:02 2011
@@ -1115,9 +1115,19 @@ public class EbayOrderServices {
                     String city = (String) 
shippingAddressCtx.get("shippingAddressCityName");
                     EbayHelper.correctCityStateCountry(dispatcher, 
shippingAddressCtx, city, state, country);
 
-                    List<GenericValue> shipInfo = 
PartyWorker.findMatchingPersonPostalAddresses(delegator, 
shippingAddressCtx.get("shippingAddressStreet1").toString(),
-                            
(UtilValidate.isEmpty(shippingAddressCtx.get("shippingAddressStreet2")) ? null 
: shippingAddressCtx.get("shippingAddressStreet2").toString()), 
shippingAddressCtx.get("city").toString(), 
shippingAddressCtx.get("stateProvinceGeoId").toString(),
-                            
shippingAddressCtx.get("shippingAddressPostalCode").toString(), null, 
shippingAddressCtx.get("countryGeoId").toString(), firstName, null, lastName);
+                    List<GenericValue> shipInfo = 
+                       PartyWorker.findMatchingPersonPostalAddresses
+                               (delegator, 
+                                
shippingAddressCtx.get("shippingAddressStreet1").toString(),
+                            
(UtilValidate.isEmpty(shippingAddressCtx.get("shippingAddressStreet2")) ? null 
: shippingAddressCtx.get("shippingAddressStreet2").toString()), 
+                             shippingAddressCtx.get("city").toString(), 
+                            
(UtilValidate.isEmpty(shippingAddressCtx.get("stateProvinceGeoId")) ? null : 
shippingAddressCtx.get("stateProvinceGeoId").toString()),
+                             
shippingAddressCtx.get("shippingAddressPostalCode").toString(), 
+                             null, 
+                             
shippingAddressCtx.get("countryGeoId").toString(), 
+                             firstName, 
+                             null, 
+                             lastName);
                     if (UtilValidate.isNotEmpty(shipInfo)) {
                         GenericValue first = EntityUtil.getFirst(shipInfo);
                         partyId = first.getString("partyId");


Reply via email to