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/27 12:39:34 UTC
svn commit: r1642115 [2/2] - in /jackrabbit/oak/branches/1.0: ./
oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/
oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/util/
oak-lucene/src/test/java/org/apache/...
Modified: jackrabbit/oak/branches/1.0/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/TestUtil.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/branches/1.0/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/TestUtil.java?rev=1642115&r1=1642114&r2=1642115&view=diff
==============================================================================
--- jackrabbit/oak/branches/1.0/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/TestUtil.java (original)
+++ jackrabbit/oak/branches/1.0/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/TestUtil.java Thu Nov 27 11:39:33 2014
@@ -19,7 +19,9 @@
package org.apache.jackrabbit.oak.plugins.index.lucene;
+import java.util.List;
import java.util.Set;
+import java.util.concurrent.atomic.AtomicInteger;
import javax.annotation.Nonnull;
import javax.annotation.Nullable;
@@ -29,6 +31,7 @@ import org.apache.jackrabbit.oak.plugins
import org.apache.jackrabbit.oak.spi.state.NodeBuilder;
public class TestUtil {
+ private static final AtomicInteger COUNTER = new AtomicInteger();
static void useV2(NodeBuilder idxNb) {
idxNb.setProperty(LuceneIndexConstants.COMPAT_MODE, IndexFormatVersion.V2.getVersion());
@@ -46,4 +49,62 @@ public class TestUtil {
return nb;
}
+ public static Tree enableForFullText(Tree props, String propName) {
+ return enableForFullText(props, propName, false);
+ }
+
+ public static Tree enableForFullText(Tree props, String propName, boolean regex) {
+ Tree prop = props.addChild(unique("prop"));
+ prop.setProperty(LuceneIndexConstants.PROP_NAME, propName);
+ prop.setProperty(LuceneIndexConstants.PROP_PROPERTY_INDEX, true);
+ prop.setProperty(LuceneIndexConstants.PROP_IS_REGEX, regex);
+ prop.setProperty(LuceneIndexConstants.PROP_NODE_SCOPE_INDEX, true);
+ prop.setProperty(LuceneIndexConstants.PROP_ANALYZED, true);
+ prop.setProperty(LuceneIndexConstants.PROP_USE_IN_EXCERPT, true);
+ return prop;
+ }
+
+ public static Tree enablePropertyIndex(Tree props, String propName, boolean regex) {
+ Tree prop = props.addChild(unique("prop"));
+ prop.setProperty(LuceneIndexConstants.PROP_NAME, propName);
+ prop.setProperty(LuceneIndexConstants.PROP_PROPERTY_INDEX, true);
+ prop.setProperty(LuceneIndexConstants.PROP_IS_REGEX, regex);
+ prop.setProperty(LuceneIndexConstants.PROP_NODE_SCOPE_INDEX, false);
+ prop.setProperty(LuceneIndexConstants.PROP_ANALYZED, false);
+ return prop;
+ }
+
+ public static AggregatorBuilder newNodeAggregator(Tree indexDefn){
+ return new AggregatorBuilder(indexDefn);
+ }
+
+ public static Tree newRulePropTree(Tree indexDefn, String typeName){
+ Tree rules = indexDefn.addChild(LuceneIndexConstants.INDEX_RULES);
+ rules.setOrderableChildren(true);
+ Tree rule = rules.addChild(typeName);
+ Tree props = rule.addChild(LuceneIndexConstants.PROP_NODE);
+ props.setOrderableChildren(true);
+ return props;
+ }
+
+ static class AggregatorBuilder {
+ private final Tree aggs;
+
+ private AggregatorBuilder(Tree indexDefn) {
+ this.aggs = indexDefn.addChild(LuceneIndexConstants.AGGREGATES);
+ }
+
+ AggregatorBuilder newRuleWithName(String primaryType,
+ List<String> includes){
+ Tree agg = aggs.addChild(primaryType);
+ for (String include : includes){
+ agg.addChild(unique("include")).setProperty(LuceneIndexConstants.AGG_PATH, include);
+ }
+ return this;
+ }
+ }
+
+ private static String unique(String name){
+ return name + COUNTER.getAndIncrement();
+ }
}