You are viewing a plain text version of this content. The canonical link for it is here.
Posted to oak-commits@jackrabbit.apache.org by md...@apache.org on 2013/07/12 22:55:56 UTC
svn commit: r1502689 - in /jackrabbit/oak/trunk:
oak-core/src/main/java/org/apache/jackrabbit/oak/core/
oak-core/src/test/java/org/apache/jackrabbit/oak/core/ oak-jcr/
oak-jcr/src/test/java/org/apache/jackrabbit/oak/jcr/
Author: mduerig
Date: Fri Jul 12 20:55:56 2013
New Revision: 1502689
URL: http://svn.apache.org/r1502689
Log:
OAK-898: Session#move with a fresh session doesn't work properly
Call update on Root.move and Root.copy to ensure hasPendingChanges returns true
Modified:
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/core/RootImpl.java
jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/core/RootImplTest.java
jackrabbit/oak/trunk/oak-jcr/pom.xml
jackrabbit/oak/trunk/oak-jcr/src/test/java/org/apache/jackrabbit/oak/jcr/MoveTest.java
Modified: jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/core/RootImpl.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/core/RootImpl.java?rev=1502689&r1=1502688&r2=1502689&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/core/RootImpl.java (original)
+++ jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/core/RootImpl.java Fri Jul 12 20:55:56 2013
@@ -194,6 +194,7 @@ public class RootImpl implements Root {
getTree(getParentPath(sourcePath)).updateChildOrder();
getTree(getParentPath(destPath)).updateChildOrder();
lastMove = lastMove.setMove(sourcePath, destParent, getName(destPath));
+ updated();
}
return success;
}
@@ -206,6 +207,7 @@ public class RootImpl implements Root {
reset();
if (success) {
getTree(getParentPath(destPath)).updateChildOrder();
+ updated();
}
return success;
}
Modified: jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/core/RootImplTest.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/core/RootImplTest.java?rev=1502689&r1=1502688&r2=1502689&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/core/RootImplTest.java (original)
+++ jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/core/RootImplTest.java Fri Jul 12 20:55:56 2013
@@ -100,12 +100,15 @@ public class RootImplTest extends OakBas
Tree x = tree.getChild("x");
assertTrue(x.exists());
+ assertFalse(root.hasPendingChanges());
root.move("/x", "/y/xx");
+ assertTrue(root.hasPendingChanges());
assertFalse(tree.hasChild("x"));
assertTrue(y.hasChild("xx"));
assertEquals("/y/xx", x.getPath());
root.commit();
+ assertFalse(root.hasPendingChanges());
assertFalse(tree.hasChild("x"));
assertTrue(tree.hasChild("y"));
Modified: jackrabbit/oak/trunk/oak-jcr/pom.xml
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-jcr/pom.xml?rev=1502689&r1=1502688&r2=1502689&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-jcr/pom.xml (original)
+++ jackrabbit/oak/trunk/oak-jcr/pom.xml Fri Jul 12 20:55:56 2013
@@ -334,7 +334,6 @@
org.apache.jackrabbit.core.query.SelectClauseTest#testSameNameSiblingSQL <!-- OAK-203 -->
org.apache.jackrabbit.core.query.ShareableNodeTest#testName <!-- OAK-118 -->
org.apache.jackrabbit.core.query.ShareableNodeTest#testPathConstraint <!-- OAK-118 -->
- org.apache.jackrabbit.oak.jcr.MoveTest#testMoveTmp <!-- OAK-898 -->
</known.issues>
</properties>
Modified: jackrabbit/oak/trunk/oak-jcr/src/test/java/org/apache/jackrabbit/oak/jcr/MoveTest.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-jcr/src/test/java/org/apache/jackrabbit/oak/jcr/MoveTest.java?rev=1502689&r1=1502688&r2=1502689&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-jcr/src/test/java/org/apache/jackrabbit/oak/jcr/MoveTest.java (original)
+++ jackrabbit/oak/trunk/oak-jcr/src/test/java/org/apache/jackrabbit/oak/jcr/MoveTest.java Fri Jul 12 20:55:56 2013
@@ -21,7 +21,6 @@ import javax.jcr.Session;
import org.apache.jackrabbit.JcrConstants;
import org.apache.jackrabbit.test.AbstractJCRTest;
-import org.junit.Ignore;
import org.junit.Test;
/**
@@ -70,37 +69,34 @@ public class MoveTest extends AbstractJC
}
/**
- * Simulate a 'rename' call using 2 sessions:
+ * Simulate a 'rename' call using 3 sessions:
* - 1st create a node that has a '.tmp' extension
* - 2nd remove the '.tmp' by issuing a Session#move call on a new session
* - 3rd verify the move by issuing a #getNode call on the destination path using a new session
*/
@Test
- @Ignore("OAK-898")
- public void testMoveTmp() throws Exception {
- String n = "testMoveTmp";
-
- Node node1 = testRootNode.addNode(n + ".tmp");
+ public void testOak898() throws Exception {
+ String name = "testMove";
+ Node node = testRootNode.addNode(name + ".tmp");
superuser.save();
+ String destPath = testRootNode.getPath() + '/' + name;
- String destPath = testRootNode.getPath() + "/" + n;
-
- Session ts = getHelper().getSuperuserSession();
+ Session session2 = getHelper().getSuperuserSession();
try {
- ts.move(node1.getPath(), destPath);
- if (ts.hasPendingChanges()) {
- ts.save();
- }
+ assertFalse(session2.hasPendingChanges());
+ session2.move(node.getPath(), destPath);
+ assertTrue(session2.hasPendingChanges());
+ session2.save();
} finally {
- ts.logout();
+ session2.logout();
}
- ts = getHelper().getSuperuserSession();
+ Session session3 = getHelper().getSuperuserSession();
try {
- assertNotNull(ts.getNode(destPath));
+ assertNotNull(session3.getNode(destPath));
} finally {
- ts.logout();
+ session3.logout();
}
}