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/22 21:29:50 UTC

svn commit: r1328944 - in /jackrabbit/oak/trunk: oak-core/src/main/java/org/apache/jackrabbit/oak/api/ oak-core/src/main/java/org/apache/jackrabbit/oak/kernel/ oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/

Author: mduerig
Date: Sun Apr 22 19:29:50 2012
New Revision: 1328944

URL: http://svn.apache.org/viewvc?rev=1328944&view=rev
Log:
OAK-18: Define Oak API 
copy(), move() and removeNode() return boolean to indicate success or failure

Modified:
    jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/api/Branch.java
    jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/api/TransientNodeState.java
    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/TransientKernelNodeState.java
    jackrabbit/oak/trunk/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/SessionImpl.java

Modified: jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/api/Branch.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/api/Branch.java?rev=1328944&r1=1328943&r2=1328944&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/api/Branch.java (original)
+++ jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/api/Branch.java Sun Apr 22 19:29:50 2012
@@ -32,8 +32,9 @@ public interface Branch {
      *
      * @param sourcePath source path relative to this node state
      * @param destPath destination path relative to this node state
+     * @return  {@code true} on success, {@code false} otherwise.
      */
-    void move(String sourcePath, String destPath);
+    boolean move(String sourcePath, String destPath);
 
     /**
      * Copy the node state located at {@code sourcePath} to a node
@@ -44,8 +45,9 @@ public interface Branch {
      *
      * @param sourcePath source path relative to this node state
      * @param destPath destination path relative to this node state
+     * @return  {@code true} on success, {@code false} otherwise.
      */
-    void copy(String sourcePath, String destPath);
+    boolean copy(String sourcePath, String destPath);
 
     /**
      * Retrieve the child node state at the given {@code path}.

Modified: jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/api/TransientNodeState.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/api/TransientNodeState.java?rev=1328944&r1=1328943&r2=1328944&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/api/TransientNodeState.java (original)
+++ jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/api/TransientNodeState.java Sun Apr 22 19:29:50 2012
@@ -122,8 +122,9 @@ public interface TransientNodeState {
      * Remove the child node state with the given {@code name}. Does nothing
      * if no such child node exists.
      * @param name  name of the node state to remove
+     * @return  {@code false} iff no such child node exists.
      */
-    void removeNode(String name);
+    boolean removeNode(String name);
 
     /**
      * Set a single valued property state on this node state.

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=1328944&r1=1328943&r2=1328944&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 Sun Apr 22 19:29:50 2012
@@ -65,35 +65,37 @@ public class KernelBranch implements Bra
     }
 
     @Override
-    public void move(String sourcePath, String destPath) {
+    public boolean move(String sourcePath, String destPath) {
         TransientKernelNodeState sourceNode = getTransientState(sourcePath);
         if (sourceNode == null) {
-            return;
+            return false;
         }
 
         TransientKernelNodeState destParent = getTransientState(getParentPath(destPath));
         String destName = getName(destPath);
         if (destParent == null || destParent.hasNode(destName)) {
-            return;
+            return false;
         }
 
         sourceNode.move(destParent, destName);
+        return true;
     }
 
     @Override
-    public void copy(String sourcePath, String destPath) {
+    public boolean copy(String sourcePath, String destPath) {
         TransientKernelNodeState sourceNode = getTransientState(sourcePath);
         if (sourceNode == null) {
-            return;
+            return false;
         }
 
         TransientKernelNodeState destParent = getTransientState(getParentPath(destPath));
         String destName = getName(destPath);
         if (destParent == null || destParent.hasNode(destName)) {
-            return;
+            return false;
         }
 
         sourceNode.copy(destParent, destName);
+        return true;
     }
 
     @Override

Modified: jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/kernel/TransientKernelNodeState.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/kernel/TransientKernelNodeState.java?rev=1328944&r1=1328943&r2=1328944&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/kernel/TransientKernelNodeState.java (original)
+++ jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/kernel/TransientKernelNodeState.java Sun Apr 22 19:29:50 2012
@@ -381,12 +381,16 @@ public class TransientKernelNodeState im
     }
 
     @Override
-    public void removeNode(String name) {
+    public boolean removeNode(String name) {
         if (hasNode(name)) {
             markNodeRemoved(name);
             if (listener != null) {
                 listener.removeNode(this, name);
             }
+            return true;
+        }
+        else {
+            return false;
         }
     }
 

Modified: jackrabbit/oak/trunk/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/SessionImpl.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/SessionImpl.java?rev=1328944&r1=1328943&r2=1328944&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/SessionImpl.java (original)
+++ jackrabbit/oak/trunk/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/SessionImpl.java Sun Apr 22 19:29:50 2012
@@ -58,8 +58,8 @@ public class SessionImpl extends Abstrac
     private final ValueFactory valueFactory;
     private final Workspace workspace;
     private final SessionContext<SessionImpl> sessionContext = new Context();
-    private boolean isAlive = true;
 
+    private boolean isAlive = true;
     private Branch branch;
 
     SessionImpl(GlobalContext globalContext, ContentSession contentSession) {
@@ -67,7 +67,6 @@ public class SessionImpl extends Abstrac
         this.contentSession = contentSession;
         this.valueFactory = new ValueFactoryImpl();
         workspace = new WorkspaceImpl(sessionContext);
-
         this.branch = contentSession.branchRoot();
     }