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 ju...@apache.org on 2012/07/09 17:25:51 UTC
svn commit: r1359217 - in /jackrabbit/oak/trunk:
oak-core/src/main/java/org/apache/jackrabbit/oak/kernel/
oak-it/mk/src/main/java/org/apache/jackrabbit/mk/test/
oak-mk-api/src/main/java/org/apache/jackrabbit/mk/api/
oak-mk/src/main/java/org/apache/jack...
Author: jukka
Date: Mon Jul 9 15:25:50 2012
New Revision: 1359217
URL: http://svn.apache.org/viewvc?rev=1359217&view=rev
Log:
OAK-173: MicroKernel filter syntax is not proper JSON
Modified:
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/kernel/KernelNodeState.java
jackrabbit/oak/trunk/oak-it/mk/src/main/java/org/apache/jackrabbit/mk/test/MicroKernelIT.java
jackrabbit/oak/trunk/oak-mk-api/src/main/java/org/apache/jackrabbit/mk/api/MicroKernel.java
jackrabbit/oak/trunk/oak-mk/src/main/java/org/apache/jackrabbit/mk/core/MicroKernelImpl.java
Modified: jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/kernel/KernelNodeState.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/kernel/KernelNodeState.java?rev=1359217&r1=1359216&r2=1359217&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/kernel/KernelNodeState.java (original)
+++ jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/kernel/KernelNodeState.java Mon Jul 9 15:25:50 2012
@@ -92,7 +92,7 @@ final class KernelNodeState extends Abst
if (properties == null) {
String json = kernel.getNodes(
path, revision, 0, 0, MAX_CHILD_NODE_NAMES,
- "{properties:[\"*\",\":hash\"]}");
+ "{\"properties\":[\"*\",\":hash\"]}");
JsopReader reader = new JsopTokenizer(json);
reader.read('{');
Modified: jackrabbit/oak/trunk/oak-it/mk/src/main/java/org/apache/jackrabbit/mk/test/MicroKernelIT.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-it/mk/src/main/java/org/apache/jackrabbit/mk/test/MicroKernelIT.java?rev=1359217&r1=1359216&r2=1359217&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-it/mk/src/main/java/org/apache/jackrabbit/mk/test/MicroKernelIT.java (original)
+++ jackrabbit/oak/trunk/oak-it/mk/src/main/java/org/apache/jackrabbit/mk/test/MicroKernelIT.java Mon Jul 9 15:25:50 2012
@@ -413,11 +413,11 @@ public class MicroKernelIT extends Abstr
// :hash must be explicitly specified in the filter
JSONObject obj = parseJSONObject(mk.getNodes("/", null, 1, 0, -1, null));
assertPropertyNotExists(obj, ":hash");
- obj = parseJSONObject(mk.getNodes("/", null, 1, 0, -1, "{properties:[\"*\"]}"));
+ obj = parseJSONObject(mk.getNodes("/", null, 1, 0, -1, "{\"properties\":[\"*\"]}"));
assertPropertyNotExists(obj, ":hash");
// verify initial content with :hash property
- obj = parseJSONObject(mk.getNodes("/", null, 1, 0, -1, "{properties:[\"*\",\":hash\"]}"));
+ obj = parseJSONObject(mk.getNodes("/", null, 1, 0, -1, "{\"properties\":[\"*\",\":hash\"]}"));
assertPropertyValue(obj, "test/booleanProp", true);
if (obj.get(":hash") == null) {
@@ -430,7 +430,7 @@ public class MicroKernelIT extends Abstr
// modify a property and verify that the hash of the root node changed
mk.commit("/test", "^\"booleanProp\":false", null, null);
- obj = parseJSONObject(mk.getNodes("/", null, 1, 0, -1, "{properties:[\"*\",\":hash\"]}"));
+ obj = parseJSONObject(mk.getNodes("/", null, 1, 0, -1, "{\"properties\":[\"*\",\":hash\"]}"));
assertPropertyValue(obj, "test/booleanProp", false);
assertPropertyExists(obj, ":hash", String.class);
@@ -441,7 +441,7 @@ public class MicroKernelIT extends Abstr
// undo property modification and verify that the hash
// of the root node is now the same as before the modification
mk.commit("/test", "^\"booleanProp\":true", null, null);
- obj = parseJSONObject(mk.getNodes("/", null, 1, 0, -1, "{properties:[\"*\",\":hash\"]}"));
+ obj = parseJSONObject(mk.getNodes("/", null, 1, 0, -1, "{\"properties\":[\"*\",\":hash\"]}"));
assertPropertyValue(obj, "test/booleanProp", true);
assertPropertyExists(obj, ":hash", String.class);
@@ -460,14 +460,14 @@ public class MicroKernelIT extends Abstr
long count = (Long) resolveValue(obj, ":childNodeCount") ;
assertEquals(count, mk.getChildNodeCount("/", null));
- obj = parseJSONObject(mk.getNodes("/", null, 1, 0, -1, "{properties:[\"*\"]}"));
+ obj = parseJSONObject(mk.getNodes("/", null, 1, 0, -1, "{\"properties\":[\"*\"]}"));
assertPropertyExists(obj, ":childNodeCount", Long.class);
assertPropertyExists(obj, "test/:childNodeCount", Long.class);
count = (Long) resolveValue(obj, ":childNodeCount") ;
assertEquals(count, mk.getChildNodeCount("/", null));
// explicitly exclude :childNodeCount
- obj = parseJSONObject(mk.getNodes("/", null, 1, 0, -1, "{properties:[\"*\",\"-:childNodeCount\"]}"));
+ obj = parseJSONObject(mk.getNodes("/", null, 1, 0, -1, "{\"properties\":[\"*\",\"-:childNodeCount\"]}"));
assertPropertyNotExists(obj, ":childNodeCount");
assertPropertyNotExists(obj, "test/:childNodeCount");
}
@@ -477,7 +477,7 @@ public class MicroKernelIT extends Abstr
String head = mk.getHeadRevision();
// verify initial content using filter
- String filter = "{ properties : [ \"*ntProp\", \"-mult*\" ] } ";
+ String filter = "{ \"properties\" : [ \"*ntProp\", \"-mult*\" ] } ";
JSONObject obj = parseJSONObject(mk.getNodes("/", head, 1, 0, -1, filter));
assertPropertyExists(obj, "test/intProp");
assertPropertyNotExists(obj, "test/multiIntProp");
@@ -637,7 +637,7 @@ public class MicroKernelIT extends Abstr
// test offset with filter
try {
- parseJSONObject(mk.getNodes("/testRoot", head, 0, 10, NUM_SIBLINGS / 10, "{nodes:[\"n0*\"]}"));
+ parseJSONObject(mk.getNodes("/testRoot", head, 0, 10, NUM_SIBLINGS / 10, "{\"nodes\":[\"n0*\"]}"));
fail();
} catch (Throwable e) {
// expected
@@ -699,7 +699,7 @@ public class MicroKernelIT extends Abstr
// get max 5 siblings using filter
maxSiblings = 5;
- obj = parseJSONObject(mk.getNodes("/testRoot", head, 1, 0, maxSiblings, "{nodes:[\"n1*\"]}"));
+ obj = parseJSONObject(mk.getNodes("/testRoot", head, 1, 0, maxSiblings, "{\"nodes\":[\"n1*\"]}"));
assertPropertyValue(obj, ":childNodeCount", (long) NUM_SIBLINGS);
assertEquals((long) NUM_SIBLINGS, mk.getChildNodeCount("/testRoot", head));
names = getNodeNames(obj);
Modified: jackrabbit/oak/trunk/oak-mk-api/src/main/java/org/apache/jackrabbit/mk/api/MicroKernel.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-mk-api/src/main/java/org/apache/jackrabbit/mk/api/MicroKernel.java?rev=1359217&r1=1359216&r2=1359217&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-mk-api/src/main/java/org/apache/jackrabbit/mk/api/MicroKernel.java (original)
+++ jackrabbit/oak/trunk/oak-mk-api/src/main/java/org/apache/jackrabbit/mk/api/MicroKernel.java Mon Jul 9 15:25:50 2012
@@ -292,8 +292,8 @@ public interface MicroKernel {
* Example:
* <pre>
* {
- * nodes: [ "foo*", "-foo1" ],
- * properties: [ "*", "-:childNodeCount" ]
+ * "nodes": [ "foo*", "-foo1" ],
+ * "properties": [ "*", "-:childNodeCount" ]
* }
* </pre>
* In the above example all child nodes with names starting with "foo" will
@@ -315,7 +315,7 @@ public interface MicroKernel {
* none of the exclusion patterns.</li>
* </ul>
* If no filter is specified the implicit default filter is assumed:
- * {@code {nodes:["*"],properties:["*"]}}
+ * {@code {"nodes":["*"],"properties":["*"]}}
* <p/>
* System-provided metadata properties:
* <ul>
Modified: jackrabbit/oak/trunk/oak-mk/src/main/java/org/apache/jackrabbit/mk/core/MicroKernelImpl.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-mk/src/main/java/org/apache/jackrabbit/mk/core/MicroKernelImpl.java?rev=1359217&r1=1359216&r2=1359217&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-mk/src/main/java/org/apache/jackrabbit/mk/core/MicroKernelImpl.java (original)
+++ jackrabbit/oak/trunk/oak-mk/src/main/java/org/apache/jackrabbit/mk/core/MicroKernelImpl.java Mon Jul 9 15:25:50 2012
@@ -667,7 +667,7 @@ public class MicroKernelImpl implements
NameFilter nodeFilter = null, propFilter = null;
do {
- String type = t.readRawValue();
+ String type = t.readString();
t.read(':');
String[] globs = parseArray(t);
if (type.equals("nodes")) {