You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@commons.apache.org by ma...@apache.org on 2013/01/10 16:07:12 UTC

svn commit: r1431401 - in /commons/proper/pool/trunk/src: main/java/org/apache/commons/pool2/impl/GenericObjectPool.java test/java/org/apache/commons/pool2/TestPoolUtils.java test/java/org/apache/commons/pool2/impl/TestAbandonedObjectPool.java

Author: markt
Date: Thu Jan 10 15:07:12 2013
New Revision: 1431401

URL: http://svn.apache.org/viewvc?rev=1431401&view=rev
Log:
Fix various IDE warnings

Modified:
    commons/proper/pool/trunk/src/main/java/org/apache/commons/pool2/impl/GenericObjectPool.java
    commons/proper/pool/trunk/src/test/java/org/apache/commons/pool2/TestPoolUtils.java
    commons/proper/pool/trunk/src/test/java/org/apache/commons/pool2/impl/TestAbandonedObjectPool.java

Modified: commons/proper/pool/trunk/src/main/java/org/apache/commons/pool2/impl/GenericObjectPool.java
URL: http://svn.apache.org/viewvc/commons/proper/pool/trunk/src/main/java/org/apache/commons/pool2/impl/GenericObjectPool.java?rev=1431401&r1=1431400&r2=1431401&view=diff
==============================================================================
--- commons/proper/pool/trunk/src/main/java/org/apache/commons/pool2/impl/GenericObjectPool.java (original)
+++ commons/proper/pool/trunk/src/main/java/org/apache/commons/pool2/impl/GenericObjectPool.java Thu Jan 10 15:07:12 2013
@@ -45,7 +45,7 @@ import org.apache.commons.pool2.Poolable
  * <p>
  * The pool can also be configured to detect and remove "abandoned" objects,
  * i.e. objects that have been checked out of the pool but neither used nor
- * returned before the configured 
+ * returned before the configured
  * {@link AbandonedConfig#getRemoveAbandonedTimeout() removeAbandonedTimeout}.
  * Abandoned object removal can be configured to happen when
  * <code>borrowObject</code> is invoked and the pool is close to starvation, or
@@ -104,7 +104,7 @@ public class GenericObjectPool<T> extend
 
         startEvictor(getTimeBetweenEvictionRunsMillis());
     }
-    
+
     /**
      * Create a new <code>GenericObjectPool</code> that tracks and destroys
      * objects that are checked out, but never returned to the pool.
@@ -207,54 +207,60 @@ public class GenericObjectPool<T> extend
             return minIdle;
         }
     }
-    
+
     /**
      * Whether or not abandoned object removal is configured for this pool.
-     * 
+     *
      * @return true if this pool is configured to detect and remove
      * abandoned objects
      */
+    @Override
     public boolean isAbandonedConfig() {
         return abandonedConfig != null;
     }
+
     /**
      * Returns true if abandoned object removal is configured for this pool
      * and removal events are to be logged.
-     * 
+     *
      * See {@link AbandonedConfig#getLogAbandoned()}
      */
+    @Override
     public boolean getLogAbandoned() {
         return isAbandonedConfig() && abandonedConfig.getLogAbandoned();
     }
-    
+
     /**
      * Returns true if abandoned object removal is configured to be
      * activated by borrowObject.
-     * 
+     *
      * See {@link AbandonedConfig#getRemoveAbandonedOnBorrow()}
      */
+    @Override
     public boolean getRemoveAbandonedOnBorrow() {
         return isAbandonedConfig() &&
         abandonedConfig.getRemoveAbandonedOnBorrow();
     }
-    
+
     /**
      * Returns true if abandoned object removal is configured to be
      * activated when the evictor runs.
-     * 
+     *
      * See {@link AbandonedConfig#getRemoveAbandonedOnMaintenance()}
      */
+    @Override
     public boolean getRemoveAbandonedOnMaintenance() {
         return isAbandonedConfig() &&
         abandonedConfig.getRemoveAbandonedOnMaintenance();
     }
-    
+
     /**
      * Returns the abandoned object timeout if abandoned object removal
      * is configured for this pool; Integer.MAX_VALUE otherwise.
-     * 
+     *
      * See {@link AbandonedConfig#getRemoveAbandonedTimeout()}
      */
+    @Override
     public int getRemoveAbandonedTimeout() {
         return isAbandonedConfig() ?
                 abandonedConfig.getRemoveAbandonedTimeout() :
@@ -287,7 +293,7 @@ public class GenericObjectPool<T> extend
                 conf.getSoftMinEvictableIdleTimeMillis());
         setEvictionPolicyClassName(conf.getEvictionPolicyClassName());
     }
