[exo-jcr-commits] exo-jcr SVN: r1468 - jcr/branches/1.12.0-JBCCACHE/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/lock/jbosscache.

do-not-reply at jboss.org do-not-reply at jboss.org
Mon Jan 18 11:20:25 EST 2010


Author: areshetnyak
Date: 2010-01-18 11:20:24 -0500 (Mon, 18 Jan 2010)
New Revision: 1468

Modified:
   jcr/branches/1.12.0-JBCCACHE/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/lock/jbosscache/CacheableLockManager.java
Log:
EXOJCR-412 : The skiping delete locks properties (jcr:lockIsDeep, jcr:lockOwner) if  not exists was added.

Modified: jcr/branches/1.12.0-JBCCACHE/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/lock/jbosscache/CacheableLockManager.java
===================================================================
--- jcr/branches/1.12.0-JBCCACHE/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/lock/jbosscache/CacheableLockManager.java	2010-01-18 15:02:23 UTC (rev 1467)
+++ jcr/branches/1.12.0-JBCCACHE/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/lock/jbosscache/CacheableLockManager.java	2010-01-18 16:20:24 UTC (rev 1468)
@@ -688,10 +688,25 @@
          ItemData lockOwner =
             copyItemData((PropertyData)dataManager.getItemData(nData, new QPathEntry(Constants.JCR_LOCKOWNER, 1)));
 
+         //TODO EXOJCR-412, should be refactored in future.
+         //Skip removing, because that lock was removed in other node of cluster.  
+         if (lockOwner == null)
+         {
+            return;
+         }
+         
          changesLog.add(ItemState.createDeletedState(lockOwner));
 
          ItemData lockIsDeep =
             copyItemData((PropertyData)dataManager.getItemData(nData, new QPathEntry(Constants.JCR_LOCKISDEEP, 1)));
+         
+         //TODO EXOJCR-412, should be refactored in future.
+         //Skip removing, because that lock was removed in other node of cluster.  
+         if (lockIsDeep == null)
+         {
+            return;
+         }
+         
          changesLog.add(ItemState.createDeletedState(lockIsDeep));
 
          // lock probably removed by other thread



More information about the exo-jcr-commits mailing list