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/12/03 10:30:37 UTC

(jackrabbit-oak) branch trunk updated: OAK-11292: Remove usage of Guava ImmutableMap.copyOf() (#1886)

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 cf4c063a63 OAK-11292: Remove usage of Guava ImmutableMap.copyOf() (#1886)
cf4c063a63 is described below

commit cf4c063a63fbc3af3df8a1701ed5b7eab2c1a9e9
Author: Julian Reschke <re...@apache.org>
AuthorDate: Tue Dec 3 11:30:32 2024 +0100

    OAK-11292: Remove usage of Guava ImmutableMap.copyOf() (#1886)
    
    * OAK-11292: Remove usage of Guava ImmutableMap.copyOf() - oak-store-document
    
    * OAK-11292: Remove usage of Guava ImmutableMap.copyOf() - oak-core-spi
    
    * OAK-11292: Remove usage of Guava ImmutableMap.copyOf() - oak-exercise
    
    * OAK-11292: Remove usage of Guava ImmutableMap.copyOf() - oak-jcr
    
    * OAK-11292: Remove usage of Guava ImmutableMap.copyOf() - oak-store-composite
    
    * OAK-11292: Remove usage of Guava ImmutableMap.copyOf() - oak-lucene
    
    * OAK-11292: Remove usage of Guava ImmutableMap.copyOf() - oak-security-spi
    
    * OAK-11292: Remove usage of Guava ImmutableMap.copyOf() - oak-security-spi
---
 .../apache/jackrabbit/oak/spi/mount/SimpleMountInfoProvider.java   | 5 ++---
 .../oak/exercise/security/authentication/CustomCredentials.java    | 4 +---
 .../org/apache/jackrabbit/oak/jcr/delegate/WorkspaceDelegate.java  | 4 ++--
 .../jackrabbit/oak/plugins/index/lucene/IndexAugmentorFactory.java | 5 ++---
 .../jackrabbit/oak/plugins/index/lucene/LuceneIndexDefinition.java | 3 +--
 .../authorization/restriction/AbstractRestrictionProvider.java     | 6 ++++--
 .../org/apache/jackrabbit/oak/composite/CompositeNodeStore.java    | 7 +++----
 .../apache/jackrabbit/oak/plugins/document/DocumentNodeState.java  | 3 +--
 8 files changed, 16 insertions(+), 21 deletions(-)

diff --git a/oak-core-spi/src/main/java/org/apache/jackrabbit/oak/spi/mount/SimpleMountInfoProvider.java b/oak-core-spi/src/main/java/org/apache/jackrabbit/oak/spi/mount/SimpleMountInfoProvider.java
index 229693e3bd..f2ba524700 100644
--- a/oak-core-spi/src/main/java/org/apache/jackrabbit/oak/spi/mount/SimpleMountInfoProvider.java
+++ b/oak-core-spi/src/main/java/org/apache/jackrabbit/oak/spi/mount/SimpleMountInfoProvider.java
@@ -20,12 +20,11 @@ package org.apache.jackrabbit.oak.spi.mount;
 
 import java.util.ArrayList;
 import java.util.Collection;
+import java.util.Collections;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 
-import org.apache.jackrabbit.guava.common.collect.ImmutableMap;
-
 /**
  * A simple and inefficient implementation to manage mount points
  */
@@ -103,7 +102,7 @@ final class SimpleMountInfoProvider implements MountInfoProvider {
         for (Mount mi : mountInfos) {
             mounts.put(mi.getName(), mi);
         }
-        return ImmutableMap.copyOf(mounts);
+        return Collections.unmodifiableMap(mounts);
     }
 
     private static Mount defaultMount(Map<String, Mount> mounts) {
diff --git a/oak-exercise/src/main/java/org/apache/jackrabbit/oak/exercise/security/authentication/CustomCredentials.java b/oak-exercise/src/main/java/org/apache/jackrabbit/oak/exercise/security/authentication/CustomCredentials.java
index bb589ccc98..f1631bd83e 100644
--- a/oak-exercise/src/main/java/org/apache/jackrabbit/oak/exercise/security/authentication/CustomCredentials.java
+++ b/oak-exercise/src/main/java/org/apache/jackrabbit/oak/exercise/security/authentication/CustomCredentials.java
@@ -19,8 +19,6 @@ package org.apache.jackrabbit.oak.exercise.security.authentication;
 import java.util.Map;
 import javax.jcr.Credentials;
 
-import org.apache.jackrabbit.guava.common.collect.ImmutableMap;
-
 class CustomCredentials implements Credentials {
 
     private final String loginID;
@@ -30,7 +28,7 @@ class CustomCredentials implements Credentials {
     CustomCredentials(String loginID, String password, Map<String,String> attributes) {
         this.loginID = loginID;
         this.password = password;
-        this.attributes = ImmutableMap.copyOf(attributes);
+        this.attributes = Map.copyOf(attributes);
     }
 
     String getLoginID() {
diff --git a/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/delegate/WorkspaceDelegate.java b/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/delegate/WorkspaceDelegate.java
index 57dca1fa01..16077ebcef 100644
--- a/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/delegate/WorkspaceDelegate.java
+++ b/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/delegate/WorkspaceDelegate.java
@@ -17,6 +17,7 @@
 package org.apache.jackrabbit.oak.jcr.delegate;
 
 import java.util.ArrayList;
+import java.util.Collections;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
@@ -24,7 +25,6 @@ import javax.jcr.ItemExistsException;
 import javax.jcr.PathNotFoundException;
 import javax.jcr.RepositoryException;
 
-import org.apache.jackrabbit.guava.common.collect.ImmutableMap;
 import org.apache.jackrabbit.JcrConstants;
 import org.apache.jackrabbit.oak.api.CommitFailedException;
 import org.apache.jackrabbit.oak.api.PropertyState;
@@ -126,7 +126,7 @@ public class WorkspaceDelegate {
                     String sourceBaseVersionId = source.getProperty(JcrConstants.JCR_BASEVERSION).getValue(Type.STRING);
                     copyInfo.put(VersionConstants.JCR_COPIED_FROM, sourceBaseVersionId);
                 }
-                root.commit(ImmutableMap.copyOf(copyInfo));
+                root.commit(Collections.unmodifiableMap(copyInfo));
             } catch (CommitFailedException e) {
                 throw e.asRepositoryException();
             }
diff --git a/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/IndexAugmentorFactory.java b/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/IndexAugmentorFactory.java
index 6126023ad6..b74cbf5433 100644
--- a/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/IndexAugmentorFactory.java
+++ b/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/IndexAugmentorFactory.java
@@ -24,7 +24,6 @@ import java.util.Map;
 import java.util.Set;
 
 import org.apache.jackrabbit.guava.common.collect.ImmutableList;
-import org.apache.jackrabbit.guava.common.collect.ImmutableMap;
 import org.apache.jackrabbit.guava.common.collect.LinkedListMultimap;
 import org.apache.jackrabbit.guava.common.collect.ListMultimap;
 import org.apache.felix.scr.annotations.Component;
@@ -133,7 +132,7 @@ public class IndexAugmentorFactory {
             providerMap.put(nodeType, compositeIndexFieldProvider);
         }
 
-        indexFieldProviderMap = ImmutableMap.copyOf(providerMap);
+        indexFieldProviderMap = Collections.unmodifiableMap(providerMap);
     }
 
     private void refreshFulltextQueryTermsProviders() {
@@ -154,7 +153,7 @@ public class IndexAugmentorFactory {
             providerMap.put(nodeType, compositeFulltextQueryTermsProvider);
         }
 
-        fulltextQueryTermsProviderMap = ImmutableMap.copyOf(providerMap);
+        fulltextQueryTermsProviderMap = Collections.unmodifiableMap(providerMap);
     }
 
     private void resetState() {
diff --git a/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/LuceneIndexDefinition.java b/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/LuceneIndexDefinition.java
index 968752f9c7..0612361ee6 100644
--- a/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/LuceneIndexDefinition.java
+++ b/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/LuceneIndexDefinition.java
@@ -22,7 +22,6 @@ import java.util.Collections;
 import java.util.HashMap;
 import java.util.Map;
 
-import org.apache.jackrabbit.guava.common.collect.ImmutableMap;
 import org.apache.jackrabbit.oak.plugins.index.lucene.util.CompressingCodec;
 import org.apache.jackrabbit.oak.plugins.index.lucene.util.TokenizerChain;
 import org.apache.jackrabbit.oak.plugins.index.lucene.writer.CommitMitigatingTieredMergePolicy;
@@ -170,7 +169,7 @@ public class LuceneIndexDefinition extends IndexDefinition {
             analyzerMap.put(ANL_DEFAULT, new OakAnalyzer(VERSION, true));
         }
 
-        return ImmutableMap.copyOf(analyzerMap);
+        return Collections.unmodifiableMap(analyzerMap);
     }
 
 
diff --git a/oak-security-spi/src/main/java/org/apache/jackrabbit/oak/spi/security/authorization/restriction/AbstractRestrictionProvider.java b/oak-security-spi/src/main/java/org/apache/jackrabbit/oak/spi/security/authorization/restriction/AbstractRestrictionProvider.java
index df173d3065..b811eb00bf 100644
--- a/oak-security-spi/src/main/java/org/apache/jackrabbit/oak/spi/security/authorization/restriction/AbstractRestrictionProvider.java
+++ b/oak-security-spi/src/main/java/org/apache/jackrabbit/oak/spi/security/authorization/restriction/AbstractRestrictionProvider.java
@@ -20,6 +20,7 @@ import java.util.Arrays;
 import java.util.Collections;
 import java.util.HashMap;
 import java.util.HashSet;
+import java.util.LinkedHashMap;
 import java.util.Map;
 import java.util.Set;
 import java.util.stream.Collectors;
@@ -30,7 +31,6 @@ import javax.jcr.Value;
 import javax.jcr.security.AccessControlException;
 
 import org.apache.jackrabbit.guava.common.collect.ImmutableList;
-import org.apache.jackrabbit.guava.common.collect.ImmutableMap;
 import org.apache.jackrabbit.guava.common.collect.ImmutableSet;
 import org.apache.jackrabbit.oak.api.PropertyState;
 import org.apache.jackrabbit.oak.api.Tree;
@@ -52,7 +52,9 @@ public abstract class AbstractRestrictionProvider implements RestrictionProvider
     private CompositeRestrictionProvider composite = null;
 
     public AbstractRestrictionProvider(@NotNull Map<String, ? extends RestrictionDefinition> definitions) {
-        this.supported = ImmutableMap.copyOf(definitions);
+        Map<String, RestrictionDefinition> builder = new LinkedHashMap<>();
+        builder.putAll(definitions);
+        this.supported = Collections.unmodifiableMap(builder);
     }
 
     //---------------------------------------------------< AggregationAware >---
diff --git a/oak-store-composite/src/main/java/org/apache/jackrabbit/oak/composite/CompositeNodeStore.java b/oak-store-composite/src/main/java/org/apache/jackrabbit/oak/composite/CompositeNodeStore.java
index 11e3c9125a..b537728fea 100644
--- a/oak-store-composite/src/main/java/org/apache/jackrabbit/oak/composite/CompositeNodeStore.java
+++ b/oak-store-composite/src/main/java/org/apache/jackrabbit/oak/composite/CompositeNodeStore.java
@@ -56,10 +56,8 @@ import java.util.stream.Collectors;
 
 import static org.apache.jackrabbit.oak.commons.conditions.Validate.checkArgument;
 import static java.util.Objects.requireNonNull;
-import static org.apache.jackrabbit.guava.common.collect.ImmutableMap.copyOf;
 
 import static org.apache.jackrabbit.guava.common.collect.Iterables.filter;
-import static org.apache.jackrabbit.guava.common.collect.Maps.filterKeys;
 
 import static java.lang.System.currentTimeMillis;
 import static org.apache.jackrabbit.oak.composite.ModifiedPathDiff.getModifiedPaths;
@@ -243,8 +241,9 @@ public class CompositeNodeStore implements NodeStore, PrefetchNodeStore, Observa
             LOG.debug("Checkpoint {} doesn't exist. Debug info:\n{}", checkpoint, checkpointDebugInfo(), new Exception("call stack"));
             return Collections.emptyMap();
         }
-        return copyOf(filterKeys(ctx.getGlobalStore().getNodeStore().checkpointInfo(checkpoint),
-                input -> !input.startsWith(CHECKPOINT_METADATA)));
+        return ctx.getGlobalStore().getNodeStore().checkpointInfo(checkpoint).entrySet().stream().
+                filter(e -> !e.getKey().startsWith(CHECKPOINT_METADATA)).
+                collect(Collectors.toUnmodifiableMap(Map.Entry::getKey, Map.Entry::getValue));
     }
 
     Map<String, String> allCheckpointInfo(String checkpoint) {
diff --git a/oak-store-document/src/main/java/org/apache/jackrabbit/oak/plugins/document/DocumentNodeState.java b/oak-store-document/src/main/java/org/apache/jackrabbit/oak/plugins/document/DocumentNodeState.java
index 537201011f..57a4b5b80d 100644
--- a/oak-store-document/src/main/java/org/apache/jackrabbit/oak/plugins/document/DocumentNodeState.java
+++ b/oak-store-document/src/main/java/org/apache/jackrabbit/oak/plugins/document/DocumentNodeState.java
@@ -24,7 +24,6 @@ import java.util.Map;
 import java.util.NoSuchElementException;
 import java.util.Set;
 
-import org.apache.jackrabbit.guava.common.collect.ImmutableMap;
 import org.apache.jackrabbit.guava.common.collect.TreeTraverser;
 import org.apache.jackrabbit.oak.api.Type;
 import org.apache.jackrabbit.oak.cache.CacheValue;
@@ -789,7 +788,7 @@ public class DocumentNodeState extends AbstractDocumentNodeState implements Cach
         public BundlingContext(Matcher matcher, Map<String, PropertyState> rootProperties,
                                boolean hasBundledChildren, boolean hasNonBundledChildren) {
             this.matcher = matcher;
-            this.rootProperties = ImmutableMap.copyOf(rootProperties);
+            this.rootProperties = Map.copyOf(rootProperties);
             this.hasBundledChildren = hasBundledChildren;
             this.hasNonBundledChildren = hasNonBundledChildren;
         }