Author: mduerig
Date: Wed Jun 12 07:57:41 2013
New Revision: 1492100
URL: http://svn.apache.org/r1492100
Log:
OAK-864: MicroKernelException when moving a node to its own descendant
fix for Root.move
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
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=1492100&r1=1492099&r2=1492100&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
Wed Jun 12 07:57:41 2013
@@ -180,6 +180,10 @@ public class RootImpl implements Root {
@Override
public boolean move(String sourcePath, String destPath) {
+ if (PathUtils.isAncestor(sourcePath, destPath)) {
+ return false;
+ }
+
checkLive();
TreeImpl destParent = rootTree.getTree(getParentPath(destPath));
if (!destParent.exists()) {
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=1492100&r1=1492099&r2=1492100&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
Wed Jun 12 07:57:41 2013
@@ -36,7 +36,6 @@ import org.apache.jackrabbit.oak.api.Tre
import org.apache.jackrabbit.oak.api.Type;
import org.junit.After;
import org.junit.Before;
-import org.junit.Ignore;
import org.junit.Test;
public class RootImplTest extends OakBaseTest {
@@ -176,7 +175,6 @@ public class RootImplTest extends OakBas
}
@Test
- @Ignore
public void moveToDescendant() throws CommitFailedException {
Root root = session.getLatestRoot();
root.getTree("/").addChild("s");