Skip to content

Commit e3b4f9c

Browse files
committed
Revert "OAK-11742 : removed usage of Guava's ordering with JDK comparator (#2314)"
This reverts commit ee6c57e.
1 parent e5a56a6 commit e3b4f9c

File tree

4 files changed

+25
-10
lines changed

4 files changed

+25
-10
lines changed

oak-blob-plugins/src/main/java/org/apache/jackrabbit/oak/plugins/blob/datastore/SharedDataStoreUtils.java

Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -16,18 +16,20 @@
1616
*/
1717
package org.apache.jackrabbit.oak.plugins.blob.datastore;
1818

19-
import java.util.Collections;
20-
import java.util.Comparator;
2119
import java.util.List;
2220
import java.util.Set;
21+
import java.util.function.Function;
2322
import java.util.stream.Collectors;
2423

2524
import org.apache.jackrabbit.guava.common.base.Splitter;
2625
import org.apache.jackrabbit.guava.common.collect.FluentIterable;
26+
import org.apache.jackrabbit.guava.common.collect.Ordering;
2727
import org.apache.jackrabbit.core.data.DataRecord;
2828
import org.apache.jackrabbit.oak.commons.collections.SetUtils;
2929
import org.apache.jackrabbit.oak.plugins.blob.SharedDataStore;
3030
import org.apache.jackrabbit.oak.spi.blob.BlobStore;
31+
import org.jetbrains.annotations.NotNull;
32+
import org.jetbrains.annotations.Nullable;
3133

3234
/**
3335
* Utility class for {@link SharedDataStore}.
@@ -51,7 +53,14 @@ public static boolean isShared(BlobStore blobStore) {
5153
* @return the earliest record
5254
*/
5355
public static DataRecord getEarliestRecord(List<DataRecord> recs) {
54-
return Collections.min(recs, Comparator.comparing(DataRecord::getLastModified, Comparator.naturalOrder()));
56+
return Ordering.natural().onResultOf(
57+
new Function<DataRecord, Long>() {
58+
@Override
59+
@Nullable
60+
public Long apply(@NotNull DataRecord input) {
61+
return input.getLastModified();
62+
}
63+
}::apply).min(recs);
5564
}
5665

5766
/**

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

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,6 @@
2929
import java.util.Map;
3030
import java.util.Optional;
3131
import java.util.Set;
32-
import java.util.stream.Collectors;
3332

3433
import org.apache.commons.lang3.StringUtils;
3534
import org.apache.jackrabbit.oak.api.PropertyValue;
@@ -106,6 +105,7 @@
106105
import org.slf4j.LoggerFactory;
107106

108107
import org.apache.jackrabbit.guava.common.collect.AbstractIterator;
108+
import org.apache.jackrabbit.guava.common.collect.Ordering;
109109

110110
/**
111111
* Represents a parsed query.
@@ -124,7 +124,12 @@ public class QueryImpl implements Query {
124124

125125
private boolean potentiallySlowTraversalQueryLogged;
126126

127-
private static final Comparator<QueryIndex> MINIMAL_COST_ORDERING = Comparator.comparingDouble(QueryIndex::getMinimumCost);
127+
private static final Ordering<QueryIndex> MINIMAL_COST_ORDERING = new Ordering<QueryIndex>() {
128+
@Override
129+
public int compare(QueryIndex left, QueryIndex right) {
130+
return Double.compare(left.getMinimumCost(), right.getMinimumCost());
131+
}
132+
};
128133

129134
SourceImpl source;
130135
private String statement;
@@ -1087,8 +1092,8 @@ private SelectorExecutionPlan getBestSelectorExecutionPlan(
10871092

10881093
// Sort the indexes according to their minimum cost to be able to skip the remaining indexes if the cost of the
10891094
// current index is below the minimum cost of the next index.
1090-
List<? extends QueryIndex> queryIndexes = indexProvider.getQueryIndexes(rootState).stream()
1091-
.sorted(MINIMAL_COST_ORDERING).collect(Collectors.toList());
1095+
List<? extends QueryIndex> queryIndexes = MINIMAL_COST_ORDERING
1096+
.sortedCopy(indexProvider.getQueryIndexes(rootState));
10921097
List<OrderEntry> sortOrder = getSortOrder(filter);
10931098
for (int i = 0; i < queryIndexes.size(); i++) {
10941099
QueryIndex index = queryIndexes.get(i);

oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/MapEntry.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,10 +21,10 @@
2121
import static java.util.Objects.requireNonNull;
2222
import static org.apache.jackrabbit.oak.segment.MapRecord.HASH_MASK;
2323

24-
import java.util.Comparator;
2524
import java.util.Map;
2625

2726
import org.apache.jackrabbit.guava.common.collect.ComparisonChain;
27+
import org.apache.jackrabbit.guava.common.collect.Ordering;
2828
import org.apache.jackrabbit.oak.commons.conditions.Validate;
2929
import org.apache.jackrabbit.oak.spi.state.AbstractChildNodeEntry;
3030
import org.jetbrains.annotations.NotNull;
@@ -152,7 +152,7 @@ public int compareTo(@NotNull MapEntry that) {
152152
return ComparisonChain.start()
153153
.compare(getHash() & HASH_MASK, that.getHash() & HASH_MASK)
154154
.compare(name, that.name)
155-
.compare(value, that.value, Comparator.nullsLast(Comparator.naturalOrder()))
155+
.compare(value, that.value, Ordering.natural().nullsLast())
156156
.result();
157157
}
158158

oak-store-document/src/main/java/org/apache/jackrabbit/oak/plugins/document/NodeDocument.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -51,6 +51,7 @@
5151

5252
import org.apache.jackrabbit.guava.common.cache.Cache;
5353
import org.apache.jackrabbit.guava.common.collect.AbstractIterator;
54+
import org.apache.jackrabbit.guava.common.collect.Ordering;
5455
import org.apache.jackrabbit.oak.api.PropertyState;
5556
import org.apache.jackrabbit.oak.commons.PathUtils;
5657
import org.apache.jackrabbit.oak.commons.collections.DequeUtils;
@@ -2550,7 +2551,7 @@ private static final class ValueComparator implements
25502551

25512552
static final Comparator<Entry<Revision, String>> REVERSE = Collections.reverseOrder(INSTANCE);
25522553

2553-
private static final Comparator<String> STRING_ORDERING = Comparator.nullsFirst(Comparator.naturalOrder());
2554+
private static final Ordering<String> STRING_ORDERING = Ordering.natural().nullsFirst();
25542555

25552556
@Override
25562557
public int compare(Entry<Revision, String> o1,

0 commit comments

Comments
 (0)