Author: jukka
Date: Fri Oct 18 19:37:37 2013
New Revision: 1533606

URL: http://svn.apache.org/r1533606
Log:
OAK-987: Implement the MicroKernel API

Implement copy and move operations

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

Modified: 
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/kernel/NodeStoreKernel.java
URL: 
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/kernel/NodeStoreKernel.java?rev=1533606&r1=1533605&r2=1533606&view=diff
==============================================================================
--- 
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/kernel/NodeStoreKernel.java
 (original)
+++ 
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/kernel/NodeStoreKernel.java
 Fri Oct 18 19:37:37 2013
@@ -47,6 +47,9 @@ import org.apache.jackrabbit.oak.spi.sta
 
 import com.google.common.io.ByteStreams;
 
+/**
+ * This is a simple {@link NodeStore}-based {@link MicroKernel} implementation.
+ */
 public class NodeStoreKernel implements MicroKernel {
 
     private final NodeStore store;
@@ -153,9 +156,19 @@ public class NodeStoreKernel implements 
                 }
                 break;
             case '>':
-                throw new UnsupportedOperationException();
+                tokenizer.read(':');
+                String moveTarget = tokenizer.readString();
+                getNode(builder, path).moveTo(
+                        getNode(builder, getParentPath(moveTarget)),
+                        getName(moveTarget));
+                break;
             case '*':
-                throw new UnsupportedOperationException();
+                tokenizer.read(':');
+                String copyTarget = tokenizer.readString();
+                getNode(builder, path).copyTo(
+                        getNode(builder, getParentPath(copyTarget)),
+                        getName(copyTarget));
+                break;
             default:
                 throw new MicroKernelException(
                         "Unexpected token: " + tokenizer.getEscapedToken());


Reply via email to