[exo-jcr-commits] exo-jcr SVN: r4310 - jcr/branches/1.12.x/patch/1.12.9-GA/JCR-1615.
do-not-reply at jboss.org
do-not-reply at jboss.org
Wed Apr 27 08:12:21 EDT 2011
Author: nzamosenchuk
Date: 2011-04-27 08:12:21 -0400 (Wed, 27 Apr 2011)
New Revision: 4310
Modified:
jcr/branches/1.12.x/patch/1.12.9-GA/JCR-1615/JCR-1615.patch
Log:
JCR-1615: patch updated
Modified: jcr/branches/1.12.x/patch/1.12.9-GA/JCR-1615/JCR-1615.patch
===================================================================
--- jcr/branches/1.12.x/patch/1.12.9-GA/JCR-1615/JCR-1615.patch 2011-04-27 11:48:20 UTC (rev 4309)
+++ jcr/branches/1.12.x/patch/1.12.9-GA/JCR-1615/JCR-1615.patch 2011-04-27 12:12:21 UTC (rev 4310)
@@ -1,19 +1,97 @@
-? JCR-1552.diff
-? exojcr-1134.diff
-? exojcr-1135.diff
-? JCR-1504.diff
-? applications/exo.jcr.applications.backupconsole.dist/.classpath
-? applications/exo.jcr.applications.backupconsole.dist/.project
-? applications/exo.jcr.applications.backupconsole.dist/target
-? patch/1.12.9-GA/JCR-1615
-? exo.jcr.component.core/ObjectStore
-? exo.jcr.component.core/nul
-? exo.jcr.component.core/src/test/java/META-INF
-? exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/api/lock/TestLock.java.orig
-M exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/api/lock/TestLock.java
-? exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/NodeImpl.java.orig
-M exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/NodeImpl.java
-? exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/query/jbosscache/LocalChangesFilter.java
-? exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/query/jbosscache/LocalIndexCacheLoader.java
-? exo.jcr.connectors.localadapter/maven-eclipse.xml
-? exo.jcr.connectors.localadapter/.externalToolBuilders
+Index: exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/api/lock/TestLock.java
+===================================================================
+--- exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/api/lock/TestLock.java (revision 4306)
++++ exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/api/lock/TestLock.java (working copy)
+@@ -50,17 +50,21 @@
+ super.setUp();
+
+ if (lockedNode == null)
++ {
+ try
+ {
+ lockedNode = root.addNode("locked node");
+ if (lockedNode.canAddMixin("mix:lockable"))
++ {
+ lockedNode.addMixin("mix:lockable");
++ }
+ root.save();
+ }
+ catch (RepositoryException e)
+ {
+ fail("Child node must be accessible and readable. But error occurs: " + e);
+ }
++ }
+ }
+
+ /**
+@@ -223,7 +227,9 @@
+ Session session1 = repository.login(new CredentialsImpl("admin", "admin".toCharArray()), "ws");
+ Node nodeToLockSession1 = session1.getRootNode().addNode("nodeToLockSession1");
+ if (nodeToLockSession1.canAddMixin("mix:lockable"))
++ {
+ nodeToLockSession1.addMixin("mix:lockable");
++ }
+ session1.save();
+ Lock lock = nodeToLockSession1.lock(true, false);// boolean isSessionScoped
+ // in ECM we are using lock(true, true) without saving lockToken
+@@ -317,7 +323,9 @@
+ Session session1 = repository.login(new CredentialsImpl("admin", "admin".toCharArray()), "ws");
+ Node nodeToCopyLock = session1.getRootNode().addNode("node2testCopyLockedNode");
+ if (nodeToCopyLock.canAddMixin("mix:lockable"))
++ {
+ nodeToCopyLock.addMixin("mix:lockable");
++ }
+ session1.save();
+ Lock lock = nodeToCopyLock.lock(true, false);// boolean isSessionScoped
+ // in ECM we are using lock(true, true) without saving lockToken
+@@ -503,4 +511,37 @@
+ }
+ }
+
++
++ public void testCheckInWhenParentLocked() throws RepositoryException
++ {
++ // creating node that is going to be locked, adding a child also.
++
++ Session session1 = repository.login(new CredentialsImpl("root", "exo".toCharArray()), "ws");
++ Node parentLockedNodeSession1 = session1.getRootNode().addNode("testCheckInWhenParentLocked");
++ parentLockedNodeSession1.addMixin("mix:lockable");
++ parentLockedNodeSession1.addMixin("mix:versionable");
++ Node childNodeSession1 = parentLockedNodeSession1.addNode("child");
++ childNodeSession1.addMixin("mix:versionable");
++ childNodeSession1.setProperty("property", "value");
++ session1.save();
++ // locking it
++ parentLockedNodeSession1.lock(false, false);
++ session1.save();
++ assertTrue(parentLockedNodeSession1.isLocked());
++ Node parentLockedNode = session.getRootNode().getNode("testCheckInWhenParentLocked");
++ Node childNode = parentLockedNode.getNode("child");
++
++ try
++ {
++ childNode.checkin();
++ }
++ catch (LockException e)
++ {
++ fail("CheckIn shouldn't throw a lockException if parent node locked with isDeep=false");
++ }
++
++ session1.logout();
++
++ }
++
+ }
+Index: exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/NodeImpl.java
+===================================================================
+--- exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/NodeImpl.java (revision 4306)
++++ exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/NodeImpl.java (working copy)
+@@ -433,7 +433,7 @@
+ if (hasProperty(Constants.JCR_MERGEFAILED))
+ throw new VersionException("Node has jcr:mergeFailed " + getPath());
+
+- if (!parent().checkLocking())
++ if (!checkLocking())
+ throw new LockException("Node " + parent().getPath() + " is locked ");
+
+ // the new version identifier
More information about the exo-jcr-commits
mailing list