[exo-jcr-commits] exo-jcr SVN: r3298 - in jcr/trunk/exo.jcr.component.core/src: test/java/org/exoplatform/services/jcr/api/lock and 1 other directory.
do-not-reply at jboss.org
do-not-reply at jboss.org
Tue Oct 19 04:11:38 EDT 2010
Author: tolusha
Date: 2010-10-19 04:11:37 -0400 (Tue, 19 Oct 2010)
New Revision: 3298
Modified:
jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/lock/jbosscache/CacheableLockManagerImpl.java
jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/api/lock/TestLock.java
Log:
JCR-1482: Fix issue when after restarting JCR doesn't retrieve all lock data from DB. After restarting server node will remain locked as expected.
Modified: jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/lock/jbosscache/CacheableLockManagerImpl.java
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/lock/jbosscache/CacheableLockManagerImpl.java 2010-10-15 14:52:04 UTC (rev 3297)
+++ jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/lock/jbosscache/CacheableLockManagerImpl.java 2010-10-19 08:11:37 UTC (rev 3298)
@@ -1065,7 +1065,7 @@
{
public List<LockData> execute(Object arg) throws LockException
{
- Set<Object> nodesId = cache.getChildrenNames(lockRoot);
+ Set<Object> nodesId = ((CacheSPI<Serializable, Object>)cache).getNode(lockRoot).getChildrenNamesDirect();
List<LockData> locksData = new ArrayList<LockData>();
for (Object nodeId : nodesId)
Modified: jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/api/lock/TestLock.java
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/api/lock/TestLock.java 2010-10-15 14:52:04 UTC (rev 3297)
+++ jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/api/lock/TestLock.java 2010-10-19 08:11:37 UTC (rev 3298)
@@ -42,6 +42,7 @@
private Node lockedNode = null;
+ @Override
public void setUp() throws Exception
{
@@ -428,4 +429,26 @@
assertFalse(childLockNode.isLocked());
}
+
+ /**
+ * Test indicate if locked node after restarting still locked.
+ */
+ public void testLockWithoutDBClean() throws Exception
+ {
+ String locNodeName = "TestLockNode";
+ if (session.getRootNode().hasNode(locNodeName))
+ {
+ Node node = session.getRootNode().getNode(locNodeName);
+ assertTrue(node.isLocked());
+ }
+ else
+ {
+ Node node = session.getRootNode().addNode(locNodeName);
+ node.addMixin("mix:lockable");
+ session.save();
+
+ node.lock(false, true);
+ }
+ }
+
}
More information about the exo-jcr-commits
mailing list