Skip to content

Commit bf69f0d

Browse files
rishabhdaimRishabh Kumar
authored andcommitted
OAK-11754 : removed usage of Guava HashMultimap (#2326)
Co-authored-by: Rishabh Kumar <diam@adobe.com>
1 parent 5de8b06 commit bf69f0d

File tree

5 files changed

+23
-24
lines changed

5 files changed

+23
-24
lines changed

oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/hybrid/IndexedPaths.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -20,16 +20,16 @@
2020

2121
import java.util.Iterator;
2222

23-
import org.apache.jackrabbit.guava.common.collect.Multimap;
23+
import org.apache.commons.collections4.MultiValuedMap;
2424
import org.apache.jackrabbit.oak.commons.collections.IteratorUtils;
2525
import org.apache.jackrabbit.oak.plugins.document.spi.JournalProperty;
2626

2727
import static java.util.Objects.requireNonNull;
2828

2929
class IndexedPaths implements JournalProperty, Iterable<IndexedPathInfo> {
30-
private final Multimap<String, String> indexedPaths;
30+
private final MultiValuedMap<String, String> indexedPaths;
3131

32-
public IndexedPaths(Multimap<String, String> indexedPaths) {
32+
public IndexedPaths(MultiValuedMap<String, String> indexedPaths) {
3333
this.indexedPaths = requireNonNull(indexedPaths);
3434
}
3535

oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/hybrid/LuceneJournalPropertyBuilder.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -22,8 +22,8 @@
2222
import java.util.Collection;
2323
import java.util.Map;
2424

25-
import org.apache.jackrabbit.guava.common.collect.HashMultimap;
26-
import org.apache.jackrabbit.guava.common.collect.Multimap;
25+
import org.apache.commons.collections4.MultiValuedMap;
26+
import org.apache.commons.collections4.multimap.HashSetValuedHashMap;
2727
import org.apache.jackrabbit.oak.commons.json.JsopBuilder;
2828
import org.apache.jackrabbit.oak.commons.json.JsopReader;
2929
import org.apache.jackrabbit.oak.commons.json.JsopTokenizer;
@@ -36,8 +36,8 @@
3636

3737
class LuceneJournalPropertyBuilder implements JournalPropertyBuilder<LuceneDocumentHolder> {
3838
private final static Logger log = LoggerFactory.getLogger(LuceneJournalPropertyBuilder.class);
39-
//Use HashMultimap to ensure that indexPath is not duplicated per node path
40-
private final Multimap<String, String> indexedNodes = HashMultimap.create();
39+
//Use HashSetValuedHashMap to ensure that indexPath is not duplicated per node path
40+
private final MultiValuedMap<String, String> indexedNodes = new HashSetValuedHashMap<>();
4141
private boolean limitWarningLogged = false;
4242
private final int maxSize;
4343

oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/property/UniquenessConstraintValidator.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -24,8 +24,8 @@
2424
import java.util.Map;
2525
import java.util.Set;
2626

27-
import org.apache.jackrabbit.guava.common.collect.HashMultimap;
28-
import org.apache.jackrabbit.guava.common.collect.Multimap;
27+
import org.apache.commons.collections4.MultiValuedMap;
28+
import org.apache.commons.collections4.multimap.HashSetValuedHashMap;
2929
import org.apache.jackrabbit.oak.api.CommitFailedException;
3030
import org.apache.jackrabbit.oak.api.PropertyState;
3131
import org.apache.jackrabbit.oak.api.Type;
@@ -50,7 +50,7 @@
5050
public class UniquenessConstraintValidator {
5151
private final NodeState rootState;
5252
private final String indexPath;
53-
private final Multimap<String, String> uniqueKeys = HashMultimap.create();
53+
private final MultiValuedMap<String, String> uniqueKeys = new HashSetValuedHashMap<>();
5454
private final PropertyQuery firstStore;
5555
private PropertyQuery secondStore = PropertyQuery.DEFAULT;
5656

oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/hybrid/ExternalIndexObserverTest.java

Lines changed: 7 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -18,9 +18,8 @@
1818
*/
1919
package org.apache.jackrabbit.oak.plugins.index.lucene.hybrid;
2020

21-
import org.apache.jackrabbit.guava.common.collect.HashMultimap;
22-
23-
import org.apache.jackrabbit.guava.common.collect.Multimap;
21+
import org.apache.commons.collections4.MultiValuedMap;
22+
import org.apache.commons.collections4.multimap.HashSetValuedHashMap;
2423
import org.apache.jackrabbit.guava.common.util.concurrent.MoreExecutors;
2524
import org.apache.jackrabbit.oak.plugins.index.lucene.IndexTracker;
2625
import org.apache.jackrabbit.oak.plugins.index.lucene.LuceneIndexDefinition;
@@ -88,7 +87,7 @@ public void emptyCommitContext() throws Exception {
8887

8988
@Test
9089
public void nonExistingIndexDefn() throws Exception {
91-
Multimap<String, String> indexedPaths = HashMultimap.create();
90+
MultiValuedMap<String, String> indexedPaths = new HashSetValuedHashMap<>();
9291
indexedPaths.put("/a", "/oak:index/foo");
9392

9493
commitContext.set(LuceneDocumentHolder.NAME, new IndexedPaths(indexedPaths));
@@ -101,7 +100,7 @@ public void nonExistingIndexDefn() throws Exception {
101100

102101
@Test
103102
public void nonExistingPath() throws Exception {
104-
Multimap<String, String> indexedPaths = HashMultimap.create();
103+
MultiValuedMap<String, String> indexedPaths = new HashSetValuedHashMap<>();
105104
indexedPaths.put("/a", "/oak:index/foo");
106105

107106
commitContext.set(LuceneDocumentHolder.NAME, new IndexedPaths(indexedPaths));
@@ -114,7 +113,7 @@ public void nonExistingPath() throws Exception {
114113

115114
@Test
116115
public void nonApplicableRule() throws Exception {
117-
Multimap<String, String> indexedPaths = HashMultimap.create();
116+
MultiValuedMap<String, String> indexedPaths = new HashSetValuedHashMap<>();
118117
indexedPaths.put("/a", "/oak:index/foo");
119118

120119
commitContext.set(LuceneDocumentHolder.NAME, new IndexedPaths(indexedPaths));
@@ -132,7 +131,7 @@ public void nonApplicableRule() throws Exception {
132131

133132
@Test
134133
public void ruleNotResultingInDoc() throws Exception {
135-
Multimap<String, String> indexedPaths = HashMultimap.create();
134+
MultiValuedMap<String, String> indexedPaths = new HashSetValuedHashMap<>();
136135
indexedPaths.put("/a", "/oak:index/foo");
137136

138137
commitContext.set(LuceneDocumentHolder.NAME, new IndexedPaths(indexedPaths));
@@ -154,7 +153,7 @@ public void docAddedToQueue() throws Exception {
154153
}
155154

156155
private void assertIndexing(Observer observer){
157-
Multimap<String, String> indexedPaths = HashMultimap.create();
156+
MultiValuedMap<String, String> indexedPaths = new HashSetValuedHashMap<>();
158157
indexedPaths.put("/a", "/oak:index/foo");
159158

160159
commitContext.set(LuceneDocumentHolder.NAME, new IndexedPaths(indexedPaths));

oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/hybrid/LuceneJournalPropertyBuilderTest.java

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -19,8 +19,8 @@
1919

2020
package org.apache.jackrabbit.oak.plugins.index.lucene.hybrid;
2121

22-
import org.apache.jackrabbit.guava.common.collect.HashMultimap;
23-
import org.apache.jackrabbit.guava.common.collect.Multimap;
22+
import org.apache.commons.collections4.MultiValuedMap;
23+
import org.apache.commons.collections4.multimap.HashSetValuedHashMap;
2424
import org.apache.jackrabbit.oak.commons.collections.IterableUtils;
2525
import org.junit.Test;
2626

@@ -84,7 +84,7 @@ public void addMulti() throws Exception{
8484
builder.addProperty(h2);
8585

8686
IndexedPaths indexedPaths = (IndexedPaths) builder.build();
87-
Multimap<String, String> map = createdIndexPathMap(indexedPaths);
87+
MultiValuedMap<String, String> map = createdIndexPathMap(indexedPaths);
8888
assertThat(map.keySet(), containsInAnyOrder("/oak:index/foo", "/oak:index/bar"));
8989
assertThat(map.get("/oak:index/foo"), containsInAnyOrder("/a", "/b"));
9090
}
@@ -105,7 +105,7 @@ public void addMultiJson() throws Exception{
105105
builder2.addSerializedProperty(json);
106106

107107
IndexedPaths indexedPaths = (IndexedPaths) builder2.build();
108-
Multimap<String, String> map = createdIndexPathMap(indexedPaths);
108+
MultiValuedMap<String, String> map = createdIndexPathMap(indexedPaths);
109109
assertThat(map.keySet(), containsInAnyOrder("/oak:index/foo", "/oak:index/bar"));
110110
assertThat(map.get("/oak:index/foo"), containsInAnyOrder("/a", "/b"));
111111
}
@@ -124,8 +124,8 @@ public void maxLimitReached() throws Exception{
124124
assertEquals(maxSize, IterableUtils.size(indexedPaths));
125125
}
126126

127-
private Multimap<String, String> createdIndexPathMap(Iterable<IndexedPathInfo> itr){
128-
Multimap<String, String> map = HashMultimap.create();
127+
private MultiValuedMap<String, String> createdIndexPathMap(Iterable<IndexedPathInfo> itr){
128+
MultiValuedMap<String, String> map = new HashSetValuedHashMap<>();
129129
for (IndexedPathInfo i : itr){
130130
for (String indexPath : i.getIndexPaths()){
131131
map.put(indexPath, i.getPath());

0 commit comments

Comments
 (0)