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 an...@apache.org on 2013/10/01 12:19:47 UTC
svn commit: r1528033 - in
/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/core:
ImmutableTree.java TreeTypeProvider.java
Author: angela
Date: Tue Oct 1 10:19:47 2013
New Revision: 1528033
URL: http://svn.apache.org/r1528033
Log:
OAK-1058 : Review TreeTypeProvider
- avoid recalculating the tree type
Modified:
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/core/ImmutableTree.java
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/core/TreeTypeProvider.java
Modified: jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/core/ImmutableTree.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/core/ImmutableTree.java?rev=1528033&r1=1528032&r2=1528033&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/core/ImmutableTree.java (original)
+++ jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/core/ImmutableTree.java Tue Oct 1 10:19:47 2013
@@ -98,6 +98,7 @@ public final class ImmutableTree extends
private final TreeTypeProvider typeProvider;
private String path;
+ private int type = TreeTypeProvider.TYPE_NONE;
public ImmutableTree(@Nonnull NodeState rootState) {
this(ParentProvider.ROOT_PROVIDER, "", rootState, TreeTypeProvider.EMPTY);
@@ -249,7 +250,10 @@ public final class ImmutableTree extends
//------------------------------------------------------------< internal >---
int getType() {
- return typeProvider.getType(this);
+ if (type == TreeTypeProvider.TYPE_NONE) {
+ type = typeProvider.getType(this);
+ }
+ return type;
}
// TODO
Modified: jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/core/TreeTypeProvider.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/core/TreeTypeProvider.java?rev=1528033&r1=1528032&r2=1528033&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/core/TreeTypeProvider.java (original)
+++ jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/core/TreeTypeProvider.java Tue Oct 1 10:19:47 2013
@@ -23,6 +23,8 @@ import javax.annotation.Nullable;
*/
public interface TreeTypeProvider {
+ int TYPE_NONE = 0;
+
// regular trees
int TYPE_DEFAULT = 1;
// version store(s) content