You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@commons.apache.org by si...@apache.org on 2010/10/12 19:03:06 UTC

svn commit: r1021840 - in /commons/proper/pool/trunk/src: java/org/apache/commons/pool/impl/StackObjectPool.java test/org/apache/commons/pool/impl/TestStackObjectPool.java

Author: simonetripodi
Date: Tue Oct 12 17:03:06 2010
New Revision: 1021840

URL: http://svn.apache.org/viewvc?rev=1021840&view=rev
Log:
removed deprecated constructors
removed deprecated Factory setter
properties made private
added missing syncronized setter(s)
updated related testcase

Modified:
    commons/proper/pool/trunk/src/java/org/apache/commons/pool/impl/StackObjectPool.java
    commons/proper/pool/trunk/src/test/org/apache/commons/pool/impl/TestStackObjectPool.java

Modified: commons/proper/pool/trunk/src/java/org/apache/commons/pool/impl/StackObjectPool.java
URL: http://svn.apache.org/viewvc/commons/proper/pool/trunk/src/java/org/apache/commons/pool/impl/StackObjectPool.java?rev=1021840&r1=1021839&r2=1021840&view=diff
==============================================================================
--- commons/proper/pool/trunk/src/java/org/apache/commons/pool/impl/StackObjectPool.java (original)
+++ commons/proper/pool/trunk/src/java/org/apache/commons/pool/impl/StackObjectPool.java Tue Oct 12 17:03:06 2010
@@ -46,52 +46,6 @@ import org.apache.commons.pool.PoolableO
  */
 public class StackObjectPool<T> extends BaseObjectPool<T> implements ObjectPool<T> {
     /**
-     * Create a new pool using no factory. Clients must first 
-     * {@link #setFactory(PoolableObjectFactory) set the factory} or
-     * else this pool will not behave correctly. Clients may first populate the pool
-     * using {@link #returnObject(java.lang.Object)} before they can be {@link #borrowObject borrowed}
-     * but this usage is <strong>discouraged</strong>.
-     *
-     * @see #StackObjectPool(PoolableObjectFactory)
-     * @deprecated to be removed in pool 2.0 - use {@link #StackObjectPool(PoolableObjectFactory)}
-     */
-    public StackObjectPool() {
-        this((PoolableObjectFactory<T>)null,DEFAULT_MAX_SLEEPING,DEFAULT_INIT_SLEEPING_CAPACITY);
-    }
-
-    /**
-     * Create a new pool using no factory.
-     * Clients must first {@link #setFactory(PoolableObjectFactory) set the factory} or
-     * else this pool will not behave correctly. Clients may first populate the pool
-     * using {@link #returnObject(java.lang.Object)} before they can be {@link #borrowObject borrowed}
-     * but this usage is <strong>discouraged</strong>.
-     *
-     * @param maxIdle cap on the number of "sleeping" instances in the pool
-     * @see #StackObjectPool(PoolableObjectFactory, int)
-     * @deprecated to be removed in pool 2.0 - use {@link #StackObjectPool(PoolableObjectFactory, int)}
-     */
-    public StackObjectPool(int maxIdle) {
-        this((PoolableObjectFactory<T>)null,maxIdle,DEFAULT_INIT_SLEEPING_CAPACITY);
-    }
-
-    /**
-     * Create a new pool using no factory.
-     * Clients must first {@link #setFactory(PoolableObjectFactory) set the factory} or
-     * else this pool will not behave correctly. Clients may first populate the pool
-     * using {@link #returnObject(java.lang.Object)} before they can be {@link #borrowObject borrowed}
-     * but this usage is <strong>discouraged</strong>.
-     *
-     * @param maxIdle cap on the number of "sleeping" instances in the pool
-     * @param initIdleCapacity initial size of the pool (this specifies the size of the container,
-     *             it does not cause the pool to be pre-populated.)
-     * @see #StackObjectPool(PoolableObjectFactory, int, int)
-     * @deprecated to be removed in pool 2.0 - use {@link #StackObjectPool(PoolableObjectFactory, int, int)}
-     */
-    public StackObjectPool(int maxIdle, int initIdleCapacity) {
-        this((PoolableObjectFactory<T>)null,maxIdle,initIdleCapacity);
-    }
-
-    /**
      * Create a new <tt>StackObjectPool</tt> using the specified <i>factory</i> to create new instances.
      *
      * @param factory the {@link PoolableObjectFactory} used to populate the pool
@@ -381,27 +335,6 @@ public class StackObjectPool<T> extends 
     }
 
     /**
-     * Sets the {@link PoolableObjectFactory factory} this pool uses
-     * to create new instances. Trying to change
-     * the <code>factory</code> while there are borrowed objects will
-     * throw an {@link IllegalStateException}.
-     *
-     * @param factory the {@link PoolableObjectFactory} used to create new instances.
-     * @throws IllegalStateException when the factory cannot be set at this time
-     * @deprecated to be removed in pool 2.0
-     */
-    @Override
-    public synchronized void setFactory(PoolableObjectFactory<T> factory) throws IllegalStateException {
-        assertOpen();
-        if(0 < getNumActive()) {
-            throw new IllegalStateException("Objects are already active");
-        } else {
-            clear();
-            _factory = factory;
-        }
-    }
-
-    /**
      * The cap on the number of "sleeping" instances in the pool.
      */
     protected static final int DEFAULT_MAX_SLEEPING  = 8;
@@ -414,28 +347,24 @@ public class StackObjectPool<T> extends 
     protected static final int DEFAULT_INIT_SLEEPING_CAPACITY = 4;
 
     /** 
-     * My pool.
-     * @deprecated to be made private in pool 2.0 
+     * My pool. 
      */
-    protected Stack<T> _pool = null;
+    private Stack<T> _pool = null;
 
     /** 
      * My {@link PoolableObjectFactory}.
-     * @deprecated to be made private in pool 2.0 - use {@link #getFactory()}
      */
-    protected PoolableObjectFactory<T> _factory = null;
+    private final PoolableObjectFactory<T> _factory;
 
     /** 
-     * The cap on the number of "sleeping" instances in the pool. 
-     * @deprecated to be made private in pool 2.0 - use {@link #getMaxSleeping()}
+     * The cap on the number of "sleeping" instances in the pool.
      */
-    protected int _maxSleeping = DEFAULT_MAX_SLEEPING;
+    private int _maxSleeping = DEFAULT_MAX_SLEEPING;
     
     /**
      * Number of objects borrowed but not yet returned to the pool.
-     * @deprecated to be made private in pool 2.0 - use {@link #getNumActive()}
      */
-    protected int _numActive = 0;
+    private int _numActive = 0;
 
     /**
      * Returns the {@link PoolableObjectFactory} used by this pool to create and manage object instances.
@@ -453,9 +382,17 @@ public class StackObjectPool<T> extends 
      * @return maxSleeping
      * @since 1.5.5
      */
-    public int getMaxSleeping() {
+    public synchronized int getMaxSleeping() {
         return _maxSleeping;
     }
 
-   
+    /**
+     * Sets the maximum number of idle instances in the pool.
+     *
+     * @param maxSleeping
+     * @since 2.0
+     */
+   public synchronized void setMaxSleeping(int maxSleeping) {
+       _maxSleeping = maxSleeping;
+   }
 }

Modified: commons/proper/pool/trunk/src/test/org/apache/commons/pool/impl/TestStackObjectPool.java
URL: http://svn.apache.org/viewvc/commons/proper/pool/trunk/src/test/org/apache/commons/pool/impl/TestStackObjectPool.java?rev=1021840&r1=1021839&r2=1021840&view=diff
==============================================================================
--- commons/proper/pool/trunk/src/test/org/apache/commons/pool/impl/TestStackObjectPool.java (original)
+++ commons/proper/pool/trunk/src/test/org/apache/commons/pool/impl/TestStackObjectPool.java Tue Oct 12 17:03:06 2010
@@ -18,7 +18,6 @@
 package org.apache.commons.pool.impl;
 
 import java.util.ArrayList;
-import java.util.BitSet;
 import java.util.List;
 import java.util.NoSuchElementException;
 
@@ -68,99 +67,6 @@ public class TestStackObjectPool extends
     }
 
     /**
-     * @deprecated - to be removed in pool 2.0
-     */
-    public void testPoolWithNullFactory() throws Exception {
-        ObjectPool<Object> pool = new StackObjectPool<Object>(10);
-        for(int i=0;i<10;i++) {
-            pool.returnObject(new Integer(i));
-        }
-        for(int j=0;j<3;j++) {
-            Integer[] borrowed = new Integer[10];
-            BitSet found = new BitSet();
-            for(int i=0;i<10;i++) {
-                borrowed[i] = (Integer)(pool.borrowObject());
-                assertNotNull(borrowed);
-                assertTrue(!found.get(borrowed[i].intValue()));
-                found.set(borrowed[i].intValue());
-            }
-            for(int i=0;i<10;i++) {
-                pool.returnObject(borrowed[i]);
-            }
-        }
-        pool.invalidateObject(pool.borrowObject());
-        pool.invalidateObject(pool.borrowObject());
-        pool.clear();        
-    }
-    
-    /**
-     * @deprecated - to be removed in pool 2.0
-     */
-    public void testBorrowFromEmptyPoolWithNullFactory() throws Exception {
-        ObjectPool<Object> pool = new StackObjectPool<Object>();
-        try {
-            pool.borrowObject();
-            fail("Expected NoSuchElementException");
-        } catch(NoSuchElementException e) {
-            // expected
-        }
-    }
-    
-    /**
-     * @deprecated - to be removed in pool 2.0
-     */
-    @Override
-    public void testSetFactory() throws Exception {
-        ObjectPool<Object> pool = new StackObjectPool<Object>();
-        try {
-            pool.borrowObject();
-            fail("Expected NoSuchElementException");
-        } catch(NoSuchElementException e) {
-            // expected
-        }
-        pool.setFactory(new SimpleFactory());
-        Object obj = pool.borrowObject();
-        assertNotNull(obj);
-        pool.returnObject(obj);
-    }
-
-    /**
-     * @deprecated - to be removed in pool 2.0
-     */
-    public void testCantResetFactoryWithActiveObjects() throws Exception {
-        ObjectPool<Object> pool = new StackObjectPool<Object>();
-        pool.setFactory(new SimpleFactory());
-        Object obj = pool.borrowObject();
-        assertNotNull(obj);
-
-        try {
-            pool.setFactory(new SimpleFactory());
-            fail("Expected IllegalStateException");
-        } catch(IllegalStateException e) {
-            // expected
-        }        
-    }
-    
-    /**
-     * @deprecated - to be removed in pool 2.0
-     */
-    public void testCanResetFactoryWithoutActiveObjects() throws Exception {
-        ObjectPool<Object> pool = new StackObjectPool<Object>();
-        {
-            pool.setFactory(new SimpleFactory());
-            Object obj = pool.borrowObject();        
-            assertNotNull(obj);
-            pool.returnObject(obj);
-        }
-        {
-            pool.setFactory(new SimpleFactory());
-            Object obj = pool.borrowObject();        
-            assertNotNull(obj);
-            pool.returnObject(obj);
-        }
-    }
-
-    /**
      * Verifies that validation failures when borrowing newly created instances
      * from the pool result in NoSuchElementExceptions and passivation failures
      * result in instances not being returned to the pool.
@@ -233,18 +139,6 @@ public class TestStackObjectPool extends
      
     public void testVariousConstructors() throws Exception {
         {
-            StackObjectPool<Integer> pool = new StackObjectPool<Integer>();
-            assertNotNull(pool);
-        }
-        {
-            StackObjectPool<Integer> pool = new StackObjectPool<Integer>(10);
-            assertNotNull(pool);
-        }
-        {
-            StackObjectPool<Integer> pool = new StackObjectPool<Integer>(10,5);
-            assertNotNull(pool);
-        }
-        {
             StackObjectPool<Integer> pool = new StackObjectPool<Integer>(null);
             assertNotNull(pool);
         }