Author: jukka
Date: Tue Jul  2 18:43:39 2013
New Revision: 1499053

URL: http://svn.apache.org/r1499053
Log:
OAK-663: oak-jcr performance optimization

Tree.hasProperty(*) implies !parent.hasProperty(*), so there's no need to check 
for both.
Also, guard against the potential null Tree returned by NodeDelegate.getTree()

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

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=1499053&r1=1499052&r2=1499053&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
 Tue Jul  2 18:43:39 2013
@@ -268,8 +268,12 @@ public class NodeDelegate extends ItemDe
     @CheckForNull
     public PropertyDelegate getPropertyOrNull(String relPath) throws 
RepositoryException {
         Tree parent = getTree(PathUtils.getParentPath(relPath));
-        String name = PathUtils.getName(relPath);
-        return PropertyDelegate.create(sessionDelegate, parent, name);
+        if (parent != null) {
+            String name = PathUtils.getName(relPath);
+            return PropertyDelegate.create(sessionDelegate, parent, name);
+        } else {
+            return null;
+        }
     }
 
     /**

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=1499053&r1=1499052&r2=1499053&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
 Tue Jul  2 18:43:39 2013
@@ -52,7 +52,7 @@ public class PropertyDelegate extends It
      */
     @CheckForNull
     static PropertyDelegate create(SessionDelegate sessionDelegate, Tree 
parent, String name) {
-        return parent.exists() && parent.hasProperty(name)
+        return parent.hasProperty(name)
             ? new PropertyDelegate(sessionDelegate, parent, name)
             : null;
     }


Reply via email to