Author: chetanm
Date: Mon Sep 5 14:56:59 2016
New Revision: 1759282
URL: http://svn.apache.org/viewvc?rev=1759282&view=rev
Log:
OAK-4753 - Add nrt as another index mode
Modified:
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/IndexConstants.java
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/IndexUpdate.java
jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/index/IndexUpdateTest.java
Modified:
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/IndexConstants.java
URL:
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/IndexConstants.java?rev=1759282&r1=1759281&r2=1759282&view=diff
==============================================================================
---
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/IndexConstants.java
(original)
+++
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/IndexConstants.java
Mon Sep 5 14:56:59 2016
@@ -35,6 +35,10 @@ public interface IndexConstants {
String REINDEX_ASYNC_PROPERTY_NAME = "reindex-async";
+ String INDEXING_MODE_SYNC = "sync";
+
+ String INDEXING_MODE_NRT = "nrt";
+
String ASYNC_PROPERTY_NAME = "async";
String ASYNC_REINDEX_VALUE = "async-reindex";
Modified:
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/IndexUpdate.java
URL:
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/IndexUpdate.java?rev=1759282&r1=1759281&r2=1759282&view=diff
==============================================================================
---
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/IndexUpdate.java
(original)
+++
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/IndexUpdate.java
Mon Sep 5 14:56:59 2016
@@ -24,6 +24,8 @@ import static org.apache.jackrabbit.oak.
import static org.apache.jackrabbit.oak.commons.PathUtils.concat;
import static
org.apache.jackrabbit.oak.plugins.index.IndexConstants.ASYNC_PROPERTY_NAME;
import static
org.apache.jackrabbit.oak.plugins.index.IndexConstants.ASYNC_REINDEX_VALUE;
+import static
org.apache.jackrabbit.oak.plugins.index.IndexConstants.INDEXING_MODE_NRT;
+import static
org.apache.jackrabbit.oak.plugins.index.IndexConstants.INDEXING_MODE_SYNC;
import static
org.apache.jackrabbit.oak.plugins.index.IndexConstants.INDEX_DEFINITIONS_NAME;
import static
org.apache.jackrabbit.oak.plugins.index.IndexConstants.INDEX_PATH;
import static
org.apache.jackrabbit.oak.plugins.index.IndexConstants.REINDEX_ASYNC_PROPERTY_NAME;
@@ -46,6 +48,7 @@ import javax.annotation.CheckForNull;
import javax.annotation.Nonnull;
import com.google.common.base.Stopwatch;
+import com.google.common.collect.Iterables;
import com.google.common.collect.Lists;
import com.google.common.collect.Maps;
import com.google.common.collect.Sets;
@@ -238,12 +241,12 @@ public class IndexUpdate implements Edit
static boolean isIncluded(String asyncRef, NodeBuilder definition) {
if (definition.hasProperty(ASYNC_PROPERTY_NAME)) {
PropertyState p = definition.getProperty(ASYNC_PROPERTY_NAME);
- List<String> opt = newArrayList(p.getValue(Type.STRINGS));
+ Iterable<String> opt = p.getValue(Type.STRINGS);
if (asyncRef == null) {
// sync index job, accept synonyms
- return opt.contains("") || opt.contains("sync");
+ return Iterables.contains(opt, INDEXING_MODE_NRT) ||
Iterables.contains(opt, INDEXING_MODE_SYNC);
} else {
- return opt.contains(asyncRef);
+ return Iterables.contains(opt, asyncRef);
}
} else {
return asyncRef == null;
Modified:
jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/index/IndexUpdateTest.java
URL:
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/index/IndexUpdateTest.java?rev=1759282&r1=1759281&r2=1759282&view=diff
==============================================================================
---
jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/index/IndexUpdateTest.java
(original)
+++
jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/index/IndexUpdateTest.java
Mon Sep 5 14:56:59 2016
@@ -20,6 +20,7 @@ import static java.util.Arrays.asList;
import static org.apache.jackrabbit.JcrConstants.NT_BASE;
import static
org.apache.jackrabbit.oak.plugins.index.IndexConstants.ASYNC_PROPERTY_NAME;
import static
org.apache.jackrabbit.oak.plugins.index.IndexConstants.ASYNC_REINDEX_VALUE;
+import static
org.apache.jackrabbit.oak.plugins.index.IndexConstants.INDEXING_MODE_NRT;
import static
org.apache.jackrabbit.oak.plugins.index.IndexConstants.INDEX_CONTENT_NODE_NAME;
import static
org.apache.jackrabbit.oak.plugins.index.IndexConstants.INDEX_DEFINITIONS_NAME;
import static
org.apache.jackrabbit.oak.plugins.index.IndexConstants.REINDEX_ASYNC_PROPERTY_NAME;
@@ -578,7 +579,7 @@ public class IndexUpdateTest {
// async multiple values: "" for sync
base = EmptyNodeState.EMPTY_NODE.builder()
- .setProperty(ASYNC_PROPERTY_NAME, Sets.newHashSet("", "async"),
+ .setProperty(ASYNC_PROPERTY_NAME,
Sets.newHashSet(INDEXING_MODE_NRT, "async"),
Type.STRINGS);
assertTrue(IndexUpdate.isIncluded(null, base));
assertTrue(IndexUpdate.isIncluded("async", base));