[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