This is an automated email from the ASF dual-hosted git repository.
daim pushed a commit to branch trunk
in repository https://gitbox.apache.org/repos/asf/jackrabbit-oak.git
The following commit(s) were added to refs/heads/trunk by this push:
new ee6c57ef58 OAK-11742 : removed usage of Guava's ordering with JDK
comparator (#2314)
ee6c57ef58 is described below
commit ee6c57ef5887ca2e62dd3ced00b5603c5ae58cf3
Author: Rishabh Kumar <[email protected]>
AuthorDate: Fri May 30 21:00:43 2025 +0530
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 <[email protected]>
---
.../oak/plugins/blob/datastore/SharedDataStoreUtils.java | 15 +++------------
.../java/org/apache/jackrabbit/oak/query/QueryImpl.java | 13 ++++---------
.../java/org/apache/jackrabbit/oak/segment/MapEntry.java | 4 ++--
.../jackrabbit/oak/plugins/document/NodeDocument.java | 3 +--
4 files changed, 10 insertions(+), 25 deletions(-)
diff --git
a/oak-blob-plugins/src/main/java/org/apache/jackrabbit/oak/plugins/blob/datastore/SharedDataStoreUtils.java
b/oak-blob-plugins/src/main/java/org/apache/jackrabbit/oak/plugins/blob/datastore/SharedDataStoreUtils.java
index 69198916f6..7a7b560c8e 100644
---
a/oak-blob-plugins/src/main/java/org/apache/jackrabbit/oak/plugins/blob/datastore/SharedDataStoreUtils.java
+++
b/oak-blob-plugins/src/main/java/org/apache/jackrabbit/oak/plugins/blob/datastore/SharedDataStoreUtils.java
@@ -16,20 +16,18 @@
*/
package org.apache.jackrabbit.oak.plugins.blob.datastore;
+import java.util.Collections;
+import java.util.Comparator;
import java.util.List;
import java.util.Set;
-import java.util.function.Function;
import java.util.stream.Collectors;
import org.apache.jackrabbit.guava.common.base.Splitter;
import org.apache.jackrabbit.guava.common.collect.FluentIterable;
-import org.apache.jackrabbit.guava.common.collect.Ordering;
import org.apache.jackrabbit.core.data.DataRecord;
import org.apache.jackrabbit.oak.commons.collections.SetUtils;
import org.apache.jackrabbit.oak.plugins.blob.SharedDataStore;
import org.apache.jackrabbit.oak.spi.blob.BlobStore;
-import org.jetbrains.annotations.NotNull;
-import org.jetbrains.annotations.Nullable;
/**
* Utility class for {@link SharedDataStore}.
@@ -53,14 +51,7 @@ public class SharedDataStoreUtils {
* @return the earliest record
*/
public static DataRecord getEarliestRecord(List<DataRecord> recs) {
- return Ordering.natural().onResultOf(
- new Function<DataRecord, Long>() {
- @Override
- @Nullable
- public Long apply(@NotNull DataRecord input) {
- return input.getLastModified();
- }
- }::apply).min(recs);
+ return Collections.min(recs,
Comparator.comparing(DataRecord::getLastModified, Comparator.naturalOrder()));
}
/**
diff --git
a/oak-core/src/main/java/org/apache/jackrabbit/oak/query/QueryImpl.java
b/oak-core/src/main/java/org/apache/jackrabbit/oak/query/QueryImpl.java
index 64e3a2bd1c..397e1c201b 100644
--- a/oak-core/src/main/java/org/apache/jackrabbit/oak/query/QueryImpl.java
+++ b/oak-core/src/main/java/org/apache/jackrabbit/oak/query/QueryImpl.java
@@ -29,6 +29,7 @@ import java.util.Locale;
import java.util.Map;
import java.util.Optional;
import java.util.Set;
+import java.util.stream.Collectors;
import org.apache.commons.lang3.StringUtils;
import org.apache.jackrabbit.oak.api.PropertyValue;
@@ -105,7 +106,6 @@ import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.apache.jackrabbit.guava.common.collect.AbstractIterator;
-import org.apache.jackrabbit.guava.common.collect.Ordering;
/**
* Represents a parsed query.
@@ -124,12 +124,7 @@ public class QueryImpl implements Query {
private boolean potentiallySlowTraversalQueryLogged;
- private static final Ordering<QueryIndex> MINIMAL_COST_ORDERING = new
Ordering<QueryIndex>() {
- @Override
- public int compare(QueryIndex left, QueryIndex right) {
- return Double.compare(left.getMinimumCost(),
right.getMinimumCost());
- }
- };
+ private static final Comparator<QueryIndex> MINIMAL_COST_ORDERING =
Comparator.comparingDouble(QueryIndex::getMinimumCost);
SourceImpl source;
private String statement;
@@ -1092,8 +1087,8 @@ public class QueryImpl implements Query {
// Sort the indexes according to their minimum cost to be able to skip
the remaining indexes if the cost of the
// current index is below the minimum cost of the next index.
- List<? extends QueryIndex> queryIndexes = MINIMAL_COST_ORDERING
- .sortedCopy(indexProvider.getQueryIndexes(rootState));
+ List<? extends QueryIndex> queryIndexes =
indexProvider.getQueryIndexes(rootState).stream()
+ .sorted(MINIMAL_COST_ORDERING).collect(Collectors.toList());
List<OrderEntry> sortOrder = getSortOrder(filter);
for (int i = 0; i < queryIndexes.size(); i++) {
QueryIndex index = queryIndexes.get(i);
diff --git
a/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/MapEntry.java
b/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/MapEntry.java
index f6cd6fc144..033d8b2108 100644
---
a/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/MapEntry.java
+++
b/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/MapEntry.java
@@ -21,10 +21,10 @@ package org.apache.jackrabbit.oak.segment;
import static java.util.Objects.requireNonNull;
import static org.apache.jackrabbit.oak.segment.MapRecord.HASH_MASK;
+import java.util.Comparator;
import java.util.Map;
import org.apache.jackrabbit.guava.common.collect.ComparisonChain;
-import org.apache.jackrabbit.guava.common.collect.Ordering;
import org.apache.jackrabbit.oak.commons.conditions.Validate;
import org.apache.jackrabbit.oak.spi.state.AbstractChildNodeEntry;
import org.jetbrains.annotations.NotNull;
@@ -152,7 +152,7 @@ class MapEntry extends AbstractChildNodeEntry
return ComparisonChain.start()
.compare(getHash() & HASH_MASK, that.getHash() & HASH_MASK)
.compare(name, that.name)
- .compare(value, that.value, Ordering.natural().nullsLast())
+ .compare(value, that.value,
Comparator.nullsLast(Comparator.naturalOrder()))
.result();
}
diff --git
a/oak-store-document/src/main/java/org/apache/jackrabbit/oak/plugins/document/NodeDocument.java
b/oak-store-document/src/main/java/org/apache/jackrabbit/oak/plugins/document/NodeDocument.java
index 967ae774b2..bee38bbc58 100644
---
a/oak-store-document/src/main/java/org/apache/jackrabbit/oak/plugins/document/NodeDocument.java
+++
b/oak-store-document/src/main/java/org/apache/jackrabbit/oak/plugins/document/NodeDocument.java
@@ -51,7 +51,6 @@ import java.util.function.Predicate;
import org.apache.jackrabbit.guava.common.cache.Cache;
import org.apache.jackrabbit.guava.common.collect.AbstractIterator;
-import org.apache.jackrabbit.guava.common.collect.Ordering;
import org.apache.jackrabbit.oak.api.PropertyState;
import org.apache.jackrabbit.oak.commons.PathUtils;
import org.apache.jackrabbit.oak.commons.collections.DequeUtils;
@@ -2551,7 +2550,7 @@ public final class NodeDocument extends Document {
static final Comparator<Entry<Revision, String>> REVERSE =
Collections.reverseOrder(INSTANCE);
- private static final Ordering<String> STRING_ORDERING =
Ordering.natural().nullsFirst();
+ private static final Comparator<String> STRING_ORDERING =
Comparator.nullsFirst(Comparator.naturalOrder());
@Override
public int compare(Entry<Revision, String> o1,