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

ggregory pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/commons-pool.git

commit 995d7ddec6046b8aadab1372c854793c33a23a15
Author: Gary Gregory <garydgreg...@gmail.com>
AuthorDate: Fri Jul 14 15:24:32 2023 -0400

    Use a factory method
---
 .../commons/pool2/impl/BaseGenericObjectPool.java       | 17 ++++++++++++++---
 .../commons/pool2/impl/GenericKeyedObjectPool.java      |  4 ++--
 .../apache/commons/pool2/impl/GenericObjectPool.java    |  4 ++--
 3 files changed, 18 insertions(+), 7 deletions(-)

diff --git 
a/src/main/java/org/apache/commons/pool2/impl/BaseGenericObjectPool.java 
b/src/main/java/org/apache/commons/pool2/impl/BaseGenericObjectPool.java
index 6b761244..d838e392 100644
--- a/src/main/java/org/apache/commons/pool2/impl/BaseGenericObjectPool.java
+++ b/src/main/java/org/apache/commons/pool2/impl/BaseGenericObjectPool.java
@@ -203,21 +203,32 @@ public abstract class BaseGenericObjectPool<T, E extends 
Exception> extends Base
      * objects under management using maps keyed on the objects. This wrapper
      * class ensures that objects can work as hash keys.
      *
-     * @param <T> type of objects in the pool
+     * @param <T> type of objects in the pool.
      */
     static class IdentityWrapper<T> {
+
         /** Wrapped object */
         private final T instance;
 
+        /**
+         * Constructs a wrapper for the object in the {@link PooledObject}.
+         *
+         * @param <T> type of objects in the {@link PooledObject}.
+         * @param pooledObject contains the object to wrap.
+         * @return a new instance wrapping the object in the {@link 
PooledObject}.
+         */
+        static <T> IdentityWrapper<T> on(final PooledObject<T> pooledObject) {
+            return new IdentityWrapper<>(pooledObject.getObject());
+        }
         /**
          * Constructs a wrapper for an instance.
          *
-         * @param instance object to wrap
+         * @param instance object to wrap.
          */
         public IdentityWrapper(final T instance) {
             this.instance = instance;
         }
-
+        
         @Override
         @SuppressWarnings("rawtypes")
         public boolean equals(final Object other) {
diff --git 
a/src/main/java/org/apache/commons/pool2/impl/GenericKeyedObjectPool.java 
b/src/main/java/org/apache/commons/pool2/impl/GenericKeyedObjectPool.java
index e00e60ac..ce2177ae 100644
--- a/src/main/java/org/apache/commons/pool2/impl/GenericKeyedObjectPool.java
+++ b/src/main/java/org/apache/commons/pool2/impl/GenericKeyedObjectPool.java
@@ -831,7 +831,7 @@ public class GenericKeyedObjectPool<K, T, E extends 
Exception> extends BaseGener
         }
 
         createdCount.incrementAndGet();
-        objectDeque.getAllObjects().put(new IdentityWrapper<>(p.getObject()), 
p);
+        objectDeque.getAllObjects().put(IdentityWrapper.on(p), p);
         return p;
     }
 
@@ -895,7 +895,7 @@ public class GenericKeyedObjectPool<K, T, E extends 
Exception> extends BaseGener
                 }
             }
             if (isIdle || always) {
-                objectDeque.getAllObjects().remove(new 
IdentityWrapper<>(toDestroy.getObject()));
+                
objectDeque.getAllObjects().remove(IdentityWrapper.on(toDestroy));
                 toDestroy.invalidate();
 
                 try {
diff --git a/src/main/java/org/apache/commons/pool2/impl/GenericObjectPool.java 
b/src/main/java/org/apache/commons/pool2/impl/GenericObjectPool.java
index dbc1ef7a..d0057f40 100644
--- a/src/main/java/org/apache/commons/pool2/impl/GenericObjectPool.java
+++ b/src/main/java/org/apache/commons/pool2/impl/GenericObjectPool.java
@@ -600,7 +600,7 @@ public class GenericObjectPool<T, E extends Exception> 
extends BaseGenericObject
         }
 
         createdCount.incrementAndGet();
-        allObjects.put(new IdentityWrapper<>(p.getObject()), p);
+        allObjects.put(IdentityWrapper.on(p), p);
         return p;
     }
 
@@ -616,7 +616,7 @@ public class GenericObjectPool<T, E extends Exception> 
extends BaseGenericObject
     private void destroy(final PooledObject<T> toDestroy, final DestroyMode 
destroyMode) throws E {
         toDestroy.invalidate();
         idleObjects.remove(toDestroy);
-        allObjects.remove(new IdentityWrapper<>(toDestroy.getObject()));
+        allObjects.remove(IdentityWrapper.on(toDestroy));
         try {
             factory.destroyObject(toDestroy, destroyMode);
         } finally {

Reply via email to