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 2012/04/23 11:59:21 UTC

svn commit: r1329152 - in /jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/kernel: KernelBranch.java KernelContentTree.java

Author: mduerig
Date: Mon Apr 23 09:59:20 2012
New Revision: 1329152

URL: http://svn.apache.org/viewvc?rev=1329152&view=rev
Log:
OAK-18: Define Oak API 
return boolean for indicating success or failure in KernelContentTree.move()/.copy()

Modified:
    jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/kernel/KernelBranch.java
    jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/kernel/KernelContentTree.java

Modified: jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/kernel/KernelBranch.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/kernel/KernelBranch.java?rev=1329152&r1=1329151&r2=1329152&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/kernel/KernelBranch.java (original)
+++ jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/kernel/KernelBranch.java Mon Apr 23 09:59:20 2012
@@ -73,12 +73,8 @@ public class KernelBranch implements Bra
 
         KernelContentTree destParent = getTransientState(getParentPath(destPath));
         String destName = getName(destPath);
-        if (destParent == null || destParent.hasChild(destName)) {
-            return false;
-        }
+        return destParent != null && source.move(destParent, destName);
 
-        source.move(destParent, destName);
-        return true;
     }
 
     @Override
@@ -90,12 +86,8 @@ public class KernelBranch implements Bra
 
         KernelContentTree destParent = getTransientState(getParentPath(destPath));
         String destName = getName(destPath);
-        if (destParent == null || destParent.hasChild(destName)) {
-            return false;
-        }
+        return destParent != null && sourceNode.copy(destParent, destName);
 
-        sourceNode.copy(destParent, destName);
-        return true;
     }
 
     @Override

Modified: jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/kernel/KernelContentTree.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/kernel/KernelContentTree.java?rev=1329152&r1=1329151&r2=1329152&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/kernel/KernelContentTree.java (original)
+++ jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/kernel/KernelContentTree.java Mon Apr 23 09:59:20 2012
@@ -429,8 +429,14 @@ public class KernelContentTree implement
      *
      * @param destParent  new parent for this tree
      * @param destName  new name for this tree
+     * @return  {@code true} if successful, {@code false otherwise}. I.e.
+     * when {@code destName} already exists at {@code destParent}
      */
-    public void move(KernelContentTree destParent, String destName) {
+    public boolean move(KernelContentTree destParent, String destName) {
+        if (destParent.hasChild(destName)) {
+            return false;
+        }
+
         parent.markTreeRemoved(name);
 
         KernelContentTree oldParent = parent;
@@ -442,6 +448,8 @@ public class KernelContentTree implement
         if (listener != null) {
             listener.move(oldParent, oldName, this);
         }
+
+        return true;
     }
 
     /**
@@ -449,13 +457,20 @@ public class KernelContentTree implement
      *
      * @param destParent  parent for the copied tree
      * @param destName  name for the copied tree
+     * @return  {@code true} if successful, {@code false otherwise}. I.e.
+     * when {@code destName} already exists at {@code destParent}
      */
-    public void copy(KernelContentTree destParent, String destName) {
+    public boolean copy(KernelContentTree destParent, String destName) {
+        if (destParent.hasChild(destName)) {
+            return false;
+        }
+
         KernelContentTree copy = new KernelContentTree(this, destParent, destName);
         destParent.addedTrees.put(destName, copy);
         if (listener != null) {
             listener.copy(parent, name, copy);
         }
+        return true;
     }
 
     //------------------------------------------------------------< internal >---