Author: chetanm Date: Mon Oct 16 10:23:05 2017 New Revision: 1812275 URL: http://svn.apache.org/viewvc?rev=1812275&view=rev Log: OAK-6831 - Nodetype index support in Lucene Index
-- For 'nodeTypeIndex' case disable aggregates Modified: jackrabbit/oak/trunk/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/IndexDefinition.java jackrabbit/oak/trunk/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/IndexDefinitionTest.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=1812275&r1=1812274&r2=1812275&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 Oct 16 10:23:05 2017 @@ -346,7 +346,7 @@ public final class IndexDefinition imple this.blobSize = getOptionalValue(defn, BLOB_SIZE, DEFAULT_BLOB_SIZE); this.testMode = getOptionalValue(defn, LuceneIndexConstants.TEST_MODE, false); - this.aggregates = collectAggregates(defn); + this.aggregates = nodeTypeIndex ? Collections.emptyMap() : collectAggregates(defn); NodeState rulesState = defn.getChildNode(LuceneIndexConstants.INDEX_RULES); if (!rulesState.exists()){ 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=1812275&r1=1812274&r2=1812275&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 Oct 16 10:23:05 2017 @@ -1092,6 +1092,28 @@ public class IndexDefinitionTest { } @Test + public void nodeTypeIndexed_IgnoreAggregates() throws Exception{ + TestUtil.registerNodeType(builder, testNodeTypeDefn); + root = builder.getNodeState(); + + IndexDefinitionBuilder defnb = new IndexDefinitionBuilder(); + defnb.nodeTypeIndex(); + defnb.indexRule("oak:TestSuperType").sync(); + defnb.aggregateRule("oak:TestSuperType").include("*"); + + + IndexDefinition defn = IndexDefinition.newBuilder(root, defnb.build(), "/foo").build(); + + IndexingRule ruleSuper = getRule(defn, "oak:TestSuperType"); + assertNotNull(ruleSuper); + + assertNull(ruleSuper.getConfig("foo")); + assertTrue(ruleSuper.getAggregate().getIncludes().isEmpty()); + assertNotNull(ruleSuper.getConfig(JcrConstants.JCR_PRIMARYTYPE)); + assertNotNull(ruleSuper.getConfig(JcrConstants.JCR_MIXINTYPES)); + } + + @Test public void nodeTypeIndex_mixin() throws Exception{ TestUtil.registerNodeType(builder, testNodeTypeDefn); root = builder.getNodeState();