Author: markt
Date: Wed Jan 20 14:55:42 2016
New Revision: 1725733

URL: http://svn.apache.org/viewvc?rev=1725733&view=rev
Log:
Update Tomcat's internal fork of Pool2 to pool2/trunk

Added:
    tomcat/trunk/java/org/apache/tomcat/dbcp/pool2/BaseObject.java
      - copied, changed from r1725731, 
commons/proper/pool/trunk/src/main/java/org/apache/commons/pool2/BaseObject.java
Modified:
    tomcat/trunk/java/org/apache/tomcat/dbcp/pool2/   (props changed)
    
tomcat/trunk/java/org/apache/tomcat/dbcp/pool2/BaseKeyedPooledObjectFactory.java
    tomcat/trunk/java/org/apache/tomcat/dbcp/pool2/BaseObjectPool.java
    tomcat/trunk/java/org/apache/tomcat/dbcp/pool2/BasePooledObjectFactory.java
    tomcat/trunk/java/org/apache/tomcat/dbcp/pool2/PoolUtils.java
    tomcat/trunk/java/org/apache/tomcat/dbcp/pool2/UsageTracking.java
    tomcat/trunk/java/org/apache/tomcat/dbcp/pool2/impl/AbandonedConfig.java
    
tomcat/trunk/java/org/apache/tomcat/dbcp/pool2/impl/BaseGenericObjectPool.java
    
tomcat/trunk/java/org/apache/tomcat/dbcp/pool2/impl/BaseObjectPoolConfig.java
    tomcat/trunk/java/org/apache/tomcat/dbcp/pool2/impl/DefaultPooledObject.java
    
tomcat/trunk/java/org/apache/tomcat/dbcp/pool2/impl/DefaultPooledObjectInfo.java
    tomcat/trunk/java/org/apache/tomcat/dbcp/pool2/impl/EvictionConfig.java
    tomcat/trunk/java/org/apache/tomcat/dbcp/pool2/impl/EvictionTimer.java
    
tomcat/trunk/java/org/apache/tomcat/dbcp/pool2/impl/GenericKeyedObjectPool.java
    
tomcat/trunk/java/org/apache/tomcat/dbcp/pool2/impl/GenericKeyedObjectPoolConfig.java
    tomcat/trunk/java/org/apache/tomcat/dbcp/pool2/impl/GenericObjectPool.java
    
tomcat/trunk/java/org/apache/tomcat/dbcp/pool2/impl/GenericObjectPoolConfig.java
    tomcat/trunk/java/org/apache/tomcat/dbcp/pool2/impl/PoolImplUtils.java
    
tomcat/trunk/java/org/apache/tomcat/dbcp/pool2/impl/SoftReferenceObjectPool.java

Propchange: tomcat/trunk/java/org/apache/tomcat/dbcp/pool2/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Wed Jan 20 14:55:42 2016
@@ -1 +1 @@
-/commons/proper/pool/trunk/src/main/java/org/apache/commons/pool2:1593516-1693755
+/commons/proper/pool/trunk/src/main/java/org/apache/commons/pool2:1593516-1725731

Modified: 
tomcat/trunk/java/org/apache/tomcat/dbcp/pool2/BaseKeyedPooledObjectFactory.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/dbcp/pool2/BaseKeyedPooledObjectFactory.java?rev=1725733&r1=1725732&r2=1725733&view=diff
==============================================================================
--- 
tomcat/trunk/java/org/apache/tomcat/dbcp/pool2/BaseKeyedPooledObjectFactory.java
 (original)
+++ 
tomcat/trunk/java/org/apache/tomcat/dbcp/pool2/BaseKeyedPooledObjectFactory.java
 Wed Jan 20 14:55:42 2016
@@ -30,7 +30,7 @@ package org.apache.tomcat.dbcp.pool2;
  *
  * @since 2.0
  */
