You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jackrabbit.apache.org by st...@apache.org on 2011/12/14 15:52:29 UTC
svn commit: r1214273 - in
/jackrabbit/sandbox/microkernel/src/main/java/org/apache/jackrabbit/mk:
MicroKernelImpl.java json/JsopTokenizer.java
Author: stefan
Date: Wed Dec 14 14:52:29 2011
New Revision: 1214273
URL: http://svn.apache.org/viewvc?rev=1214273&view=rev
Log:
support copy (MicroKernel.commit)
Modified:
jackrabbit/sandbox/microkernel/src/main/java/org/apache/jackrabbit/mk/MicroKernelImpl.java
jackrabbit/sandbox/microkernel/src/main/java/org/apache/jackrabbit/mk/json/JsopTokenizer.java
Modified: jackrabbit/sandbox/microkernel/src/main/java/org/apache/jackrabbit/mk/MicroKernelImpl.java
URL: http://svn.apache.org/viewvc/jackrabbit/sandbox/microkernel/src/main/java/org/apache/jackrabbit/mk/MicroKernelImpl.java?rev=1214273&r1=1214272&r2=1214273&view=diff
==============================================================================
--- jackrabbit/sandbox/microkernel/src/main/java/org/apache/jackrabbit/mk/MicroKernelImpl.java (original)
+++ jackrabbit/sandbox/microkernel/src/main/java/org/apache/jackrabbit/mk/MicroKernelImpl.java Wed Dec 14 14:52:29 2011
@@ -443,7 +443,7 @@ public class MicroKernelImpl implements
break;
}
case '>': {
- // TODO: support reorder syntax
+ // TODO: support target position notation
pos = t.getLastPos();
String subPath = t.readString();
String srcPath = PathUtils.concat(path, subPath);
@@ -462,6 +462,26 @@ public class MicroKernelImpl implements
cb.moveNode(srcPath, targetPath);
break;
}
+ case '*': {
+ // TODO: support target position notation
+ pos = t.getLastPos();
+ String subPath = t.readString();
+ String srcPath = PathUtils.concat(path, subPath);
+ if (!PathUtils.isAbsolute(srcPath)) {
+ throw new Exception("absolute path expected: " + srcPath + ", pos: " + pos);
+ }
+ t.read(':');
+ pos = t.getLastPos();
+ String targetPath = t.readString();
+ if (!PathUtils.isAbsolute(targetPath)) {
+ targetPath = PathUtils.concat(path, targetPath);
+ if (!PathUtils.isAbsolute(targetPath)) {
+ throw new Exception("absolute path expected: " + targetPath + ", pos: " + pos);
+ }
+ }
+ cb.copyNode(srcPath, targetPath);
+ break;
+ }
default:
throw new AssertionError("token type: " + t.getTokenType());
}
Modified: jackrabbit/sandbox/microkernel/src/main/java/org/apache/jackrabbit/mk/json/JsopTokenizer.java
URL: http://svn.apache.org/viewvc/jackrabbit/sandbox/microkernel/src/main/java/org/apache/jackrabbit/mk/json/JsopTokenizer.java?rev=1214273&r1=1214272&r2=1214273&view=diff
==============================================================================
--- jackrabbit/sandbox/microkernel/src/main/java/org/apache/jackrabbit/mk/json/JsopTokenizer.java (original)
+++ jackrabbit/sandbox/microkernel/src/main/java/org/apache/jackrabbit/mk/json/JsopTokenizer.java Wed Dec 14 14:52:29 2011
@@ -186,6 +186,7 @@ public class JsopTokenizer implements Js
case ',':
case '>':
case '^':
+ case '*':
case '=':
case ';':
return ch;