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


The following commit(s) were added to refs/heads/master by this push:
     new 6610e57  [POOL-378] Deprecate PoolUtils.prefill(ObjectPool, int) in 
favor of ObjectPool.addObjects(int).
6610e57 is described below

commit 6610e5759629df0b965e9597bb13372b6ad79eaa
Author: Gary Gregory <[email protected]>
AuthorDate: Tue Oct 8 10:03:46 2019 -0400

    [POOL-378] Deprecate PoolUtils.prefill(ObjectPool, int) in favor of
    ObjectPool.addObjects(int).
---
 pom.xml                                                |  6 +++---
 src/changes/changes.xml                                |  5 ++++-
 src/main/java/org/apache/commons/pool2/ObjectPool.java | 18 ++++++++++++++++++
 src/main/java/org/apache/commons/pool2/PoolUtils.java  |  2 ++
 .../java/org/apache/commons/pool2/TestObjectPool.java  |  8 ++++----
 .../commons/pool2/impl/TestGenericObjectPool.java      |  4 ++--
 6 files changed, 33 insertions(+), 10 deletions(-)

diff --git a/pom.xml b/pom.xml
index e34774c..fc042f8 100644
--- a/pom.xml
+++ b/pom.xml
@@ -28,7 +28,7 @@
   </parent>
 
   <artifactId>commons-pool2</artifactId>
-  <version>2.7.1-SNAPSHOT</version>
+  <version>2.8.0-SNAPSHOT</version>
   <name>Apache Commons Pool</name>
 
   <inceptionYear>2001</inceptionYear>
@@ -159,7 +159,7 @@
     <commons.module.name>org.apache.commons.pool2</commons.module.name>
     <commons.rc.version>RC1</commons.rc.version>
     <!-- Java 8 -->
-    <commons.release.version>2.7.0</commons.release.version>
+    <commons.release.version>2.8.0</commons.release.version>
     <commons.release.desc>(Java 8)</commons.release.desc>
     <!-- Java 7 -->
     <commons.release.2.version>2.6.2</commons.release.2.version>
@@ -182,7 +182,7 @@
     <commons.animal-sniffer.version>1.16</commons.animal-sniffer.version>
 
     <!-- Commons Release Plugin -->
-    <commons.bc.version>2.6.2</commons.bc.version>
+    <commons.bc.version>2.7.0</commons.bc.version>
     <commons.release.isDistModule>true</commons.release.isDistModule>
     <commons.releaseManagerName>Gary Gregory</commons.releaseManagerName>    
     <commons.releaseManagerKey>86fdc7e2a11262cb</commons.releaseManagerKey>
diff --git a/src/changes/changes.xml b/src/changes/changes.xml
index 1b30b5e..e780ab8 100644
--- a/src/changes/changes.xml
+++ b/src/changes/changes.xml
@@ -43,7 +43,7 @@ The <action> type attribute can be add,update,fix,remove.
     <title>Apache Commons Pool Release Notes</title>
   </properties>
   <body>
-  <release version="2.7.1" date="2019-MM-DD" description="This is a 
maintenance release (Java 8).">
+  <release version="2.8.0" date="2019-MM-DD" description="This is a 
maintenance release (Java 8).">
     <action dev="ggregory" issue="POOL-374" type="fix" due-to="Gary Gregory, 
Phil Steitz">
        org.apache.commons.pool2.impl.GenericKeyedObjectPool.returnObject(K, T) 
should throw IllegalStateException instead of NullPointerException when a key 
is not found in the pool map.
     </action>
@@ -62,6 +62,9 @@ The <action> type attribute can be add,update,fix,remove.
     <action dev="ggregory" issue="POOL-377" type="update" due-to="Gary 
Gregory">
       Update optional library org.ow2.asm:asm-util from 7.1 to 7.2.
     </action>
+    <action dev="ggregory" issue="POOL-378" type="add" due-to="Gary Gregory">
+      Deprecate PoolUtils.prefill(ObjectPool, int) in favor of 
ObjectPool.addObjects(int).
+    </action>
   </release>
   <release version="2.7.0" date="2019-07-25" description="This is a feature 
release (Java 8).">
     <action dev="ggregory" issue="POOL-364" type="update" due-to="Gary 
