Skip to content

Commit ee6c57e

Browse files
rishabhdaimRishabh Kumar
andauthored
OAK-11742 : removed usage of Guava's ordering with JDK comparator (#2314)
* OAK-11742 : removed usage of Guava's ordering with JDK comparator * OAK-11742 : fixed nulls ordering --------- Co-authored-by: Rishabh Kumar <diam@adobe.com>
1 parent c14e17e commit ee6c57e

File tree

4 files changed

+10
-25
lines changed

4 files changed

+10
-25
lines changed

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

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

19+
import java.util.Collections;
20+
import java.util.Comparator;
1921
import java.util.List;
2022
import java.util.Set;
21-
import java.util.function.Function;
2223
import java.util.stream.Collectors;
2324

2425
import org.apache.jackrabbit.guava.common.base.Splitter;
2526
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;
3331

3432
/**
3533
* Utility class for {@link SharedDataStore}.
@@ -53,14 +51,7 @@ public static boolean isShared(BlobStore blobStore) {
5351
* @return the earliest record
5452
*/
5553
public static DataRecord getEarliestRecord(List<DataRecord> recs) {
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);
54+
return Collections.min(recs, Comparator.comparing(DataRecord::getLastModified, Comparator.naturalOrder()));
6455
}
6556

6657
/**

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

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

3334
import org.apache.commons.lang3.StringUtils;
3435
import org.apache.jackrabbit.oak.api.PropertyValue;
@@ -105,7 +106,6 @@
105106
import org.slf4j.LoggerFactory;
106107

107108
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,12 +124,7 @@ public class QueryImpl implements Query {
124124

125125
private boolean potentiallySlowTraversalQueryLogged;
126126

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-
};
127+
private static final Comparator<QueryIndex> MINIMAL_COST_ORDERING = Comparator.comparingDouble(QueryIndex::getMinimumCost);
133128

134129
SourceImpl source;
135130
private String statement;
@@ -1092,8 +1087,8 @@ private SelectorExecutionPlan getBestSelectorExecutionPlan(
10921087

10931088
// Sort the indexes according to their minimum cost to be able to skip the remaining indexes if the cost of the
10941089
// current index is below the minimum cost of the next index.
1095-
List<? extends QueryIndex> queryIndexes = MINIMAL_COST_ORDERING
1096-
.sortedCopy(indexProvider.getQueryIndexes(rootState));
1090+
List<? extends QueryIndex> queryIndexes = indexProvider.getQueryIndexes(rootState).stream()
1091+
.sorted(MINIMAL_COST_ORDERING).collect(Collectors.toList());
10971092
List<OrderEntry> sortOrder = getSortOrder(filter);
10981093
for (int i = 0; i < queryIndexes.size(); i++) {
10991094
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;
2425
import java.util.Map;
2526

2627
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, Ordering.natural().nullsLast())
155+
.compare(value, that.value, Comparator.nullsLast(Comparator.naturalOrder()))
156156
.result();
157157
}
158158

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

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,6 @@
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;
5554
import org.apache.jackrabbit.oak.api.PropertyState;
5655
import org.apache.jackrabbit.oak.commons.PathUtils;
5756
import org.apache.jackrabbit.oak.commons.collections.DequeUtils;
@@ -2551,7 +2550,7 @@ private static final class ValueComparator implements
25512550

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

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

25562555
@Override
25572556
public int compare(Entry<Revision, String> o1,

0 commit comments

Comments
 (0)