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/04/14 00:39:19 UTC
svn commit: r1325998 - in
/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/mk:
simple/SimpleKernelImpl.java wrapper/MicroKernelWrapperBase.java
wrapper/SecurityWrapper.java
Author: jukka
Date: Fri Apr 13 22:39:19 2012
New Revision: 1325998
URL: http://svn.apache.org/viewvc?rev=1325998&view=rev
Log:
OAK-48: MicroKernel.getNodes() should return null for not existing nodes instead of throwing an exception
Adjust the MK wrapper layer. This fixes the failing integration test.
Modified:
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/mk/simple/SimpleKernelImpl.java
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/mk/wrapper/MicroKernelWrapperBase.java
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/mk/wrapper/SecurityWrapper.java
Modified: jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/mk/simple/SimpleKernelImpl.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/mk/simple/SimpleKernelImpl.java?rev=1325998&r1=1325997&r2=1325998&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/mk/simple/SimpleKernelImpl.java (original)
+++ jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/mk/simple/SimpleKernelImpl.java Fri Apr 13 22:39:19 2012
@@ -482,7 +482,7 @@ public class SimpleKernelImpl extends Mi
n = getRevisionDataRoot(revisionId).getNode(path.substring(1));
}
if (n == null) {
- throw ExceptionFactory.get("Path not found: " + path);
+ return null;
}
JsopStream json = new JsopStream();
n.append(json, depth, offset, count, true);
@@ -509,7 +509,12 @@ public class SimpleKernelImpl extends Mi
return head;
} else {
long rev = Revision.parseId(revisionId);
- return getRevisionNode(node, rev, rev).getNode("head");
+ NodeImpl rnode = getRevisionNode(node, rev, rev);
+ if (rnode != null) {
+ return rnode.getNode("head");
+ } else {
+ return null;
+ }
}
}
Modified: jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/mk/wrapper/MicroKernelWrapperBase.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/mk/wrapper/MicroKernelWrapperBase.java?rev=1325998&r1=1325997&r2=1325998&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/mk/wrapper/MicroKernelWrapperBase.java (original)
+++ jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/mk/wrapper/MicroKernelWrapperBase.java Fri Apr 13 22:39:19 2012
@@ -37,11 +37,22 @@ public abstract class MicroKernelWrapper
}
public final String getNodes(String path, String revisionId) {
- return getNodesStream(path, revisionId).toString();
+ JsopReader reader = getNodesStream(path, revisionId);
+ if (reader != null) {
+ return reader.toString();
+ } else {
+ return null;
+ }
}
public final String getNodes(String path, String revisionId, int depth, long offset, int count, String filter) {
- return getNodesStream(path, revisionId, depth, offset, count, filter).toString();
+ JsopReader reader =
+ getNodesStream(path, revisionId, depth, offset, count, filter);
+ if (reader != null) {
+ return reader.toString();
+ } else {
+ return null;
+ }
}
public final String diff(String fromRevisionId, String toRevisionId, String filter) {
@@ -76,11 +87,22 @@ public abstract class MicroKernelWrapper
}
public JsopReader getNodesStream(String path, String revisionId) {
- return new JsopTokenizer(wrapped.getNodes(path, revisionId));
+ String json = wrapped.getNodes(path, revisionId);
+ if (json != null) {
+ return new JsopTokenizer(json);
+ } else {
+ return null;
+ }
}
public JsopReader getNodesStream(String path, String revisionId, int depth, long offset, int count, String filter) {
- return new JsopTokenizer(wrapped.getNodes(path, revisionId, depth, offset, count, filter));
+ String json = wrapped.getNodes(
+ path, revisionId, depth, offset, count, filter);
+ if (json != null) {
+ return new JsopTokenizer(json);
+ } else {
+ return null;
+ }
}
public JsopReader getRevisionsStream(long since, int maxEntries) {
Modified: jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/mk/wrapper/SecurityWrapper.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/mk/wrapper/SecurityWrapper.java?rev=1325998&r1=1325997&r2=1325998&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/mk/wrapper/SecurityWrapper.java (original)
+++ jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/mk/wrapper/SecurityWrapper.java Fri Apr 13 22:39:19 2012
@@ -283,7 +283,7 @@ public class SecurityWrapper extends Mic
throw ExceptionFactory.get("Node not found: " + path);
}
JsopReader t = mk.getNodesStream(path, revisionId, depth, offset, count, filter);
- if (admin) {
+ if (admin || t == null) {
return t;
}
t.read('{');