You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jackrabbit.apache.org by re...@apache.org on 2022/12/06 19:02:38 UTC

svn commit: r1905806 - in /jackrabbit/branches/2.20: ./ jackrabbit-jcr2spi/ jackrabbit-jcr2spi/src/main/java/org/apache/jackrabbit/jcr2spi/ jackrabbit-jcr2spi/src/main/java/org/apache/jackrabbit/jcr2spi/hierarchy/ jackrabbit-jcr2spi/src/main/java/org/a...

Author: reschke
Date: Tue Dec  6 19:02:38 2022
New Revision: 1905806

URL: http://svn.apache.org/viewvc?rev=1905806&view=rev
Log:
JCR-4852: jackrabbit-jcr2spi: Upgrade to commons-collections4 (except for ChildNodeEntriesImpl) (merged r1904298 into 2.20)

Modified:
    jackrabbit/branches/2.20/   (props changed)
    jackrabbit/branches/2.20/jackrabbit-jcr2spi/pom.xml
    jackrabbit/branches/2.20/jackrabbit-jcr2spi/src/main/java/org/apache/jackrabbit/jcr2spi/ItemCacheImpl.java
    jackrabbit/branches/2.20/jackrabbit-jcr2spi/src/main/java/org/apache/jackrabbit/jcr2spi/ItemImpl.java
    jackrabbit/branches/2.20/jackrabbit-jcr2spi/src/main/java/org/apache/jackrabbit/jcr2spi/SessionImpl.java
    jackrabbit/branches/2.20/jackrabbit-jcr2spi/src/main/java/org/apache/jackrabbit/jcr2spi/hierarchy/NodeEntryImpl.java
    jackrabbit/branches/2.20/jackrabbit-jcr2spi/src/main/java/org/apache/jackrabbit/jcr2spi/hierarchy/UniqueIdResolver.java
    jackrabbit/branches/2.20/jackrabbit-jcr2spi/src/main/java/org/apache/jackrabbit/jcr2spi/nodetype/NodeTypeCache.java
    jackrabbit/branches/2.20/jackrabbit-jcr2spi/src/main/java/org/apache/jackrabbit/jcr2spi/nodetype/NodeTypeManagerImpl.java
    jackrabbit/branches/2.20/jackrabbit-jcr2spi/src/main/java/org/apache/jackrabbit/jcr2spi/nodetype/NodeTypeRegistryImpl.java
    jackrabbit/branches/2.20/jackrabbit-jcr2spi/src/main/java/org/apache/jackrabbit/jcr2spi/state/TransientItemStateManager.java

Propchange: jackrabbit/branches/2.20/
------------------------------------------------------------------------------
  Merged /jackrabbit/trunk:r1904298

Modified: jackrabbit/branches/2.20/jackrabbit-jcr2spi/pom.xml
URL: http://svn.apache.org/viewvc/jackrabbit/branches/2.20/jackrabbit-jcr2spi/pom.xml?rev=1905806&r1=1905805&r2=1905806&view=diff
==============================================================================
--- jackrabbit/branches/2.20/jackrabbit-jcr2spi/pom.xml (original)
+++ jackrabbit/branches/2.20/jackrabbit-jcr2spi/pom.xml Tue Dec  6 19:02:38 2022
@@ -119,6 +119,10 @@
       <artifactId>commons-collections</artifactId>
     </dependency>
     <dependency>
+      <groupId>org.apache.commons</groupId>
+      <artifactId>commons-collections4</artifactId>
+    </dependency>
+    <dependency>
       <groupId>commons-io</groupId>
       <artifactId>commons-io</artifactId>
     </dependency>

