Author: hansbak
Date: Thu Mar 11 08:52:28 2010
New Revision: 921735

URL: http://svn.apache.org/viewvc?rev=921735&view=rev
Log:
Start/stop/restart ebay job problematic: fixed.

Modified:
    
ofbiz/trunk/specialpurpose/ebaystore/src/org/ofbiz/ebaystore/EbayStoreHelper.java

Modified: 
ofbiz/trunk/specialpurpose/ebaystore/src/org/ofbiz/ebaystore/EbayStoreHelper.java
URL: 
http://svn.apache.org/viewvc/ofbiz/trunk/specialpurpose/ebaystore/src/org/ofbiz/ebaystore/EbayStoreHelper.java?rev=921735&r1=921734&r2=921735&view=diff
==============================================================================
--- 
ofbiz/trunk/specialpurpose/ebaystore/src/org/ofbiz/ebaystore/EbayStoreHelper.java
 (original)
+++ 
ofbiz/trunk/specialpurpose/ebaystore/src/org/ofbiz/ebaystore/EbayStoreHelper.java
 Thu Mar 11 08:52:28 2010
@@ -240,9 +240,8 @@ public class EbayStoreHelper {
             GenericValue ebayProductPref = 
delegator.findByPrimaryKey("EbayProductStorePref", 
UtilMisc.toMap("productStoreId", productStoreId, "autoPrefEnumId", 
autoPrefEnumId));
             String jobId = ebayProductPref.getString("autoPrefJobId");
             if (UtilValidate.isNotEmpty(jobId)) {
-                GenericValue job = delegator.findByPrimaryKey("JobSandbox", 
UtilMisc.toMap("jobId", jobId));
-                job = EbayStoreHelper.getCurrentJob(delegator, userLogin, job);
-                if (!job.getString("statusId").equals("SERVICE_PENDING")) {
+                List<GenericValue> jobs = delegator.findByAnd("JobSandbox", 
UtilMisc.toMap("parentJobId", jobId, "statusId", "SERVICE_PENDING"));
+                if (jobs.size() == 0) {
                     Map<String, Object>inMap = FastMap.newInstance();
                     inMap.put("jobId", jobId);
                     inMap.put("userLogin", userLogin);
@@ -319,12 +318,14 @@ public class EbayStoreHelper {
         try {
             GenericValue ebayProductPref = 
delegator.findByPrimaryKey("EbayProductStorePref", 
UtilMisc.toMap("productStoreId", productStoreId, "autoPrefEnumId", 
autoPrefEnumId));
             String jobId = ebayProductPref.getString("autoPrefJobId");
-            GenericValue job = delegator.findByPrimaryKey("JobSandbox", 
UtilMisc.toMap("jobId", jobId));
-            job = EbayStoreHelper.getCurrentJob(delegator, userLogin, job);
+            List<GenericValue> jobs = delegator.findByAnd("JobSandbox", 
UtilMisc.toMap("parentJobId", jobId ,"statusId", "SERVICE_PENDING"));
+
             Map<String, Object>inMap = FastMap.newInstance();
             inMap.put("userLogin", userLogin);
-            inMap.put("jobId", job.getString("jobId"));
-            dispatcher.runSync("cancelScheduledJob", inMap);
+            for (int index = 0; index < jobs.size(); index++) {
+                inMap.put("jobId", jobs.get(index).getString("jobId"));
+                dispatcher.runSync("cancelScheduledJob", inMap);
+            }
         } catch (GenericEntityException e) {
             return ServiceUtil.returnError(e.getMessage());
         } catch (GenericServiceException e) {
@@ -332,18 +333,4 @@ public class EbayStoreHelper {
         }
         return result;
     }
-
-    private static GenericValue getCurrentJob(Delegator delegator, 
GenericValue userLogin, GenericValue job) {
-        try {
-            List<GenericValue> jobNew = delegator.findByAnd("JobSandbox", 
UtilMisc.toMap("previousJobId", job.getString("jobId")));
-            if (jobNew.size() != 0) {
-                job = EbayStoreHelper.getCurrentJob(delegator, userLogin, 
jobNew.get(0));
-            } else {
-                return job;
-            }
-        } catch (GenericEntityException e) {
-            return null;
-        }
-        return job;
-    }
 }


Reply via email to