You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jackrabbit.apache.org by th...@apache.org on 2011/07/13 16:46:34 UTC
svn commit: r1146066 - in
/jackrabbit/sandbox/microkernel/src/main/java/org/apache/jackrabbit/mk/mem:
MemoryKernelImpl.java NodeImpl.java
Author: thomasm
Date: Wed Jul 13 14:46:34 2011
New Revision: 1146066
URL: http://svn.apache.org/viewvc?rev=1146066&view=rev
Log:
Use PathUtils
Modified:
jackrabbit/sandbox/microkernel/src/main/java/org/apache/jackrabbit/mk/mem/MemoryKernelImpl.java
jackrabbit/sandbox/microkernel/src/main/java/org/apache/jackrabbit/mk/mem/NodeImpl.java
Modified: jackrabbit/sandbox/microkernel/src/main/java/org/apache/jackrabbit/mk/mem/MemoryKernelImpl.java
URL: http://svn.apache.org/viewvc/jackrabbit/sandbox/microkernel/src/main/java/org/apache/jackrabbit/mk/mem/MemoryKernelImpl.java?rev=1146066&r1=1146065&r2=1146066&view=diff
==============================================================================
--- jackrabbit/sandbox/microkernel/src/main/java/org/apache/jackrabbit/mk/mem/MemoryKernelImpl.java (original)
+++ jackrabbit/sandbox/microkernel/src/main/java/org/apache/jackrabbit/mk/mem/MemoryKernelImpl.java Wed Jul 13 14:46:34 2011
@@ -95,10 +95,7 @@ public class MemoryKernelImpl implements
private String apply(String rootPath, String jsonDiff) {
JsopBuilder w = new JsopBuilder();
JsopTokenizer t = new JsopTokenizer(jsonDiff);
- if (!PathUtils.denotesRoot(rootPath)) {
- rootPath += "/";
- }
- String fromRoot = rootPath.substring(1);
+ String fromRoot = PathUtils.relativize("/", rootPath);
while (true) {
int r = t.read();
if (r == JsopTokenizer.END) {
@@ -108,17 +105,17 @@ public class MemoryKernelImpl implements
switch (r) {
case '+':
path = t.readString();
- w.append("+ ").key(rootPath + path);
+ w.append("+ ").key(PathUtils.concat(rootPath, path));
t.read(':');
t.read('{');
NodeImpl n = NodeImpl.parse(t, headRevId);
- headRoot = headRoot.cloneAndAddChildNode(fromRoot + path, n, headRevId);
+ headRoot = headRoot.cloneAndAddChildNode(PathUtils.concat(fromRoot, path), n, headRevId);
w.append(n.toString()).append("\n");
break;
case '-':
path = t.readString();
- w.append("- ").key(rootPath + path);
- headRoot = headRoot.cloneAndRemoveChildNode(fromRoot + path, headRevId);
+ w.append("- ").key(PathUtils.concat(rootPath, path));
+ headRoot = headRoot.cloneAndRemoveChildNode(PathUtils.concat(fromRoot, path), headRevId);
break;
case '^':
path = t.readString();
@@ -126,20 +123,20 @@ public class MemoryKernelImpl implements
String value;
if (t.matches(JsopTokenizer.NULL)) {
value = null;
- w.append("^ ").key(rootPath + path);
+ w.append("^ ").key(PathUtils.concat(rootPath, path));
w.value(null);
} else {
value = t.readRawValue().trim();
- String nodeName = fromRoot + PathUtils.getParentPath(path);
+ String nodeName = PathUtils.concat(fromRoot, PathUtils.getParentPath(path));
String propertyName = PathUtils.getName(path);
if (headRoot.getNode(nodeName).hasProperty(propertyName)) {
- w.append("^ ").key(rootPath + path);
+ w.append("^ ").key(PathUtils.concat(rootPath, path));
} else {
- w.append("+ ").key(rootPath + path);
+ w.append("+ ").key(PathUtils.concat(rootPath, path));
}
w.append(value);
}
- headRoot = headRoot.cloneAndSetProperty(fromRoot + path, value, headRevId);
+ headRoot = headRoot.cloneAndSetProperty(PathUtils.concat(fromRoot, path), value, headRevId);
w.append("\n");
break;
default:
Modified: jackrabbit/sandbox/microkernel/src/main/java/org/apache/jackrabbit/mk/mem/NodeImpl.java
URL: http://svn.apache.org/viewvc/jackrabbit/sandbox/microkernel/src/main/java/org/apache/jackrabbit/mk/mem/NodeImpl.java?rev=1146066&r1=1146065&r2=1146066&view=diff
==============================================================================
--- jackrabbit/sandbox/microkernel/src/main/java/org/apache/jackrabbit/mk/mem/NodeImpl.java (original)
+++ jackrabbit/sandbox/microkernel/src/main/java/org/apache/jackrabbit/mk/mem/NodeImpl.java Wed Jul 13 14:46:34 2011
@@ -29,7 +29,7 @@ public class NodeImpl {
private HashMap<String, String> properties;
private LinkedHashMap<String, NodeImpl> childNodes;
- NodeImpl(long revId) {
+ public NodeImpl(long revId) {
this.revId = revId;
}
@@ -144,6 +144,10 @@ public class NodeImpl {
return properties != null && properties.containsKey(propertyName);
}
+ public String getProperty(String propertyName) {
+ return properties == null ? null : properties.get(propertyName);
+ }
+
public String toString() {
JsopBuilder json = new JsopBuilder();
append(json, 0, 0, -1);
@@ -227,7 +231,7 @@ public class NodeImpl {
}
}
- static NodeImpl parse(JsopTokenizer t, long revId) {
+ public static NodeImpl parse(JsopTokenizer t, long revId) {
NodeImpl node = new NodeImpl(revId);
if (!t.matches('}')) {
do {