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 da...@apache.org on 2025/01/17 08:42:43 UTC
(jackrabbit-oak) branch OAK-11400 created (now 05ad49b22a)
This is an automated email from the ASF dual-hosted git repository.
daim pushed a change to branch OAK-11400
in repository https://gitbox.apache.org/repos/asf/jackrabbit-oak.git
at 05ad49b22a OAK-11400 : removed usage of Guava ArrayListMultimap
This branch includes the following new commits:
new 05ad49b22a OAK-11400 : removed usage of Guava ArrayListMultimap
The 1 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails. The revisions
listed as "add" were already present in the repository and have only
been added to this reference.
(jackrabbit-oak) 01/01: OAK-11400 : removed usage of Guava ArrayListMultimap
Posted by da...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
daim pushed a commit to branch OAK-11400
in repository https://gitbox.apache.org/repos/asf/jackrabbit-oak.git
commit 05ad49b22afce9f5452f0d1d8813429d2d75768c
Author: Rishabh Kumar <di...@adobe.com>
AuthorDate: Fri Jan 17 14:12:17 2025 +0530
OAK-11400 : removed usage of Guava ArrayListMultimap
---
.../oak/plugins/index/importer/IndexImporter.java | 10 +++++-----
.../org/apache/jackrabbit/oak/query/index/FilterImpl.java | 7 +++----
oak-jcr/pom.xml | 4 ++++
.../apache/jackrabbit/oak/jcr/xml/TargetImportHandler.java | 7 +++----
.../plugins/index/lucene/directory/IndexRootDirectory.java | 6 +++---
.../oak/plugins/index/lucene/hybrid/DocumentQueue.java | 6 +++---
.../plugins/index/lucene/hybrid/LuceneDocumentHolder.java | 14 +++++++-------
.../oak/plugins/index/lucene/hybrid/DocumentQueueTest.java | 8 ++++----
.../index/lucene/hybrid/LuceneDocumentHolderTest.java | 14 +++++++-------
.../index/search/spi/query/FulltextIndexPlanner.java | 6 +++---
.../jackrabbit/oak/plugins/index/search/AggregateTest.java | 6 +++---
.../oak/composite/CrossMountReferenceValidator.java | 8 ++++----
.../document/bundlor/BundledDocumentDifferTest.java | 6 +++---
13 files changed, 52 insertions(+), 50 deletions(-)
diff --git a/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/importer/IndexImporter.java b/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/importer/IndexImporter.java
index eebc08987b..fbe8f9e7c9 100644
--- a/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/importer/IndexImporter.java
+++ b/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/importer/IndexImporter.java
@@ -19,9 +19,9 @@
package org.apache.jackrabbit.oak.plugins.index.importer;
+import org.apache.commons.collections4.ListValuedMap;
+import org.apache.commons.collections4.multimap.ArrayListValuedHashMap;
import org.apache.jackrabbit.guava.common.base.Stopwatch;
-import org.apache.jackrabbit.guava.common.collect.ArrayListMultimap;
-import org.apache.jackrabbit.guava.common.collect.ListMultimap;
import org.apache.jackrabbit.oak.api.CommitFailedException;
import org.apache.jackrabbit.oak.api.PropertyState;
import org.apache.jackrabbit.oak.api.Type;
@@ -79,7 +79,7 @@ public class IndexImporter {
private final Map<String, IndexImporterProvider> importers = new HashMap<>();
private final IndexerInfo indexerInfo;
private final Map<String, File> indexes;
- private final ListMultimap<String, IndexInfo> asyncLaneToIndexMapping;
+ private final ListValuedMap<String, IndexInfo> asyncLaneToIndexMapping;
private final NodeState indexedState;
private final IndexEditorProvider indexEditorProvider;
private final AsyncIndexerLock indexerLock;
@@ -378,9 +378,9 @@ public class IndexImporter {
return requireNonNull(provider, "No IndexImporterProvider found for type [" + type + "]");
}
- private ListMultimap<String, IndexInfo> mapIndexesToLanes(Map<String, File> indexes) {
+ private ListValuedMap<String, IndexInfo> mapIndexesToLanes(Map<String, File> indexes) {
NodeState rootState = nodeStore.getRoot();
- ListMultimap<String, IndexInfo> map = ArrayListMultimap.create();
+ ListValuedMap<String, IndexInfo> map = new ArrayListValuedHashMap<>();
for (Map.Entry<String, File> e : indexes.entrySet()) {
String indexPath = e.getKey();
diff --git a/oak-core/src/main/java/org/apache/jackrabbit/oak/query/index/FilterImpl.java b/oak-core/src/main/java/org/apache/jackrabbit/oak/query/index/FilterImpl.java
index e9dfda69ea..6995c0e418 100644
--- a/oak-core/src/main/java/org/apache/jackrabbit/oak/query/index/FilterImpl.java
+++ b/oak-core/src/main/java/org/apache/jackrabbit/oak/query/index/FilterImpl.java
@@ -30,8 +30,8 @@ import java.util.TreeMap;
import javax.jcr.PropertyType;
import javax.jcr.Session;
-import org.apache.jackrabbit.guava.common.collect.ArrayListMultimap;
-import org.apache.jackrabbit.guava.common.collect.ListMultimap;
+import org.apache.commons.collections4.ListValuedMap;
+import org.apache.commons.collections4.multimap.ArrayListValuedHashMap;
import org.apache.jackrabbit.oak.api.PropertyValue;
import org.apache.jackrabbit.oak.commons.PathUtils;
import org.apache.jackrabbit.oak.spi.query.QueryLimits;
@@ -97,8 +97,7 @@ public class FilterImpl implements Filter {
* restrictions must apply, for example x=1 and x=2. For this case, only
* multi-valued properties match if it contains both the values 1 and 2.
*/
- private final ListMultimap<String, PropertyRestriction> propertyRestrictions =
- ArrayListMultimap.create();
+ private final ListValuedMap<String, PropertyRestriction> propertyRestrictions = new ArrayListValuedHashMap<>();
/**
* Only return distinct values.
diff --git a/oak-jcr/pom.xml b/oak-jcr/pom.xml
index c93a3281ea..ed69a99fae 100644
--- a/oak-jcr/pom.xml
+++ b/oak-jcr/pom.xml
@@ -213,6 +213,10 @@
<artifactId>jcr</artifactId>
<version>2.0</version>
</dependency>
+ <dependency>
+ <groupId>org.apache.commons</groupId>
+ <artifactId>commons-collections4</artifactId>
+ </dependency>
<dependency>
<groupId>org.apache.jackrabbit</groupId>
diff --git a/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/xml/TargetImportHandler.java b/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/xml/TargetImportHandler.java
index 4d9aa4e659..16d8eee75d 100644
--- a/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/xml/TargetImportHandler.java
+++ b/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/xml/TargetImportHandler.java
@@ -25,6 +25,8 @@ import java.util.Set;
import javax.jcr.RepositoryException;
+import org.apache.commons.collections4.ListValuedMap;
+import org.apache.commons.collections4.multimap.ArrayListValuedHashMap;
import org.apache.jackrabbit.oak.api.Tree;
import org.apache.jackrabbit.oak.jcr.session.SessionContext;
import org.apache.jackrabbit.oak.namepath.impl.LocalNameMapper;
@@ -35,9 +37,6 @@ import org.apache.jackrabbit.oak.spi.xml.Importer;
import org.xml.sax.SAXException;
import org.xml.sax.helpers.DefaultHandler;
-import org.apache.jackrabbit.guava.common.collect.ArrayListMultimap;
-import org.apache.jackrabbit.guava.common.collect.ListMultimap;
-
/**
* {@code TargetImportHandler} serves as the base class for the concrete
* classes {@code {@link DocViewImportHandler}} and
@@ -47,7 +46,7 @@ public abstract class TargetImportHandler extends DefaultHandler {
protected final Importer importer;
protected final SessionContext sessionContext;
- private final ListMultimap<String, String> documentContext = ArrayListMultimap.create();
+ private final ListValuedMap<String, String> documentContext = new ArrayListValuedHashMap<>();
private Map<String, String> documentPrefixMap = Collections.emptyMap();
protected TargetImportHandler(Importer importer, SessionContext sessionContext) {
diff --git a/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/directory/IndexRootDirectory.java b/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/directory/IndexRootDirectory.java
index afac694466..b46a0e7795 100644
--- a/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/directory/IndexRootDirectory.java
+++ b/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/directory/IndexRootDirectory.java
@@ -30,9 +30,9 @@ import java.util.List;
import java.util.Map;
import java.util.TreeMap;
-import org.apache.jackrabbit.guava.common.collect.ArrayListMultimap;
+import org.apache.commons.collections4.ListValuedMap;
+import org.apache.commons.collections4.multimap.ArrayListValuedHashMap;
import org.apache.jackrabbit.guava.common.collect.Iterables;
-import org.apache.jackrabbit.guava.common.collect.ListMultimap;
import org.apache.jackrabbit.guava.common.hash.Hashing;
import org.apache.commons.io.FileUtils;
import org.apache.jackrabbit.oak.commons.IOUtils;
@@ -220,7 +220,7 @@ public class IndexRootDirectory {
private Map<String, List<LocalIndexDir>> getIndexesPerPath() throws IOException {
File[] dirs = indexRootDir.listFiles(LOCAL_DIR_FILTER);
- ListMultimap<String, LocalIndexDir> pathToDirMap = ArrayListMultimap.create();
+ ListValuedMap<String, LocalIndexDir> pathToDirMap = new ArrayListValuedHashMap<>();
for (File indexDir : dirs){
LocalIndexDir localIndexDir = new LocalIndexDir(indexDir);
pathToDirMap.get(localIndexDir.getJcrPath()).add(localIndexDir);
diff --git a/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/hybrid/DocumentQueue.java b/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/hybrid/DocumentQueue.java
index a6a6380fbc..a5bbe693a0 100644
--- a/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/hybrid/DocumentQueue.java
+++ b/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/hybrid/DocumentQueue.java
@@ -33,8 +33,8 @@ import java.util.concurrent.LinkedBlockingDeque;
import java.util.concurrent.TimeUnit;
import java.util.concurrent.locks.Lock;
-import org.apache.jackrabbit.guava.common.collect.ArrayListMultimap;
-import org.apache.jackrabbit.guava.common.collect.ListMultimap;
+import org.apache.commons.collections4.ListValuedMap;
+import org.apache.commons.collections4.multimap.ArrayListValuedHashMap;
import org.apache.jackrabbit.guava.common.util.concurrent.Striped;
import org.apache.jackrabbit.oak.commons.PerfLogger;
import org.apache.jackrabbit.oak.commons.concurrent.NotifyingFutureTask;
@@ -100,7 +100,7 @@ public class DocumentQueue implements Closeable, IndexingQueue {
long start = PERF_LOGGER.start();
int maxSize = docsQueue.size();
List<LuceneDoc> docs = new ArrayList<>(maxSize);
- ListMultimap<String, LuceneDoc> docsPerIndex = ArrayListMultimap.create();
+ ListValuedMap<String, LuceneDoc> docsPerIndex = new ArrayListValuedHashMap<>();
//Do the processing in batches
int count = docsQueue.drainTo(docs, maxSize);
diff --git a/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/hybrid/LuceneDocumentHolder.java b/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/hybrid/LuceneDocumentHolder.java
index d436833d6d..ba48e4b690 100644
--- a/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/hybrid/LuceneDocumentHolder.java
+++ b/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/hybrid/LuceneDocumentHolder.java
@@ -21,9 +21,9 @@ package org.apache.jackrabbit.oak.plugins.index.lucene.hybrid;
import java.util.Collection;
import java.util.Map;
-import org.apache.jackrabbit.guava.common.collect.ArrayListMultimap;
+import org.apache.commons.collections4.ListValuedMap;
+import org.apache.commons.collections4.multimap.ArrayListValuedHashMap;
import org.apache.jackrabbit.guava.common.collect.Iterables;
-import org.apache.jackrabbit.guava.common.collect.ListMultimap;
import org.apache.jackrabbit.oak.plugins.document.spi.JournalProperty;
import org.jetbrains.annotations.NotNull;
import org.slf4j.Logger;
@@ -35,10 +35,10 @@ public class LuceneDocumentHolder implements JournalProperty {
private static final Logger log = LoggerFactory.getLogger(LuceneDocumentHolder.class);
public static final String NAME = "luceneDocs";
- private final ListMultimap<String, LuceneDoc> nrtIndexedList = ArrayListMultimap.create();
- private final ListMultimap<String, LuceneDoc> syncIndexedList = ArrayListMultimap.create();
- private final ListMultimap<String, String> queuedNrtIndexedPath = ArrayListMultimap.create();
- private final ListMultimap<String, LuceneDoc> queuedSyncIndexedPath = ArrayListMultimap.create();
+ private final ListValuedMap<String, LuceneDoc> nrtIndexedList = new ArrayListValuedHashMap<>();
+ private final ListValuedMap<String, LuceneDoc> syncIndexedList = new ArrayListValuedHashMap<>();
+ private final ListValuedMap<String, String> queuedNrtIndexedPath = new ArrayListValuedHashMap<>();
+ private final ListValuedMap<String, LuceneDoc> queuedSyncIndexedPath = new ArrayListValuedHashMap<>();
private final int inMemoryDocsLimit;
private final IndexingQueue documentQueue;
private boolean limitWarningLogged;
@@ -114,7 +114,7 @@ public class LuceneDocumentHolder implements JournalProperty {
return true;
}
- private static Iterable<? extends LuceneDocInfo> asLuceneDocInfo(ListMultimap<String, String> docs) {
+ private static Iterable<? extends LuceneDocInfo> asLuceneDocInfo(ListValuedMap<String, String> docs) {
return Iterables.transform(docs.entries(), input -> {
return new LuceneDocInfo() {
@Override
diff --git a/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/hybrid/DocumentQueueTest.java b/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/hybrid/DocumentQueueTest.java
index 7a9d0273d1..807838c612 100644
--- a/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/hybrid/DocumentQueueTest.java
+++ b/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/hybrid/DocumentQueueTest.java
@@ -27,10 +27,10 @@ import java.util.concurrent.Executor;
import java.util.concurrent.Executors;
import java.util.concurrent.TimeUnit;
+import org.apache.commons.collections4.ListValuedMap;
+import org.apache.commons.collections4.multimap.ArrayListValuedHashMap;
import org.apache.jackrabbit.guava.common.base.Stopwatch;
-import org.apache.jackrabbit.guava.common.collect.ArrayListMultimap;
-import org.apache.jackrabbit.guava.common.collect.ListMultimap;
import org.apache.jackrabbit.oak.api.CommitFailedException;
import org.apache.jackrabbit.oak.plugins.index.IndexEditorProvider;
import org.apache.jackrabbit.oak.plugins.index.IndexUpdateProvider;
@@ -220,7 +220,7 @@ public class DocumentQueueTest {
@Test
public void addAllSync() throws Exception{
- ListMultimap<String, LuceneDoc> docs = ArrayListMultimap.create();
+ ListValuedMap<String, LuceneDoc> docs = new ArrayListValuedHashMap<>();
tracker = createTracker();
NodeState indexed = createAndPopulateAsyncIndex(FulltextIndexConstants.IndexingMode.SYNC);
tracker.update(indexed);
@@ -285,7 +285,7 @@ public class DocumentQueueTest {
w = Stopwatch.createStarted();
for (int i = 0; i < numDocs; i++) {
- ListMultimap<String, LuceneDoc> docs = ArrayListMultimap.create();
+ ListValuedMap<String, LuceneDoc> docs = new ArrayListValuedHashMap<>();
docs.get("/oak:index/fooIndex").add(doc);
queue.addAllSynchronously(docs.asMap());
}
diff --git a/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/hybrid/LuceneDocumentHolderTest.java b/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/hybrid/LuceneDocumentHolderTest.java
index 67bb8d4b7e..459b252b62 100644
--- a/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/hybrid/LuceneDocumentHolderTest.java
+++ b/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/hybrid/LuceneDocumentHolderTest.java
@@ -22,8 +22,8 @@ import java.util.Collection;
import java.util.HashMap;
import java.util.Map;
-import org.apache.jackrabbit.guava.common.collect.ArrayListMultimap;
-import org.apache.jackrabbit.guava.common.collect.ListMultimap;
+import org.apache.commons.collections4.ListValuedMap;
+import org.apache.commons.collections4.multimap.ArrayListValuedHashMap;
import org.junit.Test;
import static org.hamcrest.Matchers.containsInAnyOrder;
@@ -61,16 +61,16 @@ public class LuceneDocumentHolderTest {
assertThat(asMultiMap(holder.getSyncIndexedDocs()).values(), containsInAnyOrder("/a", "/b"));
}
- private static ListMultimap<String, String> asMultiMap(Iterable<? extends LuceneDocInfo> itr){
- ListMultimap<String, String> docs = ArrayListMultimap.create();
+ private static ListValuedMap<String, String> asMultiMap(Iterable<? extends LuceneDocInfo> itr){
+ ListValuedMap<String, String> docs = new ArrayListValuedHashMap<>();
for (LuceneDocInfo d : itr){
docs.put(d.getIndexPath(), d.getDocPath());
}
return docs;
}
- private static ListMultimap<String, String> asMultiMap(Map<String, Collection<LuceneDoc>> map){
- ListMultimap<String, String> docs = ArrayListMultimap.create();
+ private static ListValuedMap<String, String> asMultiMap(Map<String, Collection<LuceneDoc>> map){
+ ListValuedMap<String, String> docs = new ArrayListValuedHashMap<>();
for (Collection<LuceneDoc> lds : map.values()){
for (LuceneDoc d : lds){
docs.put(d.getIndexPath(), d.getDocPath());
@@ -81,7 +81,7 @@ public class LuceneDocumentHolderTest {
private static class DummyQueue implements IndexingQueue {
boolean enabled;
- ListMultimap<String, String> docs = ArrayListMultimap.create();
+ ListValuedMap<String, String> docs = new ArrayListValuedHashMap<>();
Map<String, LuceneDoc> luceneDocs = new HashMap<>();
@Override
diff --git a/oak-search/src/main/java/org/apache/jackrabbit/oak/plugins/index/search/spi/query/FulltextIndexPlanner.java b/oak-search/src/main/java/org/apache/jackrabbit/oak/plugins/index/search/spi/query/FulltextIndexPlanner.java
index a4520a9ddf..65e62e7e93 100644
--- a/oak-search/src/main/java/org/apache/jackrabbit/oak/plugins/index/search/spi/query/FulltextIndexPlanner.java
+++ b/oak-search/src/main/java/org/apache/jackrabbit/oak/plugins/index/search/spi/query/FulltextIndexPlanner.java
@@ -29,9 +29,9 @@ import java.util.Set;
import java.util.concurrent.atomic.AtomicBoolean;
import java.util.regex.Pattern;
-import org.apache.jackrabbit.guava.common.collect.ArrayListMultimap;
+import org.apache.commons.collections4.MultiValuedMap;
+import org.apache.commons.collections4.multimap.ArrayListValuedHashMap;
import org.apache.jackrabbit.guava.common.collect.Iterables;
-import org.apache.jackrabbit.guava.common.collect.Multimap;
import org.apache.jackrabbit.JcrConstants;
import org.apache.jackrabbit.oak.api.PropertyValue;
import org.apache.jackrabbit.oak.api.StrictPathRestriction;
@@ -637,7 +637,7 @@ public class FulltextIndexPlanner {
* @return list of properties which are included in query issued to Lucene
*/
private List<String> planForRelativeProperties(Map<String, PropertyDefinition> relativePropDefns) {
- Multimap<String, Map.Entry<String, PropertyDefinition>> relpaths = ArrayListMultimap.create();
+ MultiValuedMap<String, Map.Entry<String, PropertyDefinition>> relpaths = new ArrayListValuedHashMap<>();
int maxSize = 0;
String maxCountedParent = null;
diff --git a/oak-search/src/test/java/org/apache/jackrabbit/oak/plugins/index/search/AggregateTest.java b/oak-search/src/test/java/org/apache/jackrabbit/oak/plugins/index/search/AggregateTest.java
index ab4936ef03..db8b986478 100644
--- a/oak-search/src/test/java/org/apache/jackrabbit/oak/plugins/index/search/AggregateTest.java
+++ b/oak-search/src/test/java/org/apache/jackrabbit/oak/plugins/index/search/AggregateTest.java
@@ -27,9 +27,9 @@ import java.util.Map;
import java.util.Objects;
import java.util.concurrent.atomic.AtomicInteger;
-import org.apache.jackrabbit.guava.common.collect.ArrayListMultimap;
+import org.apache.commons.collections4.ListValuedMap;
+import org.apache.commons.collections4.multimap.ArrayListValuedHashMap;
import org.apache.jackrabbit.guava.common.collect.Iterables;
-import org.apache.jackrabbit.guava.common.collect.ListMultimap;
import org.apache.jackrabbit.JcrConstants;
import org.apache.jackrabbit.oak.api.Type;
import org.apache.jackrabbit.oak.commons.PathUtils;
@@ -486,7 +486,7 @@ public class AggregateTest {
}
private static class TestCollector implements Aggregate.ResultCollector {
- final ListMultimap<String, NodeIncludeResult> nodeResults = ArrayListMultimap.create();
+ final ListValuedMap<String, NodeIncludeResult> nodeResults = new ArrayListValuedHashMap<>();
final Map<String, PropertyIncludeResult> propResults = new HashMap<>();
@Override
public void onResult(NodeIncludeResult result) {
diff --git a/oak-store-composite/src/main/java/org/apache/jackrabbit/oak/composite/CrossMountReferenceValidator.java b/oak-store-composite/src/main/java/org/apache/jackrabbit/oak/composite/CrossMountReferenceValidator.java
index 3f8dca87ac..586ced7ced 100644
--- a/oak-store-composite/src/main/java/org/apache/jackrabbit/oak/composite/CrossMountReferenceValidator.java
+++ b/oak-store-composite/src/main/java/org/apache/jackrabbit/oak/composite/CrossMountReferenceValidator.java
@@ -21,8 +21,8 @@ import java.util.HashMap;
import java.util.Map;
import java.util.Set;
-import org.apache.jackrabbit.guava.common.collect.ArrayListMultimap;
-import org.apache.jackrabbit.guava.common.collect.Multimap;
+import org.apache.commons.collections4.MultiValuedMap;
+import org.apache.commons.collections4.multimap.ArrayListValuedHashMap;
import org.apache.jackrabbit.oak.api.CommitFailedException;
import org.apache.jackrabbit.oak.api.PropertyState;
import org.apache.jackrabbit.oak.api.Type;
@@ -60,7 +60,7 @@ public class CrossMountReferenceValidator extends DefaultValidator {
private final Map<String, String> newReferencableNodes;
/** UUID -> referencing node */
- private final Multimap<String, String> newReferences;
+ private final MultiValuedMap<String, String> newReferences;
private final MountInfoProvider mip;
@@ -88,7 +88,7 @@ public class CrossMountReferenceValidator extends DefaultValidator {
this.path = "/";
this.mip = mip;
this.newReferencableNodes = new HashMap<>();
- this.newReferences = ArrayListMultimap.create();
+ this.newReferences = new ArrayListValuedHashMap<>();
this.uuidDefinition = root.getChildNode(INDEX_DEFINITIONS_NAME).getChildNode("uuid");
this.uuidStores = Multiplexers.getStrategies(true, mip, uuidDefinition, INDEX_CONTENT_NODE_NAME);
this.failOnDetection = failOnDetection;
diff --git a/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/bundlor/BundledDocumentDifferTest.java b/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/bundlor/BundledDocumentDifferTest.java
index e1a5678017..f257561ee6 100644
--- a/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/bundlor/BundledDocumentDifferTest.java
+++ b/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/bundlor/BundledDocumentDifferTest.java
@@ -22,8 +22,8 @@ package org.apache.jackrabbit.oak.plugins.document.bundlor;
import java.util.Collections;
import java.util.List;
-import org.apache.jackrabbit.guava.common.collect.ArrayListMultimap;
-import org.apache.jackrabbit.guava.common.collect.ListMultimap;
+import org.apache.commons.collections4.ListValuedMap;
+import org.apache.commons.collections4.multimap.ArrayListValuedHashMap;
import org.apache.jackrabbit.oak.api.CommitFailedException;
import org.apache.jackrabbit.oak.commons.json.JsopBuilder;
import org.apache.jackrabbit.oak.commons.json.JsopWriter;
@@ -210,7 +210,7 @@ public class BundledDocumentDifferTest {
}
private static class CollectingDiff extends DefaultNodeStateDiff {
- private ListMultimap<String, String> changes = ArrayListMultimap.create();
+ private ListValuedMap<String, String> changes = new ArrayListValuedHashMap<>();
@Override
public boolean childNodeAdded(String name, NodeState after) {