This is an automated email from the ASF dual-hosted git repository. daim pushed a commit to branch OAK-11742 in repository https://gitbox.apache.org/repos/asf/jackrabbit-oak.git
commit e0e9c0e14bf222f713838f0fccd1db18e645bba9 Author: Rishabh Kumar <[email protected]> AuthorDate: Thu May 29 14:47:12 2025 +0530 OAK-11742 : removed usage of Guava's ordering with JDK comparator --- .../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..7c05f22d6d 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.nullsLast(Comparator.naturalOrder()); @Override public int compare(Entry<Revision, String> o1,
