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 ch...@apache.org on 2014/11/10 15:51:57 UTC

svn commit: r1637880 - in /jackrabbit/oak/trunk/oak-lucene/src: main/java/org/apache/jackrabbit/oak/plugins/index/lucene/ test/java/org/apache/jackrabbit/oak/plugins/index/lucene/

Author: chetanm
Date: Mon Nov 10 14:51:56 2014
New Revision: 1637880

URL: http://svn.apache.org/r1637880
Log:
OAK-2261 - Enable support for NodeType based indexing rules

Switch to using NodeState instead of NodeBuilder in IndexDefinition

Modified:
    jackrabbit/oak/trunk/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/IndexDefinition.java
    jackrabbit/oak/trunk/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/IndexNode.java
    jackrabbit/oak/trunk/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/LuceneIndexEditorContext.java
    jackrabbit/oak/trunk/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/PropertyDefinition.java
    jackrabbit/oak/trunk/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/RelativeProperty.java
    jackrabbit/oak/trunk/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/IndexCopierTest.java
    jackrabbit/oak/trunk/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/IndexDefinitionTest.java
    jackrabbit/oak/trunk/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/IndexPlannerTest.java
    jackrabbit/oak/trunk/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/OakDirectoryTest.java
    jackrabbit/oak/trunk/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/RelativePropertyTest.java

Modified: jackrabbit/oak/trunk/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/IndexDefinition.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/IndexDefinition.java?rev=1637880&r1=1637879&r2=1637880&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/IndexDefinition.java (original)
+++ jackrabbit/oak/trunk/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/IndexDefinition.java Mon Nov 10 14:51:56 2014
@@ -34,7 +34,7 @@ import com.google.common.primitives.Ints
 import org.apache.jackrabbit.oak.api.PropertyState;
 import org.apache.jackrabbit.oak.api.Type;
 import org.apache.jackrabbit.oak.plugins.index.lucene.util.LuceneIndexHelper;