-public abstract class BaseKeyedPooledObjectFactory<K,V>
+public abstract class BaseKeyedPooledObjectFactory<K,V> extends BaseObject
         implements KeyedPooledObjectFactory<K,V> {
 
     /**

Copied: tomcat/trunk/java/org/apache/tomcat/dbcp/pool2/BaseObject.java (from 
r1725731, 
commons/proper/pool/trunk/src/main/java/org/apache/commons/pool2/BaseObject.java)
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/dbcp/pool2/BaseObject.java?p2=tomcat/trunk/java/org/apache/tomcat/dbcp/pool2/BaseObject.java&p1=commons/proper/pool/trunk/src/main/java/org/apache/commons/pool2/BaseObject.java&r1=1725731&r2=1725733&rev=1725733&view=diff
==============================================================================
--- 
commons/proper/pool/trunk/src/main/java/org/apache/commons/pool2/BaseObject.java
 (original)
+++ tomcat/trunk/java/org/apache/tomcat/dbcp/pool2/BaseObject.java Wed Jan 20 
14:55:42 2016
@@ -14,11 +14,11 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.commons.pool2;
+package org.apache.tomcat.dbcp.pool2;
 
 /**
  * A base class for common functionality.
- * 
+ *
  * @since 2.4.3
  */
 public abstract class BaseObject {
@@ -33,7 +33,7 @@ public abstract class BaseObject {
         return builder.toString();
     }
 
-    protected void toStringAppendFields(StringBuilder builder) {
+    protected void toStringAppendFields(@SuppressWarnings("unused") 
StringBuilder builder) {
         // do nothing by default, needed for b/w compatibility.
     }
 

Modified: tomcat/trunk/java/org/apache/tomcat/dbcp/pool2/BaseObjectPool.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/dbcp/pool2/BaseObjectPool.java?rev=1725733&r1=1725732&r2=1725733&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/tomcat/dbcp/pool2/BaseObjectPool.java 
(original)
+++ tomcat/trunk/java/org/apache/tomcat/dbcp/pool2/BaseObjectPool.java Wed Jan 
20 14:55:42 2016
@@ -27,7 +27,7 @@ package org.apache.tomcat.dbcp.pool2;
  *
  * @since 2.0
  */
-public abstract class BaseObjectPool<T> implements ObjectPool<T> {
+public abstract class BaseObjectPool<T> extends BaseObject implements 
ObjectPool<T> {
 
     @Override
     public abstract T borrowObject() throws Exception;
@@ -116,4 +116,10 @@ public abstract class BaseObjectPool<T>
     }
 
     private volatile boolean closed = false;
+
+    @Override
+    protected void toStringAppendFields(StringBuilder builder) {
+        builder.append("closed=");
+        builder.append(closed);
+    }
 }

Modified: 
tomcat/trunk/java/org/apache/tomcat/dbcp/pool2/BasePooledObjectFactory.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/dbcp/pool2/BasePooledObjectFactory.java?rev=1725733&r1=1725732&r2=1725733&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/tomcat/dbcp/pool2/BasePooledObjectFactory.java 
(original)
+++ tomcat/trunk/java/org/apache/tomcat/dbcp/pool2/BasePooledObjectFactory.java 
Wed Jan 20 14:55:42 2016
@@ -30,7 +30,7 @@ package org.apache.tomcat.dbcp.pool2;
  *
  * @since 2.0
  */
-public abstract class BasePooledObjectFactory<T> implements 
PooledObjectFactory<T> {
+public abstract class BasePooledObjectFactory<T> extends BaseObject implements 
PooledObjectFactory<T> {
     /**
      * Creates an object instance, to be wrapped in a {@link PooledObject}.
      * <p>This method <strong>must</strong> support concurrent, multi-threaded

Modified: tomcat/trunk/java/org/apache/tomcat/dbcp/pool2/PoolUtils.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/dbcp/pool2/PoolUtils.java?rev=1725733&r1=1725732&r2=1725733&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/tomcat/dbcp/pool2/PoolUtils.java (original)
+++ tomcat/trunk/java/org/apache/tomcat/dbcp/pool2/PoolUtils.java Wed Jan 20 
14:55:42 2016
@@ -563,7 +563,7 @@ public final class PoolUtils {
      * instances reaches the configured minIdle. Note that this is not the same
      * as the pool's minIdle setting.
      */
-    private static class ObjectPoolMinIdleTimerTask<T> extends TimerTask {
+    private static final class ObjectPoolMinIdleTimerTask<T> extends TimerTask 
{
 
         /** Minimum number of idle instances. Not the same as 
pool.getMinIdle(). */
         private final int minIdle;
@@ -632,7 +632,7 @@ public final class PoolUtils {
      * instances for the given key reaches the configured minIdle. Note that
      * this is not the same as the pool's minIdle setting.
      */
-    private static class KeyedObjectPoolMinIdleTimerTask<K, V> extends
+    private static final class KeyedObjectPoolMinIdleTimerTask<K, V> extends
             TimerTask {
         /** Minimum number of idle instances. Not the same as 
pool.getMinIdle(). */
         private final int minIdle;
@@ -716,7 +716,7 @@ public final class PoolUtils {
      * deadlock.
      * </p>
      */
-    private static class SynchronizedObjectPool<T> implements ObjectPool<T> {
+    private static final class SynchronizedObjectPool<T> implements 
ObjectPool<T> {
 
         /**
          * Object whose monitor is used to synchronize methods on the wrapped
@@ -889,7 +889,7 @@ public final class PoolUtils {
      * deadlock.
      * </p>
      */
-    private static class SynchronizedKeyedObjectPool<K, V> implements
+    private static final class SynchronizedKeyedObjectPool<K, V> implements
             KeyedObjectPool<K, V> {
 
         /**
@@ -1104,7 +1104,7 @@ public final class PoolUtils {
      * Pool library.
      * </p>
      */
-    private static class SynchronizedPooledObjectFactory<T> implements
+    private static final class SynchronizedPooledObjectFactory<T> implements
             PooledObjectFactory<T> {
         /** Synchronization lock */
         private final WriteLock writeLock = new 
ReentrantReadWriteLock().writeLock();
@@ -1217,7 +1217,7 @@ public final class PoolUtils {
      * Pool library.
      * </p>
      */
-    private static class SynchronizedKeyedPooledObjectFactory<K, V>
+    private static final class SynchronizedKeyedPooledObjectFactory<K, V>
             implements KeyedPooledObjectFactory<K, V> {
         /** Synchronization lock */
         private final WriteLock writeLock = new 
ReentrantReadWriteLock().writeLock();
@@ -1332,7 +1332,7 @@ public final class PoolUtils {
      * to previously established high water mark), erosion occurs more
      * frequently.
      */
-    private static class ErodingFactor {
+    private static final class ErodingFactor {
         /** Determines frequency of "erosion" events */
         private final float factor;
 
@@ -1751,7 +1751,7 @@ public final class PoolUtils {
      * per-key basis. Timing of erosion events is tracked separately for
      * separate keyed pools.
      */
-    private static class ErodingPerKeyKeyedObjectPool<K, V> extends
+    private static final class ErodingPerKeyKeyedObjectPool<K, V> extends
             ErodingKeyedObjectPool<K, V> {
         /** Erosion factor - same for all pools */
         private final float factor;

Modified: tomcat/trunk/java/org/apache/tomcat/dbcp/pool2/UsageTracking.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/dbcp/pool2/UsageTracking.java?rev=1725733&r1=1725732&r2=1725733&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/tomcat/dbcp/pool2/UsageTracking.java (original)
+++ tomcat/trunk/java/org/apache/tomcat/dbcp/pool2/UsageTracking.java Wed Jan 
20 14:55:42 2016
@@ -30,7 +30,7 @@ package org.apache.tomcat.dbcp.pool2;
 public interface UsageTracking<T> {
 
     /**
-     * This method is called every time a pooled object to enable the pool to
+     * This method is called every time a pooled object is used to enable the 
pool to
      * better track borrowed objects.
      *
      * @param pooledObject  The object that is being used

Modified: 
tomcat/trunk/java/org/apache/tomcat/dbcp/pool2/impl/AbandonedConfig.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/dbcp/pool2/impl/AbandonedConfig.java?rev=1725733&r1=1725732&r2=1725733&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/tomcat/dbcp/pool2/impl/AbandonedConfig.java 
(original)
+++ tomcat/trunk/java/org/apache/tomcat/dbcp/pool2/impl/AbandonedConfig.java 
Wed Jan 20 14:55:42 2016
@@ -229,4 +229,26 @@ public class AbandonedConfig {
     public void setUseUsageTracking(boolean useUsageTracking) {
         this.useUsageTracking = useUsageTracking;
     }
+
+    /**
+     * @since 2.4.3
+     */
+    @Override
+    public String toString() {
+        StringBuilder builder = new StringBuilder();
+        builder.append("AbandonedConfig [removeAbandonedOnBorrow=");
+        builder.append(removeAbandonedOnBorrow);
+        builder.append(", removeAbandonedOnMaintenance=");
+        builder.append(removeAbandonedOnMaintenance);
+        builder.append(", removeAbandonedTimeout=");
+        builder.append(removeAbandonedTimeout);
+        builder.append(", logAbandoned=");
+        builder.append(logAbandoned);
+        builder.append(", logWriter=");
+        builder.append(logWriter);
+        builder.append(", useUsageTracking=");
+        builder.append(useUsageTracking);
+        builder.append("]");
+        return builder.toString();
+    }
 }

Modified: 
tomcat/trunk/java/org/apache/tomcat/dbcp/pool2/impl/BaseGenericObjectPool.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/dbcp/pool2/impl/BaseGenericObjectPool.java?rev=1725733&r1=1725732&r2=1725733&view=diff
==============================================================================
--- 
tomcat/trunk/java/org/apache/tomcat/dbcp/pool2/impl/BaseGenericObjectPool.java 
(original)
+++ 
tomcat/trunk/java/org/apache/tomcat/dbcp/pool2/impl/BaseGenericObjectPool.java 
Wed Jan 20 14:55:42 2016
@@ -21,6 +21,7 @@ import java.io.StringWriter;
 import java.io.Writer;
 import java.lang.management.ManagementFactory;
 import java.lang.ref.WeakReference;
+import java.util.Arrays;
 import java.util.Deque;
 import java.util.Iterator;
 import java.util.TimerTask;
@@ -34,6 +35,7 @@ import javax.management.MalformedObjectN
 import javax.management.NotCompliantMBeanException;
 import javax.management.ObjectName;
 
+import org.apache.tomcat.dbcp.pool2.BaseObject;
 import org.apache.tomcat.dbcp.pool2.PooledObject;
 import org.apache.tomcat.dbcp.pool2.SwallowedExceptionListener;
 
@@ -48,7 +50,7 @@ import org.apache.tomcat.dbcp.pool2.Swal
  *
  * @since 2.0
  */
-public abstract class BaseGenericObjectPool<T> {
+public abstract class BaseGenericObjectPool<T> extends BaseObject {
 
     // Constants
     /**
@@ -1107,6 +1109,19 @@ public abstract class BaseGenericObjectP
             }
             return (long) result;
         }
+
+        @Override
+        public String toString() {
+            StringBuilder builder = new StringBuilder();
+            builder.append("StatsStore [values=");
+            builder.append(Arrays.toString(values));
+            builder.append(", size=");
+            builder.append(size);
+            builder.append(", index=");
+            builder.append(index);
+            builder.append("]");
+            return builder.toString();
+        }
     }
 
     /**
@@ -1198,6 +1213,85 @@ public abstract class BaseGenericObjectP
         public T getObject() {
             return instance;
         }
+
+        @Override
+        public String toString() {
+            StringBuilder builder = new StringBuilder();
+            builder.append("IdentityWrapper [instance=");
+            builder.append(instance);
+            builder.append("]");
+            return builder.toString();
+        }
+    }
+
+    @Override
+    protected void toStringAppendFields(StringBuilder builder) {
+        builder.append("maxTotal=");
+        builder.append(maxTotal);
+        builder.append(", blockWhenExhausted=");
+        builder.append(blockWhenExhausted);
+        builder.append(", maxWaitMillis=");
+        builder.append(maxWaitMillis);
+        builder.append(", lifo=");
+        builder.append(lifo);
+        builder.append(", fairness=");
+        builder.append(fairness);
+        builder.append(", testOnCreate=");
+        builder.append(testOnCreate);
+        builder.append(", testOnBorrow=");
+        builder.append(testOnBorrow);
+        builder.append(", testOnReturn=");
+        builder.append(testOnReturn);
+        builder.append(", testWhileIdle=");
+        builder.append(testWhileIdle);
+        builder.append(", timeBetweenEvictionRunsMillis=");
+        builder.append(timeBetweenEvictionRunsMillis);
+        builder.append(", numTestsPerEvictionRun=");
+        builder.append(numTestsPerEvictionRun);
+        builder.append(", minEvictableIdleTimeMillis=");
+        builder.append(minEvictableIdleTimeMillis);
+        builder.append(", softMinEvictableIdleTimeMillis=");
+        builder.append(softMinEvictableIdleTimeMillis);
+        builder.append(", evictionPolicy=");
+        builder.append(evictionPolicy);
+        builder.append(", closeLock=");
+        builder.append(closeLock);
+        builder.append(", closed=");
+        builder.append(closed);
+        builder.append(", evictionLock=");
+        builder.append(evictionLock);
+        builder.append(", evictor=");
+        builder.append(evictor);
+        builder.append(", evictionIterator=");
+        builder.append(evictionIterator);
+        builder.append(", factoryClassLoader=");
+        builder.append(factoryClassLoader);
+        builder.append(", oname=");
+        builder.append(oname);
+        builder.append(", creationStackTrace=");
+        builder.append(creationStackTrace);
+        builder.append(", borrowedCount=");
+        builder.append(borrowedCount);
+        builder.append(", returnedCount=");
+        builder.append(returnedCount);
+        builder.append(", createdCount=");
+        builder.append(createdCount);
+        builder.append(", destroyedCount=");
+        builder.append(destroyedCount);
+        builder.append(", destroyedByEvictorCount=");
+        builder.append(destroyedByEvictorCount);
+        builder.append(", destroyedByBorrowValidationCount=");
+        builder.append(destroyedByBorrowValidationCount);
+        builder.append(", activeTimes=");
+        builder.append(activeTimes);
+        builder.append(", idleTimes=");
+        builder.append(idleTimes);
+        builder.append(", waitTimes=");
+        builder.append(waitTimes);
+        builder.append(", maxBorrowWaitTimeMillis=");
+        builder.append(maxBorrowWaitTimeMillis);
+        builder.append(", swallowedExceptionListener=");
+        builder.append(swallowedExceptionListener);
     }
 
 }

Modified: 
tomcat/trunk/java/org/apache/tomcat/dbcp/pool2/impl/BaseObjectPoolConfig.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/dbcp/pool2/impl/BaseObjectPoolConfig.java?rev=1725733&r1=1725732&r2=1725733&view=diff
==============================================================================
--- 
tomcat/trunk/java/org/apache/tomcat/dbcp/pool2/impl/BaseObjectPoolConfig.java 
(original)
+++ 
tomcat/trunk/java/org/apache/tomcat/dbcp/pool2/impl/BaseObjectPoolConfig.java 
Wed Jan 20 14:55:42 2016
@@ -16,6 +16,8 @@
  */
 package org.apache.tomcat.dbcp.pool2.impl;
 
+import org.apache.tomcat.dbcp.pool2.BaseObject;
+
 /**
  * Provides the implementation for the common attributes shared by the
  * sub-classes. New instances of this class will be created using the defaults
@@ -25,7 +27,7 @@ package org.apache.tomcat.dbcp.pool2.imp
  *
  * @since 2.0
  */
-public abstract class BaseObjectPoolConfig implements Cloneable {
+public abstract class BaseObjectPoolConfig extends BaseObject implements 
Cloneable {
 
     /**
      * The default value for the {@code lifo} configuration attribute.
@@ -635,4 +637,40 @@ public abstract class BaseObjectPoolConf
     public void setJmxNamePrefix(String jmxNamePrefix) {
         this.jmxNamePrefix = jmxNamePrefix;
     }
+
+    @Override
+    protected void toStringAppendFields(StringBuilder builder) {
+        builder.append("lifo=");
+        builder.append(lifo);
+        builder.append(", fairness=");
+        builder.append(fairness);
+        builder.append(", maxWaitMillis=");
+        builder.append(maxWaitMillis);
+        builder.append(", minEvictableIdleTimeMillis=");
+        builder.append(minEvictableIdleTimeMillis);
+        builder.append(", softMinEvictableIdleTimeMillis=");
+        builder.append(softMinEvictableIdleTimeMillis);
+        builder.append(", numTestsPerEvictionRun=");
+        builder.append(numTestsPerEvictionRun);
+        builder.append(", evictionPolicyClassName=");
+        builder.append(evictionPolicyClassName);
+        builder.append(", testOnCreate=");
+        builder.append(testOnCreate);
+        builder.append(", testOnBorrow=");
+        builder.append(testOnBorrow);
+        builder.append(", testOnReturn=");
+        builder.append(testOnReturn);
+        builder.append(", testWhileIdle=");
+        builder.append(testWhileIdle);
+        builder.append(", timeBetweenEvictionRunsMillis=");
+        builder.append(timeBetweenEvictionRunsMillis);
+        builder.append(", blockWhenExhausted=");
+        builder.append(blockWhenExhausted);
+        builder.append(", jmxEnabled=");
+        builder.append(jmxEnabled);
+        builder.append(", jmxNamePrefix=");
+        builder.append(jmxNamePrefix);
+        builder.append(", jmxNameBase=");
+        builder.append(jmxNameBase);
+    }
 }

Modified: 
tomcat/trunk/java/org/apache/tomcat/dbcp/pool2/impl/DefaultPooledObject.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/dbcp/pool2/impl/DefaultPooledObject.java?rev=1725733&r1=1725732&r2=1725733&view=diff
==============================================================================
--- 
tomcat/trunk/java/org/apache/tomcat/dbcp/pool2/impl/DefaultPooledObject.java 
(original)
+++ 
tomcat/trunk/java/org/apache/tomcat/dbcp/pool2/impl/DefaultPooledObject.java 
Wed Jan 20 14:55:42 2016
@@ -76,9 +76,8 @@ public class DefaultPooledObject<T> impl
 
         if (rTime > bTime) {
             return rTime - bTime;
-        } else {
-            return System.currentTimeMillis() - bTime;
         }
+        return System.currentTimeMillis() - bTime;
     }
 
     @Override
@@ -122,9 +121,8 @@ public class DefaultPooledObject<T> impl
     public long getLastUsedTime() {
         if (object instanceof TrackedUse) {
             return Math.max(((TrackedUse) object).getLastUsed(), lastUseTime);
-        } else {
-            return lastUseTime;
         }
+        return lastUseTime;
     }
 
     @Override

Modified: 
tomcat/trunk/java/org/apache/tomcat/dbcp/pool2/impl/DefaultPooledObjectInfo.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/dbcp/pool2/impl/DefaultPooledObjectInfo.java?rev=1725733&r1=1725732&r2=1725733&view=diff
==============================================================================
--- 
tomcat/trunk/java/org/apache/tomcat/dbcp/pool2/impl/DefaultPooledObjectInfo.java
 (original)
+++ 
tomcat/trunk/java/org/apache/tomcat/dbcp/pool2/impl/DefaultPooledObjectInfo.java
 Wed Jan 20 14:55:42 2016
@@ -96,8 +96,19 @@ public class DefaultPooledObjectInfo imp
         // TODO Simplify this once getBorrowedCount has been added to 
PooledObject
         if (pooledObject instanceof DefaultPooledObject) {
             return ((DefaultPooledObject<?>) pooledObject).getBorrowedCount();
-        } else {
-            return -1;
         }
+        return -1;
+    }
+
+    /**
+     * @since 2.4.3
+     */
+    @Override
+    public String toString() {
+        StringBuilder builder = new StringBuilder();
+        builder.append("DefaultPooledObjectInfo [pooledObject=");
+        builder.append(pooledObject);
+        builder.append("]");
+        return builder.toString();
     }
 }

Modified: 
tomcat/trunk/java/org/apache/tomcat/dbcp/pool2/impl/EvictionConfig.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/dbcp/pool2/impl/EvictionConfig.java?rev=1725733&r1=1725732&r2=1725733&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/tomcat/dbcp/pool2/impl/EvictionConfig.java 
(original)
+++ tomcat/trunk/java/org/apache/tomcat/dbcp/pool2/impl/EvictionConfig.java Wed 
Jan 20 14:55:42 2016
@@ -31,7 +31,6 @@ public class EvictionConfig {
     private final long idleSoftEvictTime;
     private final int minIdle;
 
-
     /**
      * Create a new eviction configuration with the specified parameters.
      * Instances are immutable.
@@ -96,4 +95,20 @@ public class EvictionConfig {
     public int getMinIdle() {
         return minIdle;
     }
+
+    /**
+     * @since 2.4
+     */
+    @Override
+    public String toString() {
+        StringBuilder builder = new StringBuilder();
+        builder.append("EvictionConfig [idleEvictTime=");
+        builder.append(idleEvictTime);
+        builder.append(", idleSoftEvictTime=");
+        builder.append(idleSoftEvictTime);
+        builder.append(", minIdle=");
+        builder.append(minIdle);
+        builder.append("]");
+        return builder.toString();
+    }
 }

Modified: tomcat/trunk/java/org/apache/tomcat/dbcp/pool2/impl/EvictionTimer.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/dbcp/pool2/impl/EvictionTimer.java?rev=1725733&r1=1725732&r2=1725733&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/tomcat/dbcp/pool2/impl/EvictionTimer.java 
(original)
+++ tomcat/trunk/java/org/apache/tomcat/dbcp/pool2/impl/EvictionTimer.java Wed 
Jan 20 14:55:42 2016
@@ -109,14 +109,14 @@ class EvictionTimer {
     private static class PrivilegedSetTccl implements PrivilegedAction<Void> {
 
         /** ClassLoader */
-        private final ClassLoader cl;
+        private final ClassLoader classLoader;
 
         /**
          * Create a new PrivilegedSetTccl using the given classloader
-         * @param cl ClassLoader to use
+         * @param classLoader ClassLoader to use
          */
         PrivilegedSetTccl(ClassLoader cl) {
-            this.cl = cl;
+            this.classLoader = cl;
         }
 
         /**
@@ -124,9 +124,18 @@ class EvictionTimer {
          */
         @Override
         public Void run() {
-            Thread.currentThread().setContextClassLoader(cl);
+            Thread.currentThread().setContextClassLoader(classLoader);
             return null;
         }
+
+        @Override
+        public String toString() {
+            StringBuilder builder = new StringBuilder();
+            builder.append("PrivilegedSetTccl [classLoader=");
+            builder.append(classLoader);
+            builder.append("]");
+            return builder.toString();
+        }
     }
 
     /**
@@ -147,4 +156,14 @@ class EvictionTimer {
             return new Timer("commons-pool-EvictionTimer", true);
         }
     }
+
+    /**
+     * @since 2.4.3
+     */
+    @Override
+    public String toString() {
+        StringBuilder builder = new StringBuilder();
+        builder.append("EvictionTimer []");
+        return builder.toString();
+    }
 }

Modified: 
tomcat/trunk/java/org/apache/tomcat/dbcp/pool2/impl/GenericKeyedObjectPool.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/dbcp/pool2/impl/GenericKeyedObjectPool.java?rev=1725733&r1=1725732&r2=1725733&view=diff
==============================================================================
--- 
tomcat/trunk/java/org/apache/tomcat/dbcp/pool2/impl/GenericKeyedObjectPool.java 
(original)
+++ 
tomcat/trunk/java/org/apache/tomcat/dbcp/pool2/impl/GenericKeyedObjectPool.java 
Wed Jan 20 14:55:42 2016
@@ -222,9 +222,8 @@ public class GenericKeyedObjectPool<K,T>
         int maxIdlePerKeySave = getMaxIdlePerKey();
         if (this.minIdlePerKey > maxIdlePerKeySave) {
             return maxIdlePerKeySave;
-        } else {
-            return minIdlePerKey;
         }
+        return minIdlePerKey;
     }
 
     /**
@@ -481,9 +480,8 @@ public class GenericKeyedObjectPool<K,T>
             if (state != PooledObjectState.ALLOCATED) {
                 throw new IllegalStateException(
                         "Object has already been returned to this pool or is 
invalid");
-            } else {
-                p.markReturning(); // Keep from being marked abandoned (once 
GKOP does this)
             }
+            p.markReturning(); // Keep from being marked abandoned (once GKOP 
does this)
         }
 
         long activeTime = p.getActiveTimeMillis();
@@ -686,9 +684,8 @@ public class GenericKeyedObjectPool<K,T>
         if (objectDeque != null) {
             return objectDeque.getAllObjects().size() -
                     objectDeque.getIdleObjects().size();
-        } else {
-            return 0;
         }
+        return 0;
     }
 
 
@@ -1015,9 +1012,8 @@ public class GenericKeyedObjectPool<K,T>
                 numTotal.decrementAndGet();
                 if (getNumIdle() == 0) {
                     return null;
-                } else {
-                    clearOldest();
                 }
+                clearOldest();
             } else {
                 loop = false;
             }
@@ -1079,9 +1075,8 @@ public class GenericKeyedObjectPool<K,T>
                     numTotal.decrementAndGet();
                 }
                 return true;
-            } else {
-                return false;
             }
+            return false;
         } finally {
             deregister(key);
         }
@@ -1496,6 +1491,21 @@ public class GenericKeyedObjectPool<K,T>
             return allObjects;
         }
 
+        @Override
+        public String toString() {
+            StringBuilder builder = new StringBuilder();
+            builder.append("ObjectDeque [idleObjects=");
+            builder.append(idleObjects);
+            builder.append(", createCount=");
+            builder.append(createCount);
+            builder.append(", allObjects=");
+            builder.append(allObjects);
+            builder.append(", numInterested=");
+            builder.append(numInterested);
+            builder.append("]");
+            return builder.toString();
+        }
+
     }
 
     //--- configuration attributes 
---------------------------------------------
@@ -1539,4 +1549,31 @@ public class GenericKeyedObjectPool<K,T>
     // JMX specific attributes
     private static final String ONAME_BASE =
         "org.apache.tomcat.dbcp.pool2:type=GenericKeyedObjectPool,name=";
+
+    @Override
+    protected void toStringAppendFields(StringBuilder builder) {
+        super.toStringAppendFields(builder);
+        builder.append(", maxIdlePerKey=");
+        builder.append(maxIdlePerKey);
+        builder.append(", minIdlePerKey=");
+        builder.append(minIdlePerKey);
+        builder.append(", maxTotalPerKey=");
+        builder.append(maxTotalPerKey);
+        builder.append(", factory=");
+        builder.append(factory);
+        builder.append(", fairness=");
+        builder.append(fairness);
+        builder.append(", poolMap=");
+        builder.append(poolMap);
+        builder.append(", poolKeyList=");
+        builder.append(poolKeyList);
+        builder.append(", keyLock=");
+        builder.append(keyLock);
+        builder.append(", numTotal=");
+        builder.append(numTotal);
+        builder.append(", evictionKeyIterator=");
+        builder.append(evictionKeyIterator);
+        builder.append(", evictionKey=");
+        builder.append(evictionKey);
+    }
 }

Modified: 
tomcat/trunk/java/org/apache/tomcat/dbcp/pool2/impl/GenericKeyedObjectPoolConfig.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/dbcp/pool2/impl/GenericKeyedObjectPoolConfig.java?rev=1725733&r1=1725732&r2=1725733&view=diff
==============================================================================
--- 
tomcat/trunk/java/org/apache/tomcat/dbcp/pool2/impl/GenericKeyedObjectPoolConfig.java
 (original)
+++ 
tomcat/trunk/java/org/apache/tomcat/dbcp/pool2/impl/GenericKeyedObjectPoolConfig.java
 Wed Jan 20 14:55:42 2016
@@ -179,4 +179,17 @@ public class GenericKeyedObjectPoolConfi
             throw new AssertionError(); // Can't happen
         }
     }
+
+    @Override
+    protected void toStringAppendFields(StringBuilder builder) {
+        super.toStringAppendFields(builder);
+        builder.append(", minIdlePerKey=");
+        builder.append(minIdlePerKey);
+        builder.append(", maxIdlePerKey=");
+        builder.append(maxIdlePerKey);
+        builder.append(", maxTotalPerKey=");
+        builder.append(maxTotalPerKey);
+        builder.append(", maxTotal=");
+        builder.append(maxTotal);
+    }
 }

Modified: 
tomcat/trunk/java/org/apache/tomcat/dbcp/pool2/impl/GenericObjectPool.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/dbcp/pool2/impl/GenericObjectPool.java?rev=1725733&r1=1725732&r2=1725733&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/tomcat/dbcp/pool2/impl/GenericObjectPool.java 
(original)
+++ tomcat/trunk/java/org/apache/tomcat/dbcp/pool2/impl/GenericObjectPool.java 
Wed Jan 20 14:55:42 2016
@@ -216,9 +216,8 @@ public class GenericObjectPool<T> extend
         int maxIdleSave = getMaxIdle();
         if (this.minIdle > maxIdleSave) {
             return maxIdleSave;
-        } else {
-            return minIdle;
         }
+        return minIdle;
     }
 
     /**
@@ -538,9 +537,8 @@ public class GenericObjectPool<T> extend
             if (!isAbandonedConfig()) {
                 throw new IllegalStateException(
                         "Returned object not currently part of this pool");
-            } else {
-                return; // Object was abandoned and removed
             }
+            return; // Object was abandoned and removed
         }
 
         synchronized(p) {
@@ -548,9 +546,8 @@ public class GenericObjectPool<T> extend
             if (state != PooledObjectState.ALLOCATED) {
                 throw new IllegalStateException(
                         "Object has already been returned to this pool or is 
invalid");
-            } else {
-                p.markReturning(); // Keep from being marked abandoned
             }
+            p.markReturning(); // Keep from being marked abandoned
         }
 
         long activeTime = p.getActiveTimeMillis();
@@ -634,10 +631,9 @@ public class GenericObjectPool<T> extend
         if (p == null) {
             if (isAbandonedConfig()) {
                 return;
-            } else {
-                throw new IllegalStateException(
-                        "Invalidated object not currently part of this pool");
             }
+            throw new IllegalStateException(
+                    "Invalidated object not currently part of this pool");
         }
         synchronized (p) {
             if (p.getState() != PooledObjectState.INVALID) {
@@ -991,10 +987,9 @@ public class GenericObjectPool<T> extend
         int numTestsPerEvictionRun = getNumTestsPerEvictionRun();
         if (numTestsPerEvictionRun >= 0) {
             return Math.min(numTestsPerEvictionRun, idleObjects.size());
-        } else {
-            return (int) (Math.ceil(idleObjects.size() /
-                    Math.abs((double) numTestsPerEvictionRun)));
         }
+        return (int) (Math.ceil(idleObjects.size() /
+                Math.abs((double) numTestsPerEvictionRun)));
     }
 
     /**
@@ -1065,9 +1060,8 @@ public class GenericObjectPool<T> extend
     public int getNumWaiters() {
         if (getBlockWhenExhausted()) {
             return idleObjects.getTakeQueueLength();
-        } else {
-            return 0;
         }
+        return 0;
     }
 
     /**
@@ -1147,4 +1141,25 @@ public class GenericObjectPool<T> extend
 
     // Additional configuration properties for abandoned object tracking
     private volatile AbandonedConfig abandonedConfig = null;
+
+    @Override
+    protected void toStringAppendFields(StringBuilder builder) {
+        super.toStringAppendFields(builder);
+        builder.append(", factoryType=");
+        builder.append(factoryType);
+        builder.append(", maxIdle=");
+        builder.append(maxIdle);
+        builder.append(", minIdle=");
+        builder.append(minIdle);
+        builder.append(", factory=");
+        builder.append(factory);
+        builder.append(", allObjects=");
+        builder.append(allObjects);
+        builder.append(", createCount=");
+        builder.append(createCount);
+        builder.append(", idleObjects=");
+        builder.append(idleObjects);
+        builder.append(", abandonedConfig=");
+        builder.append(abandonedConfig);
+    }
 }

Modified: 
tomcat/trunk/java/org/apache/tomcat/dbcp/pool2/impl/GenericObjectPoolConfig.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/dbcp/pool2/impl/GenericObjectPoolConfig.java?rev=1725733&r1=1725732&r2=1725733&view=diff
==============================================================================
--- 
tomcat/trunk/java/org/apache/tomcat/dbcp/pool2/impl/GenericObjectPoolConfig.java
 (original)
+++ 
tomcat/trunk/java/org/apache/tomcat/dbcp/pool2/impl/GenericObjectPoolConfig.java
 Wed Jan 20 14:55:42 2016
@@ -141,4 +141,15 @@ public class GenericObjectPoolConfig ext
             throw new AssertionError(); // Can't happen
         }
     }
+
+    @Override
+    protected void toStringAppendFields(StringBuilder builder) {
+        super.toStringAppendFields(builder);
+        builder.append(", maxTotal=");
+        builder.append(maxTotal);
+        builder.append(", maxIdle=");
+        builder.append(maxIdle);
+        builder.append(", minIdle=");
+        builder.append(minIdle);
+    }
 }

Modified: tomcat/trunk/java/org/apache/tomcat/dbcp/pool2/impl/PoolImplUtils.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/dbcp/pool2/impl/PoolImplUtils.java?rev=1725733&r1=1725732&r2=1725733&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/tomcat/dbcp/pool2/impl/PoolImplUtils.java 
(original)
+++ tomcat/trunk/java/org/apache/tomcat/dbcp/pool2/impl/PoolImplUtils.java Wed 
Jan 20 14:55:42 2016
@@ -113,14 +113,13 @@ class PoolImplUtils {
     private static Object getTypeParameter(Class<?> clazz, Type argType) {
         if (argType instanceof Class<?>) {
             return argType;
-        } else {
-            TypeVariable<?>[] tvs = clazz.getTypeParameters();
-            for (int i = 0; i < tvs.length; i++) {
-                if (tvs[i].equals(argType)) {
-                    return Integer.valueOf(i);
-                }
+        }
+        TypeVariable<?>[] tvs = clazz.getTypeParameters();
+        for (int i = 0; i < tvs.length; i++) {
+            if (tvs[i].equals(argType)) {
+                return Integer.valueOf(i);
             }
-            return null;
         }
+        return null;
     }
 }

Modified: 
tomcat/trunk/java/org/apache/tomcat/dbcp/pool2/impl/SoftReferenceObjectPool.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/dbcp/pool2/impl/SoftReferenceObjectPool.java?rev=1725733&r1=1725732&r2=1725733&view=diff
==============================================================================
--- 
tomcat/trunk/java/org/apache/tomcat/dbcp/pool2/impl/SoftReferenceObjectPool.java
 (original)
+++ 
tomcat/trunk/java/org/apache/tomcat/dbcp/pool2/impl/SoftReferenceObjectPool.java
 Wed Jan 20 14:55:42 2016
@@ -121,14 +121,13 @@ public class SoftReferenceObjectPool<T>
             if (idleReferences.isEmpty()) {
                 if (null == factory) {
                     throw new NoSuchElementException();
-                } else {
-                    newlyCreated = true;
-                    obj = factory.makeObject().getObject();
-                    createCount++;
-                    // Do not register with the queue
-                    ref = new PooledSoftReference<>(new SoftReference<>(obj));
-                    allReferences.add(ref);
                 }
+                newlyCreated = true;
+                obj = factory.makeObject().getObject();
+                createCount++;
+                // Do not register with the queue
+                ref = new PooledSoftReference<>(new SoftReference<>(obj));
+                allReferences.add(ref);
             } else {
                 ref = idleReferences.pollFirst();
                 obj = ref.getObject();
@@ -429,4 +428,23 @@ public class SoftReferenceObjectPool<T>
             }
         }
     }
+
+    @Override
+    protected void toStringAppendFields(StringBuilder builder) {
+        super.toStringAppendFields(builder);
+        builder.append(", factory=");
+        builder.append(factory);
+        builder.append(", refQueue=");
+        builder.append(refQueue);
+        builder.append(", numActive=");
+        builder.append(numActive);
+        builder.append(", destroyCount=");
+        builder.append(destroyCount);
+        builder.append(", createCount=");
+        builder.append(createCount);
+        builder.append(", idleReferences=");
+        builder.append(idleReferences);
+        builder.append(", allReferences=");
+        builder.append(allReferences);
+    }
 }




---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org

Reply via email to