-    
+
     /**
      * Sets the abandoned object removal configuration.
      *
@@ -366,7 +372,7 @@ public class GenericObjectPool<T> extend
      */
     public T borrowObject(long borrowMaxWaitMillis) throws Exception {
         assertOpen();
-        
+
         if (isAbandonedConfig() &&
                 abandonedConfig.getRemoveAbandonedOnBorrow() &&
                 (getNumIdle() < 2) &&
@@ -491,16 +497,16 @@ public class GenericObjectPool<T> extend
     @Override
     public void returnObject(T obj) {
         PooledObject<T> p = allObjects.get(obj);
-        
+
         if (!isAbandonedConfig()) {
             if (p == null) {
                 throw new IllegalStateException(
                         "Returned object not currently part of this pool");
-            }   
+            }
         } else {
             if (p == null) {
                 return;  // Object was abandoned and removed
-            } else { 
+            } else {
                 // Make sure object is not being reclaimed
                 synchronized(p) {
                     final PooledObjectState state = p.getState();
@@ -511,7 +517,7 @@ public class GenericObjectPool<T> extend
                         p.markReturning(); // Keep from being marked abandoned
                     }
                 }
-            }  
+            }
         }
 
         long activeTime = p.getActiveTimeMillis();
@@ -583,7 +589,7 @@ public class GenericObjectPool<T> extend
                 throw new IllegalStateException(
                         "Invalidated object not currently part of this pool");
             }
-        }   
+        }
         synchronized (p) {
             if (p.getState() != PooledObjectState.INVALID) { 
                 destroy(p);
@@ -681,7 +687,7 @@ public class GenericObjectPool<T> extend
         assertOpen();
 
         if (idleObjects.size() > 0) {
-            
+
             PooledObject<T> underTest = null;
             EvictionPolicy<T> evictionPolicy = getEvictionPolicy();
 
@@ -861,7 +867,7 @@ public class GenericObjectPool<T> extend
                     Math.abs((double) numTestsPerEvictionRun)));
         }
     }
