Author: catholicon
Date: Sun Aug 4 04:49:41 2019
New Revision: 1864353
URL: http://svn.apache.org/viewvc?rev=1864353&view=rev
Log:
OAK-8526: IndexDefinitionBuilder should support setting up index tags
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=1864353&r1=1864352&r2=1864353&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
Sun Aug 4 04:49:41 2019
@@ -19,6 +19,7 @@
package org.apache.jackrabbit.oak.plugins.index.lucene.util;
+import java.util.Collections;
import java.util.List;
import java.util.Map;
import java.util.Set;
@@ -149,7 +150,10 @@ public final class IndexDefinitionBuilde
}
public IndexDefinitionBuilder addTags(String ... additionalTagVals) {
- Set<String> currTags =
Sets.newHashSet(tree.getProperty(INDEX_TAGS).getValue(STRINGS));
+ Set<String> currTags = Collections.emptySet();
+ if (tree.hasProperty(INDEX_TAGS)) {
+ currTags =
Sets.newHashSet(tree.getProperty(INDEX_TAGS).getValue(STRINGS));
+ }
Set<String> tagVals = Sets.newHashSet(Iterables.concat(currTags,
asList(additionalTagVals)));
boolean noAdditionalTags = currTags.containsAll(tagVals);
if (!noAdditionalTags) {
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=1864353&r1=1864352&r2=1864353&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
Sun Aug 4 04:49:41 2019
@@ -964,5 +964,13 @@ public class IndexDefinitionBuilderTest
assertEquals("Unexpected number of tags", 1, Iterables.size(tags));
assertThat(state.getProperty(INDEX_TAGS).getValue(Type.STRINGS),
Matchers.containsInAnyOrder("foo4"));
+
+ builder = new IndexDefinitionBuilder(EMPTY_NODE.builder());
+ builder.addTags("foo5");
+ state = builder.build();
+ tags = state.getProperty(INDEX_TAGS).getValue(Type.STRINGS);
+ assertEquals("Unexpected number of tags", 1, Iterables.size(tags));
+ assertThat(state.getProperty(INDEX_TAGS).getValue(Type.STRINGS),
+ Matchers.containsInAnyOrder("foo5"));
}
}
\ No newline at end of file