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 al...@apache.org on 2013/09/25 11:47:29 UTC
svn commit: r1526146 - in
/jackrabbit/oak/trunk/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/delegate:
NodeDelegate.java PropertyDelegate.java SessionDelegate.java
Author: alexparvulescu
Date: Wed Sep 25 09:47:29 2013
New Revision: 1526146
URL: http://svn.apache.org/r1526146
Log:
OAK-1030 Simplify SessionDelegate#getItem
Modified:
jackrabbit/oak/trunk/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/delegate/NodeDelegate.java
jackrabbit/oak/trunk/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/delegate/PropertyDelegate.java
jackrabbit/oak/trunk/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/delegate/SessionDelegate.java
Modified: jackrabbit/oak/trunk/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/delegate/NodeDelegate.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/delegate/NodeDelegate.java?rev=1526146&r1=1526145&r2=1526146&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/delegate/NodeDelegate.java (original)
+++ jackrabbit/oak/trunk/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/delegate/NodeDelegate.java Wed Sep 25 09:47:29 2013
@@ -98,19 +98,6 @@ public class NodeDelegate extends ItemDe
/** The underlying {@link org.apache.jackrabbit.oak.api.Tree} of this node. */
private final Tree tree;
- /**
- * Create a new {@code NodeDelegate} instance for an existing {@code Tree}. That
- * is for one where {@code exists() == true}.
- *
- * @param sessionDelegate
- * @param tree
- * @return A new {@code NodeDelegate} instance or {@code null} if {@code tree}
- * doesn't exist.
- */
- static NodeDelegate create(SessionDelegate sessionDelegate, Tree tree) {
- return tree.exists() ? new NodeDelegate(sessionDelegate, tree) : null;
- }
-
protected NodeDelegate(SessionDelegate sessionDelegate, Tree tree) {
super(sessionDelegate);
this.tree = tree;
@@ -131,9 +118,9 @@ public class NodeDelegate extends ItemDe
@Override
@CheckForNull
public NodeDelegate getParent() {
- return tree.isRoot()
+ return tree.isRoot() || !tree.getParent().exists()
? null
- : create(sessionDelegate, tree.getParent());
+ : new NodeDelegate(sessionDelegate, tree.getParent());
}
@Override
@@ -264,9 +251,9 @@ public class NodeDelegate extends ItemDe
@CheckForNull
public PropertyDelegate getPropertyOrNull(String relPath) throws RepositoryException {
Tree parent = getTree(PathUtils.getParentPath(relPath));
- if (parent != null) {
- String name = PathUtils.getName(relPath);
- return PropertyDelegate.create(sessionDelegate, parent, name);
+ String name = PathUtils.getName(relPath);
+ if (parent != null && parent.hasProperty(name)) {
+ return new PropertyDelegate(sessionDelegate, parent, name);
} else {
return null;
}
@@ -336,7 +323,7 @@ public class NodeDelegate extends ItemDe
@CheckForNull
public NodeDelegate getChild(String relPath) throws RepositoryException {
Tree tree = getTree(relPath);
- return tree == null ? null : create(sessionDelegate, tree);
+ return tree == null || !tree.exists() ? null : new NodeDelegate(sessionDelegate, tree);
}
/**
Modified: jackrabbit/oak/trunk/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/delegate/PropertyDelegate.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/delegate/PropertyDelegate.java?rev=1526146&r1=1526145&r2=1526146&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/delegate/PropertyDelegate.java (original)
+++ jackrabbit/oak/trunk/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/delegate/PropertyDelegate.java Wed Sep 25 09:47:29 2013
@@ -42,21 +42,6 @@ public class PropertyDelegate extends It
private final String name;
- /**
- * Create a new property delegate for an existing parent.
- * @param sessionDelegate
- * @param parent parent tree
- * @param name property name
- * @return {@code PropertyDelegate} instance or {@code null} if either {@code parent}
- * does not exist or does not have a property {@code name}.
- */
- @CheckForNull
- static PropertyDelegate create(SessionDelegate sessionDelegate, Tree parent, String name) {
- return parent.hasProperty(name)
- ? new PropertyDelegate(sessionDelegate, parent, name)
- : null;
- }
-
PropertyDelegate(SessionDelegate sessionDelegate, Tree parent, String name) {
super(sessionDelegate);
this.parent = parent;
@@ -78,7 +63,7 @@ public class PropertyDelegate extends It
@Override
@CheckForNull
public NodeDelegate getParent() {
- return NodeDelegate.create(sessionDelegate, parent);
+ return parent.exists() ? new NodeDelegate(sessionDelegate, parent) : null;
}
@Override
Modified: jackrabbit/oak/trunk/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/delegate/SessionDelegate.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/delegate/SessionDelegate.java?rev=1526146&r1=1526145&r2=1526146&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/delegate/SessionDelegate.java (original)
+++ jackrabbit/oak/trunk/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/delegate/SessionDelegate.java Wed Sep 25 09:47:29 2013
@@ -239,7 +239,8 @@ public class SessionDelegate {
*/
@CheckForNull
public NodeDelegate getNode(String path) {
- return NodeDelegate.create(this, root.getTree(path));
+ Tree tree = root.getTree(path);
+ return tree.exists() ? new NodeDelegate(this, tree) : null;
}
/**
@@ -256,11 +257,11 @@ public class SessionDelegate {
} else {
Tree parent = root.getTree(PathUtils.getParentPath(path));
if (parent.hasProperty(name)) {
- return PropertyDelegate.create(this, parent, name);
+ return new PropertyDelegate(this, parent, name);
}
Tree child = parent.getChild(name);
if (child.exists()) {
- return NodeDelegate.create(this, child);
+ return new NodeDelegate(this, child);
} else {
return null;
}
@@ -283,7 +284,8 @@ public class SessionDelegate {
public PropertyDelegate getProperty(String path) {
Tree parent = root.getTree(PathUtils.getParentPath(path));
String name = PathUtils.getName(path);
- return PropertyDelegate.create(this, parent, name);
+ return parent.hasProperty(name) ? new PropertyDelegate(this, parent,
+ name) : null;
}
public boolean hasPendingChanges() {