You are viewing a plain text version of this content. The canonical link for it is here.
Posted to oak-commits@jackrabbit.apache.org by re...@apache.org on 2024/09/06 14:01:51 UTC

(jackrabbit-oak) branch trunk updated: OAK-11087: Remove usage of Guava Predicates.in() (#1694)

This is an automated email from the ASF dual-hosted git repository.

reschke 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 1e24f55ac6 OAK-11087: Remove usage of Guava Predicates.in() (#1694)
1e24f55ac6 is described below

commit 1e24f55ac6e4e0109c344bb447afed7606047bc9
Author: Julian Reschke <re...@apache.org>
AuthorDate: Fri Sep 6 16:01:44 2024 +0200

    OAK-11087: Remove usage of Guava Predicates.in() (#1694)
---
 .../oak/plugins/index/aggregate/AggregationCursor.java        |  3 +--
 .../oak/plugins/index/property/PropertyIndexPlan.java         |  3 +--
 .../oak/plugins/migration/AbstractDecoratedNodeState.java     |  3 +--
 .../apache/jackrabbit/oak/plugins/nodetype/TypeEditor.java    |  5 ++---
 .../apache/jackrabbit/oak/plugins/nodetype/TypePredicate.java |  7 +++----
 .../jackrabbit/oak/plugins/index/lucene/IndexTracker.java     |  3 +--
 .../plugins/index/search/spi/query/FulltextIndexTracker.java  |  3 +--
 .../oak/plugins/document/mongo/MongoDocumentStore.java        |  5 ++---
 .../oak/plugins/document/persistentCache/NodeCache.java       |  3 +--
 .../jackrabbit/oak/plugins/memory/ModifiedNodeState.java      | 11 +++++++----
 10 files changed, 20 insertions(+), 26 deletions(-)

diff --git a/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/aggregate/AggregationCursor.java b/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/aggregate/AggregationCursor.java
index 21ba4f3827..fcd1e03576 100644
--- a/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/aggregate/AggregationCursor.java
+++ b/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/aggregate/AggregationCursor.java
@@ -28,7 +28,6 @@ import org.apache.jackrabbit.oak.spi.query.Cursor;
 import org.apache.jackrabbit.oak.spi.query.IndexRow;
 import org.apache.jackrabbit.oak.spi.query.QueryIndex;
 import org.apache.jackrabbit.oak.spi.state.NodeState;
-
 import org.apache.jackrabbit.guava.common.base.Predicates;
 import org.apache.jackrabbit.guava.common.collect.Iterators;
 
@@ -94,7 +93,7 @@ class AggregationCursor extends AbstractCursor {
                 aggregates = Iterators.filter(Iterators.concat(
                         Iterators.singletonIterator(path),
                         aggregator.getParents(rootState, path)), Predicates
-                        .not(Predicates.in(seenPaths)));
+                        .not(x -> seenPaths.contains(x)));
             }
             fetchNext();
             return;
diff --git a/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/property/PropertyIndexPlan.java b/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/property/PropertyIndexPlan.java
index ceb12ba717..749a6f98e7 100644
--- a/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/property/PropertyIndexPlan.java
+++ b/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/property/PropertyIndexPlan.java
@@ -16,7 +16,6 @@
  */
 package org.apache.jackrabbit.oak.plugins.index.property;
 
-import static org.apache.jackrabbit.guava.common.base.Predicates.in;
 import static org.apache.jackrabbit.guava.common.collect.Iterables.any;
 import static org.apache.jackrabbit.guava.common.collect.Sets.newHashSet;
 import static java.util.Collections.emptySet;
@@ -110,7 +109,7 @@ public class PropertyIndexPlan {
         this.matchesAllTypes = !definition.hasProperty(DECLARING_NODE_TYPES);
         this.deprecated = definition.getBoolean(IndexConstants.INDEX_DEPRECATED);
         this.matchesNodeTypes =
-                matchesAllTypes || any(types, in(filter.getSupertypes()));
+                matchesAllTypes || any(types, x -> filter.getSupertypes().contains(x));
 
         ValuePattern valuePattern = new ValuePattern(definition);
 
diff --git a/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/migration/AbstractDecoratedNodeState.java b/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/migration/AbstractDecoratedNodeState.java
index f7fc2e947f..a5a5798261 100644
--- a/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/migration/AbstractDecoratedNodeState.java
+++ b/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/migration/AbstractDecoratedNodeState.java
@@ -16,7 +16,6 @@
  */
 package org.apache.jackrabbit.oak.plugins.migration;
 
-import org.apache.jackrabbit.guava.common.base.Predicates;
 import org.apache.jackrabbit.guava.common.collect.Iterables;
 import org.apache.jackrabbit.oak.api.PropertyState;
 import org.apache.jackrabbit.oak.api.Type;
@@ -99,7 +98,7 @@ public abstract class AbstractDecoratedNodeState extends AbstractNodeState {
             final Collection<String> childNodeNames = new ArrayList<String>();
             Iterables.addAll(childNodeNames, nodeState.getChildNodeNames());
             final Iterable<String> values = Iterables.filter(
-                    propertyState.getValue(Type.NAMES), Predicates.in(childNodeNames));
+                    propertyState.getValue(Type.NAMES), x -> childNodeNames.contains(x));
             return PropertyStates.createProperty(OAK_CHILD_ORDER, values, Type.NAMES);
         }
         return propertyState;
diff --git a/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/nodetype/TypeEditor.java b/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/nodetype/TypeEditor.java
index 9e00410b80..3dc672ef44 100644
--- a/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/nodetype/TypeEditor.java
+++ b/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/nodetype/TypeEditor.java
@@ -17,7 +17,6 @@
 package org.apache.jackrabbit.oak.plugins.nodetype;
 
 import static java.util.Objects.requireNonNull;
-import static org.apache.jackrabbit.guava.common.base.Predicates.in;
 import static org.apache.jackrabbit.guava.common.collect.Iterables.any;
 import static org.apache.jackrabbit.JcrConstants.JCR_ISMIXIN;
 import static org.apache.jackrabbit.JcrConstants.JCR_MIXINTYPES;
@@ -176,7 +175,7 @@ public class TypeEditor extends DefaultEditor {
         this.checkThisNode =
                 typesToCheck == null
                 || typesToCheck.contains(primary)
-                || any(mixins, in(typesToCheck));
+                || any(mixins, x -> typesToCheck.contains(x));
         this.parent = null;
         this.nodeName = null;
         this.types = requireNonNull(types);
@@ -196,7 +195,7 @@ public class TypeEditor extends DefaultEditor {
         this.checkThisNode =
                 typesToCheck == null
                 || typesToCheck.contains(primary)
-                || any(mixins, in(typesToCheck));
+                || any(mixins, x -> typesToCheck.contains(x));
         this.parent = requireNonNull(parent);
         this.nodeName = requireNonNull(name);
         this.types = parent.types;
diff --git a/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/nodetype/TypePredicate.java b/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/nodetype/TypePredicate.java
index a4dc6d8067..08238729d5 100644
--- a/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/nodetype/TypePredicate.java
+++ b/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/nodetype/TypePredicate.java
@@ -31,7 +31,6 @@ import org.jetbrains.annotations.Nullable;
 
 import static java.util.Collections.singleton;
 import static java.util.Objects.requireNonNull;
-import static org.apache.jackrabbit.guava.common.base.Predicates.in;
 import static org.apache.jackrabbit.guava.common.collect.Iterables.any;
 import static org.apache.jackrabbit.guava.common.collect.Sets.newHashSet;
 import static org.apache.jackrabbit.JcrConstants.JCR_HASORDERABLECHILDNODES;
@@ -161,7 +160,7 @@ public class TypePredicate implements Predicate<NodeState> {
         if (primaryTypes != null && primaryTypes.contains(primary)) {
             return true;
         }
-        if (mixinTypes != null && any(mixins, in(mixinTypes))) {
+        if (mixinTypes != null && any(mixins, x -> mixinTypes.contains(x))) {
             return true;
         }
         return false;
@@ -175,7 +174,7 @@ public class TypePredicate implements Predicate<NodeState> {
                 return true;
             }
             if (mixinTypes != null
-                    && any(TreeUtil.getNames(input, JCR_MIXINTYPES), in(mixinTypes))) {
+                    && any(TreeUtil.getNames(input, JCR_MIXINTYPES), x -> mixinTypes.contains(x))) {
                 return true;
             }
         }
@@ -193,7 +192,7 @@ public class TypePredicate implements Predicate<NodeState> {
                 return true;
             }
             if (mixinTypes != null
-                    && any(input.getNames(JCR_MIXINTYPES), in(mixinTypes))) {
+                    && any(input.getNames(JCR_MIXINTYPES), x -> mixinTypes.contains(x))) {
                 return true;
             }
         }
diff --git a/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/IndexTracker.java b/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/IndexTracker.java
index 9593c36e1c..28b48b37a3 100644
--- a/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/IndexTracker.java
+++ b/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/IndexTracker.java
@@ -48,7 +48,6 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 import static java.util.Objects.requireNonNull;
-import static org.apache.jackrabbit.guava.common.base.Predicates.in;
 import static org.apache.jackrabbit.guava.common.base.Predicates.not;
 
 import static org.apache.jackrabbit.guava.common.collect.Lists.newArrayListWithCapacity;
@@ -188,7 +187,7 @@ public class IndexTracker {
 
         if (!updates.isEmpty()) {
             indices = ImmutableMap.<String, LuceneIndexNodeManager>builder()
-                    .putAll(Maps.filterKeys(original, not(in(updates.keySet()))))
+                    .putAll(Maps.filterKeys(original, not(x -> updates.keySet().contains(x))))
                     .putAll(Maps.filterValues(updates, x -> x != null))
                     .build();
 
diff --git a/oak-search/src/main/java/org/apache/jackrabbit/oak/plugins/index/search/spi/query/FulltextIndexTracker.java b/oak-search/src/main/java/org/apache/jackrabbit/oak/plugins/index/search/spi/query/FulltextIndexTracker.java
index af55831c5d..8a5f97c433 100644
--- a/oak-search/src/main/java/org/apache/jackrabbit/oak/plugins/index/search/spi/query/FulltextIndexTracker.java
+++ b/oak-search/src/main/java/org/apache/jackrabbit/oak/plugins/index/search/spi/query/FulltextIndexTracker.java
@@ -44,7 +44,6 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 import static java.util.Objects.requireNonNull;
-import static org.apache.jackrabbit.guava.common.base.Predicates.in;
 import static org.apache.jackrabbit.guava.common.base.Predicates.not;
 
 import static org.apache.jackrabbit.guava.common.collect.Maps.filterKeys;
@@ -150,7 +149,7 @@ public abstract class FulltextIndexTracker<I extends IndexNodeManager<N>, N exte
 
         if (!updates.isEmpty()) {
             indices = ImmutableMap.<String, I>builder()
-                    .putAll(filterKeys(original, not(in(updates.keySet()))))
+                    .putAll(filterKeys(original, not(x -> updates.keySet().contains(x))))
                     .putAll(filterValues(updates, x -> x != null))
                     .build();
 
diff --git a/oak-store-document/src/main/java/org/apache/jackrabbit/oak/plugins/document/mongo/MongoDocumentStore.java b/oak-store-document/src/main/java/org/apache/jackrabbit/oak/plugins/document/mongo/MongoDocumentStore.java
index 4798590473..03084cb493 100644
--- a/oak-store-document/src/main/java/org/apache/jackrabbit/oak/plugins/document/mongo/MongoDocumentStore.java
+++ b/oak-store-document/src/main/java/org/apache/jackrabbit/oak/plugins/document/mongo/MongoDocumentStore.java
@@ -119,7 +119,6 @@ import com.mongodb.client.result.UpdateResult;
 import static java.util.Objects.isNull;
 import static java.util.concurrent.TimeUnit.NANOSECONDS;
 import static java.util.stream.Collectors.toList;
-import static org.apache.jackrabbit.guava.common.base.Predicates.in;
 import static org.apache.jackrabbit.guava.common.base.Predicates.not;
 import static org.apache.jackrabbit.guava.common.collect.Iterables.filter;
 import static org.apache.jackrabbit.guava.common.collect.Maps.filterKeys;
@@ -530,7 +529,7 @@ public class MongoDocumentStore implements DocumentStore {
             result.queryCount++;
 
             int invalidated = nodesCache.invalidateOutdated(modStamps);
-            for (String id : filter(ids, not(in(modStamps.keySet())))) {
+            for (String id : filter(ids, not(x -> modStamps.keySet().contains(x)))) {
                 nodesCache.invalidate(id);
                 invalidated++;
             }
@@ -1492,7 +1491,7 @@ public class MongoDocumentStore implements DocumentStore {
 
             if (collection == Collection.NODES) {
                 List<NodeDocument> docsToCache = new ArrayList<NodeDocument>();
-                for (UpdateOp op : filterKeys(bulkOperations, in(bulkResult.upserts)).values()) {
+                for (UpdateOp op : filterKeys(bulkOperations, x -> bulkResult.upserts.contains(x)).values()) {
                     NodeDocument doc = Collection.NODES.newDocument(this);
                     UpdateUtils.applyChanges(doc, op);
                     docsToCache.add(doc);
diff --git a/oak-store-document/src/main/java/org/apache/jackrabbit/oak/plugins/document/persistentCache/NodeCache.java b/oak-store-document/src/main/java/org/apache/jackrabbit/oak/plugins/document/persistentCache/NodeCache.java
index af0e49dd7c..c5c07cbe63 100644
--- a/oak-store-document/src/main/java/org/apache/jackrabbit/oak/plugins/document/persistentCache/NodeCache.java
+++ b/oak-store-document/src/main/java/org/apache/jackrabbit/oak/plugins/document/persistentCache/NodeCache.java
@@ -16,7 +16,6 @@
  */
 package org.apache.jackrabbit.oak.plugins.document.persistentCache;
 
-import static org.apache.jackrabbit.guava.common.base.Predicates.in;
 import static org.apache.jackrabbit.guava.common.base.Predicates.not;
 import static org.apache.jackrabbit.guava.common.collect.Iterables.filter;
 import static java.util.Collections.singleton;
@@ -252,7 +251,7 @@ class NodeCache<K extends CacheValue, V extends  CacheValue>
         Iterable<K> typedKeys = (Iterable<K>) keys;
         memCacheMetadata.incrementAll(keys);
         ImmutableMap<K, V> result = memCache.getAllPresent(keys);
-        memCacheMetadata.removeAll(filter(typedKeys, not(in(result.keySet()))));
+        memCacheMetadata.removeAll(filter(typedKeys, not(x -> result.keySet().contains(x))));
         return result;
     }
 
diff --git a/oak-store-spi/src/main/java/org/apache/jackrabbit/oak/plugins/memory/ModifiedNodeState.java b/oak-store-spi/src/main/java/org/apache/jackrabbit/oak/plugins/memory/ModifiedNodeState.java
index d76f931840..94ee81f51d 100644
--- a/oak-store-spi/src/main/java/org/apache/jackrabbit/oak/plugins/memory/ModifiedNodeState.java
+++ b/oak-store-spi/src/main/java/org/apache/jackrabbit/oak/plugins/memory/ModifiedNodeState.java
@@ -17,7 +17,6 @@
 package org.apache.jackrabbit.oak.plugins.memory;
 
 import static java.util.Objects.requireNonNull;
-import static org.apache.jackrabbit.guava.common.base.Predicates.in;
 import static org.apache.jackrabbit.guava.common.base.Predicates.not;
 
 import static org.apache.jackrabbit.guava.common.collect.Iterables.concat;
@@ -31,6 +30,7 @@ import static org.apache.jackrabbit.oak.plugins.memory.MemoryChildNodeEntry.iter
 import java.util.HashMap;
 import java.util.Map;
 import java.util.Map.Entry;
+import java.util.Set;
 import java.util.function.Function;
 import java.util.function.Predicate;
 
@@ -169,8 +169,9 @@ public class ModifiedNodeState extends AbstractNodeState {
             if (copy) {
                 properties = new HashMap<>(properties);
             }
+            final Set<String> keys = properties.keySet();
             Predicate<PropertyState> predicate = Predicates.compose(
-                    not(in(properties.keySet())), GET_NAME::apply);
+                    not(x-> keys.contains(x)), GET_NAME::apply);
             return concat(
                     filter(base.getProperties(), predicate::test),
                     filter(properties.values(), x -> x != null));
@@ -220,8 +221,9 @@ public class ModifiedNodeState extends AbstractNodeState {
             if (copy) {
                 nodes = new HashMap<>(nodes);
             }
+            final Set<String> keys = nodes.keySet(); 
             return concat(
-                    filter(base.getChildNodeNames(), not(in(nodes.keySet()))),
+                    filter(base.getChildNodeNames(), not(x -> keys.contains(x))),
                     filterValues(nodes, NodeState.EXISTS::test).keySet());
         }
     }
@@ -350,8 +352,9 @@ public class ModifiedNodeState extends AbstractNodeState {
         } else if (nodes.isEmpty()) {
             return base.getChildNodeEntries(); // shortcut
         } else {
+            final Set<String> keys = nodes.keySet();
             Predicate<ChildNodeEntry> predicate = Predicates.compose(
-                    not(in(nodes.keySet())), ChildNodeEntry.GET_NAME::apply);
+                    not(x -> keys.contains(x)), ChildNodeEntry.GET_NAME::apply);
             return concat(
                     filter(base.getChildNodeEntries(), predicate::test),
                     iterable(filterValues(nodes, NodeState.EXISTS::test).entrySet()));