diff --git a/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/hybrid/IndexedPaths.java b/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/hybrid/IndexedPaths.java index 3cc5fe88ad9..a3bd83092a7 100644 --- a/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/hybrid/IndexedPaths.java +++ b/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/hybrid/IndexedPaths.java @@ -20,16 +20,16 @@ import java.util.Iterator; -import org.apache.jackrabbit.guava.common.collect.Multimap; +import org.apache.commons.collections4.MultiValuedMap; import org.apache.jackrabbit.oak.commons.collections.IteratorUtils; import org.apache.jackrabbit.oak.plugins.document.spi.JournalProperty; import static java.util.Objects.requireNonNull; class IndexedPaths implements JournalProperty, Iterable { - private final Multimap indexedPaths; + private final MultiValuedMap indexedPaths; - public IndexedPaths(Multimap indexedPaths) { + public IndexedPaths(MultiValuedMap indexedPaths) { this.indexedPaths = requireNonNull(indexedPaths); } diff --git a/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/hybrid/LuceneJournalPropertyBuilder.java b/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/hybrid/LuceneJournalPropertyBuilder.java index a5e27f10356..4330d92c6cb 100644 --- a/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/hybrid/LuceneJournalPropertyBuilder.java +++ b/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/hybrid/LuceneJournalPropertyBuilder.java @@ -22,8 +22,8 @@ import java.util.Collection; import java.util.Map; -import org.apache.jackrabbit.guava.common.collect.HashMultimap; -import org.apache.jackrabbit.guava.common.collect.Multimap; +import org.apache.commons.collections4.MultiValuedMap; +import org.apache.commons.collections4.multimap.HashSetValuedHashMap; import org.apache.jackrabbit.oak.commons.json.JsopBuilder; import org.apache.jackrabbit.oak.commons.json.JsopReader; import org.apache.jackrabbit.oak.commons.json.JsopTokenizer; @@ -36,8 +36,8 @@ class LuceneJournalPropertyBuilder implements JournalPropertyBuilder { private final static Logger log = LoggerFactory.getLogger(LuceneJournalPropertyBuilder.class); - //Use HashMultimap to ensure that indexPath is not duplicated per node path - private final Multimap indexedNodes = HashMultimap.create(); + //Use HashSetValuedHashMap to ensure that indexPath is not duplicated per node path + private final MultiValuedMap indexedNodes = new HashSetValuedHashMap<>(); private boolean limitWarningLogged = false; private final int maxSize; diff --git a/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/property/UniquenessConstraintValidator.java b/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/property/UniquenessConstraintValidator.java index 74bfa187ba7..a26e8b24728 100644 --- a/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/property/UniquenessConstraintValidator.java +++ b/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/property/UniquenessConstraintValidator.java @@ -24,8 +24,8 @@ import java.util.Map; import java.util.Set; -import org.apache.jackrabbit.guava.common.collect.HashMultimap; -import org.apache.jackrabbit.guava.common.collect.Multimap; +import org.apache.commons.collections4.MultiValuedMap; +import org.apache.commons.collections4.multimap.HashSetValuedHashMap; import org.apache.jackrabbit.oak.api.CommitFailedException; import org.apache.jackrabbit.oak.api.PropertyState; import org.apache.jackrabbit.oak.api.Type; @@ -50,7 +50,7 @@ public class UniquenessConstraintValidator { private final NodeState rootState; private final String indexPath; - private final Multimap uniqueKeys = HashMultimap.create(); + private final MultiValuedMap uniqueKeys = new HashSetValuedHashMap<>(); private final PropertyQuery firstStore; private PropertyQuery secondStore = PropertyQuery.DEFAULT; diff --git a/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/hybrid/ExternalIndexObserverTest.java b/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/hybrid/ExternalIndexObserverTest.java index e7ad6f79d5d..348556785da 100644 --- a/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/hybrid/ExternalIndexObserverTest.java +++ b/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/hybrid/ExternalIndexObserverTest.java @@ -18,9 +18,8 @@ */ package org.apache.jackrabbit.oak.plugins.index.lucene.hybrid; -import org.apache.jackrabbit.guava.common.collect.HashMultimap; - -import org.apache.jackrabbit.guava.common.collect.Multimap; +import org.apache.commons.collections4.MultiValuedMap; +import org.apache.commons.collections4.multimap.HashSetValuedHashMap; import org.apache.jackrabbit.guava.common.util.concurrent.MoreExecutors; import org.apache.jackrabbit.oak.plugins.index.lucene.IndexTracker; import org.apache.jackrabbit.oak.plugins.index.lucene.LuceneIndexDefinition; @@ -88,7 +87,7 @@ public void emptyCommitContext() throws Exception { @Test public void nonExistingIndexDefn() throws Exception { - Multimap indexedPaths = HashMultimap.create(); + MultiValuedMap indexedPaths = new HashSetValuedHashMap<>(); indexedPaths.put("/a", "/oak:index/foo"); commitContext.set(LuceneDocumentHolder.NAME, new IndexedPaths(indexedPaths)); @@ -101,7 +100,7 @@ public void nonExistingIndexDefn() throws Exception { @Test public void nonExistingPath() throws Exception { - Multimap indexedPaths = HashMultimap.create(); + MultiValuedMap indexedPaths = new HashSetValuedHashMap<>(); indexedPaths.put("/a", "/oak:index/foo"); commitContext.set(LuceneDocumentHolder.NAME, new IndexedPaths(indexedPaths)); @@ -114,7 +113,7 @@ public void nonExistingPath() throws Exception { @Test public void nonApplicableRule() throws Exception { - Multimap indexedPaths = HashMultimap.create(); + MultiValuedMap indexedPaths = new HashSetValuedHashMap<>(); indexedPaths.put("/a", "/oak:index/foo"); commitContext.set(LuceneDocumentHolder.NAME, new IndexedPaths(indexedPaths)); @@ -132,7 +131,7 @@ public void nonApplicableRule() throws Exception { @Test public void ruleNotResultingInDoc() throws Exception { - Multimap indexedPaths = HashMultimap.create(); + MultiValuedMap indexedPaths = new HashSetValuedHashMap<>(); indexedPaths.put("/a", "/oak:index/foo"); commitContext.set(LuceneDocumentHolder.NAME, new IndexedPaths(indexedPaths)); @@ -154,7 +153,7 @@ public void docAddedToQueue() throws Exception { } private void assertIndexing(Observer observer){ - Multimap indexedPaths = HashMultimap.create(); + MultiValuedMap indexedPaths = new HashSetValuedHashMap<>(); indexedPaths.put("/a", "/oak:index/foo"); commitContext.set(LuceneDocumentHolder.NAME, new IndexedPaths(indexedPaths)); diff --git a/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/hybrid/LuceneJournalPropertyBuilderTest.java b/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/hybrid/LuceneJournalPropertyBuilderTest.java index 6913c4aa049..65a4ab4735a 100644 --- a/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/hybrid/LuceneJournalPropertyBuilderTest.java +++ b/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/hybrid/LuceneJournalPropertyBuilderTest.java @@ -19,8 +19,8 @@ package org.apache.jackrabbit.oak.plugins.index.lucene.hybrid; -import org.apache.jackrabbit.guava.common.collect.HashMultimap; -import org.apache.jackrabbit.guava.common.collect.Multimap; +import org.apache.commons.collections4.MultiValuedMap; +import org.apache.commons.collections4.multimap.HashSetValuedHashMap; import org.apache.jackrabbit.oak.commons.collections.IterableUtils; import org.junit.Test; @@ -84,7 +84,7 @@ public void addMulti() throws Exception{ builder.addProperty(h2); IndexedPaths indexedPaths = (IndexedPaths) builder.build(); - Multimap map = createdIndexPathMap(indexedPaths); + MultiValuedMap map = createdIndexPathMap(indexedPaths); assertThat(map.keySet(), containsInAnyOrder("/oak:index/foo", "/oak:index/bar")); assertThat(map.get("/oak:index/foo"), containsInAnyOrder("/a", "/b")); } @@ -105,7 +105,7 @@ public void addMultiJson() throws Exception{ builder2.addSerializedProperty(json); IndexedPaths indexedPaths = (IndexedPaths) builder2.build(); - Multimap map = createdIndexPathMap(indexedPaths); + MultiValuedMap map = createdIndexPathMap(indexedPaths); assertThat(map.keySet(), containsInAnyOrder("/oak:index/foo", "/oak:index/bar")); assertThat(map.get("/oak:index/foo"), containsInAnyOrder("/a", "/b")); } @@ -124,8 +124,8 @@ public void maxLimitReached() throws Exception{ assertEquals(maxSize, IterableUtils.size(indexedPaths)); } - private Multimap createdIndexPathMap(Iterable itr){ - Multimap map = HashMultimap.create(); + private MultiValuedMap createdIndexPathMap(Iterable itr){ + MultiValuedMap map = new HashSetValuedHashMap<>(); for (IndexedPathInfo i : itr){ for (String indexPath : i.getIndexPaths()){ map.put(indexPath, i.getPath());