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,

Reply via email to