Modified: jackrabbit/branches/2.20/jackrabbit-jcr2spi/src/main/java/org/apache/jackrabbit/jcr2spi/ItemCacheImpl.java
URL: http://svn.apache.org/viewvc/jackrabbit/branches/2.20/jackrabbit-jcr2spi/src/main/java/org/apache/jackrabbit/jcr2spi/ItemCacheImpl.java?rev=1905806&r1=1905805&r2=1905806&view=diff
==============================================================================
--- jackrabbit/branches/2.20/jackrabbit-jcr2spi/src/main/java/org/apache/jackrabbit/jcr2spi/ItemCacheImpl.java (original)
+++ jackrabbit/branches/2.20/jackrabbit-jcr2spi/src/main/java/org/apache/jackrabbit/jcr2spi/ItemCacheImpl.java Tue Dec  6 19:02:38 2022
@@ -21,7 +21,7 @@ import java.util.Map;
 import javax.jcr.Item;
 import javax.jcr.RepositoryException;
 
-import org.apache.commons.collections.map.LRUMap;
+import org.apache.commons.collections4.map.LRUMap;
 import org.apache.jackrabbit.jcr2spi.state.ItemState;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -35,9 +35,8 @@ public class ItemCacheImpl implements It
 
     private final Map<ItemState, Item> cache;
 
-    @SuppressWarnings("unchecked")
     ItemCacheImpl(int maxSize) {
-        cache = new LRUMap(maxSize);
+        cache = new LRUMap<>(maxSize);
     }
 
     //----------------------------------------------------------< ItemCache >---

Modified: jackrabbit/branches/2.20/jackrabbit-jcr2spi/src/main/java/org/apache/jackrabbit/jcr2spi/ItemImpl.java
URL: http://svn.apache.org/viewvc/jackrabbit/branches/2.20/jackrabbit-jcr2spi/src/main/java/org/apache/jackrabbit/jcr2spi/ItemImpl.java?rev=1905806&r1=1905805&r2=1905806&view=diff
==============================================================================
--- jackrabbit/branches/2.20/jackrabbit-jcr2spi/src/main/java/org/apache/jackrabbit/jcr2spi/ItemImpl.java (original)
+++ jackrabbit/branches/2.20/jackrabbit-jcr2spi/src/main/java/org/apache/jackrabbit/jcr2spi/ItemImpl.java Tue Dec  6 19:02:38 2022
@@ -35,7 +35,8 @@ import javax.jcr.lock.LockException;
 import javax.jcr.nodetype.ConstraintViolationException;
 import javax.jcr.version.VersionException;
 
-import org.apache.commons.collections.map.ReferenceMap;
+import org.apache.commons.collections4.map.AbstractReferenceMap.ReferenceStrength;
+import org.apache.commons.collections4.map.ReferenceMap;
 import org.apache.jackrabbit.jcr2spi.config.CacheBehaviour;
 import org.apache.jackrabbit.jcr2spi.hierarchy.HierarchyEntry;
 import org.apache.jackrabbit.jcr2spi.hierarchy.NodeEntry;
@@ -69,9 +70,8 @@ public abstract class ItemImpl implement
     /**
      * Listeners (weak references)
      */
-    @SuppressWarnings("unchecked")
     protected final Map<ItemLifeCycleListener, ItemLifeCycleListener> listeners =
