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 md...@apache.org on 2012/07/04 16:07:02 UTC
svn commit: r1357271 - in /jackrabbit/oak/trunk:
oak-core/src/main/java/org/apache/jackrabbit/oak/api/
oak-core/src/main/java/org/apache/jackrabbit/oak/core/
oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/
Author: mduerig
Date: Wed Jul 4 14:07:02 2012
New Revision: 1357271
URL: http://svn.apache.org/viewvc?rev=1357271&view=rev
Log:
OAK-166: Add Tree.isRoot() method instead of relying on Tree.getParent() == null
Modified:
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/api/Tree.java
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/core/ReadOnlyTree.java
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/core/TreeImpl.java
jackrabbit/oak/trunk/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/NodeDelegate.java
Modified: jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/api/Tree.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/api/Tree.java?rev=1357271&r1=1357270&r2=1357271&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/api/Tree.java (original)
+++ jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/api/Tree.java Wed Jul 4 14:07:02 2012
@@ -18,9 +18,10 @@
*/
package org.apache.jackrabbit.oak.api;
+import java.util.List;
+
import javax.annotation.CheckForNull;
import javax.annotation.Nonnull;
-import java.util.List;
/**
* A tree instance represents a snapshot of the {@code ContentRepository}
@@ -77,6 +78,11 @@ public interface Tree {
String getName();
/**
+ * @return {@code true} iff this is the root
+ */
+ boolean isRoot();
+
+ /**
* @return path of this {@code Tree} instance relative to its {@link Root}.
*/
@Nonnull
Modified: jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/core/ReadOnlyTree.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/core/ReadOnlyTree.java?rev=1357271&r1=1357270&r2=1357271&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/core/ReadOnlyTree.java (original)
+++ jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/core/ReadOnlyTree.java Wed Jul 4 14:07:02 2012
@@ -57,6 +57,11 @@ public class ReadOnlyTree implements Tre
}
@Override
+ public boolean isRoot() {
+ return parent == null;
+ }
+
+ @Override
public String getPath() {
if (parent == null) {
return "";
Modified: jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/core/TreeImpl.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/core/TreeImpl.java?rev=1357271&r1=1357270&r2=1357271&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/core/TreeImpl.java (original)
+++ jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/core/TreeImpl.java Wed Jul 4 14:07:02 2012
@@ -18,6 +18,16 @@
*/
package org.apache.jackrabbit.oak.core;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Map;
+import java.util.concurrent.locks.Lock;
+import java.util.concurrent.locks.ReadWriteLock;
+import java.util.concurrent.locks.ReentrantReadWriteLock;
+
+import javax.annotation.CheckForNull;
+import javax.annotation.Nonnull;
+
import org.apache.commons.collections.map.ReferenceMap;
import org.apache.jackrabbit.oak.api.CoreValue;
import org.apache.jackrabbit.oak.api.PropertyState;
@@ -30,15 +40,6 @@ import org.apache.jackrabbit.oak.spi.sta
import org.apache.jackrabbit.oak.util.Function1;
import org.apache.jackrabbit.oak.util.Iterators;
-import javax.annotation.CheckForNull;
-import javax.annotation.Nonnull;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-import java.util.concurrent.locks.Lock;
-import java.util.concurrent.locks.ReadWriteLock;
-import java.util.concurrent.locks.ReentrantReadWriteLock;
-
import static org.apache.jackrabbit.oak.plugins.memory.MemoryNodeState.EMPTY_NODE;
public class TreeImpl implements Tree, PurgeListener {
@@ -94,6 +95,11 @@ public class TreeImpl implements Tree, P
}
@Override
+ public boolean isRoot() {
+ return parent == null;
+ }
+
+ @Override
public String getPath() {
// Shortcut for root
if (parent == null) {
@@ -287,7 +293,7 @@ public class TreeImpl implements Tree, P
children.remove(name);
updateParentState(builder.getNodeState());
return true;
- }
+ }
else {
return false;
}
Modified: jackrabbit/oak/trunk/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/NodeDelegate.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/NodeDelegate.java?rev=1357271&r1=1357270&r2=1357271&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/NodeDelegate.java (original)
+++ jackrabbit/oak/trunk/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/NodeDelegate.java Wed Jul 4 14:07:02 2012
@@ -110,7 +110,7 @@ public class NodeDelegate extends ItemDe
* @return {@code true} iff this is the root node
*/
public boolean isRoot() throws InvalidItemStateException {
- return getParentTree() == null;
+ return getTree().isRoot();
}
/**