-import org.apache.jackrabbit.oak.spi.state.NodeBuilder;
+import org.apache.jackrabbit.oak.spi.state.NodeState;
 import org.apache.lucene.codecs.Codec;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -80,7 +80,7 @@ class IndexDefinition {
 
     private final boolean storageEnabled;
 
-    private final NodeBuilder definition;
+    private final NodeState definition;
 
     private final Map<String, PropertyDefinition> propDefns;
 
@@ -102,7 +102,7 @@ class IndexDefinition {
      */
     private final long entryCount;
 
-    public IndexDefinition(NodeBuilder defn) {
+    public IndexDefinition(NodeState defn) {
         this.definition = defn;
         PropertyState pst = defn.getProperty(INCLUDE_PROPERTY_TYPES);
         if (pst != null) {
@@ -165,7 +165,7 @@ class IndexDefinition {
         return orderedProps.contains(name);
     }
 
-    public NodeBuilder getDefinition() {
+    public NodeState getDefinition() {
         return definition;
     }
 
@@ -282,12 +282,12 @@ class IndexDefinition {
         return ImmutableMap.copyOf(relProps);
     }
 
-    private Map<String, PropertyDefinition> collectPropertyDefns(NodeBuilder defn) {
+    private Map<String, PropertyDefinition> collectPropertyDefns(NodeState defn) {
         Map<String, PropertyDefinition> propDefns = newHashMap();
-        NodeBuilder propNode = defn.getChildNode(LuceneIndexConstants.PROP_NODE);
+        NodeState propNode = defn.getChildNode(LuceneIndexConstants.PROP_NODE);
         //Include all immediate child nodes to 'properties' node by default
         for (String propName : Iterables.concat(includes, orderedProps, propNode.getChildNodeNames())) {
-            NodeBuilder propDefnNode;
+            NodeState propDefnNode;
             if (relativeProps.containsKey(propName)) {
                 propDefnNode = relativeProps.get(propName).getPropDefnNode(propNode);
             } else {
@@ -332,22 +332,22 @@ class IndexDefinition {
         return codec;
     }
 
-    private static boolean getOptionalValue(NodeBuilder definition, String propName, boolean defaultVal){
+    private static boolean getOptionalValue(NodeState definition, String propName, boolean defaultVal){
         PropertyState ps = definition.getProperty(propName);
         return ps == null ? defaultVal : ps.getValue(Type.BOOLEAN);
     }
 
-    private static int getOptionalValue(NodeBuilder definition, String propName, int defaultVal){
+    private static int getOptionalValue(NodeState definition, String propName, int defaultVal){
         PropertyState ps = definition.getProperty(propName);
         return ps == null ? defaultVal : Ints.checkedCast(ps.getValue(Type.LONG));
     }
 
-    private static String getOptionalValue(NodeBuilder definition, String propName, String defaultVal){
+    private static String getOptionalValue(NodeState definition, String propName, String defaultVal){
         PropertyState ps = definition.getProperty(propName);
         return ps == null ? defaultVal : ps.getValue(Type.STRING);
     }
 
-    private static Set<String> getMultiProperty(NodeBuilder definition, String propName){
+    private static Set<String> getMultiProperty(NodeState definition, String propName){
         PropertyState pse = definition.getProperty(propName);
         return pse != null ? ImmutableSet.copyOf(pse.getValue(Type.STRINGS)) : Collections.<String>emptySet();
     }

Modified: jackrabbit/oak/trunk/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/IndexNode.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/IndexNode.java?rev=1637880&r1=1637879&r2=1637880&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/IndexNode.java (original)
+++ jackrabbit/oak/trunk/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/IndexNode.java Mon Nov 10 14:51:56 2014
@@ -43,7 +43,7 @@ class IndexNode {
     static IndexNode open(String indexPath, NodeState defnNodeState,@Nullable IndexCopier cloner)
             throws IOException {
         Directory directory = null;
-        IndexDefinition definition = new IndexDefinition(new ReadOnlyBuilder(defnNodeState));
+        IndexDefinition definition = new IndexDefinition(defnNodeState);
         NodeState data = defnNodeState.getChildNode(INDEX_DATA_CHILD_NAME);
         if (data.exists()) {
             directory = new OakDirectory(new ReadOnlyBuilder(data), definition);

Modified: jackrabbit/oak/trunk/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/LuceneIndexEditorContext.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/LuceneIndexEditorContext.java?rev=1637880&r1=1637879&r2=1637880&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/LuceneIndexEditorContext.java (original)
+++ jackrabbit/oak/trunk/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/LuceneIndexEditorContext.java Mon Nov 10 14:51:56 2014
@@ -67,7 +67,7 @@ public class LuceneIndexEditorContext {
             throws IOException {
         String path = definition.getString(PERSISTENCE_PATH);
         if (path == null) {
-            return new OakDirectory(definition.child(INDEX_DATA_CHILD_NAME), new IndexDefinition(definition));
+            return new OakDirectory(definition.child(INDEX_DATA_CHILD_NAME), new IndexDefinition(definition.getBaseState()));
         } else {
             // try {
             File file = new File(path);
@@ -105,7 +105,7 @@ public class LuceneIndexEditorContext {
 
     LuceneIndexEditorContext(NodeBuilder definition, Analyzer analyzer, IndexUpdateCallback updateCallback) {
         this.definitionBuilder = definition;
-        this.definition = new IndexDefinition(definitionBuilder);
+        this.definition = new IndexDefinition(definitionBuilder.getBaseState());
         this.config = getIndexWriterConfig(analyzer, this.definition);
         this.indexedNodes = 0;
         this.updateCallback = updateCallback;

Modified: jackrabbit/oak/trunk/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/PropertyDefinition.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/PropertyDefinition.java?rev=1637880&r1=1637879&r2=1637880&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/PropertyDefinition.java (original)
+++ jackrabbit/oak/trunk/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/PropertyDefinition.java Mon Nov 10 14:51:56 2014
@@ -22,20 +22,20 @@ package org.apache.jackrabbit.oak.plugin
 import javax.jcr.PropertyType;
 
 import org.apache.jackrabbit.oak.api.Type;
-import org.apache.jackrabbit.oak.spi.state.NodeBuilder;
+import org.apache.jackrabbit.oak.spi.state.NodeState;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 class PropertyDefinition {
     private static final Logger log = LoggerFactory.getLogger(PropertyDefinition.class);
     private final String name;
-    private final NodeBuilder definition;
+    private final NodeState definition;
 
     private final int propertyType;
     private double fieldBoost;
     private boolean hasFieldBoost;
 
-    public PropertyDefinition(IndexDefinition idxDefn, String name, NodeBuilder defn) {
+    public PropertyDefinition(IndexDefinition idxDefn, String name, NodeState defn) {
         this.name = name;
         this.definition = defn;
 

Modified: jackrabbit/oak/trunk/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/RelativeProperty.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/RelativeProperty.java?rev=1637880&r1=1637879&r2=1637880&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/RelativeProperty.java (original)
+++ jackrabbit/oak/trunk/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/RelativeProperty.java Mon Nov 10 14:51:56 2014
@@ -24,7 +24,6 @@ import javax.annotation.Nonnull;
 
 import org.apache.jackrabbit.oak.api.PropertyState;
 import org.apache.jackrabbit.oak.commons.PathUtils;
-import org.apache.jackrabbit.oak.spi.state.NodeBuilder;
 import org.apache.jackrabbit.oak.spi.state.NodeState;
 
 import static com.google.common.collect.ImmutableList.copyOf;
@@ -54,8 +53,8 @@ class RelativeProperty {
     }
 
     @Nonnull
-    public NodeBuilder getPropDefnNode(NodeBuilder propNode) {
-        NodeBuilder result = propNode;
+    public NodeState getPropDefnNode(NodeState propNode) {
+        NodeState result = propNode;
         for (String name : elements(propertyPath)){
             result = result.getChildNode(name);
         }

Modified: jackrabbit/oak/trunk/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/IndexCopierTest.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/IndexCopierTest.java?rev=1637880&r1=1637879&r2=1637880&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/IndexCopierTest.java (original)
+++ jackrabbit/oak/trunk/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/IndexCopierTest.java Mon Nov 10 14:51:56 2014
@@ -55,7 +55,7 @@ public class IndexCopierTest {
     @Test
     public void basicTest() throws Exception{
         Directory baseDir = new RAMDirectory();
-        IndexDefinition defn = new IndexDefinition(builder);
+        IndexDefinition defn = new IndexDefinition(builder.getNodeState());
         IndexCopier c1 = new RAMIndexCopier(baseDir, sameThreadExecutor(), getWorkDir());
 
         Directory remote = new RAMDirectory();
@@ -81,7 +81,7 @@ public class IndexCopierTest {
     @Test
     public void concurrentRead() throws Exception{
         Directory baseDir = new RAMDirectory();
-        IndexDefinition defn = new IndexDefinition(builder);
+        IndexDefinition defn = new IndexDefinition(builder.getNodeState());
         CollectingExecutor executor = new CollectingExecutor();
 
         IndexCopier c1 = new RAMIndexCopier(baseDir, executor, getWorkDir());
@@ -120,7 +120,7 @@ public class IndexCopierTest {
     @Test
     public void reuseLocalDir() throws Exception{
         Directory baseDir = new RAMDirectory();
-        IndexDefinition defn = new IndexDefinition(builder);
+        IndexDefinition defn = new IndexDefinition(builder.getNodeState());
         IndexCopier c1 = new RAMIndexCopier(baseDir, sameThreadExecutor(), getWorkDir());
 
         TestRAMDirectory remote = new TestRAMDirectory();
@@ -161,7 +161,7 @@ public class IndexCopierTest {
         Directory baseDir = new CloseSafeDir();
 
 
-        IndexDefinition defn = new IndexDefinition(builder);
+        IndexDefinition defn = new IndexDefinition(builder.getNodeState());
         IndexCopier c1 = new RAMIndexCopier(baseDir, sameThreadExecutor(), getWorkDir());
 
         Directory r1 = new RAMDirectory();

Modified: jackrabbit/oak/trunk/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/IndexDefinitionTest.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/IndexDefinitionTest.java?rev=1637880&r1=1637879&r2=1637880&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/IndexDefinitionTest.java (original)
+++ jackrabbit/oak/trunk/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/IndexDefinitionTest.java Mon Nov 10 14:51:56 2014
@@ -50,7 +50,7 @@ public class IndexDefinitionTest {
 
     @Test
     public void fullTextEnabled() throws Exception{
-        IndexDefinition defn = new IndexDefinition(builder);
+        IndexDefinition defn = new IndexDefinition(builder.getNodeState());
         assertTrue("By default fulltext is enabled", defn.isFullTextEnabled());
         assertTrue("By default everything is indexed", defn.includeProperty("foo"));
         assertFalse("Property types need to be defined", defn.includePropertyType(PropertyType.DATE));
@@ -65,7 +65,7 @@ public class IndexDefinitionTest {
         builder.setProperty(createProperty(INCLUDE_PROPERTY_TYPES, of(TYPENAME_LONG), STRINGS));
         builder.setProperty(createProperty(INCLUDE_PROPERTY_NAMES, of("foo" , "bar"), STRINGS));
         builder.setProperty(LuceneIndexConstants.FULL_TEXT_ENABLED, false);
-        IndexDefinition defn = new IndexDefinition(builder);
+        IndexDefinition defn = new IndexDefinition(builder.getNodeState());
 
         assertFalse(defn.isFullTextEnabled());
         assertFalse("If fulltext disabled then nothing stored",defn.isStored("foo"));
@@ -84,7 +84,7 @@ public class IndexDefinitionTest {
     public void propertyDefinition() throws Exception{
         builder.child(PROP_NODE).child("foo").setProperty(LuceneIndexConstants.PROP_TYPE, PropertyType.TYPENAME_DATE);
         builder.setProperty(createProperty(INCLUDE_PROPERTY_NAMES, of("foo" , "bar"), STRINGS));
-        IndexDefinition defn = new IndexDefinition(builder);
+        IndexDefinition defn = new IndexDefinition(builder.getNodeState());
 
         assertTrue(defn.hasPropertyDefinition("foo"));
         assertFalse(defn.hasPropertyDefinition("bar"));
@@ -95,7 +95,7 @@ public class IndexDefinitionTest {
     @Test
     public void propertyDefinitionWithExcludes() throws Exception{
         builder.child(PROP_NODE).child("foo").setProperty(LuceneIndexConstants.PROP_TYPE, PropertyType.TYPENAME_DATE);
-        IndexDefinition defn = new IndexDefinition(builder);
+        IndexDefinition defn = new IndexDefinition(builder.getNodeState());
 
         assertTrue(defn.hasPropertyDefinition("foo"));
         assertFalse(defn.hasPropertyDefinition("bar"));
@@ -105,17 +105,17 @@ public class IndexDefinitionTest {
 
     @Test
     public void codecConfig() throws Exception{
-        IndexDefinition defn = new IndexDefinition(builder);
+        IndexDefinition defn = new IndexDefinition(builder.getNodeState());
         assertNotNull(defn.getCodec());
         assertEquals(oakCodec.getName(), defn.getCodec().getName());
 
         builder.setProperty(LuceneIndexConstants.FULL_TEXT_ENABLED, false);
-        defn = new IndexDefinition(builder);
+        defn = new IndexDefinition(builder.getNodeState());
         assertNull(defn.getCodec());
 
         Codec simple = Codec.getDefault();
         builder.setProperty(LuceneIndexConstants.CODEC_NAME, simple.getName());
-        defn = new IndexDefinition(builder);
+        defn = new IndexDefinition(builder.getNodeState());
         assertNotNull(defn.getCodec());
         assertEquals(simple.getName(), defn.getCodec().getName());
     }
@@ -123,7 +123,7 @@ public class IndexDefinitionTest {
     @Test
     public void relativeProperty() throws Exception{
         builder.setProperty(createProperty(INCLUDE_PROPERTY_NAMES, of("foo" , "foo1/bar"), STRINGS));
-        IndexDefinition defn = new IndexDefinition(builder);
+        IndexDefinition defn = new IndexDefinition(builder.getNodeState());
 
         assertEquals(1, defn.getRelativeProps().size());
         assertEquals(new RelativeProperty("foo1/bar"), Iterables.getFirst(defn.getRelativeProps(), null));
@@ -136,7 +136,7 @@ public class IndexDefinitionTest {
         builder.child(PROP_NODE).child("foo1").child("bar").setProperty(LuceneIndexConstants.PROP_TYPE, PropertyType.TYPENAME_DATE);
         builder.child(PROP_NODE).child("foo2").child("bar2").child("baz").setProperty(LuceneIndexConstants.PROP_TYPE, PropertyType.TYPENAME_LONG);
         builder.setProperty(createProperty(INCLUDE_PROPERTY_NAMES, of("foo", "foo1/bar", "foo2/bar2/baz"), STRINGS));
-        IndexDefinition defn = new IndexDefinition(builder);
+        IndexDefinition defn = new IndexDefinition(builder.getNodeState());
 
         assertEquals(2, defn.getRelativeProps().size());
         assertNull(defn.getPropDefn("foo"));

Modified: jackrabbit/oak/trunk/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/IndexPlannerTest.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/IndexPlannerTest.java?rev=1637880&r1=1637879&r2=1637880&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/IndexPlannerTest.java (original)
+++ jackrabbit/oak/trunk/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/IndexPlannerTest.java Mon Nov 10 14:51:56 2014
@@ -54,7 +54,7 @@ public class IndexPlannerTest {
     @Test
     public void planForSortField() throws Exception{
         NodeBuilder defn = LuceneIndexHelper.newLucenePropertyIndexDefinition(builder, "test", ImmutableSet.of("foo"), "async");
-        IndexNode node = createIndexNode(new IndexDefinition(defn));
+        IndexNode node = createIndexNode(new IndexDefinition(defn.getNodeState()));
         IndexPlanner planner = new IndexPlanner(node, "/foo", createFilter("nt:base"),
                 ImmutableList.of(new OrderEntry("foo", Type.LONG, OrderEntry.Order.ASCENDING)));
         assertNotNull(planner.getPlan());

Modified: jackrabbit/oak/trunk/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/OakDirectoryTest.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/OakDirectoryTest.java?rev=1637880&r1=1637879&r2=1637880&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/OakDirectoryTest.java (original)
+++ jackrabbit/oak/trunk/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/OakDirectoryTest.java Mon Nov 10 14:51:56 2014
@@ -112,7 +112,7 @@ public class OakDirectoryTest {
     }
 
     private Directory createDir(NodeBuilder builder){
-        return new OakDirectory(builder.child(INDEX_DATA_CHILD_NAME), new IndexDefinition(builder));
+        return new OakDirectory(builder.child(INDEX_DATA_CHILD_NAME), new IndexDefinition(builder.getNodeState()));
     }
 
     byte[] randomBytes(int size) {

Modified: jackrabbit/oak/trunk/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/RelativePropertyTest.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/RelativePropertyTest.java?rev=1637880&r1=1637879&r2=1637880&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/RelativePropertyTest.java (original)
+++ jackrabbit/oak/trunk/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/RelativePropertyTest.java Mon Nov 10 14:51:56 2014
@@ -57,7 +57,7 @@ public class RelativePropertyTest {
     public void getPropDefnNode() throws Exception{
         RelativeProperty rp = new RelativeProperty("foo/bar/baz");
         builder.child("foo").child("bar").child("baz").setProperty("a", "b");
-        NodeBuilder propDefn = rp.getPropDefnNode(builder);
+        NodeState propDefn = rp.getPropDefnNode(builder.getNodeState());
         assertTrue(propDefn.exists());
         assertEquals("b", propDefn.getString("a"));
     }