-        Collections.synchronizedMap(new ReferenceMap(ReferenceMap.WEAK, ReferenceMap.WEAK));
+        Collections.synchronizedMap(new ReferenceMap<>(ReferenceStrength.WEAK, ReferenceStrength.WEAK));
 
     public ItemImpl(SessionImpl session, ItemState state,
                     ItemLifeCycleListener[] listeners) {

Modified: jackrabbit/branches/2.20/jackrabbit-jcr2spi/src/main/java/org/apache/jackrabbit/jcr2spi/SessionImpl.java
URL: http://svn.apache.org/viewvc/jackrabbit/branches/2.20/jackrabbit-jcr2spi/src/main/java/org/apache/jackrabbit/jcr2spi/SessionImpl.java?rev=1905806&r1=1905805&r2=1905806&view=diff
==============================================================================
--- jackrabbit/branches/2.20/jackrabbit-jcr2spi/src/main/java/org/apache/jackrabbit/jcr2spi/SessionImpl.java (original)
+++ jackrabbit/branches/2.20/jackrabbit-jcr2spi/src/main/java/org/apache/jackrabbit/jcr2spi/SessionImpl.java Tue Dec  6 19:02:38 2022
@@ -50,7 +50,8 @@ import javax.xml.parsers.ParserConfigura
 import javax.xml.parsers.SAXParser;
 import javax.xml.parsers.SAXParserFactory;
 
-import org.apache.commons.collections.map.ReferenceMap;
+import org.apache.commons.collections4.map.AbstractReferenceMap.ReferenceStrength;
+import org.apache.commons.collections4.map.ReferenceMap;
 import org.apache.jackrabbit.commons.AbstractSession;
 import org.apache.jackrabbit.jcr2spi.config.CacheBehaviour;
 import org.apache.jackrabbit.jcr2spi.config.RepositoryConfig;
@@ -122,8 +123,8 @@ public class SessionImpl extends Abstrac
     /**
      * Listeners (weak references)
      */
-    @SuppressWarnings("unchecked")
-    private final Map<SessionListener, SessionListener> listeners = new ReferenceMap(ReferenceMap.WEAK, ReferenceMap.WEAK);
+    private final Map<SessionListener, SessionListener> listeners = new ReferenceMap<>(ReferenceStrength.WEAK,
+            ReferenceStrength.WEAK);
 
     private final Repository repository;
     private final RepositoryConfig config;

Modified: jackrabbit/branches/2.20/jackrabbit-jcr2spi/src/main/java/org/apache/jackrabbit/jcr2spi/hierarchy/NodeEntryImpl.java
URL: http://svn.apache.org/viewvc/jackrabbit/branches/2.20/jackrabbit-jcr2spi/src/main/java/org/apache/jackrabbit/jcr2spi/hierarchy/NodeEntryImpl.java?rev=1905806&r1=1905805&r2=1905806&view=diff
==============================================================================
--- jackrabbit/branches/2.20/jackrabbit-jcr2spi/src/main/java/org/apache/jackrabbit/jcr2spi/hierarchy/NodeEntryImpl.java (original)
+++ jackrabbit/branches/2.20/jackrabbit-jcr2spi/src/main/java/org/apache/jackrabbit/jcr2spi/hierarchy/NodeEntryImpl.java Tue Dec  6 19:02:38 2022
@@ -32,7 +32,7 @@ import javax.jcr.ItemNotFoundException;
 import javax.jcr.PathNotFoundException;
 import javax.jcr.RepositoryException;
 
-import org.apache.commons.collections.iterators.IteratorChain;
+import org.apache.commons.collections4.iterators.IteratorChain;
 import org.apache.jackrabbit.commons.iterator.RangeIteratorAdapter;
 import org.apache.jackrabbit.jcr2spi.operation.AddNode;
 import org.apache.jackrabbit.jcr2spi.operation.AddProperty;
@@ -614,6 +614,7 @@ public class NodeEntryImpl extends Hiera
     /**
      * @see NodeEntry#getNodeEntries()
      */
+    @SuppressWarnings("unchecked")
     public synchronized Iterator<NodeEntry> getNodeEntries() throws RepositoryException {
         Collection<NodeEntry> entries = new ArrayList<NodeEntry>();
         for (Iterator<NodeEntry> it = getCompleteChildNodeEntries().iterator(); it.hasNext();) {
@@ -723,6 +724,7 @@ public class NodeEntryImpl extends Hiera
     /**
      * @see NodeEntry#getPropertyEntries()
      */
+    @SuppressWarnings("unchecked")
     public synchronized Iterator<PropertyEntry> getPropertyEntries() {
         Collection<PropertyEntry> props;
         if (getStatus() == Status.EXISTING_MODIFIED) {
@@ -1304,7 +1306,7 @@ public class NodeEntryImpl extends Hiera
      * with this NodeEntry
      */
     private Iterator<HierarchyEntry> getAllChildEntries(boolean includeAttic) {
-        IteratorChain chain = new IteratorChain();
+        IteratorChain<HierarchyEntry> chain = new IteratorChain<>();
         // attic
         if (includeAttic) {
             Collection<PropertyEntry> attic = propertiesInAttic.values();

Modified: jackrabbit/branches/2.20/jackrabbit-jcr2spi/src/main/java/org/apache/jackrabbit/jcr2spi/hierarchy/UniqueIdResolver.java
URL: http://svn.apache.org/viewvc/jackrabbit/branches/2.20/jackrabbit-jcr2spi/src/main/java/org/apache/jackrabbit/jcr2spi/hierarchy/UniqueIdResolver.java?rev=1905806&r1=1905805&r2=1905806&view=diff
==============================================================================
--- jackrabbit/branches/2.20/jackrabbit-jcr2spi/src/main/java/org/apache/jackrabbit/jcr2spi/hierarchy/UniqueIdResolver.java (original)
+++ jackrabbit/branches/2.20/jackrabbit-jcr2spi/src/main/java/org/apache/jackrabbit/jcr2spi/hierarchy/UniqueIdResolver.java Tue Dec  6 19:02:38 2022
@@ -23,7 +23,8 @@ import org.apache.jackrabbit.jcr2spi.sta
 import org.apache.jackrabbit.jcr2spi.state.Status;
 import org.apache.jackrabbit.jcr2spi.state.ItemStateFactory;
 import org.apache.jackrabbit.spi.NodeId;
-import org.apache.commons.collections.map.ReferenceMap;
+import org.apache.commons.collections4.map.AbstractReferenceMap.ReferenceStrength;
+import org.apache.commons.collections4.map.ReferenceMap;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -50,7 +51,7 @@ public class UniqueIdResolver implements
      * Creates a new <code>UniqueIdResolver</code>.
      */
     public UniqueIdResolver(ItemStateFactory isf) {
-        this.lookUp = new ReferenceMap(ReferenceMap.HARD, ReferenceMap.SOFT);
+        this.lookUp = new ReferenceMap<>(ReferenceStrength.HARD, ReferenceStrength.SOFT);
         this.isf = isf;
         isf.addCreationListener(this);
     }

Modified: jackrabbit/branches/2.20/jackrabbit-jcr2spi/src/main/java/org/apache/jackrabbit/jcr2spi/nodetype/NodeTypeCache.java
URL: http://svn.apache.org/viewvc/jackrabbit/branches/2.20/jackrabbit-jcr2spi/src/main/java/org/apache/jackrabbit/jcr2spi/nodetype/NodeTypeCache.java?rev=1905806&r1=1905805&r2=1905806&view=diff
==============================================================================
--- jackrabbit/branches/2.20/jackrabbit-jcr2spi/src/main/java/org/apache/jackrabbit/jcr2spi/nodetype/NodeTypeCache.java (original)
+++ jackrabbit/branches/2.20/jackrabbit-jcr2spi/src/main/java/org/apache/jackrabbit/jcr2spi/nodetype/NodeTypeCache.java Tue Dec  6 19:02:38 2022
@@ -16,7 +16,8 @@
  */
 package org.apache.jackrabbit.jcr2spi.nodetype;
 
-import org.apache.commons.collections.map.ReferenceMap;
+import org.apache.commons.collections4.map.AbstractReferenceMap.ReferenceStrength;
+import org.apache.commons.collections4.map.ReferenceMap;
 import org.apache.jackrabbit.spi.Name;
 import org.apache.jackrabbit.spi.QNodeTypeDefinition;
 import org.apache.jackrabbit.spi.RepositoryService;
@@ -64,7 +65,7 @@ public class NodeTypeCache {
             caches = CACHES_PER_SERVICE.get(service);
             if (caches == null) {
                 // use soft references for the node type caches
-                caches = new ReferenceMap(ReferenceMap.HARD, ReferenceMap.SOFT);
+                caches = new ReferenceMap<>(ReferenceStrength.HARD, ReferenceStrength.SOFT);
                 CACHES_PER_SERVICE.put(service, caches);
             }
         }

Modified: jackrabbit/branches/2.20/jackrabbit-jcr2spi/src/main/java/org/apache/jackrabbit/jcr2spi/nodetype/NodeTypeManagerImpl.java
URL: http://svn.apache.org/viewvc/jackrabbit/branches/2.20/jackrabbit-jcr2spi/src/main/java/org/apache/jackrabbit/jcr2spi/nodetype/NodeTypeManagerImpl.java?rev=1905806&r1=1905805&r2=1905806&view=diff
==============================================================================
--- jackrabbit/branches/2.20/jackrabbit-jcr2spi/src/main/java/org/apache/jackrabbit/jcr2spi/nodetype/NodeTypeManagerImpl.java (original)
+++ jackrabbit/branches/2.20/jackrabbit-jcr2spi/src/main/java/org/apache/jackrabbit/jcr2spi/nodetype/NodeTypeManagerImpl.java Tue Dec  6 19:02:38 2022
@@ -37,7 +37,8 @@ import javax.jcr.nodetype.NodeTypeManage
 import javax.jcr.nodetype.PropertyDefinition;
 import javax.jcr.version.OnParentVersionAction;
 
-import org.apache.commons.collections.map.ReferenceMap;
+import org.apache.commons.collections4.map.AbstractReferenceMap.ReferenceStrength;
+import org.apache.commons.collections4.map.ReferenceMap;
 import org.apache.jackrabbit.commons.iterator.NodeTypeIteratorAdapter;
 import org.apache.jackrabbit.jcr2spi.ManagerProvider;
 import org.apache.jackrabbit.spi.Name;
@@ -112,9 +113,9 @@ public class NodeTypeManagerImpl extends
         this.valueFactory = mgrProvider.getJcrValueFactory();
 
         // setup caches with soft references to node type
-        ntCache = new ReferenceMap(ReferenceMap.HARD, ReferenceMap.SOFT);
-        pdCache = new ReferenceMap(ReferenceMap.HARD, ReferenceMap.SOFT);
-        ndCache = new ReferenceMap(ReferenceMap.HARD, ReferenceMap.SOFT);
+        ntCache = new ReferenceMap<>(ReferenceStrength.HARD, ReferenceStrength.SOFT);
+        pdCache = new ReferenceMap<>(ReferenceStrength.HARD, ReferenceStrength.SOFT);
+        ndCache = new ReferenceMap<>(ReferenceStrength.HARD, ReferenceStrength.SOFT);
     }
 
     private EffectiveNodeTypeProvider entProvider() {

Modified: jackrabbit/branches/2.20/jackrabbit-jcr2spi/src/main/java/org/apache/jackrabbit/jcr2spi/nodetype/NodeTypeRegistryImpl.java
URL: http://svn.apache.org/viewvc/jackrabbit/branches/2.20/jackrabbit-jcr2spi/src/main/java/org/apache/jackrabbit/jcr2spi/nodetype/NodeTypeRegistryImpl.java?rev=1905806&r1=1905805&r2=1905806&view=diff
==============================================================================
--- jackrabbit/branches/2.20/jackrabbit-jcr2spi/src/main/java/org/apache/jackrabbit/jcr2spi/nodetype/NodeTypeRegistryImpl.java (original)
+++ jackrabbit/branches/2.20/jackrabbit-jcr2spi/src/main/java/org/apache/jackrabbit/jcr2spi/nodetype/NodeTypeRegistryImpl.java Tue Dec  6 19:02:38 2022
@@ -37,7 +37,8 @@ import javax.jcr.nodetype.NoSuchNodeType
 import javax.jcr.nodetype.NodeTypeExistsException;
 import javax.jcr.version.OnParentVersionAction;
 
-import org.apache.commons.collections.map.ReferenceMap;
+import org.apache.commons.collections4.map.AbstractReferenceMap.ReferenceStrength;
+import org.apache.commons.collections4.map.ReferenceMap;
 import org.apache.jackrabbit.spi.Name;
 import org.apache.jackrabbit.spi.QItemDefinition;
 import org.apache.jackrabbit.spi.QNodeDefinition;
@@ -75,8 +76,8 @@ public class NodeTypeRegistryImpl implem
     /**
      * Listeners (soft references)
      */
-    @SuppressWarnings("unchecked")
-    private final Map<NodeTypeRegistryListener, NodeTypeRegistryListener> listeners = Collections.synchronizedMap(new ReferenceMap(ReferenceMap.WEAK, ReferenceMap.WEAK));
+    private final Map<NodeTypeRegistryListener, NodeTypeRegistryListener> listeners = Collections
+            .synchronizedMap(new ReferenceMap<>(ReferenceStrength.WEAK, ReferenceStrength.WEAK));
 
     /**
      * Create a new <code>NodeTypeRegistry</code>
@@ -569,7 +570,7 @@ public class NodeTypeRegistryImpl implem
     }
 
     private void internalUnregister(Name name) {
-        QNodeTypeDefinition ntd = registeredNTDefs.remove(name);
+        registeredNTDefs.remove(name);
         entCache.invalidate(name);
     }
 
@@ -741,7 +742,6 @@ public class NodeTypeRegistryImpl implem
             StringBuilder builder = new StringBuilder();
             for (QNodeTypeDefinition ntd : getValues()) {
                 builder.append(ntd.getName());
-                Name[] supertypes = ntd.getSupertypes();
                 builder.append("\n\tSupertypes");
                 for (Name supertype : ntd.getSupertypes()) {
                     builder.append("\n\t\t").append(supertype);

Modified: jackrabbit/branches/2.20/jackrabbit-jcr2spi/src/main/java/org/apache/jackrabbit/jcr2spi/state/TransientItemStateManager.java
URL: http://svn.apache.org/viewvc/jackrabbit/branches/2.20/jackrabbit-jcr2spi/src/main/java/org/apache/jackrabbit/jcr2spi/state/TransientItemStateManager.java?rev=1905806&r1=1905805&r2=1905806&view=diff
==============================================================================
--- jackrabbit/branches/2.20/jackrabbit-jcr2spi/src/main/java/org/apache/jackrabbit/jcr2spi/state/TransientItemStateManager.java (original)
+++ jackrabbit/branches/2.20/jackrabbit-jcr2spi/src/main/java/org/apache/jackrabbit/jcr2spi/state/TransientItemStateManager.java Tue Dec  6 19:02:38 2022
@@ -26,7 +26,7 @@ import javax.jcr.ItemExistsException;
 import javax.jcr.RepositoryException;
 import javax.jcr.nodetype.ConstraintViolationException;
 
-import org.apache.commons.collections.iterators.IteratorChain;
+import org.apache.commons.collections4.iterators.IteratorChain;
 import org.apache.jackrabbit.jcr2spi.hierarchy.HierarchyEntry;
 import org.apache.jackrabbit.jcr2spi.hierarchy.NodeEntry;
 import org.apache.jackrabbit.jcr2spi.hierarchy.PropertyEntry;
@@ -170,12 +170,10 @@ public class TransientItemStateManager i
                 }
             }
             // - collect all affected states within the scope of save/undo
-            Iterator[] its = new Iterator[] {
-                    addedStates.iterator(),
+            @SuppressWarnings("unchecked")
+            IteratorChain<ItemState> chain = new IteratorChain<>(addedStates.iterator(),
                     removedStates.iterator(),
-                    modifiedStates.iterator()
-            };
-            IteratorChain chain = new IteratorChain(its);
+                    modifiedStates.iterator());
             if (!throwOnStale) {
                 chain.addIterator(staleStates.iterator());
             }