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 2016/12/13 11:50:32 UTC

svn commit: r1773967 - /jackrabbit/oak/trunk/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/util/IndexDefinitionBuilder.java

Author: chetanm
Date: Tue Dec 13 11:50:31 2016
New Revision: 1773967

URL: http://svn.apache.org/viewvc?rev=1773967&view=rev
Log:
OAK-5295 - Allow chaining of include in building aggregation rule via IndexDefinitionBuilder

Modified:
    jackrabbit/oak/trunk/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/util/IndexDefinitionBuilder.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=1773967&r1=1773966&r2=1773967&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 Tue Dec 13 11:50:31 2016
@@ -391,7 +391,7 @@ public final class IndexDefinitionBuilde
                 if (includeTree == null){
                     includeTree = getOrCreateChild(aggregate, "include" + includes.size());
                 }
-                include = new Include(includeTree);
+                include = new Include(this, includeTree);
                 includes.put(includePath, include);
             }
             include.path(includePath);
@@ -410,16 +410,18 @@ public final class IndexDefinitionBuilde
         private void loadExisting(Tree aggregate) {
             for (Tree tree : aggregate.getChildren()){
                 if (tree.hasProperty(LuceneIndexConstants.AGG_PATH)) {
-                    Include include = new Include(tree);
+                    Include include = new Include(this, tree);
                     includes.put(include.getPath(), include);
                 }
             }
         }
 
         public static class Include {
+            private final AggregateRule aggregateRule;
             private final Tree include;
 
-            private Include(Tree include) {
+            private Include(AggregateRule aggregateRule, Tree include) {
+                this.aggregateRule = aggregateRule;
                 this.include = include;
             }
 
@@ -433,6 +435,10 @@ public final class IndexDefinitionBuilde
                 return this;
             }
 
+            public Include include(String path){
+                return aggregateRule.include(path);
+            }
+
             public String getPath(){
                 return include.getProperty(LuceneIndexConstants.AGG_PATH).getValue(Type.STRING);
             }