Skip to content

Commit dc72b46

Browse files
committed
Merge branch 'trunk' into OAK-11399
2 parents 2edbeb5 + 278dde0 commit dc72b46

File tree

20 files changed

+66
-64
lines changed

20 files changed

+66
-64
lines changed

oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/importer/IndexImporter.java

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

2020
package org.apache.jackrabbit.oak.plugins.index.importer;
2121

22+
import org.apache.commons.collections4.ListValuedMap;
23+
import org.apache.commons.collections4.multimap.ArrayListValuedHashMap;
2224
import org.apache.jackrabbit.guava.common.base.Stopwatch;
23-
import org.apache.jackrabbit.guava.common.collect.ArrayListMultimap;
24-
import org.apache.jackrabbit.guava.common.collect.ListMultimap;
2525
import org.apache.jackrabbit.oak.api.CommitFailedException;
2626
import org.apache.jackrabbit.oak.api.PropertyState;
2727
import org.apache.jackrabbit.oak.api.Type;
@@ -79,7 +79,7 @@ public class IndexImporter {
7979
private final Map<String, IndexImporterProvider> importers = new HashMap<>();
8080
private final IndexerInfo indexerInfo;
8181
private final Map<String, File> indexes;
82-
private final ListMultimap<String, IndexInfo> asyncLaneToIndexMapping;
82+
private final ListValuedMap<String, IndexInfo> asyncLaneToIndexMapping;
8383
private final NodeState indexedState;
8484
private final IndexEditorProvider indexEditorProvider;
8585
private final AsyncIndexerLock indexerLock;
@@ -378,9 +378,9 @@ private IndexImporterProvider getImporter(String type) {
378378
return requireNonNull(provider, "No IndexImporterProvider found for type [" + type + "]");
379379
}
380380

381-
private ListMultimap<String, IndexInfo> mapIndexesToLanes(Map<String, File> indexes) {
381+
private ListValuedMap<String, IndexInfo> mapIndexesToLanes(Map<String, File> indexes) {
382382
NodeState rootState = nodeStore.getRoot();
383-
ListMultimap<String, IndexInfo> map = ArrayListMultimap.create();
383+
ListValuedMap<String, IndexInfo> map = new ArrayListValuedHashMap<>();
384384
for (Map.Entry<String, File> e : indexes.entrySet()) {
385385
String indexPath = e.getKey();
386386

oak-core/src/main/java/org/apache/jackrabbit/oak/query/index/FilterImpl.java

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -30,8 +30,8 @@
3030
import javax.jcr.PropertyType;
3131
import javax.jcr.Session;
3232

33-
import org.apache.jackrabbit.guava.common.collect.ArrayListMultimap;
34-
import org.apache.jackrabbit.guava.common.collect.ListMultimap;
33+
import org.apache.commons.collections4.ListValuedMap;
34+
import org.apache.commons.collections4.multimap.ArrayListValuedHashMap;
3535
import org.apache.jackrabbit.oak.api.PropertyValue;
3636
import org.apache.jackrabbit.oak.commons.PathUtils;
3737
import org.apache.jackrabbit.oak.spi.query.QueryLimits;
@@ -97,8 +97,7 @@ public class FilterImpl implements Filter {
9797
* restrictions must apply, for example x=1 and x=2. For this case, only
9898
* multi-valued properties match if it contains both the values 1 and 2.
9999
*/
100-
private final ListMultimap<String, PropertyRestriction> propertyRestrictions =
101-
ArrayListMultimap.create();
100+
private final ListValuedMap<String, PropertyRestriction> propertyRestrictions = new ArrayListValuedHashMap<>();
102101

103102
/**
104103
* Only return distinct values.

oak-jcr/pom.xml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -213,6 +213,10 @@
213213
<artifactId>jcr</artifactId>
214214
<version>2.0</version>
215215
</dependency>
216+
<dependency>
217+
<groupId>org.apache.commons</groupId>
218+
<artifactId>commons-collections4</artifactId>
219+
</dependency>
216220

217221
<dependency>
218222
<groupId>org.apache.jackrabbit</groupId>

oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/xml/TargetImportHandler.java

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,8 @@
2525

2626
import javax.jcr.RepositoryException;
2727

28+
import org.apache.commons.collections4.ListValuedMap;
29+
import org.apache.commons.collections4.multimap.ArrayListValuedHashMap;
2830
import org.apache.jackrabbit.oak.api.Tree;
2931
import org.apache.jackrabbit.oak.jcr.session.SessionContext;
3032
import org.apache.jackrabbit.oak.namepath.impl.LocalNameMapper;
@@ -35,9 +37,6 @@
3537
import org.xml.sax.SAXException;
3638
import org.xml.sax.helpers.DefaultHandler;
3739

38-
import org.apache.jackrabbit.guava.common.collect.ArrayListMultimap;
39-
import org.apache.jackrabbit.guava.common.collect.ListMultimap;
40-
4140
/**
4241
* {@code TargetImportHandler} serves as the base class for the concrete
4342
* classes {@code {@link DocViewImportHandler}} and
@@ -47,7 +46,7 @@ public abstract class TargetImportHandler extends DefaultHandler {
4746

4847
protected final Importer importer;
4948
protected final SessionContext sessionContext;
50-
private final ListMultimap<String, String> documentContext = ArrayListMultimap.create();
49+
private final ListValuedMap<String, String> documentContext = new ArrayListValuedHashMap<>();
5150
private Map<String, String> documentPrefixMap = Collections.emptyMap();
5251

5352
protected TargetImportHandler(Importer importer, SessionContext sessionContext) {

oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/directory/IndexRootDirectory.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -30,9 +30,9 @@
3030
import java.util.Map;
3131
import java.util.TreeMap;
3232

33-
import org.apache.jackrabbit.guava.common.collect.ArrayListMultimap;
33+
import org.apache.commons.collections4.ListValuedMap;
34+
import org.apache.commons.collections4.multimap.ArrayListValuedHashMap;
3435
import org.apache.jackrabbit.guava.common.collect.Iterables;
35-
import org.apache.jackrabbit.guava.common.collect.ListMultimap;
3636
import org.apache.jackrabbit.guava.common.hash.Hashing;
3737
import org.apache.commons.io.FileUtils;
3838
import org.apache.jackrabbit.oak.commons.IOUtils;
@@ -220,7 +220,7 @@ static String getPathHash(String indexPath) {
220220
private Map<String, List<LocalIndexDir>> getIndexesPerPath() throws IOException {
221221
File[] dirs = indexRootDir.listFiles(LOCAL_DIR_FILTER);
222222

223-
ListMultimap<String, LocalIndexDir> pathToDirMap = ArrayListMultimap.create();
223+
ListValuedMap<String, LocalIndexDir> pathToDirMap = new ArrayListValuedHashMap<>();
224224
for (File indexDir : dirs){
225225
LocalIndexDir localIndexDir = new LocalIndexDir(indexDir);
226226
pathToDirMap.get(localIndexDir.getJcrPath()).add(localIndexDir);

oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/directory/OakBufferedIndexFile.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -34,9 +34,9 @@
3434
import org.apache.lucene.store.DataInput;
3535
import org.jetbrains.annotations.NotNull;
3636

37+
import static java.util.Objects.checkFromToIndex;
3738
import static java.util.Objects.checkIndex;
3839
import static java.util.Objects.requireNonNull;
39-
import static org.apache.jackrabbit.guava.common.base.Preconditions.checkPositionIndexes;
4040
import static org.apache.jackrabbit.JcrConstants.JCR_DATA;
4141
import static org.apache.jackrabbit.JcrConstants.JCR_LASTMODIFIED;
4242
import static org.apache.jackrabbit.oak.api.Type.BINARIES;
@@ -237,7 +237,7 @@ public void seek(long pos) throws IOException {
237237
@Override
238238
public void readBytes(byte[] b, int offset, int len)
239239
throws IOException {
240-
checkPositionIndexes(offset, offset + len, requireNonNull(b).length);
240+
checkFromToIndex(offset, offset + len, requireNonNull(b).length);
241241

242242
if (len < 0 || position + len > length) {
243243
String msg = String.format("Invalid byte range request for [%s][%s], " +

oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/directory/OakStreamingIndexFile.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@
3333
import org.slf4j.LoggerFactory;
3434

3535
import static java.util.Objects.requireNonNull;
36-
import static org.apache.jackrabbit.guava.common.base.Preconditions.checkPositionIndexes;
36+
import static java.util.Objects.checkFromToIndex;
3737
import static org.apache.jackrabbit.JcrConstants.JCR_DATA;
3838
import static org.apache.jackrabbit.JcrConstants.JCR_LASTMODIFIED;
3939
import static org.apache.jackrabbit.oak.api.Type.BINARY;
@@ -222,7 +222,7 @@ public void seek(long pos) throws IOException {
222222
@Override
223223
public void readBytes(byte[] b, int offset, int len)
224224
throws IOException {
225-
checkPositionIndexes(offset, offset + len, requireNonNull(b).length);
225+
checkFromToIndex(offset, offset + len, requireNonNull(b).length);
226226

227227
if (len < 0 || position + len > length) {
228228
String msg = String.format("Invalid byte range request for [%s][%s], " +

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

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -33,8 +33,8 @@
3333
import java.util.concurrent.TimeUnit;
3434
import java.util.concurrent.locks.Lock;
3535

36-
import org.apache.jackrabbit.guava.common.collect.ArrayListMultimap;
37-
import org.apache.jackrabbit.guava.common.collect.ListMultimap;
36+
import org.apache.commons.collections4.ListValuedMap;
37+
import org.apache.commons.collections4.multimap.ArrayListValuedHashMap;
3838
import org.apache.jackrabbit.guava.common.util.concurrent.Striped;
3939
import org.apache.jackrabbit.oak.commons.PerfLogger;
4040
import org.apache.jackrabbit.oak.commons.concurrent.NotifyingFutureTask;
@@ -100,7 +100,7 @@ public Void call() throws Exception {
100100
long start = PERF_LOGGER.start();
101101
int maxSize = docsQueue.size();
102102
List<LuceneDoc> docs = new ArrayList<>(maxSize);
103-
ListMultimap<String, LuceneDoc> docsPerIndex = ArrayListMultimap.create();
103+
ListValuedMap<String, LuceneDoc> docsPerIndex = new ArrayListValuedHashMap<>();
104104

105105
//Do the processing in batches
106106
int count = docsQueue.drainTo(docs, maxSize);

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

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -21,9 +21,9 @@
2121
import java.util.Collection;
2222
import java.util.Map;
2323

24-
import org.apache.jackrabbit.guava.common.collect.ArrayListMultimap;
24+
import org.apache.commons.collections4.ListValuedMap;
25+
import org.apache.commons.collections4.multimap.ArrayListValuedHashMap;
2526
import org.apache.jackrabbit.guava.common.collect.Iterables;
26-
import org.apache.jackrabbit.guava.common.collect.ListMultimap;
2727
import org.apache.jackrabbit.oak.plugins.document.spi.JournalProperty;
2828
import org.jetbrains.annotations.NotNull;
2929
import org.slf4j.Logger;
@@ -35,10 +35,10 @@ public class LuceneDocumentHolder implements JournalProperty {
3535
private static final Logger log = LoggerFactory.getLogger(LuceneDocumentHolder.class);
3636
public static final String NAME = "luceneDocs";
3737

38-
private final ListMultimap<String, LuceneDoc> nrtIndexedList = ArrayListMultimap.create();
39-
private final ListMultimap<String, LuceneDoc> syncIndexedList = ArrayListMultimap.create();
40-
private final ListMultimap<String, String> queuedNrtIndexedPath = ArrayListMultimap.create();
41-
private final ListMultimap<String, LuceneDoc> queuedSyncIndexedPath = ArrayListMultimap.create();
38+
private final ListValuedMap<String, LuceneDoc> nrtIndexedList = new ArrayListValuedHashMap<>();
39+
private final ListValuedMap<String, LuceneDoc> syncIndexedList = new ArrayListValuedHashMap<>();
40+
private final ListValuedMap<String, String> queuedNrtIndexedPath = new ArrayListValuedHashMap<>();
41+
private final ListValuedMap<String, LuceneDoc> queuedSyncIndexedPath = new ArrayListValuedHashMap<>();
4242
private final int inMemoryDocsLimit;
4343
private final IndexingQueue documentQueue;
4444
private boolean limitWarningLogged;
@@ -114,7 +114,7 @@ private boolean queueSizeWithinLimits(){
114114
return true;
115115
}
116116

117-
private static Iterable<? extends LuceneDocInfo> asLuceneDocInfo(ListMultimap<String, String> docs) {
117+
private static Iterable<? extends LuceneDocInfo> asLuceneDocInfo(ListValuedMap<String, String> docs) {
118118
return Iterables.transform(docs.entries(), input -> {
119119
return new LuceneDocInfo() {
120120
@Override

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

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -27,10 +27,10 @@
2727
import java.util.concurrent.Executors;
2828
import java.util.concurrent.TimeUnit;
2929

30+
import org.apache.commons.collections4.ListValuedMap;
31+
import org.apache.commons.collections4.multimap.ArrayListValuedHashMap;
3032
import org.apache.jackrabbit.guava.common.base.Stopwatch;
31-
import org.apache.jackrabbit.guava.common.collect.ArrayListMultimap;
3233

33-
import org.apache.jackrabbit.guava.common.collect.ListMultimap;
3434
import org.apache.jackrabbit.oak.api.CommitFailedException;
3535
import org.apache.jackrabbit.oak.plugins.index.IndexEditorProvider;
3636
import org.apache.jackrabbit.oak.plugins.index.IndexUpdateProvider;
@@ -220,7 +220,7 @@ public void indexRefresh() throws Exception{
220220

221221
@Test
222222
public void addAllSync() throws Exception{
223-
ListMultimap<String, LuceneDoc> docs = ArrayListMultimap.create();
223+
ListValuedMap<String, LuceneDoc> docs = new ArrayListValuedHashMap<>();
224224
tracker = createTracker();
225225
NodeState indexed = createAndPopulateAsyncIndex(FulltextIndexConstants.IndexingMode.SYNC);
226226
tracker.update(indexed);
@@ -285,7 +285,7 @@ public void benchMarkIndexWriter() throws Exception{
285285

286286
w = Stopwatch.createStarted();
287287
for (int i = 0; i < numDocs; i++) {
288-
ListMultimap<String, LuceneDoc> docs = ArrayListMultimap.create();
288+
ListValuedMap<String, LuceneDoc> docs = new ArrayListValuedHashMap<>();
289289
docs.get("/oak:index/fooIndex").add(doc);
290290
queue.addAllSynchronously(docs.asMap());
291291
}

0 commit comments

Comments
 (0)