-    
+
     /**
      * Recover abandoned objects which have been checked out but
      * not used since longer than the removeAbandonedTimeout.
@@ -889,15 +895,15 @@ public class GenericObjectPool<T> extend
             PooledObject<T> pooledObject = itr.next();
             if (abandonedConfig.getLogAbandoned()) {
                 pooledObject.printStackTrace();
-            }             
+            }
             try {
                 invalidateObject(pooledObject.getObject());
             } catch (Exception e) {
                 e.printStackTrace();
             }
-        } 
+        }
     }
-    
+
     //--- JMX support ----------------------------------------------------------
 
     /**
@@ -947,7 +953,7 @@ public class GenericObjectPool<T> extend
     // JMX specific attributes
     private static final String ONAME_BASE =
         "org.apache.commoms.pool2:type=GenericObjectPool,name=";
-    
+
     // Additional configuration properties for abandoned object tracking
     private volatile AbandonedConfig abandonedConfig = null;
 }

Modified: commons/proper/pool/trunk/src/test/java/org/apache/commons/pool2/TestPoolUtils.java
URL: http://svn.apache.org/viewvc/commons/proper/pool/trunk/src/test/java/org/apache/commons/pool2/TestPoolUtils.java?rev=1431401&r1=1431400&r2=1431401&view=diff
==============================================================================
--- commons/proper/pool/trunk/src/test/java/org/apache/commons/pool2/TestPoolUtils.java (original)
+++ commons/proper/pool/trunk/src/test/java/org/apache/commons/pool2/TestPoolUtils.java Thu Jan 10 15:07:12 2013
@@ -759,7 +759,6 @@ public class TestPoolUtils {
     }
 
     private static <T> T createProxy(final Class<T> clazz, final InvocationHandler handler) {
-        @SuppressWarnings("unchecked")
         T ret = (T) Proxy.newProxyInstance(
                 clazz.getClassLoader(), new Class[] { clazz }, handler);
         return ret;

Modified: commons/proper/pool/trunk/src/test/java/org/apache/commons/pool2/impl/TestAbandonedObjectPool.java
URL: http://svn.apache.org/viewvc/commons/proper/pool/trunk/src/test/java/org/apache/commons/pool2/impl/TestAbandonedObjectPool.java?rev=1431401&r1=1431400&r2=1431401&view=diff
==============================================================================
--- commons/proper/pool/trunk/src/test/java/org/apache/commons/pool2/impl/TestAbandonedObjectPool.java (original)
+++ commons/proper/pool/trunk/src/test/java/org/apache/commons/pool2/impl/TestAbandonedObjectPool.java Thu Jan 10 15:07:12 2013
@@ -5,9 +5,9 @@
  * The ASF licenses this file to You under the Apache License, Version 2.0
  * (the "License"); you may not use this file except in compliance with
  * the License.  You may obtain a copy of the License at
- * 
+ *
  *      http://www.apache.org/licenses/LICENSE-2.0
- * 
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -32,7 +32,7 @@ import org.junit.Assert;
 
 /**
  * TestCase for AbandonedObjectPool
- * 
+ *
  * @version $Revision: 1158659 $ $Date: 2011-08-17 05:37:26 -0700 (Wed, 17 Aug 2011) $
  */
 public class TestAbandonedObjectPool extends TestCase {
@@ -42,10 +42,10 @@ public class TestAbandonedObjectPool ext
     @Override
     public void setUp() throws Exception {
         abandonedConfig = new AbandonedConfig();
-        
-        // -- Uncomment the following line to enable logging -- 
+
+        // -- Uncomment the following line to enable logging --
         // abandonedConfig.setLogAbandoned(true);
-        
+
         abandonedConfig.setRemoveAbandonedOnBorrow(true);
         abandonedConfig.setRemoveAbandonedTimeout(1);
         pool = new GenericObjectPool<PooledTestObject>(
@@ -81,7 +81,7 @@ public class TestAbandonedObjectPool ext
     /**
     * Tests fix for Bug 28579, a bug in AbandonedObjectPool that causes numActive to go negative
     * in GenericObjectPool
-    * 
+    *
     */
     public void testConcurrentInvalidation() throws Exception {
         final int POOL_SIZE = 30;
@@ -94,10 +94,10 @@ public class TestAbandonedObjectPool ext
         for (int i = 0; i < POOL_SIZE; i++) {
             vec.add(pool.borrowObject());
         }
-        
+
         // Abandon all borrowed objects
         for (int i = 0; i < vec.size(); i++) {
-            ((PooledTestObject)vec.get(i)).setAbandoned(true);
+            vec.get(i).setAbandoned(true);
         }
 
         // Try launching a bunch of borrows concurrently.  Abandoned sweep will be triggered for each.
@@ -112,26 +112,26 @@ public class TestAbandonedObjectPool ext
         for (int i = 0; i < CONCURRENT_BORROWS; i++) {
             threads[i].join();
         }
-        
+
         // Return all objects that have not been destroyed
         for (int i = 0; i < vec.size(); i++) {
-            PooledTestObject pto = (PooledTestObject)vec.get(i);
+            PooledTestObject pto = vec.get(i);
             if (pto.isActive()) {
                 pool.returnObject(pto);
             }
         }
-        
+
         // Now, the number of active instances should be 0
         assertTrue("numActive should have been 0, was " + pool.getNumActive(), pool.getNumActive() == 0);
     }
-    
+
     /**
      * Verify that an object that gets flagged as abandoned and is subsequently returned
      * is destroyed instead of being returned to the pool (and possibly later destroyed
      * inappropriately).
      */
     public void testAbandonedReturn() throws Exception {
-        abandonedConfig = new AbandonedConfig(); 
+        abandonedConfig = new AbandonedConfig();
         abandonedConfig.setRemoveAbandonedOnBorrow(true);
         abandonedConfig.setRemoveAbandonedTimeout(1);
         pool.close();  // Unregister pool created by setup
@@ -156,13 +156,13 @@ public class TestAbandonedObjectPool ext
         assertEquals(0, pool.getNumIdle());
         assertEquals(1, pool.getNumActive());
     }
-    
+
     /**
      * Verify that an object that gets flagged as abandoned and is subsequently
      * invalidated is only destroyed (and pool counter decremented) once.
      */
     public void testAbandonedInvalidate() throws Exception {
-        abandonedConfig = new AbandonedConfig(); 
+        abandonedConfig = new AbandonedConfig();
         abandonedConfig.setRemoveAbandonedOnMaintenance(true);
         abandonedConfig.setRemoveAbandonedTimeout(1);
         pool.close();  // Unregister pool created by setup
@@ -176,20 +176,20 @@ public class TestAbandonedObjectPool ext
         PooledTestObject obj = null;
         for (int i = 0; i < 5; i++) {
             obj = pool.borrowObject();
-        } 
+        }
         Thread.sleep(1000);          // abandon checked out instances and let evictor start
         pool.invalidateObject(obj);  // Should not trigger another destroy / decrement
         Thread.sleep(2000);          // give evictor time to finish destroys
         assertEquals(0, pool.getNumActive());
         assertEquals(5, pool.getDestroyedCount());
     }
-    
+
     /**
      * Verify that an object that the evictor identifies as abandoned while it
      * is in process of being returned to the pool is not destroyed.
      */
     public void testRemoveAbandonedWhileReturning() throws Exception {
-        abandonedConfig = new AbandonedConfig(); 
+        abandonedConfig = new AbandonedConfig();
         abandonedConfig.setRemoveAbandonedOnMaintenance(true);
         abandonedConfig.setRemoveAbandonedTimeout(1);
         pool.close();  // Unregister pool created by setup
@@ -209,16 +209,16 @@ public class TestAbandonedObjectPool ext
         pool.returnObject(obj); // evictor will run during validation
         PooledTestObject obj2 = pool.borrowObject();
         assertEquals(obj, obj2);          // should get original back
-        assertTrue(!obj2.isDestroyed());  // and not destroyed 
+        assertTrue(!obj2.isDestroyed());  // and not destroyed
     }
-    
+
     class ConcurrentBorrower extends Thread {
         private ArrayList<PooledTestObject> _borrowed;
-        
+
         public ConcurrentBorrower(ArrayList<PooledTestObject> borrowed) {
             _borrowed = borrowed;
         }
-        
+
         @Override
         public void run() {
             try {
@@ -228,7 +228,7 @@ public class TestAbandonedObjectPool ext
             }
         }
     }
-    
+
     class ConcurrentReturner extends Thread {
         private PooledTestObject returned;
         public ConcurrentReturner(PooledTestObject obj) {
@@ -244,26 +244,28 @@ public class TestAbandonedObjectPool ext
             }
         }
     }
-    
+
     class SimpleFactory implements PoolableObjectFactory<PooledTestObject> {
-        
+
         private final long destroyLatency;
         private final long validateLatency;
-        
+
         public SimpleFactory() {
             destroyLatency = 0;
             validateLatency = 0;
         }
-        
+
         public SimpleFactory(long destroyLatency, long validateLatency) {
             this.destroyLatency = destroyLatency;
             this.validateLatency = validateLatency;
         }
 
+        @Override
         public PooledTestObject makeObject() {
             return new PooledTestObject(abandonedConfig);
         }
-        
+
+        @Override
         public boolean validateObject(PooledTestObject obj) {
             try {
                 Thread.sleep(validateLatency);
@@ -272,15 +274,18 @@ public class TestAbandonedObjectPool ext
             }
             return true;
         }
-        
+
+        @Override
         public void activateObject(PooledTestObject obj) {
-            ((PooledTestObject)obj).setActive(true);
+            obj.setActive(true);
         }
-        
+
+        @Override
         public void passivateObject(PooledTestObject obj) {
-            ((PooledTestObject)obj).setActive(false);
+            obj.setActive(false);
         }
 
+        @Override
         public void destroyObject(PooledTestObject obj) throws Exception {
             obj.setActive(false);
             // while destroying instances, yield control to other threads
@@ -300,11 +305,11 @@ class PooledTestObject implements Tracke
     private int _hash = 0;
     private boolean _abandoned = false;
     private static AtomicInteger hash = new AtomicInteger();
-    
+
     public PooledTestObject(AbandonedConfig config) {
         _hash = hash.incrementAndGet();
     }
-    
+
     public synchronized void setActive(boolean b) {
         active = b;
     }
@@ -312,24 +317,25 @@ class PooledTestObject implements Tracke
     public synchronized boolean isActive() {
         return active;
     }
-    
+
     public void destroy() {
         destroyed = true;
     }
-    
+
     public boolean isDestroyed() {
         return destroyed;
     }
-    
+
     @Override
     public int hashCode() {
         return _hash;
     }
-    
+
     public void setAbandoned(boolean b) {
         _abandoned = b;
     }
-    
+
+    @Override
     public long getLastUsed() {
         if (_abandoned) {
             // Abandoned object sweep will occur no matter what the value of removeAbandonedTimeout,
@@ -340,7 +346,7 @@ class PooledTestObject implements Tracke
             return 0;
         }
     }
-    
+
     @Override
     public boolean equals(Object obj) {
         if (!(obj instanceof PooledTestObject)) return false;