Gregory">
diff --git a/src/main/java/org/apache/commons/pool2/ObjectPool.java 
b/src/main/java/org/apache/commons/pool2/ObjectPool.java
index 101de01..ba34fb4 100644
--- a/src/main/java/org/apache/commons/pool2/ObjectPool.java
+++ b/src/main/java/org/apache/commons/pool2/ObjectPool.java
@@ -76,6 +76,24 @@ public interface ObjectPool<T> extends Closeable {
             UnsupportedOperationException;
 
     /**
+     * Calls {@link ObjectPool#addObject()} on <code>pool</code> 
<code>count</code>
+     * number of times.
+     *
+     * @param count
+     *            the number of idle objects to add.
+     * @throws Exception
+     *             when {@link ObjectPool#addObject()} fails.
+     * @throws IllegalArgumentException
+     *             when <code>pool</code> is <code>null</code>.
+     * @since 2.8.0
+     */
+    default void addObjects(final int count) throws Exception, 
IllegalArgumentException {
+        for (int i = 0; i < count; i++) {
+            addObject();
+        }
+    }
+
+    /**
      * Obtains an instance from this pool.
      * <p>
      * Instances returned from this method will have been either newly created
diff --git a/src/main/java/org/apache/commons/pool2/PoolUtils.java 
b/src/main/java/org/apache/commons/pool2/PoolUtils.java
index e191abf..a7c9bd4 100644
--- a/src/main/java/org/apache/commons/pool2/PoolUtils.java
+++ b/src/main/java/org/apache/commons/pool2/PoolUtils.java
@@ -220,7 +220,9 @@ public final class PoolUtils {
      *             when {@link ObjectPool#addObject()} fails.
      * @throws IllegalArgumentException
      *             when <code>pool</code> is <code>null</code>.
+     * @deprecated Use {@link ObjectPool#addObjects(int)}.
      */
+    @Deprecated
     public static <T> void prefill(final ObjectPool<T> pool, final int count)
             throws Exception, IllegalArgumentException {
         if (pool == null) {
diff --git a/src/test/java/org/apache/commons/pool2/TestObjectPool.java 
b/src/test/java/org/apache/commons/pool2/TestObjectPool.java
index 5d56fb3..3808ce0 100644
--- a/src/test/java/org/apache/commons/pool2/TestObjectPool.java
+++ b/src/test/java/org/apache/commons/pool2/TestObjectPool.java
@@ -365,13 +365,13 @@ public abstract class TestObjectPool {
         final List<MethodCall> expectedMethods = new ArrayList<>();
 
         /// Test correct behavior code paths
-        PoolUtils.prefill(pool, 5);
+        pool.addObjects(5);
         pool.clear();
 
         //// Test exception handling clear should swallow destroy object 
failures
         reset(pool, factory, expectedMethods);
         factory.setDestroyObjectFail(true);
-        PoolUtils.prefill(pool, 5);
+        pool.addObjects(5);
         pool.clear();
         pool.close();
     }
@@ -388,7 +388,7 @@ public abstract class TestObjectPool {
         final List<MethodCall> expectedMethods = new ArrayList<>();
 
         /// Test correct behavior code paths
-        PoolUtils.prefill(pool, 5);
+        pool.addObjects(5);
         pool.close();
 
 
@@ -400,7 +400,7 @@ public abstract class TestObjectPool {
         }
         reset(pool, factory, expectedMethods);
         factory.setDestroyObjectFail(true);
-        PoolUtils.prefill(pool, 5);
+        pool.addObjects(5);
         pool.close();
     }
 
diff --git 
a/src/test/java/org/apache/commons/pool2/impl/TestGenericObjectPool.java 
b/src/test/java/org/apache/commons/pool2/impl/TestGenericObjectPool.java
index fa61f9f..67579fd 100644
--- a/src/test/java/org/apache/commons/pool2/impl/TestGenericObjectPool.java
+++ b/src/test/java/org/apache/commons/pool2/impl/TestGenericObjectPool.java
@@ -712,13 +712,13 @@ public class TestGenericObjectPool extends 
TestBaseObjectPool {
         genericObjectPool.setMinIdle(2);
         genericObjectPool.setTestWhileIdle(true);
         genericObjectPool.setLifo(lifo);
-        PoolUtils.prefill(genericObjectPool, 5);
+        genericObjectPool.addObjects(5);
         genericObjectPool.evict();
         simpleFactory.setEvenValid(false);
         simpleFactory.setOddValid(false);
         simpleFactory.setThrowExceptionOnActivate(true);
         genericObjectPool.evict();
-        PoolUtils.prefill(genericObjectPool, 5);
+        genericObjectPool.addObjects(5);
         simpleFactory.setThrowExceptionOnActivate(false);
         simpleFactory.setThrowExceptionOnPassivate(true);
         genericObjectPool.evict();

Reply via email to