Author: ashish
Date: Mon Sep 21 14:13:53 2009
New Revision: 817264

URL: http://svn.apache.org/viewvc?rev=817264&view=rev
Log:
Save eiasTokenBuyer value in the PartyAttribute entity so that it can be of use 
later on for searching partyId value before creating new in database.

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=817264&r1=817263&r2=817264&view=diff
==============================================================================
--- ofbiz/trunk/specialpurpose/ebay/src/org/ofbiz/ebay/EbayOrderServices.java 
(original)
+++ ofbiz/trunk/specialpurpose/ebay/src/org/ofbiz/ebay/EbayOrderServices.java 
Mon Sep 21 14:13:53 2009
@@ -984,7 +984,7 @@
                 String contactMechId = null;
                 String emailContactMechId = null;
                 String phoneContactMechId = null;
-                GenericValue partyAttribute = null;
+                
                 Map<String, Object> shippingAddressCtx =  (Map) 
context.get("shippingAddressCtx");
                 if (UtilValidate.isNotEmpty(shippingAddressCtx)) {
                     String buyerName = (String) 
shippingAddressCtx.get("buyerName");
@@ -997,14 +997,24 @@
                     EbayHelper.correctCityStateCountry(dispatcher, 
shippingAddressCtx, city, state, country);
                     
                     List<GenericValue> shipInfo = 
PartyWorker.findMatchingPartyAndPostalAddress(delegator, 
shippingAddressCtx.get("shippingAddressStreet1").toString(), 
-                            
(UtilValidate.isEmpty(shippingAddressCtx.get("shippingAddressStreet2")) ? null 
: shippingAddressCtx.get("shippingAddressStreet2").toString()), city, state, 
-                            
shippingAddressCtx.get("shippingAddressPostalCode").toString(), null, country, 
firstName, null, lastName);
+                            
(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);
                     if (shipInfo != null && shipInfo.size() > 0) {
                         GenericValue first = EntityUtil.getFirst(shipInfo);
                         partyId = first.getString("partyId");
                         Debug.logInfo("Existing shipping address found for : 
(party: " + partyId + ")", module);
                     }
                 }
+                
+                // If matching party not found then try to find partyId from 
PartyAttribute entity.
+                GenericValue partyAttribute = null;
+                if (UtilValidate.isNotEmpty((String) 
context.get("eiasTokenBuyer"))) {
+                    partyAttribute = 
EntityUtil.getFirst(delegator.findByAnd("PartyAttribute", 
UtilMisc.toMap("attrValue", (String) context.get("eiasTokenBuyer"))));
+                    if (UtilValidate.isNotEmpty(partyAttribute)) {
+                        partyId = (String) partyAttribute.get("partyId");
+                    }                    
+                }
+                
                 // if we get a party, check its contact information.
                 if (UtilValidate.isNotEmpty(partyId)) {
                     Debug.logInfo("Found existing party associated to the eBay 
buyer: " + partyId, module);
@@ -1030,6 +1040,8 @@
 
                 // create new party's contact information
                 if (UtilValidate.isEmpty(contactMechId)) {
+                    Map<String, Object> buyerCtx = (Map) 
context.get("buyerCtx");
+                    String eiasTokenBuyer = (String) 
buyerCtx.get("eiasTokenBuyer");
                     Debug.logInfo("Creating new postal address for party: " + 
partyId, module);
                     contactMechId = EbayHelper.createAddress(dispatcher, 
partyId, userLogin, "SHIPPING_LOCATION", shippingAddressCtx);
                     if (UtilValidate.isEmpty(contactMechId)) {
@@ -1039,7 +1051,7 @@
                     Debug.logInfo("Creating new phone number for party: " + 
partyId, module);
                     EbayHelper.createPartyPhone(dispatcher, partyId, (String) 
shippingAddressCtx.get("shippingAddressPhone"), userLogin);
                     Debug.logInfo("Creating association to eBay buyer for 
party: " + partyId, module);
-                    EbayHelper.createEbayCustomer(dispatcher, partyId, 
(String) context.get("ebayUserIdBuyer"), (String) 
context.get("eiasTokenBuyer"), userLogin);
+                    EbayHelper.createEbayCustomer(dispatcher, partyId, 
(String) context.get("ebayUserIdBuyer"), eiasTokenBuyer, userLogin);
                     String emailBuyer = (String) context.get("emailBuyer");
                     if (UtilValidate.isNotEmpty(emailBuyer) && 
!emailBuyer.equalsIgnoreCase("Invalid Request")) {
                         Debug.logInfo("Creating new email for party: " + 
partyId, module);


Reply via email to