Author: catholicon
Date: Wed Nov 30 17:51:45 2016
New Revision: 1772096

URL: http://svn.apache.org/viewvc?rev=1772096&view=rev
Log:
OAK-5196: IndexDefinitionBuilder should allow to disable indexing some property 
definitions

Added method disable() for this case.

Modified:
    
jackrabbit/oak/trunk/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/util/IndexDefinitionBuilder.java
    
jackrabbit/oak/trunk/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/util/IndexDefinitionBuilderTest.java

Modified: 
jackrabbit/oak/trunk/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/util/IndexDefinitionBuilder.java
URL: 
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/util/IndexDefinitionBuilder.java?rev=1772096&r1=1772095&r2=1772096&view=diff
==============================================================================
--- 
jackrabbit/oak/trunk/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/util/IndexDefinitionBuilder.java
 (original)
+++ 
jackrabbit/oak/trunk/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/util/IndexDefinitionBuilder.java
 Wed Nov 30 17:51:45 2016
@@ -222,6 +222,11 @@ public final class IndexDefinitionBuilde
             return this;
         }
 
+        public PropertyRule disable() {
+            propTree.setProperty(LuceneIndexConstants.PROP_INDEX, false);
+            return this;
+        }
+
         public PropertyRule propertyIndex(){
             propTree.setProperty(LuceneIndexConstants.PROP_PROPERTY_INDEX, 
true);
             return this;

Modified: 
jackrabbit/oak/trunk/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/util/IndexDefinitionBuilderTest.java
URL: 
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/util/IndexDefinitionBuilderTest.java?rev=1772096&r1=1772095&r2=1772096&view=diff
==============================================================================
--- 
jackrabbit/oak/trunk/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/util/IndexDefinitionBuilderTest.java
 (original)
+++ 
jackrabbit/oak/trunk/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/util/IndexDefinitionBuilderTest.java
 Wed Nov 30 17:51:45 2016
@@ -21,6 +21,7 @@ package org.apache.jackrabbit.oak.plugin
 
 import java.util.Iterator;
 
+import org.apache.jackrabbit.oak.api.PropertyState;
 import org.apache.jackrabbit.oak.api.Tree;
 import org.apache.jackrabbit.oak.api.Type;
 import org.apache.jackrabbit.oak.plugins.index.PathFilter;
@@ -72,6 +73,23 @@ public class IndexDefinitionBuilderTest
     }
 
     @Test
+    public void propertyDefIndexPropertySetIndexFalse() throws Exception {
+        builder.indexRule("nt:base")
+                .property("foo")
+                .disable();
+
+        PropertyState state = builder.build().
+                getChildNode("indexRules").
+                getChildNode("nt:base").
+                getChildNode("properties").
+                getChildNode("foo").
+                getProperty("index");
+
+        assertNotNull("index property must exist", state);
+        assertFalse("Incorrect default value of index property", 
state.getValue(Type.BOOLEAN));
+    }
+
+    @Test
     public void aggregates() throws Exception{
         builder.aggregateRule("cq:Page").include("jcr:content").relativeNode();
         builder.aggregateRule("dam:Asset", "*", "*/*");


Reply via email to