svn commit: r616995 - /ofbiz/trunk/framework/entityext/src/org/ofbiz/entityext/synchronization/EntitySyncServices.java

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

svn commit: r616995 - /ofbiz/trunk/framework/entityext/src/org/ofbiz/entityext/synchronization/EntitySyncServices.java

hansbak-2
Author: hansbak
Date: Wed Jan 30 19:59:59 2008
New Revision: 616995

URL: http://svn.apache.org/viewvc?rev=616995&view=rev
Log:
Entity sync did not work for deletes because the timestamps of the deleted record where also checked to be the same as the original record, this however was never true, even not after the copy of the complete database. Now the deleted record is only checked for the primary key.

Modified:
    ofbiz/trunk/framework/entityext/src/org/ofbiz/entityext/synchronization/EntitySyncServices.java

Modified: ofbiz/trunk/framework/entityext/src/org/ofbiz/entityext/synchronization/EntitySyncServices.java
URL: http://svn.apache.org/viewvc/ofbiz/trunk/framework/entityext/src/org/ofbiz/entityext/synchronization/EntitySyncServices.java?rev=616995&r1=616994&r2=616995&view=diff
==============================================================================
--- ofbiz/trunk/framework/entityext/src/org/ofbiz/entityext/synchronization/EntitySyncServices.java (original)
+++ ofbiz/trunk/framework/entityext/src/org/ofbiz/entityext/synchronization/EntitySyncServices.java Wed Jan 30 19:59:59 2008
@@ -216,8 +216,12 @@
                 
                 // check to see if it exists, if so remove and count, if not just count already removed
                 // always do a removeByAnd, if it was a removeByAnd great, if it was a removeByPrimaryKey, this will also work and save us a query
+                // however....removeByAnd also checks for the updateTimestamps....and they never match....so i changed it to remove primary key and only check for the primary key.....(hansbak)
                 pkToRemove.setIsFromEntitySync(true);
-                int numRemByAnd = delegator.removeByAnd(pkToRemove.getEntityName(), pkToRemove);
+                
+                // Debug.logInfo("try to remove: " + pkToRemove.getEntityName() + " key: " + pkToRemove.getPrimaryKey(), module);
+                
+                int numRemByAnd = delegator.removeByPrimaryKey(pkToRemove.getPrimaryKey());
                 if (numRemByAnd == 0) {
                     toRemoveAlreadyDeleted++;
                 } else {
@@ -234,6 +238,7 @@
             result.put("toStoreNotUpdated", new Long(toStoreNotUpdated));
             result.put("toRemoveDeleted", new Long(toRemoveDeleted));
             result.put("toRemoveAlreadyDeleted", new Long(toRemoveAlreadyDeleted));
+            if (Debug.infoOn()) Debug.logInfo("Finisching storeEntitySyncData (" + entitySyncId + ") - [" + keysToRemove.size() + "] to remove. Actually removed: " + toRemoveDeleted  + " already removed: " + toRemoveAlreadyDeleted, module);
             return result;
         } catch (GenericEntityException e) {
             String errorMsg = "Exception saving Entity Sync Data for entitySyncId [" + entitySyncId + "]: " + e.toString();