svn commit: r487667 - /jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/impl/StackObjectPool.java

2006-12-15 Thread sandymac
Author: sandymac
Date: Fri Dec 15 13:18:47 2006
New Revision: 487667

URL: http://svn.apache.org/viewvc?view=revrev=487667
Log:
Make StackObjectPool.borrowObject to throw a NoSuchElementException when the 
PoolableObjectFactory.makeObject returns null. addresses POOL-91

Modified:

jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/impl/StackObjectPool.java

Modified: 
jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/impl/StackObjectPool.java
URL: 
http://svn.apache.org/viewvc/jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/impl/StackObjectPool.java?view=diffrev=487667r1=487666r2=487667
==
--- 
jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/impl/StackObjectPool.java
 (original)
+++ 
jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/impl/StackObjectPool.java
 Fri Dec 15 13:18:47 2006
@@ -148,6 +148,9 @@
 } else {
 newlyCreated = true;
 obj = _factory.makeObject();
+  if (obj == null) {
+throw new 
NoSuchElementException(PoolableObjectFactory.makeObject() returned null.);
+  }
 }
 }
 if (!newlyCreated  null != _factory  null != obj) {



-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



svn commit: r474163 - in /jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool: BaseKeyedObjectPool.java impl/GenericKeyedObjectPool.java impl/GenericKeyedObjectPoolFactory.java impl/Gen

2006-11-12 Thread sandymac
Author: sandymac
Date: Sun Nov 12 21:58:55 2006
New Revision: 474163

URL: http://svn.apache.org/viewvc?view=revrev=474163
Log:
Add @since tags for methods added in Pool 1.3 and in Pool 2.0

Modified:

jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/BaseKeyedObjectPool.java

jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/impl/GenericKeyedObjectPool.java

jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/impl/GenericKeyedObjectPoolFactory.java

jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/impl/GenericObjectPool.java

jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/impl/GenericObjectPoolFactory.java

Modified: 
jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/BaseKeyedObjectPool.java
URL: 
http://svn.apache.org/viewvc/jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/BaseKeyedObjectPool.java?view=diffrev=474163r1=474162r2=474163
==
--- 
jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/BaseKeyedObjectPool.java
 (original)
+++ 
jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/BaseKeyedObjectPool.java
 Sun Nov 12 21:58:55 2006
@@ -106,6 +106,7 @@
 /**
  * Has this pool instance been closed.
  * @return codetrue/code when this pool has been closed.
+ * @since Pool 2.0
  */
 protected final boolean isClosed() {
 return closed;
@@ -115,6 +116,7 @@
  * Throws an codeIllegalStateException/code when this pool has been 
closed.
  * @throws IllegalStateException when this pool has been closed.
  * @see #isClosed()
+ * @since Pool 2.0
  */
 protected final void assertOpen() throws IllegalStateException {
 if(isClosed()) {

Modified: 
jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/impl/GenericKeyedObjectPool.java
URL: 
http://svn.apache.org/viewvc/jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/impl/GenericKeyedObjectPool.java?view=diffrev=474163r1=474162r2=474163
==
--- 
jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/impl/GenericKeyedObjectPool.java
 (original)
+++ 
jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/impl/GenericKeyedObjectPool.java
 Sun Nov 12 21:58:55 2006
@@ -260,6 +260,7 @@
 
 /**
  * The default minimum level of idle objects in the pool.
+ * @since Pool 1.3
  * @see #setMinIdle
  * @see #getMinIdle
  */
@@ -405,6 +406,7 @@
  * @param numTestsPerEvictionRun the number of idle objects to examine per 
run within the idle object eviction thread (if any) (see [EMAIL PROTECTED] 
#setNumTestsPerEvictionRun})
  * @param minEvictableIdleTimeMillis the minimum number of milliseconds an 
object can sit idle in the pool before it is eligible for evcition (see [EMAIL 
PROTECTED] #setMinEvictableIdleTimeMillis})
  * @param testWhileIdle whether or not to validate objects in the idle 
object eviction thread, if any (see [EMAIL PROTECTED] #setTestWhileIdle})
+ * @since Pool 1.3
  */
 public GenericKeyedObjectPool(KeyedPoolableObjectFactory factory, int 
maxActive, byte whenExhaustedAction, long maxWait, int maxIdle, int maxTotal, 
int minIdle, boolean testOnBorrow, boolean testOnReturn, long 
timeBetweenEvictionRunsMillis, int numTestsPerEvictionRun, long 
minEvictableIdleTimeMillis, boolean testWhileIdle) {
 _factory = factory;
@@ -577,6 +579,7 @@
 /**
  * Sets the minimum number of idle objects in pool to maintain
  * @param poolSize - The minimum size of the pool
+ * @since Pool 1.3
  * @see #getMinIdle
  */
 public synchronized void setMinIdle(int poolSize) {
@@ -586,6 +589,7 @@
 /**
  * Returns the minimum number of idle objects in pool to maintain.
  * @return the minimum number of idle objects in pool to maintain.
+ * @since Pool 1.3
  * @see #setMinIdle
  */
 public synchronized int getMinIdle() {
@@ -918,6 +922,7 @@
 /**
  * Method clears oldest 15% of objects in pool.  The method sorts the
  * objects into a TreeMap and then iterates the first 15% for removal
+ * @since Pool 1.3
  */
 public synchronized void clearOldest() {
 // build sorted map of idle objects
@@ -1157,6 +1162,7 @@
  * @param key - The key to register for pool control.
  * @param populateImmediately - If this is codetrue/code, the pool
  * will start a sustain cycle immediately.
+ * @since Pool 1.3
  */
 public synchronized void preparePool(Object key, boolean 
populateImmediately) {
 ObjectQueue pool = (ObjectQueue)(_poolMap.get(key));

Modified: 
jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/impl/GenericKeyedObjectPoolFactory.java
URL: 
http://svn.apache.org/viewvc

svn commit: r473646 [2/2] - in /jakarta/commons/proper/pool/trunk/src: java/org/apache/commons/pool/ java/org/apache/commons/pool/composite/ java/org/apache/commons/pool/impl/ test/org/apache/commons/

2006-11-10 Thread sandymac
Modified: 
jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/impl/GenericObjectPool.java
URL: 
http://svn.apache.org/viewvc/jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/impl/GenericObjectPool.java?view=diffrev=473646r1=473645r2=473646
==
--- 
jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/impl/GenericObjectPool.java
 (original)
+++ 
jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/impl/GenericObjectPool.java
 Fri Nov 10 21:57:35 2006
@@ -125,6 +125,7 @@
  * @author Dirk Verbeeck
  * @author Sandy McArthur
  * @version $Revision$ $Date$
+ * @since Pool 1.0
  */
 public class GenericObjectPool extends BaseObjectPool implements ObjectPool {
 
@@ -503,6 +504,7 @@
  * When less than 0, the [EMAIL PROTECTED] #borrowObject} method
  * may block indefinitely.
  *
+ * @return maximum number of milliseconds to block when borrowing an 
object.
  * @see #setMaxWait
  * @see #setWhenExhaustedAction
  * @see #WHEN_EXHAUSTED_BLOCK
@@ -521,6 +523,7 @@
  * When less than 0, the [EMAIL PROTECTED] #borrowObject} method
  * may block indefinitely.
  *
+ * @param maxWait maximum number of milliseconds to block when borrowing 
an object.
  * @see #getMaxWait
  * @see #setWhenExhaustedAction
  * @see #WHEN_EXHAUSTED_BLOCK
@@ -584,6 +587,7 @@
  * it will be dropped from the pool, and we will attempt
  * to borrow another.
  *
+ * @return codetrue/code if objects are validated before being 
borrowed.
  * @see #setTestOnBorrow
  */
 public synchronized boolean getTestOnBorrow() {
@@ -598,6 +602,7 @@
  * it will be dropped from the pool, and we will attempt
  * to borrow another.
  *
+ * @param testOnBorrow codetrue/code if objects should be validated 
before being borrowed.
  * @see #getTestOnBorrow
  */
 public synchronized void setTestOnBorrow(boolean testOnBorrow) {
@@ -610,6 +615,7 @@
  * before being returned to the pool within the
  * [EMAIL PROTECTED] #returnObject}.
  *
+ * @return codetrue/code when objects will be validated after returned 
to [EMAIL PROTECTED] #returnObject}.
  * @see #setTestOnReturn
  */
 public synchronized boolean getTestOnReturn() {
@@ -622,6 +628,7 @@
  * before being returned to the pool within the
  * [EMAIL PROTECTED] #returnObject}.
  *
+ * @param testOnReturn codetrue/code so objects will be validated 
after returned to [EMAIL PROTECTED] #returnObject}.
  * @see #getTestOnReturn
  */
 public synchronized void setTestOnReturn(boolean testOnReturn) {
@@ -634,6 +641,7 @@
  * When non-positive, no idle object evictor thread will be
  * run.
  *
+ * @return number of milliseconds to sleep between evictor runs.
  * @see #setTimeBetweenEvictionRunsMillis
  */
 public synchronized long getTimeBetweenEvictionRunsMillis() {
@@ -646,6 +654,7 @@
  * When non-positive, no idle object evictor thread will be
  * run.
  *
+ * @param timeBetweenEvictionRunsMillis number of milliseconds to sleep 
between evictor runs.
  * @see #getTimeBetweenEvictionRunsMillis
  */
 public synchronized void setTimeBetweenEvictionRunsMillis(long 
timeBetweenEvictionRunsMillis) {
@@ -657,6 +666,7 @@
  * Returns the max number of objects to examine during each run of the
  * idle object evictor thread (if any).
  *
+ * @return max number of objects to examine during each evictor run.
  * @see #setNumTestsPerEvictionRun
  * @see #setTimeBetweenEvictionRunsMillis
  */
@@ -672,6 +682,7 @@
  * tests will be run.  I.e., when the value is i-n/i, roughly one 
in/ith of the
  * idle objects will be tested per run.
  *
+ * @param numTestsPerEvictionRun max number of objects to examine during 
each evictor run.
  * @see #getNumTestsPerEvictionRun
  * @see #setTimeBetweenEvictionRunsMillis
  */
@@ -684,6 +695,7 @@
  * before it is eligible for eviction by the idle object evictor
  * (if any).
  *
+ * @return minimum amount of time an object may sit idle in the pool 
before it is eligible for eviction.
  * @see #setMinEvictableIdleTimeMillis
  * @see #setTimeBetweenEvictionRunsMillis
  */
@@ -697,7 +709,7 @@
  * (if any).
  * When non-positive, no objects will be evicted from the pool
  * due to idle time alone.
- *
+ * @param minEvictableIdleTimeMillis minimum amount of time an object may 
sit idle in the pool before it is eligible for eviction.
  * @see #getMinEvictableIdleTimeMillis
  * @see #setTimeBetweenEvictionRunsMillis
  */
@@ -711,6 +723,7 @@
  * (if any), with the extra condition that at least
  * minIdle amount of object remain in the pool.
  *
+ * @return minimum amount of time an object may sit idle in the pool 
before it is 

svn commit: r469364 - /jakarta/commons/proper/pool/trunk/src/test/org/apache/commons/pool/impl/TestGenericKeyedObjectPool.java

2006-10-30 Thread sandymac
Author: sandymac
Date: Mon Oct 30 20:16:21 2006
New Revision: 469364

URL: http://svn.apache.org/viewvc?view=revrev=469364
Log:
Less agressive timings to reduce the chance of thread scheduling causing the 
testMaxTotalLRU to fail.
Changed in response to issue POOL-89

Modified:

jakarta/commons/proper/pool/trunk/src/test/org/apache/commons/pool/impl/TestGenericKeyedObjectPool.java

Modified: 
jakarta/commons/proper/pool/trunk/src/test/org/apache/commons/pool/impl/TestGenericKeyedObjectPool.java
URL: 
http://svn.apache.org/viewvc/jakarta/commons/proper/pool/trunk/src/test/org/apache/commons/pool/impl/TestGenericKeyedObjectPool.java?view=diffrev=469364r1=469363r2=469364
==
--- 
jakarta/commons/proper/pool/trunk/src/test/org/apache/commons/pool/impl/TestGenericKeyedObjectPool.java
 (original)
+++ 
jakarta/commons/proper/pool/trunk/src/test/org/apache/commons/pool/impl/TestGenericKeyedObjectPool.java
 Mon Oct 30 20:16:21 2006
@@ -237,22 +237,22 @@
 Object o1 = pool.borrowObject(a);
 assertNotNull(o1);
 pool.returnObject(a, o1);
-Thread.sleep(10);
+Thread.sleep(25);
 
 Object o2 = pool.borrowObject(b);
 assertNotNull(o2);
 pool.returnObject(b, o2);
-Thread.sleep(10);
+Thread.sleep(25);
 
 Object o3 = pool.borrowObject(c);
 assertNotNull(o3);
 pool.returnObject(c, o3);
-Thread.sleep(10);
+Thread.sleep(25);
 
 Object o4 = pool.borrowObject(a);
 assertNotNull(o4);
 pool.returnObject(a, o4);
-Thread.sleep(10);
+Thread.sleep(25);
 
 assertSame(o1, o4);
 
@@ -260,7 +260,7 @@
 Object o5 = pool.borrowObject(d);
 assertNotNull(o5);
 pool.returnObject(d, o5);
-Thread.sleep(10);
+Thread.sleep(25);
 
 // now re-request b, we should get a different object because it should
 // have been expelled from pool (was oldest because a was requested 
after b)



-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



svn commit: r469372 - /jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/impl/GenericKeyedObjectPool.java

2006-10-30 Thread sandymac
Author: sandymac
Date: Mon Oct 30 21:17:35 2006
New Revision: 469372

URL: http://svn.apache.org/viewvc?view=revrev=469372
Log:
Use a struct instead of maintaining two Maps in parallel.
Patch by Holger Hoffstätte from issue POOL-88

Modified:

jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/impl/GenericKeyedObjectPool.java

Modified: 
jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/impl/GenericKeyedObjectPool.java
URL: 
http://svn.apache.org/viewvc/jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/impl/GenericKeyedObjectPool.java?view=diffrev=469372r1=469371r2=469372
==
--- 
jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/impl/GenericKeyedObjectPool.java
 (original)
+++ 
jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/impl/GenericKeyedObjectPool.java
 Mon Oct 30 21:17:35 2006
@@ -429,7 +429,6 @@
 _testWhileIdle = testWhileIdle;
 
 _poolMap = new HashMap();
-_activeMap = new HashMap();
 
 startEvictor(_timeBetweenEvictionRunsMillis);
 }
@@ -770,15 +769,15 @@
 long starttime = System.currentTimeMillis();
 boolean newlyCreated = false;
 for(;;) {
-LinkedList pool = (LinkedList)(_poolMap.get(key));
+ObjectQueue pool = (ObjectQueue)(_poolMap.get(key));
 if(null == pool) {
-pool = new LinkedList();
+pool = new ObjectQueue();
 _poolMap.put(key,pool);
 }
 ObjectTimestampPair pair = null;
 // if there are any sleeping, just grab one of those
 try {
-pair = (ObjectTimestampPair)(pool.removeFirst());
+pair = (ObjectTimestampPair)(pool.queue.removeFirst());
 if(null != pair) {
 _totalIdle--;
 }
@@ -794,8 +793,7 @@
 
 // check if we can create one
 // (note we know that the num sleeping is 0, else we wouldn't 
be here)
-int active = getActiveCount(key);
-if ((_maxActive  0 || active  _maxActive) 
+if ((_maxActive  0 || pool.activeCount  _maxActive) 
 (_maxTotal  0 || _totalActive + _totalIdle  _maxTotal)) {
 Object obj = _factory.makeObject(key);
 pair = new ObjectTimestampPair(obj);
@@ -837,7 +835,7 @@
 }
 }
 if (newlyCreated) {
-incrementActiveCount(key);
+pool.incrementActiveCount();
 return pair.value;
 } else {
 try {
@@ -867,7 +865,7 @@
 throw new NoSuchElementException(Could not create a 
validated object);
 } // else keep looping
 } else {
-incrementActiveCount(key);
+pool.incrementActiveCount();
 return pair.value;
 }
 
@@ -879,9 +877,10 @@
  * Clears the pool, removing all pooled instances.
  */
 public synchronized void clear() {
-for(Iterator keyiter = _poolMap.keySet().iterator(); 
keyiter.hasNext(); ) {
-Object key = keyiter.next();
-final LinkedList list = (LinkedList)(_poolMap.get(key));
+for(Iterator entries = _poolMap.entrySet().iterator(); 
entries.hasNext(); ) {
+final Map.Entry entry = (Map.Entry)entries.next();
+final Object key = entry.getKey();
+final LinkedList list = ((ObjectQueue)(entry.getValue())).queue;
 for(Iterator it = list.iterator(); it.hasNext(); ) {
 try {
 
_factory.destroyObject(key,((ObjectTimestampPair)(it.next())).value);
@@ -905,16 +904,15 @@
  */
 public synchronized void clearOldest() {
 // build sorted map of idle objects
-TreeMap map = new TreeMap();
+final Map map = new TreeMap();
 for (Iterator keyiter = _poolMap.keySet().iterator(); 
keyiter.hasNext();) {
-Object key = keyiter.next();
-LinkedList list = (LinkedList) _poolMap.get(key);
+final Object key = keyiter.next();
+final LinkedList list = ((ObjectQueue)_poolMap.get(key)).queue;
 for (Iterator it = list.iterator(); it.hasNext();) {
 // each item into the map uses the objectimestamppair object
 // as the key.  It then gets sorted based on the timstamp field
 // each value in the map is the parent list it belongs in.
-ObjectTimestampPair pair = (ObjectTimestampPair) it.next();
-map.put(pair, key);
+map.put(it.next(), key);
 }
 }
 
@@ -930,7 +928,7 @@
 // key references is the key of the list it belongs to.
 Object key

svn commit: r469390 - /jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/PoolUtils.java

2006-10-30 Thread sandymac
Author: sandymac
Date: Mon Oct 30 22:40:20 2006
New Revision: 469390

URL: http://svn.apache.org/viewvc?view=revrev=469390
Log:
Added some checks to PoolUtils.synchronizedPool to warn of usage that isn't 
thread-safe when assertions are enabled.

Modified:

jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/PoolUtils.java

Modified: 
jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/PoolUtils.java
URL: 
http://svn.apache.org/viewvc/jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/PoolUtils.java?view=diffrev=469390r1=469389r2=469390
==
--- 
jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/PoolUtils.java
 (original)
+++ 
jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/PoolUtils.java
 Mon Oct 30 22:40:20 2006
@@ -16,6 +16,12 @@
 
 package org.apache.commons.pool;
 
+import org.apache.commons.pool.impl.GenericKeyedObjectPool;
+import org.apache.commons.pool.impl.StackKeyedObjectPool;
+import org.apache.commons.pool.impl.GenericObjectPool;
+import org.apache.commons.pool.impl.SoftReferenceObjectPool;
+import org.apache.commons.pool.impl.StackObjectPool;
+
 import java.util.Collection;
 import java.util.HashMap;
 import java.util.Iterator;
@@ -328,7 +334,7 @@
  * This should not be used on pool implementations that already provide 
proper synchronization
  * such as the pools provided in the Commons Pool library. Wrapping a pool 
that
  * [EMAIL PROTECTED] #wait waits} for poolable objects to be returned 
before allowing another one to be
- * borrowed with another layer of synchronization will cause a deadlock.
+ * borrowed with another layer of synchronization will cause liveliness 
issues or a deadlock.
  * /p
  *
  * @param pool the ObjectPool to be wrapped in a synchronized ObjectPool.
@@ -336,6 +342,17 @@
  * @since Pool 1.3
  */
 public static ObjectPool synchronizedPool(final ObjectPool pool) {
+if (pool == null) {
+throw new IllegalArgumentException(pool must not be null.);
+}
+assert !(pool instanceof GenericObjectPool)
+: GenericObjectPool is already thread-safe;
+assert !(pool instanceof SoftReferenceObjectPool)
+: SoftReferenceObjectPool is already thread-safe;
+assert !(pool instanceof StackObjectPool)
+: StackObjectPool is already thread-safe;
+assert 
!org.apache.commons.pool.composite.CompositeObjectPool.equals(pool.getClass().getName())
+: CompositeObjectPools are already thread-safe;
 return new SynchronizedObjectPool(pool);
 }
 
@@ -346,7 +363,7 @@
  * This should not be used on pool implementations that already provide 
proper synchronization
  * such as the pools provided in the Commons Pool library. Wrapping a pool 
that
  * [EMAIL PROTECTED] #wait waits} for poolable objects to be returned 
before allowing another one to be
- * borrowed with another layer of synchronization will cause a deadlock.
+ * borrowed with another layer of synchronization will cause liveliness 
issues or a deadlock.
  * /p
  *
  * @param keyedPool the KeyedObjectPool to be wrapped in a synchronized 
KeyedObjectPool.
@@ -354,6 +371,15 @@
  * @since Pool 1.3
  */
 public static KeyedObjectPool synchronizedPool(final KeyedObjectPool 
keyedPool) {
+if (keyedPool == null) {
+throw new IllegalArgumentException(keyedPool must not be null.);
+}
+assert !(keyedPool instanceof GenericKeyedObjectPool)
+: GenericKeyedObjectPool is already thread-safe;
+assert !(keyedPool instanceof StackKeyedObjectPool)
+: StackKeyedObjectPool is already thread-safe;
+assert 
!org.apache.commons.pool.composite.CompositeKeyedObjectPool.equals(keyedPool.getClass().getName())
+: CompositeKeyedObjectPools are already thread-safe;
 return new SynchronizedKeyedObjectPool(keyedPool);
 }
 



-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



svn commit: r468834 - /jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/impl/GenericKeyedObjectPool.java

2006-10-28 Thread sandymac
Author: sandymac
Date: Sat Oct 28 22:20:38 2006
New Revision: 468834

URL: http://svn.apache.org/viewvc?view=revrev=468834
Log:
Make sure the natural ordering is consistent with equals, 
see java.lang.Comparable Javadocs, 
fixes POOL-85 as reported by Mike Martin.
Added checks in case the long to int cast overflows.

Modified:

jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/impl/GenericKeyedObjectPool.java

Modified: 
jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/impl/GenericKeyedObjectPool.java
URL: 
http://svn.apache.org/viewvc/jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/impl/GenericKeyedObjectPool.java?view=diffrev=468834r1=468833r2=468834
==
--- 
jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/impl/GenericKeyedObjectPool.java
 (original)
+++ 
jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/impl/GenericKeyedObjectPool.java
 Sat Oct 28 22:20:38 2006
@@ -1451,7 +1451,15 @@
 }
 
 public int compareTo(ObjectTimestampPair other) {
-return (int) (this.tstamp - other.tstamp);
+final long tstampdiff = this.tstamp - other.tstamp;
+if (tstampdiff == 0) {
+// make sure the natural ordering is consistent with equals
+// see java.lang.Comparable Javadocs
+return System.identityHashCode(this) - 
System.identityHashCode(other);
+} else {
+// handle int overflow
+return (int)Math.min(Math.max(tstampdiff, Integer.MIN_VALUE), 
Integer.MAX_VALUE);
+}
 }
 }
 



-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



svn commit: r449881 - in /jakarta/commons/proper/pool/trunk/src: java/org/apache/commons/pool/composite/ test/org/apache/commons/pool/composite/

2006-09-25 Thread sandymac
Author: sandymac
Date: Mon Sep 25 18:54:29 2006
New Revision: 449881

URL: http://svn.apache.org/viewvc?view=revrev=449881
Log:
Remove the NULL Tracking Policy as it provides minimal benefit and adds a 
non-trivial amount of complication to support it.

Removed:

jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/composite/NullTracker.java

jakarta/commons/proper/pool/trunk/src/test/org/apache/commons/pool/composite/TestNullTracker.java
Modified:

jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/composite/CompositeObjectPoolFactory.java

jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/composite/TrackingPolicy.java

jakarta/commons/proper/pool/trunk/src/test/org/apache/commons/pool/composite/TestAll.java

jakarta/commons/proper/pool/trunk/src/test/org/apache/commons/pool/composite/TestCompositeObjectPool.java

jakarta/commons/proper/pool/trunk/src/test/org/apache/commons/pool/composite/TestCompositeObjectPoolFactory.java

Modified: 
jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/composite/CompositeObjectPoolFactory.java
URL: 
http://svn.apache.org/viewvc/jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/composite/CompositeObjectPoolFactory.java?view=diffrev=449881r1=449880r2=449881
==
--- 
jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/composite/CompositeObjectPoolFactory.java
 (original)
+++ 
jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/composite/CompositeObjectPoolFactory.java
 Mon Sep 25 18:54:29 2006
@@ -352,9 +352,6 @@
 
 final int maxActive = config.maxActive;
 if (maxActive  0) {
-if (TrackingPolicy.NULL.equals(config.trackingPolicy)) {
-throw new IllegalStateException(Using the NULL tracker and 
limiting pool size is not valid.);
-}
 final LimitPolicy limitPolicy = config.limitPolicy;
 if (LimitPolicy.FAIL.equals(limitPolicy)) {
 manager = new FailLimitManager(manager);
@@ -385,8 +382,6 @@
 final TrackingPolicy trackingPolicy = config.trackingPolicy;
 if (TrackingPolicy.SIMPLE.equals(trackingPolicy)) {
 tracker = new SimpleTracker();
-} else if (TrackingPolicy.NULL.equals(trackingPolicy)) {
-tracker = new NullTracker();
 } else if (TrackingPolicy.REFERENCE.equals(trackingPolicy)) {
 tracker = new ReferenceTracker();
 } else if (TrackingPolicy.DEBUG.equals(trackingPolicy)) {

Modified: 
jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/composite/TrackingPolicy.java
URL: 
http://svn.apache.org/viewvc/jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/composite/TrackingPolicy.java?view=diffrev=449881r1=449880r2=449881
==
--- 
jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/composite/TrackingPolicy.java
 (original)
+++ 
jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/composite/TrackingPolicy.java
 Mon Sep 25 18:54:29 2006
@@ -29,18 +29,12 @@
  * @since #.#
  * @version $Revision$ $Date$
  */
-/* XXX For Pool 3: public enum TrackingPolicy {NULL, SIMPLE, REFERENCE, DEBUG} 
but keep existing Javadoc. */
+/* XXX For Pool 3: public enum TrackingPolicy {SIMPLE, REFERENCE, DEBUG} but 
keep existing Javadoc. */
 public final class TrackingPolicy implements Serializable {
 
 private static final long serialVersionUID = 181851949909846032L;
 
 /**
- * Do not track how objects are borrowed from the pool. While this is the 
fastest tracking type it is
- * incompatible with pools that limit the number of objects in the pool.
- */
-public static final TrackingPolicy NULL = new TrackingPolicy(NULL);
-
-/**
  * Borrowed object tracker that trusts you'll return the objects you 
borrow. This is the most common method of
  * tracking active objects. If you return more objects than you borrow 
then this will throw an
  * [EMAIL PROTECTED] IllegalStateException}.
@@ -77,7 +71,7 @@
 
 // Autogenerated with Java 1.5 enums
 public static TrackingPolicy[] values() {
-return new TrackingPolicy[] {NULL, SIMPLE, REFERENCE, DEBUG};
+return new TrackingPolicy[] {SIMPLE, REFERENCE, DEBUG};
 }
 
 // necessary for serialization

Modified: 
jakarta/commons/proper/pool/trunk/src/test/org/apache/commons/pool/composite/TestAll.java
URL: 
http://svn.apache.org/viewvc/jakarta/commons/proper/pool/trunk/src/test/org/apache/commons/pool/composite/TestAll.java?view=diffrev=449881r1=449880r2=449881
==
--- 
jakarta/commons/proper/pool/trunk/src/test/org/apache/commons/pool/composite/TestAll.java
 (original)
+++ 
jakarta/commons/proper/pool/trunk/src/test

svn commit: r449901 - /jakarta/commons/proper/pool/branches/performance-ideas2/

2006-09-25 Thread sandymac
Author: sandymac
Date: Mon Sep 25 21:50:06 2006
New Revision: 449901

URL: http://svn.apache.org/viewvc?view=revrev=449901
Log:
removing performance-ideas2 branch. wasn't ever used and is out of sync with 
the trunk

Removed:
jakarta/commons/proper/pool/branches/performance-ideas2/


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



svn commit: r449904 - /jakarta/commons/proper/pool/branches/performance-concurrent/

2006-09-25 Thread sandymac
Author: sandymac
Date: Mon Sep 25 21:55:37 2006
New Revision: 449904

URL: http://svn.apache.org/viewvc?view=revrev=449904
Log:
branch to test effects of using java.util.concurrent with pool

Added:
jakarta/commons/proper/pool/branches/performance-concurrent/
  - copied from r449903, jakarta/commons/proper/pool/trunk/


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



svn commit: r421982 - in /jakarta/commons/proper/pool/trunk/src/test/org/apache/commons/pool: TestKeyedObjectPoolFactory.java TestObjectPoolFactory.java

2006-07-14 Thread sandymac
Author: sandymac
Date: Fri Jul 14 11:54:14 2006
New Revision: 421982

URL: http://svn.apache.org/viewvc?rev=421982view=rev
Log:
Fixes POOL-82 by allowing Test[Keyed]ObjectPoolFactory be instantiated and run.

Modified:

jakarta/commons/proper/pool/trunk/src/test/org/apache/commons/pool/TestKeyedObjectPoolFactory.java

jakarta/commons/proper/pool/trunk/src/test/org/apache/commons/pool/TestObjectPoolFactory.java

Modified: 
jakarta/commons/proper/pool/trunk/src/test/org/apache/commons/pool/TestKeyedObjectPoolFactory.java
URL: 
http://svn.apache.org/viewvc/jakarta/commons/proper/pool/trunk/src/test/org/apache/commons/pool/TestKeyedObjectPoolFactory.java?rev=421982r1=421981r2=421982view=diff
==
--- 
jakarta/commons/proper/pool/trunk/src/test/org/apache/commons/pool/TestKeyedObjectPoolFactory.java
 (original)
+++ 
jakarta/commons/proper/pool/trunk/src/test/org/apache/commons/pool/TestKeyedObjectPoolFactory.java
 Fri Jul 14 11:54:14 2006
@@ -24,8 +24,8 @@
  * @author Sandy McArthur
  * @version $Revision$ $Date$
  */
-public abstract class TestKeyedObjectPoolFactory extends TestCase {
-protected TestKeyedObjectPoolFactory(final String name) {
+public class TestKeyedObjectPoolFactory extends TestCase {
+public TestKeyedObjectPoolFactory(final String name) {
 super(name);
 }
 
@@ -39,7 +39,9 @@
 /**
  * @throws UnsupportedOperationException when this is unsupported by this 
KeyedPoolableObjectFactory type.
  */
-protected abstract KeyedObjectPoolFactory 
makeFactory(KeyedPoolableObjectFactory objectFactory) throws 
UnsupportedOperationException;
+protected KeyedObjectPoolFactory makeFactory(KeyedPoolableObjectFactory 
objectFactory) throws UnsupportedOperationException{
+throw new UnsupportedOperationException(Subclass needs to override 
makeFactory method.);
+}
 
 protected static KeyedPoolableObjectFactory createObjectFactory() {
 return PoolUtils.adapt(new MethodCallPoolableObjectFactory());

Modified: 
jakarta/commons/proper/pool/trunk/src/test/org/apache/commons/pool/TestObjectPoolFactory.java
URL: 
http://svn.apache.org/viewvc/jakarta/commons/proper/pool/trunk/src/test/org/apache/commons/pool/TestObjectPoolFactory.java?rev=421982r1=421981r2=421982view=diff
==
--- 
jakarta/commons/proper/pool/trunk/src/test/org/apache/commons/pool/TestObjectPoolFactory.java
 (original)
+++ 
jakarta/commons/proper/pool/trunk/src/test/org/apache/commons/pool/TestObjectPoolFactory.java
 Fri Jul 14 11:54:14 2006
@@ -24,8 +24,8 @@
  * @author Sandy McArthur
  * @version $Revision$ $Date$
  */
-public abstract class TestObjectPoolFactory extends TestCase {
-protected TestObjectPoolFactory(final String name) {
+public class TestObjectPoolFactory extends TestCase {
+public TestObjectPoolFactory(final String name) {
 super(name);
 }
 
@@ -39,7 +39,9 @@
 /**
  * @throws UnsupportedOperationException when this is unsupported by this 
PoolableObjectFactory type.
  */
-protected abstract ObjectPoolFactory makeFactory(PoolableObjectFactory 
objectFactory) throws UnsupportedOperationException;
+protected ObjectPoolFactory makeFactory(PoolableObjectFactory 
objectFactory) throws UnsupportedOperationException {
+throw new UnsupportedOperationException(Subclass needs to override 
makeFactory method.);
+}
 
 public void testCreatePool() throws Exception {
 final ObjectPoolFactory factory;



-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



svn commit: r422028 - in /jakarta/commons/proper/pool/trunk: project.xml src/test/org/apache/commons/pool/TestKeyedObjectPoolFactory.java src/test/org/apache/commons/pool/TestObjectPoolFactory.java

2006-07-14 Thread sandymac
Author: sandymac
Date: Fri Jul 14 13:29:12 2006
New Revision: 422028

URL: http://svn.apache.org/viewvc?rev=422028view=rev
Log:
Better fix for POOL-82 reverted Test[Keyed]ObjectPoolFactory sources and
updated the project.xml to only include the correct unit tests and
include previously missed unit tests.

Modified:
jakarta/commons/proper/pool/trunk/project.xml

jakarta/commons/proper/pool/trunk/src/test/org/apache/commons/pool/TestKeyedObjectPoolFactory.java

jakarta/commons/proper/pool/trunk/src/test/org/apache/commons/pool/TestObjectPoolFactory.java

Modified: jakarta/commons/proper/pool/trunk/project.xml
URL: 
http://svn.apache.org/viewvc/jakarta/commons/proper/pool/trunk/project.xml?rev=422028r1=422027r2=422028view=diff
==
--- jakarta/commons/proper/pool/trunk/project.xml (original)
+++ jakarta/commons/proper/pool/trunk/project.xml Fri Jul 14 13:29:12 2006
@@ -260,12 +260,50 @@
 unitTestSourceDirectorysrc/test/unitTestSourceDirectory
 unitTest
   includes
-includeorg/apache/commons/pool/Test*Factory.java/include
 includeorg/apache/commons/pool/TestBaseObjectPool.java/include
 includeorg/apache/commons/pool/TestBaseKeyedObjectPool.java/include
+
includeorg/apache/commons/pool/TestBasePoolableObjectFactory.java/include
+
includeorg/apache/commons/pool/TestBaseKeyedPoolableObjectFactory.java/include
 includeorg/apache/commons/pool/TestPoolUtils.java/include
-includeorg/apache/commons/pool/impl/Test*Pool.java/include
+
+
includeorg/apache/commons/pool/impl/TestStackObjectPool.java/include
+
includeorg/apache/commons/pool/impl/TestStackKeyedObjectPool.java/include
+
includeorg/apache/commons/pool/impl/TestGenericObjectPool.java/include
+
includeorg/apache/commons/pool/impl/TestGenericKeyedObjectPool.java/include
+
includeorg/apache/commons/pool/impl/TestSoftReferenceObjectPool.java/include
+
!--includeorg/apache/commons/pool/impl/TestSoftRefOutOfMemory.java/include--
+
includeorg/apache/commons/pool/impl/TestGenericObjectPoolFactory.java/include
+
includeorg/apache/commons/pool/impl/TestStackObjectPoolFactory.java/include
+
includeorg/apache/commons/pool/impl/TestGenericKeyedObjectPoolFactory.java/include
+
includeorg/apache/commons/pool/impl/TestStackKeyedObjectPoolFactory.java/include
+
+
includeorg/apache/commons/pool/composite/TestFifoLender.java/include
+
includeorg/apache/commons/pool/composite/TestIdleEvictorLender.java/include
+
includeorg/apache/commons/pool/composite/TestInvalidEvictorLender.java/include
+
includeorg/apache/commons/pool/composite/TestLifoLender.java/include
+
includeorg/apache/commons/pool/composite/TestNullLender.java/include
+
includeorg/apache/commons/pool/composite/TestSoftLender.java/include
+
+
includeorg/apache/commons/pool/composite/TestFailManager.java/include
+
includeorg/apache/commons/pool/composite/TestGrowManager.java/include
+
includeorg/apache/commons/pool/composite/TestIdleLimitManager.java/include
+
includeorg/apache/commons/pool/composite/TestFailLimitManager.java/include
+
includeorg/apache/commons/pool/composite/TestWaitLimitManager.java/include
+
+
includeorg/apache/commons/pool/composite/TestNullTracker.java/include
+
includeorg/apache/commons/pool/composite/TestReferenceTracker.java/include
+
includeorg/apache/commons/pool/composite/TestDebugTracker.java/include
+
includeorg/apache/commons/pool/composite/TestSimpleTracker.java/include
+
includeorg/apache/commons/pool/composite/TestCompositeObjectPool.java/include
+
includeorg/apache/commons/pool/composite/TestCompositeKeyedObjectPool.java/include
+
includeorg/apache/commons/pool/composite/TestCompositeKeyedObjectPool2.java/include
+
includeorg/apache/commons/pool/composite/TestCompositeKeyedObjectPoolFactory.java/include
   /includes
+!--
+  excludes
+excludeorg/apache/commons/pool/TestObjectPoolFactory.java/exclude
+  /excludes
+--
 /unitTest
 
 resources

Modified: 
jakarta/commons/proper/pool/trunk/src/test/org/apache/commons/pool/TestKeyedObjectPoolFactory.java
URL: 
http://svn.apache.org/viewvc/jakarta/commons/proper/pool/trunk/src/test/org/apache/commons/pool/TestKeyedObjectPoolFactory.java?rev=422028r1=422027r2=422028view=diff
==
--- 
jakarta/commons/proper/pool/trunk/src/test/org/apache/commons/pool/TestKeyedObjectPoolFactory.java
 (original)
+++ 
jakarta/commons/proper/pool/trunk/src/test/org/apache/commons/pool/TestKeyedObjectPoolFactory.java
 Fri Jul 14 13:29:12 2006
@@ -24,8 +24,8 @@
  * @author Sandy McArthur
  * @version $Revision$ $Date$
  */
-public class TestKeyedObjectPoolFactory extends TestCase

svn commit: r415726 - /jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/PoolUtils.java

2006-06-20 Thread sandymac
Author: sandymac
Date: Tue Jun 20 09:36:14 2006
New Revision: 415726

URL: http://svn.apache.org/viewvc?rev=415726view=rev
Log:
Applied patch from POOL-81 correcting Javadoc text.
Added caution note to the synchronizedPool methods about a potential deadlock
when used with pool implementations that provide a wait behavior.

Modified:

jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/PoolUtils.java

Modified: 
jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/PoolUtils.java
URL: 
http://svn.apache.org/viewvc/jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/PoolUtils.java?rev=415726r1=415725r2=415726view=diff
==
--- 
jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/PoolUtils.java
 (original)
+++ 
jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/PoolUtils.java
 Tue Jun 20 09:36:14 2006
@@ -25,7 +25,8 @@
 import java.util.TimerTask;
 
 /**
- * This class consists exclusively of static methods that operate on or return 
keyedPool related interfaces.
+ * This class consists exclusively of static methods that operate on or return 
ObjectPool
+ * or KeyedObjectPool related interfaces.
  *
  * @author Sandy McArthur
  * @version $Revision$ $Date$
@@ -124,8 +125,8 @@
  * The key is ignored.
  *
  * @param pool the [EMAIL PROTECTED] ObjectPool} to delegate to.
- * @return a [EMAIL PROTECTED] KeyedObjectPool} that delegates to 
codekeyedPool/code ignoring the key.
- * @throws IllegalArgumentException when codekeyedPool/code is 
codenull/code.
+ * @return a [EMAIL PROTECTED] KeyedObjectPool} that delegates to 
codepool/code ignoring the key.
+ * @throws IllegalArgumentException when codepool/code is 
codenull/code.
  * @since Pool 1.3
  */
 public static KeyedObjectPool adapt(final ObjectPool pool) throws 
IllegalArgumentException {
@@ -133,10 +134,10 @@
 }
 
 /**
- * Wraps an codeObjectPool/code and dynamically checks the type of 
objects borrowed and returned to the keyedPool.
- * If an object is passed to the keyedPool that isn't of type 
codetype/code a [EMAIL PROTECTED] ClassCastException} will be thrown.
+ * Wraps an codeObjectPool/code and dynamically checks the type of 
objects borrowed and returned to the pool.
+ * If an object is passed to the pool that isn't of type codetype/code 
a [EMAIL PROTECTED] ClassCastException} will be thrown.
  *
- * @param pool the keyedPool to enforce type safety on
+ * @param pool the pool to enforce type safety on
  * @return an codeObjectPool/code that will only allow objects of 
codetype/code
  * @since Pool 1.3
  */
@@ -151,11 +152,11 @@
 }
 
 /**
- * Wraps an codeKeyedObjectPool/code and dynamically checks the type 
of objects borrowed and returned to the keyedPool.
+ * Wraps a codeKeyedObjectPool/code and dynamically checks the type of 
objects borrowed and returned to the keyedPool.
  * If an object is passed to the keyedPool that isn't of type 
codetype/code a [EMAIL PROTECTED] ClassCastException} will be thrown.
  *
  * @param keyedPool the keyedPool to enforce type safety on
- * @return an codeKeyedObjectPool/code that will only allow objects of 
codetype/code
+ * @return a codeKeyedObjectPool/code that will only allow objects of 
codetype/code
  * @since Pool 1.3
  */
 public static KeyedObjectPool checkedPool(final KeyedObjectPool keyedPool, 
final Class type) {
@@ -169,15 +170,15 @@
 }
 
 /**
- * Periodically check the idle object count for the keyedPool. At most one 
idle object will be added per period.
+ * Periodically check the idle object count for the pool. At most one idle 
object will be added per period.
  * If there is an exception when calling [EMAIL PROTECTED] 
ObjectPool#addObject()} then no more checks will be performed.
  *
- * @param pool the keyedPool to check periodically.
+ * @param pool the pool to check periodically.
  * @param minIdle if the [EMAIL PROTECTED] ObjectPool#getNumIdle()} is 
less than this then add an idle object.
- * @param period the frequency to check the number of idle objects in a 
keyedPool, see
+ * @param period the frequency to check the number of idle objects in a 
pool, see
  *  [EMAIL PROTECTED] Timer#schedule(TimerTask, long, long)}.
  * @return the [EMAIL PROTECTED] TimerTask} that will periodically check 
the pools idle object count.
- * @throws IllegalArgumentException when codekeyedPool/code is 
codenull/code or
+ * @throws IllegalArgumentException when codepool/code is 
codenull/code or
  *  when codeminIdle/code is negative or when codeperiod/code 
isn't
  *  valid for [EMAIL PROTECTED] Timer#schedule(TimerTask, long, long)}.
  * @since Pool 1.3
@@ -256,17 +257,17 @@
 }
 
 /**
- * Call codeaddObject()/code

svn commit: r408008 - /jakarta/commons/proper/dbcp/trunk/xdocs/configuration.xml

2006-05-20 Thread sandymac
Author: sandymac
Date: Sat May 20 07:55:07 2006
New Revision: 408008

URL: http://svn.apache.org/viewvc?rev=408008view=rev
Log:
DBCP-188: Corrects maxActive documenation in configuration.xml

Modified:
jakarta/commons/proper/dbcp/trunk/xdocs/configuration.xml

Modified: jakarta/commons/proper/dbcp/trunk/xdocs/configuration.xml
URL: 
http://svn.apache.org/viewvc/jakarta/commons/proper/dbcp/trunk/xdocs/configuration.xml?rev=408008r1=408007r2=408008view=diff
==
--- jakarta/commons/proper/dbcp/trunk/xdocs/configuration.xml (original)
+++ jakarta/commons/proper/dbcp/trunk/xdocs/configuration.xml Sat May 20 
07:55:07 2006
@@ -130,7 +130,7 @@
td8/td
td
   The maximum number of active connections that can be allocated from
-  this pool at the same time, or zero for no limit.
+  this pool at the same time, or negative for no limit.
/td
 /tr
 tr



-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



svn commit: r406176 - in /jakarta/commons/proper/pool/branches/performance-ideas/src: java/org/apache/commons/pool/composite/ test/org/apache/commons/pool/ test/org/apache/commons/pool/composite/ test

2006-05-13 Thread sandymac
Author: sandymac
Date: Sat May 13 17:54:00 2006
New Revision: 406176

URL: http://svn.apache.org/viewcvs?rev=406176view=rev
Log:
Fully minimized synchronization but this leaves a race condition for pools
with a max active limit. Created a unit test to verify this race condition.
Small Javadoc corrections.

Removed:

jakarta/commons/proper/pool/branches/performance-ideas/src/java/org/apache/commons/pool/composite/CompositeObjectPoolFullSync.java

jakarta/commons/proper/pool/branches/performance-ideas/src/test/org/apache/commons/pool/composite/TestCompositeObjectPoolFullSync.java
Modified:

jakarta/commons/proper/pool/branches/performance-ideas/src/java/org/apache/commons/pool/composite/AbstractManager.java

jakarta/commons/proper/pool/branches/performance-ideas/src/java/org/apache/commons/pool/composite/CompositeObjectPool.java

jakarta/commons/proper/pool/branches/performance-ideas/src/java/org/apache/commons/pool/composite/CompositeObjectPoolFactory.java

jakarta/commons/proper/pool/branches/performance-ideas/src/java/org/apache/commons/pool/composite/FailManager.java

jakarta/commons/proper/pool/branches/performance-ideas/src/java/org/apache/commons/pool/composite/GrowManager.java

jakarta/commons/proper/pool/branches/performance-ideas/src/java/org/apache/commons/pool/composite/WaitLimitManager.java

jakarta/commons/proper/pool/branches/performance-ideas/src/test/org/apache/commons/pool/TestBaseObjectPool.java

jakarta/commons/proper/pool/branches/performance-ideas/src/test/org/apache/commons/pool/TestObjectPool.java

jakarta/commons/proper/pool/branches/performance-ideas/src/test/org/apache/commons/pool/composite/PerformanceTest.java

jakarta/commons/proper/pool/branches/performance-ideas/src/test/org/apache/commons/pool/composite/TestAll.java

jakarta/commons/proper/pool/branches/performance-ideas/src/test/org/apache/commons/pool/composite/TestCompositeObjectPool.java

jakarta/commons/proper/pool/branches/performance-ideas/src/test/org/apache/commons/pool/composite/TestWaitLimitManager.java

jakarta/commons/proper/pool/branches/performance-ideas/src/test/org/apache/commons/pool/impl/TestGenericObjectPool.java

jakarta/commons/proper/pool/branches/performance-ideas/src/test/org/apache/commons/pool/impl/TestSoftReferenceObjectPool.java

jakarta/commons/proper/pool/branches/performance-ideas/src/test/org/apache/commons/pool/impl/TestStackObjectPool.java

Modified: 
jakarta/commons/proper/pool/branches/performance-ideas/src/java/org/apache/commons/pool/composite/AbstractManager.java
URL: 
http://svn.apache.org/viewcvs/jakarta/commons/proper/pool/branches/performance-ideas/src/java/org/apache/commons/pool/composite/AbstractManager.java?rev=406176r1=406175r2=406176view=diff
==
--- 
jakarta/commons/proper/pool/branches/performance-ideas/src/java/org/apache/commons/pool/composite/AbstractManager.java
 (original)
+++ 
jakarta/commons/proper/pool/branches/performance-ideas/src/java/org/apache/commons/pool/composite/AbstractManager.java
 Sat May 13 17:54:00 2006
@@ -80,11 +80,14 @@
 public abstract Object nextFromPool() throws Exception;
 
 /**
- * Return an object to the pool. Object will be [EMAIL PROTECTED] 
PoolableObjectFactory#passivateObject(Object) passivated}.
+ * Return an object to the pool.
+ * The Object's state will no longer be active.
+ * The Object will be passes to a delegate to be made idle.
  *
  * @param obj the object to return to the pool.
  */
 public void returnToPool(final Object obj) {
+objectPool.getTracker().returned(obj);
 objectPool.getLender().repay(obj);
 }
 

Modified: 
jakarta/commons/proper/pool/branches/performance-ideas/src/java/org/apache/commons/pool/composite/CompositeObjectPool.java
URL: 
http://svn.apache.org/viewcvs/jakarta/commons/proper/pool/branches/performance-ideas/src/java/org/apache/commons/pool/composite/CompositeObjectPool.java?rev=406176r1=406175r2=406176view=diff
==
--- 
jakarta/commons/proper/pool/branches/performance-ideas/src/java/org/apache/commons/pool/composite/CompositeObjectPool.java
 (original)
+++ 
jakarta/commons/proper/pool/branches/performance-ideas/src/java/org/apache/commons/pool/composite/CompositeObjectPool.java
 Sat May 13 17:54:00 2006
@@ -218,8 +218,9 @@
 }
 }
 
-protected boolean addObjectToPool(final Object obj) {
+private boolean addObjectToPool(final Object obj) {
 if (isOpen()) {
+tracker.borrowed(obj); // pretend
 manager.returnToPool(obj);
 return true;
 }
@@ -252,10 +253,8 @@
  * @throws Exception if there is an unexpected problem.
  * @see #borrowObject()
  */
-protected Object borrowObjectFromPool() throws Exception {
-final Object obj = manager.nextFromPool

svn commit: r399083 - /jakarta/commons/proper/pool/branches/performance-ideas2/

2006-05-02 Thread sandymac
Author: sandymac
Date: Tue May  2 16:23:10 2006
New Revision: 399083

URL: http://svn.apache.org/viewcvs?rev=399083view=rev
Log:
exploring some performance ideas

Added:
jakarta/commons/proper/pool/branches/performance-ideas2/
  - copied from r399082, jakarta/commons/proper/pool/trunk/


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



svn commit: r395465 - /jakarta/commons/proper/pool/trunk/src/test/org/apache/commons/pool/TestObjectPool.java

2006-04-19 Thread sandymac
Author: sandymac
Date: Wed Apr 19 20:20:07 2006
New Revision: 395465

URL: http://svn.apache.org/viewcvs?rev=395465view=rev
Log:
small unit test update

Modified:

jakarta/commons/proper/pool/trunk/src/test/org/apache/commons/pool/TestObjectPool.java

Modified: 
jakarta/commons/proper/pool/trunk/src/test/org/apache/commons/pool/TestObjectPool.java
URL: 
http://svn.apache.org/viewcvs/jakarta/commons/proper/pool/trunk/src/test/org/apache/commons/pool/TestObjectPool.java?rev=395465r1=395464r2=395465view=diff
==
--- 
jakarta/commons/proper/pool/trunk/src/test/org/apache/commons/pool/TestObjectPool.java
 (original)
+++ 
jakarta/commons/proper/pool/trunk/src/test/org/apache/commons/pool/TestObjectPool.java
 Wed Apr 19 20:20:07 2006
@@ -105,8 +105,12 @@
 }
 final List expectedMethods = new ArrayList();
 
+assertEquals(0, pool.getNumActive());
+assertEquals(0, pool.getNumIdle());
 // addObject should make a new object, pasivate it and put it in the 
pool
 pool.addObject();
+assertEquals(0, pool.getNumActive());
+assertEquals(1, pool.getNumIdle());
 expectedMethods.add(new MethodCall(makeObject).returned(ZERO));
 expectedMethods.add(new MethodCall(passivateObject, ZERO));
 assertEquals(expectedMethods, factory.getMethodCalls());



-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



svn commit: r395466 - in /jakarta/commons/proper/pool/trunk/src: java/org/apache/commons/pool/impl/GenericKeyedObjectPool.java test/org/apache/commons/pool/impl/TestGenericKeyedObjectPool.java

2006-04-19 Thread sandymac
Author: sandymac
Date: Wed Apr 19 20:21:57 2006
New Revision: 395466

URL: http://svn.apache.org/viewcvs?rev=395466view=rev
Log:
Fixes bug 39341: javadocs indicated that maxActive, maxIdle, and maxTotal were 
per key
for GenericKeyedObjectPool when they are for the whole pool.

Modified:

jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/impl/GenericKeyedObjectPool.java

jakarta/commons/proper/pool/trunk/src/test/org/apache/commons/pool/impl/TestGenericKeyedObjectPool.java

Modified: 
jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/impl/GenericKeyedObjectPool.java
URL: 
http://svn.apache.org/viewcvs/jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/impl/GenericKeyedObjectPool.java?rev=395466r1=395465r2=395466view=diff
==
--- 
jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/impl/GenericKeyedObjectPool.java
 (original)
+++ 
jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/impl/GenericKeyedObjectPool.java
 Wed Apr 19 20:21:57 2006
@@ -41,14 +41,14 @@
  * pA codeGenericKeyedObjectPool/code provides a number of configurable 
parameters:/p
  * ul
  *  li
- *[EMAIL PROTECTED] #setMaxActive maxActive} controls the maximum number 
of objects (per key)
+ *[EMAIL PROTECTED] #setMaxActive maxActive} controls the maximum number 
of objects
  *that can be borrowed from the pool at one time.  When non-positive, there
  *is no limit to the number of objects that may be active at one time.
  *When [EMAIL PROTECTED] #setMaxActive maxActive} is exceeded, the pool is 
said to be exhausted.
  *  /li
  *  li
  *[EMAIL PROTECTED] #setMaxIdle maxIdle} controls the maximum number of 
objects that can
- *sit idle in the pool (per key) at any time.  When negative, there
+ *sit idle in the pool at any time.  When negative, there
  *is no limit to the number of objects that may be idle at one time.
  *  /li
  *  li
@@ -170,16 +170,14 @@
 public static final byte WHEN_EXHAUSTED_GROW   = 2;
 
 /**
- * The default cap on the number of idle instances in the pool
- * (per key).
+ * The default cap on the number of idle instances in the pool.
  * @see #getMaxIdle
  * @see #setMaxIdle
  */
 public static final int DEFAULT_MAX_IDLE  = 8;
 
 /**
- * The default cap on the total number of active instances from the pool
- * (per key).
+ * The default cap on the total number of active instances from the pool.
  * @see #getMaxActive
  * @see #setMaxActive
  */
@@ -298,7 +296,7 @@
 /**
  * Create a new codeGenericKeyedObjectPool/code using the specified 
values.
  * @param factory the codeKeyedPoolableObjectFactory/code to use to 
create, validate, and destroy objects if not codenull/code
- * @param maxActive the maximum number of objects that can be borrowed 
from me at one time (per key) (see [EMAIL PROTECTED] #setMaxActive})
+ * @param maxActive the maximum number of objects that can be borrowed 
from me at one time (see [EMAIL PROTECTED] #setMaxActive})
  */
 public GenericKeyedObjectPool(KeyedPoolableObjectFactory factory, int 
maxActive) {
 
this(factory,maxActive,DEFAULT_WHEN_EXHAUSTED_ACTION,DEFAULT_MAX_WAIT,DEFAULT_MAX_IDLE,DEFAULT_TEST_ON_BORROW,DEFAULT_TEST_ON_RETURN,DEFAULT_TIME_BETWEEN_EVICTION_RUNS_MILLIS,DEFAULT_NUM_TESTS_PER_EVICTION_RUN,DEFAULT_MIN_EVICTABLE_IDLE_TIME_MILLIS,DEFAULT_TEST_WHILE_IDLE);
@@ -307,7 +305,7 @@
 /**
  * Create a new codeGenericKeyedObjectPool/code using the specified 
values.
  * @param factory the codeKeyedPoolableObjectFactory/code to use to 
create, validate, and destroy objects if not codenull/code
- * @param maxActive the maximum number of objects that can be borrowed 
from me at one time (per key) (see [EMAIL PROTECTED] #setMaxActive})
+ * @param maxActive the maximum number of objects that can be borrowed 
from me at one time (see [EMAIL PROTECTED] #setMaxActive})
  * @param whenExhaustedAction the action to take when the pool is 
exhausted (see [EMAIL PROTECTED] #setWhenExhaustedAction})
  * @param maxWait the maximum amount of time to wait for an idle object 
when the pool is exhausted an and codewhenExhaustedAction/code is [EMAIL 
PROTECTED] #WHEN_EXHAUSTED_BLOCK} (otherwise ignored) (see [EMAIL PROTECTED] 
#setMaxWait})
  */
@@ -318,7 +316,7 @@
 /**
  * Create a new codeGenericKeyedObjectPool/code using the specified 
values.
  * @param factory the codeKeyedPoolableObjectFactory/code to use to 
create, validate, and destroy objects if not codenull/code
- * @param maxActive the maximum number of objects that can be borrowed 
from me at one time (per key) (see [EMAIL PROTECTED] #setMaxActive})
+ * @param maxActive the maximum number of objects that can be borrowed 
from me at one time (see [EMAIL PROTECTED] #setMaxActive})
  * @param

svn commit: r395102 - in /jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/impl: GenericKeyedObjectPool.java GenericObjectPool.java SoftReferenceObjectPool.java StackKeyedObjectPool.

2006-04-18 Thread sandymac
Author: sandymac
Date: Tue Apr 18 18:43:56 2006
New Revision: 395102

URL: http://svn.apache.org/viewcvs?rev=395102view=rev
Log:
The calls to BaseObjectPool.close() and BaseKeyedObjectPool.close() should not
by synchronized. Those methods are implicitly thread-safe and requiring
synchronization while calling them can introduce a high latency while trying to
close a pool when a slow [Keyed]PoolableObjectFactory is being used, eg: one
that does network IO.

Modified:

jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/impl/GenericKeyedObjectPool.java

jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/impl/GenericObjectPool.java

jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/impl/SoftReferenceObjectPool.java

jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/impl/StackKeyedObjectPool.java

jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/impl/StackObjectPool.java

Modified: 
jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/impl/GenericKeyedObjectPool.java
URL: 
http://svn.apache.org/viewcvs/jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/impl/GenericKeyedObjectPool.java?rev=395102r1=395101r2=395102view=diff
==
--- 
jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/impl/GenericKeyedObjectPool.java
 (original)
+++ 
jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/impl/GenericKeyedObjectPool.java
 Tue Apr 18 18:43:56 2006
@@ -1160,13 +1160,15 @@
 }
 }
 
-public synchronized void close() throws Exception {
-clear();
-if (null != _evictor) {
-_evictor.cancel();
-_evictor = null;
-}
+public void close() throws Exception {
 super.close();
+synchronized (this) {
+clear();
+if (null != _evictor) {
+_evictor.cancel();
+_evictor = null;
+}
+}
 }
 
 public synchronized void setFactory(KeyedPoolableObjectFactory factory) 
throws IllegalStateException {

Modified: 
jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/impl/GenericObjectPool.java
URL: 
http://svn.apache.org/viewcvs/jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/impl/GenericObjectPool.java?rev=395102r1=395101r2=395102view=diff
==
--- 
jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/impl/GenericObjectPool.java
 (original)
+++ 
jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/impl/GenericObjectPool.java
 Tue Apr 18 18:43:56 2006
@@ -971,10 +971,12 @@
 }
 }
 
-public synchronized void close() throws Exception {
-clear();
-startEvictor(-1L);
+public void close() throws Exception {
 super.close();
+synchronized (this) {
+clear();
+startEvictor(-1L);
+}
 }
 
 /**

Modified: 
jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/impl/SoftReferenceObjectPool.java
URL: 
http://svn.apache.org/viewcvs/jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/impl/SoftReferenceObjectPool.java?rev=395102r1=395101r2=395102view=diff
==
--- 
jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/impl/SoftReferenceObjectPool.java
 (original)
+++ 
jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/impl/SoftReferenceObjectPool.java
 Tue Apr 18 18:43:56 2006
@@ -234,9 +234,9 @@
 pruneClearedReferences();
 }
 
-public synchronized void close() throws Exception {
-clear();
+public void close() throws Exception {
 super.close();
+clear();
 }
 
 /**

Modified: 
jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/impl/StackKeyedObjectPool.java
URL: 
http://svn.apache.org/viewcvs/jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/impl/StackKeyedObjectPool.java?rev=395102r1=395101r2=395102view=diff
==
--- 
jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/impl/StackKeyedObjectPool.java
 (original)
+++ 
jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/impl/StackKeyedObjectPool.java
 Tue Apr 18 18:43:56 2006
@@ -401,9 +401,9 @@
  *
  * @throws Exception strongdeprecated/strong: implementations should 
silently fail if not all resources can be freed.
  */
-public synchronized void close() throws Exception {
-clear();
+public void close() throws Exception {
 super.close();
+clear();
 }
 
 /**

Modified: 
jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool

svn commit: r395115 - in /jakarta/commons/proper/pool/branches/performance-ideas/src: java/org/apache/commons/pool/composite/ java/org/apache/commons/pool/impl/ test/org/apache/commons/pool/ test/org/

2006-04-18 Thread sandymac
Author: sandymac
Date: Tue Apr 18 20:04:31 2006
New Revision: 395115

URL: http://svn.apache.org/viewcvs?rev=395115view=rev
Log:
Fixes some bugs from the initial refactor to reduce synchronization and
implements the generator pattern for growing the pool when more objects
are needed as suggested by Peter Steijn.
Also includes the BaseObjectPool.close fixes from the trunk.

Modified:

jakarta/commons/proper/pool/branches/performance-ideas/src/java/org/apache/commons/pool/composite/CompositeObjectPool.java

jakarta/commons/proper/pool/branches/performance-ideas/src/java/org/apache/commons/pool/composite/CompositeObjectPoolFactory.java

jakarta/commons/proper/pool/branches/performance-ideas/src/java/org/apache/commons/pool/composite/CompositeObjectPoolFullSync.java

jakarta/commons/proper/pool/branches/performance-ideas/src/java/org/apache/commons/pool/composite/FailLimitManager.java

jakarta/commons/proper/pool/branches/performance-ideas/src/java/org/apache/commons/pool/composite/GrowManager.java

jakarta/commons/proper/pool/branches/performance-ideas/src/java/org/apache/commons/pool/impl/GenericKeyedObjectPool.java

jakarta/commons/proper/pool/branches/performance-ideas/src/java/org/apache/commons/pool/impl/SoftReferenceObjectPool.java

jakarta/commons/proper/pool/branches/performance-ideas/src/java/org/apache/commons/pool/impl/StackKeyedObjectPool.java

jakarta/commons/proper/pool/branches/performance-ideas/src/java/org/apache/commons/pool/impl/StackObjectPool.java

jakarta/commons/proper/pool/branches/performance-ideas/src/test/org/apache/commons/pool/TestObjectPool.java

jakarta/commons/proper/pool/branches/performance-ideas/src/test/org/apache/commons/pool/composite/PerformanceTest.java

Modified: 
jakarta/commons/proper/pool/branches/performance-ideas/src/java/org/apache/commons/pool/composite/CompositeObjectPool.java
URL: 
http://svn.apache.org/viewcvs/jakarta/commons/proper/pool/branches/performance-ideas/src/java/org/apache/commons/pool/composite/CompositeObjectPool.java?rev=395115r1=395114r2=395115view=diff
==
--- 
jakarta/commons/proper/pool/branches/performance-ideas/src/java/org/apache/commons/pool/composite/CompositeObjectPool.java
 (original)
+++ 
jakarta/commons/proper/pool/branches/performance-ideas/src/java/org/apache/commons/pool/composite/CompositeObjectPool.java
 Tue Apr 18 20:04:31 2006
@@ -286,7 +286,7 @@
 }
 }
 
-protected boolean returnObjectToPool(Object obj) {
+protected boolean returnObjectToPool(final Object obj) {
 // if the pool is closed, don't return objects
 if (isOpen()) {
 tracker.returned(obj);
@@ -296,6 +296,10 @@
 return false;
 }
 
+protected void returnObjectToPoolManager(final Object obj) {
+manager.returnToPool(obj);
+}
+
 /**
  * Invalidates an object from the pool
  * By contract, codeobj/code strongmust/strong have been obtained
@@ -431,17 +435,13 @@
 sb.append(, validateOnReturn=).append(validateOnReturn);
 }
 sb.append(, open=).append(open);
-try {
-final int numActive = getNumActive();
+final int numActive = getNumActive();
+if (numActive = 0) {
 sb.append(, activeObjects=).append(numActive);
-} catch (Exception e) {
-// ignored
 }
-try {
-final int numIdle = getNumIdle();
+final int numIdle = getNumIdle();
+if (numIdle = 0) {
 sb.append(, idleObjects=).append(numIdle);
-} catch (Exception e) {
-// ignored
 }
 sb.append('}');
 return sb.toString();

Modified: 
jakarta/commons/proper/pool/branches/performance-ideas/src/java/org/apache/commons/pool/composite/CompositeObjectPoolFactory.java
URL: 
http://svn.apache.org/viewcvs/jakarta/commons/proper/pool/branches/performance-ideas/src/java/org/apache/commons/pool/composite/CompositeObjectPoolFactory.java?rev=395115r1=395114r2=395115view=diff
==
--- 
jakarta/commons/proper/pool/branches/performance-ideas/src/java/org/apache/commons/pool/composite/CompositeObjectPoolFactory.java
 (original)
+++ 
jakarta/commons/proper/pool/branches/performance-ideas/src/java/org/apache/commons/pool/composite/CompositeObjectPoolFactory.java
 Tue Apr 18 20:04:31 2006
@@ -256,8 +256,8 @@
 }
 }
 
-private static boolean needsFullSync(FactoryConfig config) {
-return LimitPolicy.WAIT.equals(config.limitPolicy);
+private static boolean needsFullSync(final FactoryConfig config) {
+return config.maxActive  0  
LimitPolicy.WAIT.equals(config.limitPolicy);
 }
 
 /**
@@ -794,9 +794,11 @@
 sb.append(factory=).append(factory);
 sb.append(, borrowPolicy=).append(borrowPolicy);
 sb.append

svn commit: r391535 - /jakarta/commons/proper/pool/branches/performance-ideas/

2006-04-05 Thread sandymac
Author: sandymac
Date: Tue Apr  4 23:19:46 2006
New Revision: 391535

URL: http://svn.apache.org/viewcvs?rev=391535view=rev
Log:
exploring some ideas for performance

Added:
jakarta/commons/proper/pool/branches/performance-ideas/
  - copied from r391534, jakarta/commons/proper/pool/trunk/


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



svn commit: r391545 - in /jakarta/commons/proper/pool/trunk/src: java/org/apache/commons/pool/composite/CompositeObjectPool.java test/org/apache/commons/pool/composite/TestDelegateManager.java

2006-04-05 Thread sandymac
Author: sandymac
Date: Tue Apr  4 23:36:06 2006
New Revision: 391545

URL: http://svn.apache.org/viewcvs?rev=391545view=rev
Log:
Javadoc fixes.

Modified:

jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/composite/CompositeObjectPool.java

jakarta/commons/proper/pool/trunk/src/test/org/apache/commons/pool/composite/TestDelegateManager.java

Modified: 
jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/composite/CompositeObjectPool.java
URL: 
http://svn.apache.org/viewcvs/jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/composite/CompositeObjectPool.java?rev=391545r1=391544r2=391545view=diff
==
--- 
jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/composite/CompositeObjectPool.java
 (original)
+++ 
jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/composite/CompositeObjectPool.java
 Tue Apr  4 23:36:06 2006
@@ -31,7 +31,7 @@
  * pInstances of this class should only be instantiated by [EMAIL PROTECTED] 
CompositeObjectPoolFactory} or other package-local
  * classes that are intimately familiar with it's proper usage./p
  *
- * pComposit object pools are divided into three parts./p
+ * pComposite object pools are divided into three parts./p
  *
  * p[EMAIL PROTECTED] Lender}: a lender's sole responsibilty is to maintain 
idle objects. A lender will never touch an object
  * that is considered to be active with the possible exception of an idle 
object being validated for possible eviction.

Modified: 
jakarta/commons/proper/pool/trunk/src/test/org/apache/commons/pool/composite/TestDelegateManager.java
URL: 
http://svn.apache.org/viewcvs/jakarta/commons/proper/pool/trunk/src/test/org/apache/commons/pool/composite/TestDelegateManager.java?rev=391545r1=391544r2=391545view=diff
==
--- 
jakarta/commons/proper/pool/trunk/src/test/org/apache/commons/pool/composite/TestDelegateManager.java
 (original)
+++ 
jakarta/commons/proper/pool/trunk/src/test/org/apache/commons/pool/composite/TestDelegateManager.java
 Tue Apr  4 23:36:06 2006
@@ -17,10 +17,9 @@
 package org.apache.commons.pool.composite;
 
 /**
- * TODO: Fix JavaDoc
+ * Tests for [EMAIL PROTECTED] DelegateManager}s.
  *
- * @author sandymac
- * @since Mar 29, 2006
+ * @author Sandy McArthur
  * @version $Revision$ $Date$
  */
 public abstract class TestDelegateManager extends TestManager {



-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



svn commit: r390797 - in /jakarta/commons/proper/pool/trunk/src/test/org/apache/commons/pool/composite: TestCompositeKeyedObjectPoolFactory.java TestCompositeObjectPoolFactory.java

2006-04-02 Thread sandymac
Author: sandymac
Date: Sun Apr  2 00:00:47 2006
New Revision: 390797

URL: http://svn.apache.org/viewcvs?rev=390797view=rev
Log:
More unit tests.

Modified:

jakarta/commons/proper/pool/trunk/src/test/org/apache/commons/pool/composite/TestCompositeKeyedObjectPoolFactory.java

jakarta/commons/proper/pool/trunk/src/test/org/apache/commons/pool/composite/TestCompositeObjectPoolFactory.java

Modified: 
jakarta/commons/proper/pool/trunk/src/test/org/apache/commons/pool/composite/TestCompositeKeyedObjectPoolFactory.java
URL: 
http://svn.apache.org/viewcvs/jakarta/commons/proper/pool/trunk/src/test/org/apache/commons/pool/composite/TestCompositeKeyedObjectPoolFactory.java?rev=390797r1=390796r2=390797view=diff
==
--- 
jakarta/commons/proper/pool/trunk/src/test/org/apache/commons/pool/composite/TestCompositeKeyedObjectPoolFactory.java
 (original)
+++ 
jakarta/commons/proper/pool/trunk/src/test/org/apache/commons/pool/composite/TestCompositeKeyedObjectPoolFactory.java
 Sun Apr  2 00:00:47 2006
@@ -16,11 +16,17 @@
 
 package org.apache.commons.pool.composite;
 
-import org.apache.commons.pool.TestKeyedObjectPoolFactory;
-import org.apache.commons.pool.KeyedObjectPoolFactory;
-import org.apache.commons.pool.KeyedPoolableObjectFactory;
 import junit.framework.Test;
 import junit.framework.TestSuite;
+import org.apache.commons.pool.KeyedObjectPoolFactory;
+import org.apache.commons.pool.KeyedPoolableObjectFactory;
+import org.apache.commons.pool.MethodCallPoolableObjectFactory;
+import org.apache.commons.pool.PoolUtils;
+import org.apache.commons.pool.PoolableObjectFactory;
+import org.apache.commons.pool.TestKeyedObjectPoolFactory;
+import org.apache.commons.pool.impl.StackObjectPoolFactory;
+
+import java.util.Random;
 
 /**
  * Tests for [EMAIL PROTECTED] CompositeKeyedObjectPoolFactory}.
@@ -29,6 +35,8 @@
  * @version $Revision$ $Date$
  */
 public class TestCompositeKeyedObjectPoolFactory extends 
TestKeyedObjectPoolFactory {
+private final Random rnd = new Random();
+
 public TestCompositeKeyedObjectPoolFactory(final String name) {
 super(name);
 }
@@ -39,5 +47,99 @@
 
 protected KeyedObjectPoolFactory makeFactory(final 
KeyedPoolableObjectFactory objectFactory) throws UnsupportedOperationException {
 return new CompositeKeyedObjectPoolFactory(objectFactory);
+}
+
+public void testConstructors() throws Exception {
+CompositeKeyedObjectPoolFactory factory = new 
CompositeKeyedObjectPoolFactory(createObjectFactory());
+factory.createPool().close();
+
+try {
+new 
CompositeKeyedObjectPoolFactory((KeyedPoolableObjectFactory)null);
+fail();
+} catch (IllegalArgumentException iae) {
+// expected
+}
+
+try {
+new 
CompositeKeyedObjectPoolFactory((CompositeObjectPoolFactory)null);
+fail();
+} catch (IllegalArgumentException iae) {
+// expected
+}
+factory = new CompositeKeyedObjectPoolFactory(new 
CompositeObjectPoolFactory(new MethodCallPoolableObjectFactory()));
+factory.createPool().close();
+
+try {
+new CompositeKeyedObjectPoolFactory((PoolableObjectFactory)null);
+fail();
+} catch (IllegalArgumentException iae) {
+// expected
+}
+factory = new CompositeKeyedObjectPoolFactory(new 
MethodCallPoolableObjectFactory());
+factory.createPool().close();
+}
+
+public void testStaticCreatePool() {
+assertNotNull(CompositeKeyedObjectPoolFactory.createPool(new 
StackObjectPoolFactory()));
+try {
+CompositeKeyedObjectPoolFactory.createPool(null);
+fail();
+} catch (IllegalArgumentException iae) {
+// expected
+}
+}
+
+public void testFactory() {
+CompositeKeyedObjectPoolFactory factory = 
(CompositeKeyedObjectPoolFactory)makeFactory();
+try {
+factory.setFactory(null);
+fail();
+} catch (IllegalArgumentException iae) {
+// expected
+}
+
+factory.setFactory(new MethodCallPoolableObjectFactory());
+assertNotNull(factory.getFactory());
+assertNull(factory.getKeyedFactory());
+}
+
+public void testKeyedFactory() {
+CompositeKeyedObjectPoolFactory factory = 
(CompositeKeyedObjectPoolFactory)makeFactory();
+try {
+factory.setKeyedFactory(null);
+fail();
+} catch (IllegalArgumentException iae) {
+// expected
+}
+
+factory.setKeyedFactory(PoolUtils.adapt(new 
MethodCallPoolableObjectFactory()));
+assertNotNull(factory.getKeyedFactory());
+assertNull(factory.getFactory());
+}
+
+public void testClone() throws CloneNotSupportedException {
+CompositeKeyedObjectPoolFactory f1

svn commit: r390933 - in /jakarta/commons/proper/pool/branches/1_3_RELEASE_BRANCH: build.xml project.xml xdocs/downloads.xml

2006-04-02 Thread sandymac
Author: sandymac
Date: Sun Apr  2 17:46:35 2006
New Revision: 390933

URL: http://svn.apache.org/viewcvs?rev=390933view=rev
Log:
Final changes for 1.3 release.

Modified:
jakarta/commons/proper/pool/branches/1_3_RELEASE_BRANCH/build.xml
jakarta/commons/proper/pool/branches/1_3_RELEASE_BRANCH/project.xml
jakarta/commons/proper/pool/branches/1_3_RELEASE_BRANCH/xdocs/downloads.xml

Modified: jakarta/commons/proper/pool/branches/1_3_RELEASE_BRANCH/build.xml
URL: 
http://svn.apache.org/viewcvs/jakarta/commons/proper/pool/branches/1_3_RELEASE_BRANCH/build.xml?rev=390933r1=390932r2=390933view=diff
==
--- jakarta/commons/proper/pool/branches/1_3_RELEASE_BRANCH/build.xml (original)
+++ jakarta/commons/proper/pool/branches/1_3_RELEASE_BRANCH/build.xml Sun Apr  
2 17:46:35 2006
@@ -39,7 +39,7 @@
 
   property name=name value=commons-pool/
   property name=title value=Jakarta Commons Object Pooling Package/
-  property name=version value=1.3-rc4/
+  property name=version value=1.3/
   property name=package value=org.apache.commons.pool.*/
 
   property name=src.dir value=${basedir}/src/

Modified: jakarta/commons/proper/pool/branches/1_3_RELEASE_BRANCH/project.xml
URL: 
http://svn.apache.org/viewcvs/jakarta/commons/proper/pool/branches/1_3_RELEASE_BRANCH/project.xml?rev=390933r1=390932r2=390933view=diff
==
--- jakarta/commons/proper/pool/branches/1_3_RELEASE_BRANCH/project.xml 
(original)
+++ jakarta/commons/proper/pool/branches/1_3_RELEASE_BRANCH/project.xml Sun Apr 
 2 17:46:35 2006
@@ -21,7 +21,7 @@
   groupIdcommons-pool/groupId
   artifactIdcommons-pool/artifactId
   inceptionYear2001/inceptionYear
-  currentVersion1.3-rc4/currentVersion
+  currentVersion1.3/currentVersion
   shortDescriptionCommons Object Pooling Library/shortDescription
   descriptionCommons Object Pooling Library/description
   logo/images/pool-logo-white.png/logo

Modified: 
jakarta/commons/proper/pool/branches/1_3_RELEASE_BRANCH/xdocs/downloads.xml
URL: 
http://svn.apache.org/viewcvs/jakarta/commons/proper/pool/branches/1_3_RELEASE_BRANCH/xdocs/downloads.xml?rev=390933r1=390932r2=390933view=diff
==
--- jakarta/commons/proper/pool/branches/1_3_RELEASE_BRANCH/xdocs/downloads.xml 
(original)
+++ jakarta/commons/proper/pool/branches/1_3_RELEASE_BRANCH/xdocs/downloads.xml 
Sun Apr  2 17:46:35 2006
@@ -25,7 +25,7 @@
  section name=Releases
  pThe following releases are available:/p
  ul
-   liRelease 1.3 - ## April 2006 - a 
href=release-notes-1.3.html(release notes)/a/li
+   liRelease 1.3 - 3 April 2006 - a 
href=release-notes-1.3.html(release notes)/a/li
liRelease 1.2 - 7 June 2004 - a 
href=release-notes-1.2.html(release notes)/a/li
liRelease 1.1 - 20 October 2003 - a 
href=release-notes-1.1.html(release notes)/a/li
liRelease 1.0.1 - 12 August 2002/li



-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



svn commit: r390934 - /jakarta/commons/proper/pool/tags/POOL_1_3/

2006-04-02 Thread sandymac
Author: sandymac
Date: Sun Apr  2 17:49:26 2006
New Revision: 390934

URL: http://svn.apache.org/viewcvs?rev=390934view=rev
Log:
Taggin Pool 1.3

Added:
jakarta/commons/proper/pool/tags/POOL_1_3/
  - copied from r390933, 
jakarta/commons/proper/pool/branches/1_3_RELEASE_BRANCH/


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



svn commit: r390792 - in /jakarta/commons/proper/pool: branches/1_3_RELEASE_BRANCH/src/java/org/apache/commons/pool/impl/GenericKeyedObjectPoolFactory.java trunk/src/java/org/apache/commons/pool/impl/

2006-04-01 Thread sandymac
Author: sandymac
Date: Sat Apr  1 23:13:42 2006
New Revision: 390792

URL: http://svn.apache.org/viewcvs?rev=390792view=rev
Log:
maxTotal parameter was sometimes ignored in GenericKeyedObjectPoolFactory

Modified:

jakarta/commons/proper/pool/branches/1_3_RELEASE_BRANCH/src/java/org/apache/commons/pool/impl/GenericKeyedObjectPoolFactory.java

jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/impl/GenericKeyedObjectPoolFactory.java

Modified: 
jakarta/commons/proper/pool/branches/1_3_RELEASE_BRANCH/src/java/org/apache/commons/pool/impl/GenericKeyedObjectPoolFactory.java
URL: 
http://svn.apache.org/viewcvs/jakarta/commons/proper/pool/branches/1_3_RELEASE_BRANCH/src/java/org/apache/commons/pool/impl/GenericKeyedObjectPoolFactory.java?rev=390792r1=390791r2=390792view=diff
==
--- 
jakarta/commons/proper/pool/branches/1_3_RELEASE_BRANCH/src/java/org/apache/commons/pool/impl/GenericKeyedObjectPoolFactory.java
 (original)
+++ 
jakarta/commons/proper/pool/branches/1_3_RELEASE_BRANCH/src/java/org/apache/commons/pool/impl/GenericKeyedObjectPoolFactory.java
 Sat Apr  1 23:13:42 2006
@@ -68,7 +68,7 @@
 }
 
 public GenericKeyedObjectPoolFactory(KeyedPoolableObjectFactory factory, 
int maxActive, byte whenExhaustedAction, long maxWait, int maxIdle, int 
maxTotal, boolean testOnBorrow, boolean testOnReturn, long 
timeBetweenEvictionRunsMillis, int numTestsPerEvictionRun, long 
minEvictableIdleTimeMillis, boolean testWhileIdle) {
-this(factory, maxActive, whenExhaustedAction, maxWait, maxIdle, 
GenericKeyedObjectPool.DEFAULT_MAX_TOTAL, 
GenericKeyedObjectPool.DEFAULT_MIN_IDLE , testOnBorrow, testOnReturn, 
timeBetweenEvictionRunsMillis, numTestsPerEvictionRun, 
minEvictableIdleTimeMillis, testWhileIdle);
+this(factory, maxActive, whenExhaustedAction, maxWait, maxIdle, 
maxTotal, GenericKeyedObjectPool.DEFAULT_MIN_IDLE , testOnBorrow, testOnReturn, 
timeBetweenEvictionRunsMillis, numTestsPerEvictionRun, 
minEvictableIdleTimeMillis, testWhileIdle);
 }
 
 public GenericKeyedObjectPoolFactory(KeyedPoolableObjectFactory factory, 
int maxActive, byte whenExhaustedAction, long maxWait, int maxIdle, int 
maxTotal, int minIdle, boolean testOnBorrow, boolean testOnReturn, long 
timeBetweenEvictionRunsMillis, int numTestsPerEvictionRun, long 
minEvictableIdleTimeMillis, boolean testWhileIdle) {

Modified: 
jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/impl/GenericKeyedObjectPoolFactory.java
URL: 
http://svn.apache.org/viewcvs/jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/impl/GenericKeyedObjectPoolFactory.java?rev=390792r1=390791r2=390792view=diff
==
--- 
jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/impl/GenericKeyedObjectPoolFactory.java
 (original)
+++ 
jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/impl/GenericKeyedObjectPoolFactory.java
 Sat Apr  1 23:13:42 2006
@@ -36,7 +36,7 @@
 }
 
 public GenericKeyedObjectPoolFactory(KeyedPoolableObjectFactory factory, 
GenericKeyedObjectPool.Config config) {
-
this(factory,config.maxActive,config.whenExhaustedAction,config.maxWait,config.maxIdle,config.testOnBorrow,config.testOnReturn,config.timeBetweenEvictionRunsMillis,config.numTestsPerEvictionRun,config.minEvictableIdleTimeMillis,config.testWhileIdle);
+
this(factory,config.maxActive,config.whenExhaustedAction,config.maxWait,config.maxIdle,config.maxTotal,config.minIdle,config.testOnBorrow,config.testOnReturn,config.timeBetweenEvictionRunsMillis,config.numTestsPerEvictionRun,config.minEvictableIdleTimeMillis,config.testWhileIdle);
 }
 
 public GenericKeyedObjectPoolFactory(KeyedPoolableObjectFactory factory, 
int maxActive) {
@@ -68,7 +68,7 @@
 }
 
 public GenericKeyedObjectPoolFactory(KeyedPoolableObjectFactory factory, 
int maxActive, byte whenExhaustedAction, long maxWait, int maxIdle, int 
maxTotal, boolean testOnBorrow, boolean testOnReturn, long 
timeBetweenEvictionRunsMillis, int numTestsPerEvictionRun, long 
minEvictableIdleTimeMillis, boolean testWhileIdle) {
-this(factory, maxActive, whenExhaustedAction, maxWait, maxIdle, 
GenericKeyedObjectPool.DEFAULT_MAX_TOTAL, 
GenericKeyedObjectPool.DEFAULT_MIN_IDLE , testOnBorrow, testOnReturn, 
timeBetweenEvictionRunsMillis, numTestsPerEvictionRun, 
minEvictableIdleTimeMillis, testWhileIdle);
+this(factory, maxActive, whenExhaustedAction, maxWait, maxIdle, 
maxTotal, GenericKeyedObjectPool.DEFAULT_MIN_IDLE , testOnBorrow, testOnReturn, 
timeBetweenEvictionRunsMillis, numTestsPerEvictionRun, 
minEvictableIdleTimeMillis, testWhileIdle);
 }
 
 public GenericKeyedObjectPoolFactory(KeyedPoolableObjectFactory factory, 
int maxActive, byte whenExhaustedAction, long maxWait, int maxIdle, int 
maxTotal, int minIdle, boolean testOnBorrow

svn commit: r390793 - in /jakarta/commons/proper/pool/trunk/src/test/org/apache/commons/pool: ./ composite/ impl/

2006-04-01 Thread sandymac
Author: sandymac
Date: Sat Apr  1 23:15:31 2006
New Revision: 390793

URL: http://svn.apache.org/viewcvs?rev=390793view=rev
Log:
Unit tests for KeyedObjectPoolFactory implementations.

Added:

jakarta/commons/proper/pool/trunk/src/test/org/apache/commons/pool/TestKeyedObjectPoolFactory.java
   (with props)

jakarta/commons/proper/pool/trunk/src/test/org/apache/commons/pool/composite/TestCompositeKeyedObjectPoolFactory.java
   (with props)

jakarta/commons/proper/pool/trunk/src/test/org/apache/commons/pool/impl/TestGenericKeyedObjectPoolFactory.java
   (with props)

jakarta/commons/proper/pool/trunk/src/test/org/apache/commons/pool/impl/TestStackKeyedObjectPoolFactory.java
   (with props)
Modified:

jakarta/commons/proper/pool/trunk/src/test/org/apache/commons/pool/composite/TestAll.java

jakarta/commons/proper/pool/trunk/src/test/org/apache/commons/pool/impl/TestAll.java

Added: 
jakarta/commons/proper/pool/trunk/src/test/org/apache/commons/pool/TestKeyedObjectPoolFactory.java
URL: 
http://svn.apache.org/viewcvs/jakarta/commons/proper/pool/trunk/src/test/org/apache/commons/pool/TestKeyedObjectPoolFactory.java?rev=390793view=auto
==
--- 
jakarta/commons/proper/pool/trunk/src/test/org/apache/commons/pool/TestKeyedObjectPoolFactory.java
 (added)
+++ 
jakarta/commons/proper/pool/trunk/src/test/org/apache/commons/pool/TestKeyedObjectPoolFactory.java
 Sat Apr  1 23:15:31 2006
@@ -0,0 +1,68 @@
+/*
+ * Copyright 2006 The Apache Software Foundation.
+ *
+ * Licensed 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.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.commons.pool;
+
+import junit.framework.TestCase;
+
+/**
+ * Tests for all [EMAIL PROTECTED] KeyedObjectPoolFactory}s.
+ *
+ * @author Sandy McArthur
+ * @version $Revision$ $Date$
+ */
+public abstract class TestKeyedObjectPoolFactory extends TestCase {
+protected TestKeyedObjectPoolFactory(final String name) {
+super(name);
+}
+
+/**
+ * @throws UnsupportedOperationException when this is unsupported by this 
KeyedPoolableObjectFactory type.
+ */
+protected KeyedObjectPoolFactory makeFactory() throws 
UnsupportedOperationException {
+return makeFactory(createObjectFactory());
+}
+
+/**
+ * @throws UnsupportedOperationException when this is unsupported by this 
KeyedPoolableObjectFactory type.
+ */
+protected abstract KeyedObjectPoolFactory 
makeFactory(KeyedPoolableObjectFactory objectFactory) throws 
UnsupportedOperationException;
+
+protected static KeyedPoolableObjectFactory createObjectFactory() {
+return PoolUtils.adapt(new MethodCallPoolableObjectFactory());
+}
+
+public void testCreatePool() throws Exception {
+final KeyedObjectPoolFactory factory;
+try {
+factory = makeFactory();
+} catch (UnsupportedOperationException uoe) {
+return;
+}
+final KeyedObjectPool pool = factory.createPool();
+pool.close();
+}
+
+public void testToString() {
+final KeyedObjectPoolFactory factory;
+try {
+factory = makeFactory();
+} catch (UnsupportedOperationException uoe) {
+return;
+}
+factory.toString();
+}
+}

Propchange: 
jakarta/commons/proper/pool/trunk/src/test/org/apache/commons/pool/TestKeyedObjectPoolFactory.java
--
svn:eol-style = native

Propchange: 
jakarta/commons/proper/pool/trunk/src/test/org/apache/commons/pool/TestKeyedObjectPoolFactory.java
--
svn:keywords = Date Author Id Revision HeadURL

Modified: 
jakarta/commons/proper/pool/trunk/src/test/org/apache/commons/pool/composite/TestAll.java
URL: 
http://svn.apache.org/viewcvs/jakarta/commons/proper/pool/trunk/src/test/org/apache/commons/pool/composite/TestAll.java?rev=390793r1=390792r2=390793view=diff
==
--- 
jakarta/commons/proper/pool/trunk/src/test/org/apache/commons/pool/composite/TestAll.java
 (original)
+++ 
jakarta/commons/proper/pool/trunk/src/test/org/apache/commons/pool/composite/TestAll.java
 Sat Apr  1 23:15:31 2006
@@ -65,7 +65,7 @@
 suite.addTest(TestCompositeKeyedObjectPool.suite());
 suite.addTest(TestCompositeKeyedObjectPool2.suite

svn commit: r390563 - in /jakarta/commons/proper/pool: branches/1_3_RELEASE_BRANCH/src/java/org/apache/commons/pool/impl/ trunk/src/java/org/apache/commons/pool/impl/

2006-03-31 Thread sandymac
Author: sandymac
Date: Fri Mar 31 17:28:14 2006
New Revision: 390563

URL: http://svn.apache.org/viewcvs?rev=390563view=rev
Log:
GenericObjectPool mindIdle and GenericObjectPoolFactory 
softMinEvictableIdleTimeMillis bug fixes.

Modified:

jakarta/commons/proper/pool/branches/1_3_RELEASE_BRANCH/src/java/org/apache/commons/pool/impl/GenericObjectPool.java

jakarta/commons/proper/pool/branches/1_3_RELEASE_BRANCH/src/java/org/apache/commons/pool/impl/GenericObjectPoolFactory.java

jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/impl/GenericObjectPool.java

jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/impl/GenericObjectPoolFactory.java

Modified: 
jakarta/commons/proper/pool/branches/1_3_RELEASE_BRANCH/src/java/org/apache/commons/pool/impl/GenericObjectPool.java
URL: 
http://svn.apache.org/viewcvs/jakarta/commons/proper/pool/branches/1_3_RELEASE_BRANCH/src/java/org/apache/commons/pool/impl/GenericObjectPool.java?rev=390563r1=390562r2=390563view=diff
==
--- 
jakarta/commons/proper/pool/branches/1_3_RELEASE_BRANCH/src/java/org/apache/commons/pool/impl/GenericObjectPool.java
 (original)
+++ 
jakarta/commons/proper/pool/branches/1_3_RELEASE_BRANCH/src/java/org/apache/commons/pool/impl/GenericObjectPool.java
 Fri Mar 31 17:28:14 2006
@@ -386,7 +386,7 @@
  * @param testWhileIdle whether or not to validate objects in the idle 
object eviction thread, if any (see [EMAIL PROTECTED] #setTestWhileIdle})
  */
 public GenericObjectPool(PoolableObjectFactory factory, int maxActive, 
byte whenExhaustedAction, long maxWait, int maxIdle, int minIdle, boolean 
testOnBorrow, boolean testOnReturn, long timeBetweenEvictionRunsMillis, int 
numTestsPerEvictionRun, long minEvictableIdleTimeMillis, boolean testWhileIdle) 
{
-this(factory, maxActive, whenExhaustedAction, maxWait, maxIdle, 
DEFAULT_MIN_IDLE, testOnBorrow, testOnReturn, timeBetweenEvictionRunsMillis, 
numTestsPerEvictionRun, minEvictableIdleTimeMillis, testWhileIdle, 
DEFAULT_SOFT_MIN_EVICTABLE_IDLE_TIME_MILLIS);
+this(factory, maxActive, whenExhaustedAction, maxWait, maxIdle, 
minIdle, testOnBorrow, testOnReturn, timeBetweenEvictionRunsMillis, 
numTestsPerEvictionRun, minEvictableIdleTimeMillis, testWhileIdle, 
DEFAULT_SOFT_MIN_EVICTABLE_IDLE_TIME_MILLIS);
 }
 
 /**

Modified: 
jakarta/commons/proper/pool/branches/1_3_RELEASE_BRANCH/src/java/org/apache/commons/pool/impl/GenericObjectPoolFactory.java
URL: 
http://svn.apache.org/viewcvs/jakarta/commons/proper/pool/branches/1_3_RELEASE_BRANCH/src/java/org/apache/commons/pool/impl/GenericObjectPoolFactory.java?rev=390563r1=390562r2=390563view=diff
==
--- 
jakarta/commons/proper/pool/branches/1_3_RELEASE_BRANCH/src/java/org/apache/commons/pool/impl/GenericObjectPoolFactory.java
 (original)
+++ 
jakarta/commons/proper/pool/branches/1_3_RELEASE_BRANCH/src/java/org/apache/commons/pool/impl/GenericObjectPoolFactory.java
 Fri Mar 31 17:28:14 2006
@@ -1,5 +1,5 @@
 /*
- * Copyright 1999-2004 The Apache Software Foundation.
+ * Copyright 1999-2004,2006 The Apache Software Foundation.
  * 
  * Licensed under the Apache License, Version 2.0 (the License);
  * you may not use this file except in compliance with the License.
@@ -35,7 +35,7 @@
 }
 
 public GenericObjectPoolFactory(PoolableObjectFactory factory, 
GenericObjectPool.Config config) {
-
this(factory,config.maxActive,config.whenExhaustedAction,config.maxWait,config.maxIdle,config.minIdle,config.testOnBorrow,config.testOnReturn,config.timeBetweenEvictionRunsMillis,config.numTestsPerEvictionRun,config.minEvictableIdleTimeMillis,config.testWhileIdle);
+
this(factory,config.maxActive,config.whenExhaustedAction,config.maxWait,config.maxIdle,config.minIdle,config.testOnBorrow,config.testOnReturn,config.timeBetweenEvictionRunsMillis,config.numTestsPerEvictionRun,config.minEvictableIdleTimeMillis,config.testWhileIdle,config.softMinEvictableIdleTimeMillis);
 }
 
 public GenericObjectPoolFactory(PoolableObjectFactory factory, int 
maxActive) {
@@ -59,10 +59,14 @@
 }
 
 public GenericObjectPoolFactory(PoolableObjectFactory factory, int 
maxActive, byte whenExhaustedAction, long maxWait, int maxIdle, boolean 
testOnBorrow, boolean testOnReturn, long timeBetweenEvictionRunsMillis, int 
numTestsPerEvictionRun, long minEvictableIdleTimeMillis, boolean testWhileIdle) 
{
-
this(factory,maxActive,whenExhaustedAction,maxWait,maxIdle,GenericObjectPool.DEFAULT_MIN_IDLE,testOnBorrow,testOnReturn,GenericObjectPool.DEFAULT_TIME_BETWEEN_EVICTION_RUNS_MILLIS,GenericObjectPool.DEFAULT_NUM_TESTS_PER_EVICTION_RUN,GenericObjectPool.DEFAULT_MIN_EVICTABLE_IDLE_TIME_MILLIS,GenericObjectPool.DEFAULT_TEST_WHILE_IDLE);
+
this(factory,maxActive,whenExhaustedAction,maxWait,maxIdle,GenericObjectPool.DEFAULT_MIN_IDLE

svn commit: r390579 - /jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/impl/StackObjectPoolFactory.java

2006-03-31 Thread sandymac
Author: sandymac
Date: Fri Mar 31 19:09:41 2006
New Revision: 390579

URL: http://svn.apache.org/viewcvs?rev=390579view=rev
Log:
Self descriptive parameter names for StackObjectPoolFactory

Modified:

jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/impl/StackObjectPoolFactory.java

Modified: 
jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/impl/StackObjectPoolFactory.java
URL: 
http://svn.apache.org/viewcvs/jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/impl/StackObjectPoolFactory.java?rev=390579r1=390578r2=390579view=diff
==
--- 
jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/impl/StackObjectPoolFactory.java
 (original)
+++ 
jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/impl/StackObjectPoolFactory.java
 Fri Mar 31 19:09:41 2006
@@ -34,25 +34,25 @@
 
this((PoolableObjectFactory)null,StackObjectPool.DEFAULT_MAX_SLEEPING,StackObjectPool.DEFAULT_INIT_SLEEPING_CAPACITY);
 }
 
-public StackObjectPoolFactory(int max) {
-
this((PoolableObjectFactory)null,max,StackObjectPool.DEFAULT_INIT_SLEEPING_CAPACITY);
+public StackObjectPoolFactory(int maxIdle) {
+
this((PoolableObjectFactory)null,maxIdle,StackObjectPool.DEFAULT_INIT_SLEEPING_CAPACITY);
 }
 
-public StackObjectPoolFactory(int max, int init) {
-this((PoolableObjectFactory)null,max,init);
+public StackObjectPoolFactory(int maxIdle, int init) {
+this((PoolableObjectFactory)null,maxIdle,init);
 }
 
 public StackObjectPoolFactory(PoolableObjectFactory factory) {
 
this(factory,StackObjectPool.DEFAULT_MAX_SLEEPING,StackObjectPool.DEFAULT_INIT_SLEEPING_CAPACITY);
 }
 
-public StackObjectPoolFactory(PoolableObjectFactory factory, int max) {
-this(factory,max,StackObjectPool.DEFAULT_INIT_SLEEPING_CAPACITY);
+public StackObjectPoolFactory(PoolableObjectFactory factory, int maxIdle) {
+this(factory,maxIdle,StackObjectPool.DEFAULT_INIT_SLEEPING_CAPACITY);
 }
 
-public StackObjectPoolFactory(PoolableObjectFactory factory, int max, int 
init) {
+public StackObjectPoolFactory(PoolableObjectFactory factory, int maxIdle, 
int init) {
 _factory = factory;
-_maxSleeping = max;
+_maxSleeping = maxIdle;
 _initCapacity = init;
 }
 



-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



svn commit: r390581 - in /jakarta/commons/proper/pool/trunk/src/test/org/apache/commons/pool/impl: TestGenericObjectPoolFactory.java TestStackObjectPoolFactory.java

2006-03-31 Thread sandymac
Author: sandymac
Date: Fri Mar 31 19:10:23 2006
New Revision: 390581

URL: http://svn.apache.org/viewcvs?rev=390581view=rev
Log:
Created more unit tests for ObjectPoolFactory and implementations.

Modified:

jakarta/commons/proper/pool/trunk/src/test/org/apache/commons/pool/impl/TestGenericObjectPoolFactory.java

jakarta/commons/proper/pool/trunk/src/test/org/apache/commons/pool/impl/TestStackObjectPoolFactory.java

Modified: 
jakarta/commons/proper/pool/trunk/src/test/org/apache/commons/pool/impl/TestGenericObjectPoolFactory.java
URL: 
http://svn.apache.org/viewcvs/jakarta/commons/proper/pool/trunk/src/test/org/apache/commons/pool/impl/TestGenericObjectPoolFactory.java?rev=390581r1=390580r2=390581view=diff
==
--- 
jakarta/commons/proper/pool/trunk/src/test/org/apache/commons/pool/impl/TestGenericObjectPoolFactory.java
 (original)
+++ 
jakarta/commons/proper/pool/trunk/src/test/org/apache/commons/pool/impl/TestGenericObjectPoolFactory.java
 Fri Mar 31 19:10:23 2006
@@ -19,9 +19,12 @@
 import org.apache.commons.pool.TestObjectPoolFactory;
 import org.apache.commons.pool.ObjectPoolFactory;
 import org.apache.commons.pool.PoolableObjectFactory;
+import org.apache.commons.pool.MethodCallPoolableObjectFactory;
 import junit.framework.Test;
 import junit.framework.TestSuite;
 
+import java.util.NoSuchElementException;
+
 /**
  * Tests for [EMAIL PROTECTED] GenericObjectPoolFactory}.
  *
@@ -39,5 +42,150 @@
 
 protected ObjectPoolFactory makeFactory(final PoolableObjectFactory 
objectFactory) throws UnsupportedOperationException {
 return new GenericObjectPoolFactory(objectFactory);
+}
+
+public void testConstructors() throws Exception {
+GenericObjectPoolFactory factory = new GenericObjectPoolFactory(new 
MethodCallPoolableObjectFactory());
+GenericObjectPool pool;
+factory.createPool().close();
+
+final GenericObjectPool.Config config = new GenericObjectPool.Config();
+config.maxActive = 1;
+config.maxIdle = 2;
+config.maxWait = 3;
+config.minIdle = 4;
+config.minEvictableIdleTimeMillis = 5;
+config.numTestsPerEvictionRun = 6;
+config.softMinEvictableIdleTimeMillis = 7;
+config.testOnBorrow = true;
+config.testOnReturn = false;
+config.testWhileIdle = true;
+config.timeBetweenEvictionRunsMillis = 8;
+config.whenExhaustedAction = GenericObjectPool.WHEN_EXHAUSTED_GROW;
+factory = new GenericObjectPoolFactory(new 
MethodCallPoolableObjectFactory(), config);
+pool = (GenericObjectPool)factory.createPool();
+assertEquals(1, pool.getMaxActive());
+assertEquals(2, pool.getMaxIdle());
+assertEquals(3, pool.getMaxWait());
+assertEquals(4, pool.getMinIdle());
+assertEquals(5, pool.getMinEvictableIdleTimeMillis());
+assertEquals(6, pool.getNumTestsPerEvictionRun());
+assertEquals(7, pool.getSoftMinEvictableIdleTimeMillis());
+assertEquals(true, pool.getTestOnBorrow());
+assertEquals(false, pool.getTestOnReturn());
+assertEquals(true, pool.getTestWhileIdle());
+assertEquals(8, pool.getTimeBetweenEvictionRunsMillis());
+assertEquals(GenericObjectPool.WHEN_EXHAUSTED_GROW, 
pool.getWhenExhaustedAction());
+pool.borrowObject();
+pool.close();
+
+
+factory = new GenericObjectPoolFactory(new 
MethodCallPoolableObjectFactory(), 1);
+pool = (GenericObjectPool)factory.createPool();
+assertEquals(1, pool.getMaxActive());
+pool.borrowObject();
+pool.close();
+
+
+factory = new GenericObjectPoolFactory(new 
MethodCallPoolableObjectFactory(), 1, GenericObjectPool.WHEN_EXHAUSTED_BLOCK, 
125);
+pool = (GenericObjectPool)factory.createPool();
+assertEquals(1, pool.getMaxActive());
+assertEquals(GenericObjectPool.WHEN_EXHAUSTED_BLOCK, 
pool.getWhenExhaustedAction());
+assertEquals(125, pool.getMaxWait());
+pool.borrowObject();
+long startTime = System.currentTimeMillis();
+try {
+pool.borrowObject();
+fail();
+} catch (NoSuchElementException nsee) {
+// expected
+}
+long delay = System.currentTimeMillis() - startTime;
+assertTrue(delay:  + delay, delay  100);
+pool.close();
+
+
+factory = new GenericObjectPoolFactory(new 
MethodCallPoolableObjectFactory(), 1, GenericObjectPool.WHEN_EXHAUSTED_GROW, 2, 
true, false);
+pool = (GenericObjectPool)factory.createPool();
+assertEquals(1, pool.getMaxActive());
+assertEquals(2, pool.getMaxWait());
+assertEquals(true, pool.getTestOnBorrow());
+assertEquals(false, pool.getTestOnReturn());
+assertEquals(GenericObjectPool.WHEN_EXHAUSTED_GROW, 
pool.getWhenExhaustedAction());
+pool.borrowObject

svn commit: r390338 - in /jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/composite: CompositeKeyedObjectPoolFactory.java CompositeObjectPoolFactory.java TrackingPolicy.java

2006-03-30 Thread sandymac
Author: sandymac
Date: Thu Mar 30 21:56:54 2006
New Revision: 390338

URL: http://svn.apache.org/viewcvs?rev=390338view=rev
Log:
Previously missed some configure method renames.

Modified:

jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/composite/CompositeKeyedObjectPoolFactory.java

jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/composite/CompositeObjectPoolFactory.java

jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/composite/TrackingPolicy.java

Modified: 
jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/composite/CompositeKeyedObjectPoolFactory.java
URL: 
http://svn.apache.org/viewcvs/jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/composite/CompositeKeyedObjectPoolFactory.java?rev=390338r1=390337r2=390338view=diff
==
--- 
jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/composite/CompositeKeyedObjectPoolFactory.java
 (original)
+++ 
jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/composite/CompositeKeyedObjectPoolFactory.java
 Thu Mar 30 21:56:54 2006
@@ -327,8 +327,8 @@
  *
  * @return Type of tracking for active objects while they are borrowed 
from the pool.
  */
-public TrackingPolicy getTrackerType() {
-return factory.getTrackerType();
+public TrackingPolicy getTrackingPolicy() {
+return factory.getTrackingPolicy();
 }
 
 /**
@@ -337,8 +337,8 @@
  * @param trackerPolicy type of tracking for active objects.
  * @throws IllegalArgumentException when codetrackerPolicy/code is 
codenull/code.
  */
-public void setTrackerType(final TrackingPolicy trackerPolicy) throws 
IllegalArgumentException {
-factory.setTrackerType(trackerPolicy);
+public void setTrackingPolicy(final TrackingPolicy trackerPolicy) throws 
IllegalArgumentException {
+factory.setTrackingPolicy(trackerPolicy);
 }
 
 /**

Modified: 
jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/composite/CompositeObjectPoolFactory.java
URL: 
http://svn.apache.org/viewcvs/jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/composite/CompositeObjectPoolFactory.java?rev=390338r1=390337r2=390338view=diff
==
--- 
jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/composite/CompositeObjectPoolFactory.java
 (original)
+++ 
jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/composite/CompositeObjectPoolFactory.java
 Thu Mar 30 21:56:54 2006
@@ -43,7 +43,7 @@
  *  li[EMAIL PROTECTED] #setMaxWaitMillis(int) maxWaitMillis}: a 
non-positive value (wait forever)
  *  (has no effect unless [EMAIL PROTECTED] #setLimitPolicy(LimitPolicy) 
limitPolicy} is
  *  [EMAIL PROTECTED] LimitPolicy#WAIT WAIT})/li
- *  li[EMAIL PROTECTED] #setTrackerType(TrackingPolicy) trackingPolicy}:
+ *  li[EMAIL PROTECTED] #setTrackingPolicy(TrackingPolicy) trackingPolicy}:
  *  [EMAIL PROTECTED] TrackingPolicy#SIMPLE SIMPLE}/li
  *  li[EMAIL PROTECTED] #setValidateOnReturn(boolean) validateOnReturn}: 
false (do not validate on return)/li
  *  li[EMAIL PROTECTED] #setEvictIdleMillis(long) evictIdleMillis}: 
non-positive (do not evict objects for being idle)/li
@@ -230,8 +230,9 @@
  * Create and return a new codeObjectPool/code.
  *
  * @return a new [EMAIL PROTECTED] ObjectPool}
+ * @throws IllegalStateException when this pool factory is not configured 
properly
  */
-public ObjectPool createPool() {
+public ObjectPool createPool() throws IllegalStateException {
 return createPool(getConfig());
 }
 
@@ -240,8 +241,9 @@
  *
  * @param config the settings to use to construct said pool.
  * @return a new [EMAIL PROTECTED] ObjectPool}
+ * @throws IllegalStateException when this pool factory is not configured 
properly
  */
-static ObjectPool createPool(final FactoryConfig config) {
+static ObjectPool createPool(final FactoryConfig config) throws 
IllegalStateException {
 if (config == null) {
 throw new IllegalArgumentException(config must not be null.);
 }
@@ -593,7 +595,7 @@
  *
  * @return Type of tracking for active objects while they are borrowed 
from the pool.
  */
-public TrackingPolicy getTrackerType() {
+public TrackingPolicy getTrackingPolicy() {
 return trackerPolicy;
 }
 
@@ -603,7 +605,7 @@
  * @param trackerPolicy type of tracking for active objects.
  * @throws IllegalArgumentException when codetrackerPolicy/code is 
codenull/code.
  */
-public void setTrackerType(final TrackingPolicy trackerPolicy) throws 
IllegalArgumentException {
+public void setTrackingPolicy(final TrackingPolicy trackerPolicy) throws 
IllegalArgumentException {
 if (trackerPolicy == null

svn commit: r390342 - /jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/composite/CompositeObjectPoolFactory.java

2006-03-30 Thread sandymac
Author: sandymac
Date: Thu Mar 30 22:28:32 2006
New Revision: 390342

URL: http://svn.apache.org/viewcvs?rev=390342view=rev
Log:
Fix: optimization where EvictInvalidFrequencyMillis is less than 
EvictIdleMillis could be optimized out had the comparison backwards.

Modified:

jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/composite/CompositeObjectPoolFactory.java

Modified: 
jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/composite/CompositeObjectPoolFactory.java
URL: 
http://svn.apache.org/viewcvs/jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/composite/CompositeObjectPoolFactory.java?rev=390342r1=390341r2=390342view=diff
==
--- 
jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/composite/CompositeObjectPoolFactory.java
 (original)
+++ 
jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/composite/CompositeObjectPoolFactory.java
 Thu Mar 30 22:28:32 2006
@@ -315,7 +315,7 @@
 if (!(lender instanceof NullLender)) {
 // If the evictIdleMillis were less than 
evictInvalidFrequencyMillis
 // then the InvalidEvictorLender would never run.
-if (config.evictInvalidFrequencyMillis  0  
config.evictIdleMillis  config.evictInvalidFrequencyMillis) {
+if (config.evictInvalidFrequencyMillis  0  
config.evictIdleMillis  config.evictInvalidFrequencyMillis) {
 lender = new InvalidEvictorLender(lender);
 
((InvalidEvictorLender)lender).setValidationFrequencyMillis(config.evictInvalidFrequencyMillis);
 }



-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



svn commit: r390349 - in /jakarta/commons/proper/pool/trunk/src: java/org/apache/commons/pool/composite/ test/org/apache/commons/pool/ test/org/apache/commons/pool/composite/ test/org/apache/commons/p

2006-03-30 Thread sandymac
Author: sandymac
Date: Thu Mar 30 22:59:54 2006
New Revision: 390349

URL: http://svn.apache.org/viewcvs?rev=390349view=rev
Log:
Created unit tests for ObjectPoolFactory and implementations.

Added:

jakarta/commons/proper/pool/trunk/src/test/org/apache/commons/pool/TestObjectPoolFactory.java
   (with props)

jakarta/commons/proper/pool/trunk/src/test/org/apache/commons/pool/composite/TestCompositeObjectPoolFactory.java
   (with props)

jakarta/commons/proper/pool/trunk/src/test/org/apache/commons/pool/impl/TestGenericObjectPoolFactory.java
   (with props)

jakarta/commons/proper/pool/trunk/src/test/org/apache/commons/pool/impl/TestStackObjectPoolFactory.java
   (with props)
Modified:

jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/composite/CompositeKeyedObjectPoolFactory.java

jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/composite/CompositeObjectPoolFactory.java

jakarta/commons/proper/pool/trunk/src/test/org/apache/commons/pool/composite/PerformanceTest.java

jakarta/commons/proper/pool/trunk/src/test/org/apache/commons/pool/composite/TestAll.java

jakarta/commons/proper/pool/trunk/src/test/org/apache/commons/pool/composite/TestIdleEvictorLender.java

jakarta/commons/proper/pool/trunk/src/test/org/apache/commons/pool/impl/TestAll.java

Modified: 
jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/composite/CompositeKeyedObjectPoolFactory.java
URL: 
http://svn.apache.org/viewcvs/jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/composite/CompositeKeyedObjectPoolFactory.java?rev=390349r1=390348r2=390349view=diff
==
--- 
jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/composite/CompositeKeyedObjectPoolFactory.java
 (original)
+++ 
jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/composite/CompositeKeyedObjectPoolFactory.java
 Thu Mar 30 22:59:54 2006
@@ -334,11 +334,11 @@
 /**
  * Set the type of tracking for active objects while they are borrowed 
from the pool.
  *
- * @param trackerPolicy type of tracking for active objects.
- * @throws IllegalArgumentException when codetrackerPolicy/code is 
codenull/code.
+ * @param trackingPolicy type of tracking for active objects.
+ * @throws IllegalArgumentException when codetrackingPolicy/code is 
codenull/code.
  */
-public void setTrackingPolicy(final TrackingPolicy trackerPolicy) throws 
IllegalArgumentException {
-factory.setTrackingPolicy(trackerPolicy);
+public void setTrackingPolicy(final TrackingPolicy trackingPolicy) throws 
IllegalArgumentException {
+factory.setTrackingPolicy(trackingPolicy);
 }
 
 /**

Modified: 
jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/composite/CompositeObjectPoolFactory.java
URL: 
http://svn.apache.org/viewcvs/jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/composite/CompositeObjectPoolFactory.java?rev=390349r1=390348r2=390349view=diff
==
--- 
jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/composite/CompositeObjectPoolFactory.java
 (original)
+++ 
jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/composite/CompositeObjectPoolFactory.java
 Thu Mar 30 22:59:54 2006
@@ -198,7 +198,7 @@
 /**
  * Configured [EMAIL PROTECTED] Tracker} type.
  */
-private TrackingPolicy trackerPolicy = TrackingPolicy.SIMPLE;
+private TrackingPolicy trackingPolicy = TrackingPolicy.SIMPLE;
 
 /**
  * Should the object pool validate borrowed objects when they are returned.
@@ -352,7 +352,7 @@
 
 final int maxActive = config.maxActive;
 if (maxActive  0) {
-if (TrackingPolicy.NULL.equals(config.trackerPolicy)) {
+if (TrackingPolicy.NULL.equals(config.trackingPolicy)) {
 throw new IllegalStateException(Using the NULL tracker and 
limiting pool size is not valid.);
 }
 final LimitPolicy limitPolicy = config.limitPolicy;
@@ -382,17 +382,17 @@
  */
 private static Tracker getTracker(final FactoryConfig config) {
 final Tracker tracker;
-final TrackingPolicy trackerPolicy = config.trackerPolicy;
-if (TrackingPolicy.SIMPLE.equals(trackerPolicy)) {
+final TrackingPolicy trackingPolicy = config.trackingPolicy;
+if (TrackingPolicy.SIMPLE.equals(trackingPolicy)) {
 tracker = new SimpleTracker();
-} else if (TrackingPolicy.NULL.equals(trackerPolicy)) {
+} else if (TrackingPolicy.NULL.equals(trackingPolicy)) {
 tracker = new NullTracker();
-} else if (TrackingPolicy.REFERENCE.equals(trackerPolicy)) {
+} else if (TrackingPolicy.REFERENCE.equals(trackingPolicy)) {
 tracker = new ReferenceTracker

svn commit: r389839 - in /jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/composite: BorrowPolicy.java ExhaustionPolicy.java LimitPolicy.java TrackingPolicy.java

2006-03-29 Thread sandymac
Author: sandymac
Date: Wed Mar 29 09:23:00 2006
New Revision: 389839

URL: http://svn.apache.org/viewcvs?rev=389839view=rev
Log:
Updated composite enum's javadocs to hopefully be clearer.
Tested to make sure when the enums are converted to Java 1.5 enums
in pool 3 that code compiled against pool 2 will continue to work fine.

Modified:

jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/composite/BorrowPolicy.java

jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/composite/ExhaustionPolicy.java

jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/composite/LimitPolicy.java

jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/composite/TrackingPolicy.java

Modified: 
jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/composite/BorrowPolicy.java
URL: 
http://svn.apache.org/viewcvs/jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/composite/BorrowPolicy.java?rev=389839r1=389838r2=389839view=diff
==
--- 
jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/composite/BorrowPolicy.java
 (original)
+++ 
jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/composite/BorrowPolicy.java
 Wed Mar 29 09:23:00 2006
@@ -23,7 +23,7 @@
 import java.lang.ref.SoftReference;
 
 /**
- * Specifies the order in which objects are borrowed and returned to the pool.
+ * Configures how objects are borrowed and returned to the pool.
  *
  * @see CompositeObjectPoolFactory#setBorrowPolicy(BorrowPolicy)
  * @see CompositeKeyedObjectPoolFactory#setBorrowPolicy(BorrowPolicy)
@@ -31,6 +31,7 @@
  * @since #.#
  * @version $Revision$ $Date$
  */
+/* XXX For Pool 3: public enum BorrowPolicy {FIFO, LIFO, SOFT_FIFO, SOFT_LIFO, 
NULL} but keep existing Javadoc. */
 public final class BorrowPolicy implements Serializable {
 
 private static final long serialVersionUID = 3357921765798594792L;

Modified: 
jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/composite/ExhaustionPolicy.java
URL: 
http://svn.apache.org/viewcvs/jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/composite/ExhaustionPolicy.java?rev=389839r1=389838r2=389839view=diff
==
--- 
jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/composite/ExhaustionPolicy.java
 (original)
+++ 
jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/composite/ExhaustionPolicy.java
 Wed Mar 29 09:23:00 2006
@@ -24,7 +24,7 @@
 import java.util.NoSuchElementException;
 
 /**
- * Specifies the behavior of the pool when the pool is out of idle objects.
+ * Configures the behavior of the pool when the pool is out of idle objects.
  *
  * @see CompositeObjectPoolFactory#setExhaustionPolicy(ExhaustionPolicy)
  * @see CompositeKeyedObjectPoolFactory#setExhaustionPolicy(ExhaustionPolicy)
@@ -32,6 +32,7 @@
  * @since #.#
  * @version $Revision$ $Date$
  */
+/* XXX For Pool 3: public enum ExhaustionPolicy {GROW, FAIL} but keep existing 
Javadoc. */
 public final class ExhaustionPolicy implements Serializable {
 
 private static final long serialVersionUID = -4895490364329810018L;

Modified: 
jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/composite/LimitPolicy.java
URL: 
http://svn.apache.org/viewcvs/jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/composite/LimitPolicy.java?rev=389839r1=389838r2=389839view=diff
==
--- 
jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/composite/LimitPolicy.java
 (original)
+++ 
jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/composite/LimitPolicy.java
 Wed Mar 29 09:23:00 2006
@@ -24,7 +24,7 @@
 import java.util.NoSuchElementException;
 
 /**
- * Specifies the behavior of when the max number of active objects has been 
reached.
+ * Configures the behavior of the pool when there is a limit on the number of 
concurrently borrowed objects.
  *
  * @see CompositeObjectPoolFactory#setLimitPolicy(LimitPolicy)
  * @see CompositeKeyedObjectPoolFactory#setLimitPolicy(LimitPolicy)
@@ -32,6 +32,7 @@
  * @since #.#
  * @version $Revision$ $Date$
  */
+/* XXX For Pool 3: public enum LimitPolicy {FAIL, WAIT} but keep existing 
Javadoc. */
 public final class LimitPolicy implements Serializable {
 
 private static final long serialVersionUID = -4325661345028907604L;

Modified: 
jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/composite/TrackingPolicy.java
URL: 
http://svn.apache.org/viewcvs/jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/composite/TrackingPolicy.java?rev=389839r1=389838r2=389839view=diff
==
--- 
jakarta/commons/proper/pool/trunk/src/java/org/apache/commons

svn commit: r389965 - in /jakarta/commons/proper/pool/trunk/src/test/org/apache/commons/pool: TestObjectPool.java composite/TestCompositeObjectPool.java

2006-03-29 Thread sandymac
Author: sandymac
Date: Wed Mar 29 18:19:39 2006
New Revision: 389965

URL: http://svn.apache.org/viewcvs?rev=389965view=rev
Log:
Some more unit tests for CompositeObjectPool

Modified:

jakarta/commons/proper/pool/trunk/src/test/org/apache/commons/pool/TestObjectPool.java

jakarta/commons/proper/pool/trunk/src/test/org/apache/commons/pool/composite/TestCompositeObjectPool.java

Modified: 
jakarta/commons/proper/pool/trunk/src/test/org/apache/commons/pool/TestObjectPool.java
URL: 
http://svn.apache.org/viewcvs/jakarta/commons/proper/pool/trunk/src/test/org/apache/commons/pool/TestObjectPool.java?rev=389965r1=389964r2=389965view=diff
==
--- 
jakarta/commons/proper/pool/trunk/src/test/org/apache/commons/pool/TestObjectPool.java
 (original)
+++ 
jakarta/commons/proper/pool/trunk/src/test/org/apache/commons/pool/TestObjectPool.java
 Wed Mar 29 18:19:39 2006
@@ -330,6 +330,31 @@
 pool.close();
 }
 
+public void testSetFactory() throws Exception {
+ObjectPool pool;
+try {
+pool = makeEmptyPool(new MethodCallPoolableObjectFactory());
+} catch (UnsupportedOperationException uoe) {
+return; // test not supported
+}
+final MethodCallPoolableObjectFactory factory = new 
MethodCallPoolableObjectFactory();
+try {
+pool.setFactory(factory);
+} catch (UnsupportedOperationException uoe) {
+return;
+}
+}
+
+public void testToString() {
+ObjectPool pool;
+try {
+pool = makeEmptyPool(new MethodCallPoolableObjectFactory());
+} catch (UnsupportedOperationException uoe) {
+return; // test not supported
+}
+pool.toString();
+}
+
 static void removeDestroyObjectCall(List calls) {
 Iterator iter = calls.iterator();
 while (iter.hasNext()) {

Modified: 
jakarta/commons/proper/pool/trunk/src/test/org/apache/commons/pool/composite/TestCompositeObjectPool.java
URL: 
http://svn.apache.org/viewcvs/jakarta/commons/proper/pool/trunk/src/test/org/apache/commons/pool/composite/TestCompositeObjectPool.java?rev=389965r1=389964r2=389965view=diff
==
--- 
jakarta/commons/proper/pool/trunk/src/test/org/apache/commons/pool/composite/TestCompositeObjectPool.java
 (original)
+++ 
jakarta/commons/proper/pool/trunk/src/test/org/apache/commons/pool/composite/TestCompositeObjectPool.java
 Wed Mar 29 18:19:39 2006
@@ -66,6 +66,57 @@
 return copf.createPool();
 }
 
+public void testConstructors() {
+try {
+new CompositeObjectPool(null, new GrowManager(), new FifoLender(), 
new SimpleTracker(), false);
+fail(IllegalArgumentException expected on null 
PoolableObjectFactory.);
+} catch (IllegalArgumentException iae) {
+// expected
+}
+
+try {
+new CompositeObjectPool(new MethodCallPoolableObjectFactory(), 
null, new FifoLender(), new SimpleTracker(), false);
+fail(IllegalArgumentException expected on null Manager.);
+} catch (IllegalArgumentException iae) {
+// expected
+}
+
+try {
+new CompositeObjectPool(new MethodCallPoolableObjectFactory(), new 
GrowManager(), null, new SimpleTracker(), false);
+fail(IllegalArgumentException expected on null Lender.);
+} catch (IllegalArgumentException iae) {
+// expected
+}
+
+try {
+new CompositeObjectPool(new MethodCallPoolableObjectFactory(), new 
GrowManager(), new FifoLender(), null, false);
+fail(IllegalArgumentException expected on null Tracker.);
+} catch (IllegalArgumentException iae) {
+// expected
+}
+
+try {
+new CompositeObjectPool(new MethodCallPoolableObjectFactory(), 
null, new GrowManager(), new FifoLender(), new SimpleTracker(), false, null);
+fail(IllegalArgumentException expected on null List.);
+} catch (IllegalArgumentException iae) {
+// expected
+}
+}
+
+public void testSetFactory() throws Exception {
+super.testSetFactory();
+final MethodCallPoolableObjectFactory factory = new 
MethodCallPoolableObjectFactory();
+final CompositeObjectPoolFactory copf = new 
CompositeObjectPoolFactory(factory);
+final CompositeObjectPool pool = 
(CompositeObjectPool)copf.createPool();
+pool.setFactory(factory);
+}
+
+public void testToString() {
+super.testToString();
+final ObjectPool pool = new CompositeObjectPool(new 
MethodCallPoolableObjectFactory(), new FailManager(), new FifoLender(), new 
DebugTracker(), false);
+pool.toString();
+}
+
 // Test Managers

svn commit: r389995 - in /jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/composite: CompositeKeyedObjectPool.java CompositeObjectPool.java CompositeObjectPoolFactory.java

2006-03-29 Thread sandymac
Author: sandymac
Date: Wed Mar 29 21:42:45 2006
New Revision: 389995

URL: http://svn.apache.org/viewcvs?rev=389995view=rev
Log:
Removed clone support from the CompositeObjectPools as it
didn't handle all corner cases and didn't provide any real benefit.

Modified:

jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/composite/CompositeKeyedObjectPool.java

jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/composite/CompositeObjectPool.java

jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/composite/CompositeObjectPoolFactory.java

Modified: 
jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/composite/CompositeKeyedObjectPool.java
URL: 
http://svn.apache.org/viewcvs/jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/composite/CompositeKeyedObjectPool.java?rev=389995r1=389994r2=389995view=diff
==
--- 
jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/composite/CompositeKeyedObjectPool.java
 (original)
+++ 
jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/composite/CompositeKeyedObjectPool.java
 Wed Mar 29 21:42:45 2006
@@ -440,28 +440,6 @@
 }
 
 /**
- * Creates a new keyed object pool with the same settings as this one. The 
new instance will not contian any
- * existing idle objects nor should you return active objects to it.
- *
- * @return a new keyed object pool with the same settings.
- */
-public Object clone() throws CloneNotSupportedException {
-if (!getClass().equals(CompositeKeyedObjectPool.class)) {
-throw new CloneNotSupportedException(Subclasses must not call 
super.clone());
-}
-if (poolFactory instanceof CompositeObjectPoolFactory) {
-final PoolableObjectFactory pof = 
((CompositeObjectPoolFactory)poolFactory).getFactory();
-if (pof instanceof KeyedPoolableObjectFactoryAdapter) {
-final KeyedPoolableObjectFactory kopf = 
((KeyedPoolableObjectFactoryAdapter)pof).getDelegate();
-final CompositeObjectPoolFactory opf = 
(CompositeObjectPoolFactory)((CompositeObjectPoolFactory)poolFactory).clone();
-opf.setFactory(new KeyedPoolableObjectFactoryAdapter(kopf));
-return new CompositeKeyedObjectPool(opf);
-}
-}
-return new CompositeKeyedObjectPool(poolFactory);
-}
-
-/**
  * The [EMAIL PROTECTED] ThreadLocal} keys is not serializable and final, 
must create a new instance for this to be correct.
  */
 private Object readResolve() throws ObjectStreamException {

Modified: 
jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/composite/CompositeObjectPool.java
URL: 
http://svn.apache.org/viewcvs/jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/composite/CompositeObjectPool.java?rev=389995r1=389994r2=389995view=diff
==
--- 
jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/composite/CompositeObjectPool.java
 (original)
+++ 
jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/composite/CompositeObjectPool.java
 Wed Mar 29 21:42:45 2006
@@ -441,17 +441,4 @@
 sb.append('}');
 return sb.toString();
 }
-
-/**
- * Create a new pool with the same settings. Active or Idle objects are 
not shared with the new pool.
- *
- * @return a new [EMAIL PROTECTED] CompositeObjectPool} with the same 
configuration.
- * @throws CloneNotSupportedException when this pool was contstucted 
without a factoryConfig.
- */
-public Object clone() throws CloneNotSupportedException {
-if (factoryConfig == null) {
-throw new CloneNotSupportedException(Cloning not supported 
without a factoryConfig.);
-}
-return CompositeObjectPoolFactory.createPool(factoryConfig);
-}
 }

Modified: 
jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/composite/CompositeObjectPoolFactory.java
URL: 
http://svn.apache.org/viewcvs/jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/composite/CompositeObjectPoolFactory.java?rev=389995r1=389994r2=389995view=diff
==
--- 
jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/composite/CompositeObjectPoolFactory.java
 (original)
+++ 
jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/composite/CompositeObjectPoolFactory.java
 Wed Mar 29 21:42:45 2006
@@ -694,7 +694,13 @@
  * @throws CloneNotSupportedException if [EMAIL PROTECTED] Object#clone()} 
does.
  */
 public Object clone() throws CloneNotSupportedException {
-return super.clone();
+final CompositeObjectPoolFactory copf = 
(CompositeObjectPoolFactory)super.clone

svn commit: r389997 - in /jakarta/commons/proper/pool/trunk/src/test/org/apache/commons/pool: ./ composite/ impl/

2006-03-29 Thread sandymac
Author: sandymac
Date: Wed Mar 29 21:44:13 2006
New Revision: 389997

URL: http://svn.apache.org/viewcvs?rev=389997view=rev
Log:
Reworked and created unit tests for KeyedObjectPool and implementations.

Added:

jakarta/commons/proper/pool/trunk/src/test/org/apache/commons/pool/composite/TestCompositeKeyedObjectPool.java
   (with props)

jakarta/commons/proper/pool/trunk/src/test/org/apache/commons/pool/composite/TestCompositeKeyedObjectPool2.java
   (with props)
Modified:

jakarta/commons/proper/pool/trunk/src/test/org/apache/commons/pool/TestBaseKeyedObjectPool.java

jakarta/commons/proper/pool/trunk/src/test/org/apache/commons/pool/TestBaseObjectPool.java

jakarta/commons/proper/pool/trunk/src/test/org/apache/commons/pool/TestKeyedObjectPool.java

jakarta/commons/proper/pool/trunk/src/test/org/apache/commons/pool/composite/TestAll.java

jakarta/commons/proper/pool/trunk/src/test/org/apache/commons/pool/composite/TestCompositeObjectPool.java

jakarta/commons/proper/pool/trunk/src/test/org/apache/commons/pool/composite/TestWaitLimitManager.java

jakarta/commons/proper/pool/trunk/src/test/org/apache/commons/pool/impl/TestGenericKeyedObjectPool.java

jakarta/commons/proper/pool/trunk/src/test/org/apache/commons/pool/impl/TestStackKeyedObjectPool.java

Modified: 
jakarta/commons/proper/pool/trunk/src/test/org/apache/commons/pool/TestBaseKeyedObjectPool.java
URL: 
http://svn.apache.org/viewcvs/jakarta/commons/proper/pool/trunk/src/test/org/apache/commons/pool/TestBaseKeyedObjectPool.java?rev=389997r1=389996r2=389997view=diff
==
--- 
jakarta/commons/proper/pool/trunk/src/test/org/apache/commons/pool/TestBaseKeyedObjectPool.java
 (original)
+++ 
jakarta/commons/proper/pool/trunk/src/test/org/apache/commons/pool/TestBaseKeyedObjectPool.java
 Wed Mar 29 21:44:13 2006
@@ -16,7 +16,6 @@
 package org.apache.commons.pool;
 
 import junit.framework.Test;
-import junit.framework.TestCase;
 import junit.framework.TestSuite;
 
 /**
@@ -24,17 +23,71 @@
  * @author Sandy McArthur
  * @version $Revision$ $Date$
  */
-public class TestBaseKeyedObjectPool extends TestCase {
-public TestBaseKeyedObjectPool(String testName) {
+public class TestBaseKeyedObjectPool extends TestKeyedObjectPool {
+private KeyedObjectPool _pool = null;
+
+public TestBaseKeyedObjectPool(final String testName) {
 super(testName);
 }
 
+protected KeyedObjectPool makeEmptyPool(KeyedPoolableObjectFactory 
factory) {
+if (this.getClass() != TestBaseKeyedObjectPool.class) {
+throw new AssertionError(Subclasses of TestBaseKeyedObjectPool 
must reimplement this method.);
+}
+throw new UnsupportedOperationException(BaseKeyedObjectPool isn't a 
complete implementation.);
+}
+
+/**
+ * Create an [EMAIL PROTECTED] KeyedObjectPool} instance
+ * that can contain at least imincapacity/i
+ * idle and active objects, or
+ * throw [EMAIL PROTECTED] IllegalArgumentException}
+ * if such a pool cannot be created.
+ */
+protected KeyedObjectPool makeEmptyPool(int mincapacity) {
+if (this.getClass() != TestBaseKeyedObjectPool.class) {
+throw new AssertionError(Subclasses of TestBaseKeyedObjectPool 
must reimplement this method.);
+}
+throw new UnsupportedOperationException(BaseKeyedObjectPool isn't a 
complete implementation.);
+}
+
+/**
+ * Return what we expect to be the nsupth/sup
+ * object (zero indexed) created by the pool
+ * for the given key.
+ */
+protected Object getNthObject(Object key, int n) {
+if (this.getClass() != TestBaseKeyedObjectPool.class) {
+throw new AssertionError(Subclasses of TestBaseKeyedObjectPool 
must reimplement this method.);
+}
+throw new UnsupportedOperationException(BaseKeyedObjectPool isn't a 
complete implementation.);
+}
+
+protected Object makeKey(int n) {
+if (this.getClass() != TestBaseKeyedObjectPool.class) {
+throw new AssertionError(Subclasses of TestBaseKeyedObjectPool 
must reimplement this method.);
+}
+throw new UnsupportedOperationException(BaseKeyedObjectPool isn't a 
complete implementation.);
+}
+
 public static Test suite() {
 return new TestSuite(TestBaseKeyedObjectPool.class);
 }
-
+
 // tests
+public void setUp() throws Exception {
+super.setUp();
+}
+
+public void tearDown() throws Exception {
+_pool = null;
+super.tearDown();
+}
+
 public void testUnsupportedOperations() throws Exception {
+if (!getClass().equals(TestBaseKeyedObjectPool.class)) {
+return; // skip redundant tests
+}
 KeyedObjectPool pool = new BaseKeyedObjectPool() { 
 public Object borrowObject(Object key) throws Exception {
 return null;
@@ -43,7 +96,7

svn commit: r390002 - in /jakarta/commons/proper/pool/trunk/src: java/org/apache/commons/pool/composite/CompositeObjectPoolFactory.java test/org/apache/commons/pool/impl/TestAll.java

2006-03-29 Thread sandymac
Author: sandymac
Date: Wed Mar 29 22:02:07 2006
New Revision: 390002

URL: http://svn.apache.org/viewcvs?rev=390002view=rev
Log:
Removed a comment about cloneability that should have been removed with a 
previous commit.

Modified:

jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/composite/CompositeObjectPoolFactory.java

jakarta/commons/proper/pool/trunk/src/test/org/apache/commons/pool/impl/TestAll.java

Modified: 
jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/composite/CompositeObjectPoolFactory.java
URL: 
http://svn.apache.org/viewcvs/jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/composite/CompositeObjectPoolFactory.java?rev=390002r1=390001r2=390002view=diff
==
--- 
jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/composite/CompositeObjectPoolFactory.java
 (original)
+++ 
jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/composite/CompositeObjectPoolFactory.java
 Wed Mar 29 22:02:07 2006
@@ -125,9 +125,6 @@
  *  liDeserialized [EMAIL PROTECTED] ObjectPool}s produced by this factory 
will not retain their idle objects. Active objects
  *  borrowed from the serialized [EMAIL PROTECTED] ObjectPool} must not be 
returned to the deserialized [EMAIL PROTECTED] ObjectPool}.
  *  All other behavior and settings of the [EMAIL PROTECTED] ObjectPool} 
will be maintained./li
- *  li[EMAIL PROTECTED] ObjectPool}s created by this factory are [EMAIL 
PROTECTED] Cloneable}. Cloned instances do not retain the idle
- *  objects of the original instance and any active objects borrowed from 
the original must not be returned to the
- *  new clone./li
  * /ul
  * /p
  *

Modified: 
jakarta/commons/proper/pool/trunk/src/test/org/apache/commons/pool/impl/TestAll.java
URL: 
http://svn.apache.org/viewcvs/jakarta/commons/proper/pool/trunk/src/test/org/apache/commons/pool/impl/TestAll.java?rev=390002r1=390001r2=390002view=diff
==
--- 
jakarta/commons/proper/pool/trunk/src/test/org/apache/commons/pool/impl/TestAll.java
 (original)
+++ 
jakarta/commons/proper/pool/trunk/src/test/org/apache/commons/pool/impl/TestAll.java
 Wed Mar 29 22:02:07 2006
@@ -39,7 +39,7 @@
 suite.addTest(TestGenericObjectPool.suite());
 suite.addTest(TestGenericKeyedObjectPool.suite());
 suite.addTest(TestSoftReferenceObjectPool.suite());
-//suite.addTest(TestSoftRefOutOfMemory.suite()); // isn't reliable
+suite.addTest(TestSoftRefOutOfMemory.suite()); // isn't reliable
 return suite;
 }
 



-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



svn commit: r389381 - in /jakarta/commons/proper/pool/trunk/src: java/org/apache/commons/pool/composite/ test/org/apache/commons/pool/ test/org/apache/commons/pool/composite/

2006-03-27 Thread sandymac
Author: sandymac
Date: Mon Mar 27 19:46:23 2006
New Revision: 389381

URL: http://svn.apache.org/viewcvs?rev=389381view=rev
Log:
Unit tests for the composite Lender implementations.
Bug fix in EvictorLender where two EvictorLender instances
chained would delay getNumIdle from detecting idle objects
that have been evicted.

Added:

jakarta/commons/proper/pool/trunk/src/test/org/apache/commons/pool/composite/TestAll.java
   (with props)

jakarta/commons/proper/pool/trunk/src/test/org/apache/commons/pool/composite/TestFifoLender.java
   (with props)

jakarta/commons/proper/pool/trunk/src/test/org/apache/commons/pool/composite/TestIdleEvictorLender.java
   (with props)

jakarta/commons/proper/pool/trunk/src/test/org/apache/commons/pool/composite/TestInvalidEvictorLender.java
   (with props)

jakarta/commons/proper/pool/trunk/src/test/org/apache/commons/pool/composite/TestLender.java
   (with props)

jakarta/commons/proper/pool/trunk/src/test/org/apache/commons/pool/composite/TestLifoLender.java
   (with props)

jakarta/commons/proper/pool/trunk/src/test/org/apache/commons/pool/composite/TestNullLender.java
   (with props)

jakarta/commons/proper/pool/trunk/src/test/org/apache/commons/pool/composite/TestSoftLender.java
   (with props)
Modified:

jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/composite/EvictorLender.java

jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/composite/NullLender.java

jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/composite/SoftLender.java

jakarta/commons/proper/pool/trunk/src/test/org/apache/commons/pool/TestAll.java

jakarta/commons/proper/pool/trunk/src/test/org/apache/commons/pool/composite/TestCompositeObjectPool.java

Modified: 
jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/composite/EvictorLender.java
URL: 
http://svn.apache.org/viewcvs/jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/composite/EvictorLender.java?rev=389381r1=389380r2=389381view=diff
==
--- 
jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/composite/EvictorLender.java
 (original)
+++ 
jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/composite/EvictorLender.java
 Mon Mar 27 19:46:23 2006
@@ -83,7 +83,7 @@
 }
 
 /**
- * Return the size of the idle object pool. Also removes any broken [EMAIL 
PROTECTED] EvictorLender.EvictorReference}s so the
+ * Return the size of the idle object pool. Also removes any broken [EMAIL 
PROTECTED] Lender.LenderReference}s so the
  * size is more accurate.
  *
  * @return the size of the idle object pool the lender is accessing.
@@ -93,8 +93,12 @@
 synchronized (getObjectPool().getPool()) {
 final Iterator iter = super.listIterator();
 while (iter.hasNext()) {
-final EvictorReference ref = (EvictorReference)iter.next();
-if (ref != null  ref.get() == null) {
+Object o = iter.next();
+// unwrap
+while (o instanceof LenderReference) {
+o = ((LenderReference)o).get();
+}
+if (o == null) {
 iter.remove();
 }
 }

Modified: 
jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/composite/NullLender.java
URL: 
http://svn.apache.org/viewcvs/jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/composite/NullLender.java?rev=389381r1=389380r2=389381view=diff
==
--- 
jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/composite/NullLender.java
 (original)
+++ 
jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/composite/NullLender.java
 Mon Mar 27 19:46:23 2006
@@ -28,20 +28,9 @@
  * @since #.#
  * @version $Revision$ $Date$
  */
-final class NullLender implements Lender, Serializable {
+final class NullLender extends AbstractLender implements Serializable {
 
 private static final long serialVersionUID = -135471856936204860L;
-
-/**
- * Called once to associate this manager with an object pool by the [EMAIL 
PROTECTED] CompositeObjectPool} constructor.
- *
- * @param objectPool the pool to associate with.
- * @throws IllegalArgumentException if codeobjectPool/code is 
codenull/code.
- * @throws IllegalStateException if this method is called more than once.
- */
-public void setCompositeObjectPool(final CompositeObjectPool objectPool) 
throws IllegalArgumentException, IllegalStateException {
-// nothing
-}
 
 /**
  * Return codenull/code.

Modified: 
jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/composite/SoftLender.java
URL: 
http

svn commit: r389394 - in /jakarta/commons/proper/pool/trunk/src: java/org/apache/commons/pool/composite/ test/org/apache/commons/pool/composite/

2006-03-27 Thread sandymac
Author: sandymac
Date: Mon Mar 27 21:04:36 2006
New Revision: 389394

URL: http://svn.apache.org/viewcvs?rev=389394view=rev
Log:
Unit tests for the composite Tracker implementations.

Added:

jakarta/commons/proper/pool/trunk/src/test/org/apache/commons/pool/composite/TestDebugTracker.java
   (with props)

jakarta/commons/proper/pool/trunk/src/test/org/apache/commons/pool/composite/TestNullTracker.java
   (with props)

jakarta/commons/proper/pool/trunk/src/test/org/apache/commons/pool/composite/TestReferenceTracker.java
   (with props)

jakarta/commons/proper/pool/trunk/src/test/org/apache/commons/pool/composite/TestSimpleTracker.java
   (with props)

jakarta/commons/proper/pool/trunk/src/test/org/apache/commons/pool/composite/TestTracker.java
   (with props)
Modified:

jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/composite/ReferenceTracker.java

jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/composite/Tracker.java

jakarta/commons/proper/pool/trunk/src/test/org/apache/commons/pool/composite/TestAll.java

jakarta/commons/proper/pool/trunk/src/test/org/apache/commons/pool/composite/TestLender.java

Modified: 
jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/composite/ReferenceTracker.java
URL: 
http://svn.apache.org/viewcvs/jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/composite/ReferenceTracker.java?rev=389394r1=389393r2=389394view=diff
==
--- 
jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/composite/ReferenceTracker.java
 (original)
+++ 
jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/composite/ReferenceTracker.java
 Mon Mar 27 21:04:36 2006
@@ -53,6 +53,9 @@
 private transient int lost = 0;
 
 public void borrowed(final Object obj) {
+if (obj == null) {
+throw new IllegalArgumentException(Cannot track null borrowed 
from pool.);
+}
 workQueue();
 final IdentityReference ref;
 synchronized (rq) {
@@ -79,6 +82,9 @@
  * @throws IllegalStateException when an object that wasn't brorrowed from 
this pool is returned.
  */
 public void returned(final Object obj) throws IllegalStateException {
+if (obj == null) {
+throw new IllegalArgumentException(Cannot track null returned to 
the pool.);
+}
 workQueue();
 final IdentityKey key = new IdentityKey(obj);
 final IdentityReference ref = (IdentityReference)map.remove(key);

Modified: 
jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/composite/Tracker.java
URL: 
http://svn.apache.org/viewcvs/jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/composite/Tracker.java?rev=389394r1=389393r2=389394view=diff
==
--- 
jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/composite/Tracker.java
 (original)
+++ 
jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/composite/Tracker.java
 Mon Mar 27 21:04:36 2006
@@ -40,20 +40,20 @@
  * [EMAIL PROTECTED] PoolableObjectFactory#activateObject(Object) 
activated} and
  * [EMAIL PROTECTED] PoolableObjectFactory#validateObject(Object) 
validated} and is about to be returned to the client.
  *
- * pObjects created via [EMAIL PROTECTED] ObjectPool#addObject()} are 
also borrowed so that when
- * [EMAIL PROTECTED] ObjectPool#returnObject(Object)} [EMAIL PROTECTED] 
#returned(Object) returns} that object it isn't unexpected.
- *
  * @param obj was borrowed from the pool.
+ * @throws IllegalArgumentException may be thrown if codenull/code is 
not allowed.
  */
-public void borrowed(Object obj);
+public void borrowed(Object obj) throws IllegalArgumentException;
 
 /**
  * An object is being [EMAIL PROTECTED] ObjectPool#returnObject(Object) 
returned} to the pool.
  * [EMAIL PROTECTED] ObjectPool#invalidateObject(Object) Invalid} objects 
are also returned via this method.
  *
  * @param obj being returned to the pool.
+ * @throws IllegalArgumentException may be thrown if codenull/code is 
not allowed.
+ * @throws IllegalStateException may be thrown if an object is returned 
that wasn't borrowed.
  */
-public void returned(Object obj);
+public void returned(Object obj) throws IllegalArgumentException, 
IllegalStateException;
 
 /**
  * The number of borrowed or active objects from the pool.

Modified: 
jakarta/commons/proper/pool/trunk/src/test/org/apache/commons/pool/composite/TestAll.java
URL: 
http://svn.apache.org/viewcvs/jakarta/commons/proper/pool/trunk/src/test/org/apache/commons/pool/composite/TestAll.java?rev=389394r1=389393r2=389394view=diff
==
--- 
jakarta/commons/proper/pool

svn commit: r389401 - /jakarta/commons/proper/pool/trunk/doap_pool.rdf

2006-03-27 Thread sandymac
Author: sandymac
Date: Mon Mar 27 21:33:46 2006
New Revision: 389401

URL: http://svn.apache.org/viewcvs?rev=389401view=rev
Log:
Added releases.

Modified:
jakarta/commons/proper/pool/trunk/doap_pool.rdf

Modified: jakarta/commons/proper/pool/trunk/doap_pool.rdf
URL: 
http://svn.apache.org/viewcvs/jakarta/commons/proper/pool/trunk/doap_pool.rdf?rev=389401r1=389400r2=389401view=diff
==
--- jakarta/commons/proper/pool/trunk/doap_pool.rdf (original)
+++ jakarta/commons/proper/pool/trunk/doap_pool.rdf Mon Mar 27 21:33:46 2006
@@ -18,11 +18,32 @@
   /SVNRepository
 /repository
 release
-  revision
+  Version
 namecommons-pool/name
 created2004-06-07/created
-version1.1/version
-  /revision
+revision1.2/revision
+  /Version
+/release
+release
+  Version
+namecommons-pool/name
+created2004-10-20/created
+revision1.1/revision
+  /Version
+/release
+release
+  Version
+namecommons-pool/name
+created2002-08-12/created
+revision1.0.1/revision
+  /Version
+/release
+release
+  Version
+namecommons-pool/name
+created2002-05-04/created
+revision1.0/revision
+  /Version
 /release
 mailing-list 
rdf:resource=http://jakarta.apache.org/site/mail2.html#Commons/
   /Project



-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



svn commit: r388885 - in /jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/composite: CompositeKeyedObjectPool.java CompositeObjectPool.java GrowManager.java

2006-03-26 Thread sandymac
Author: sandymac
Date: Sun Mar 26 00:16:35 2006
New Revision: 35

URL: http://svn.apache.org/viewcvs?rev=35view=rev
Log:
Changes neesed for CompositeKeyedObjectPools to work:
Detect when making new objects is relatively slow or expensive.
When it is, try to anticipate demand and create idle objects
while allowing concurrent pool access. The idea came from a
discussion with Peter Steijn on ways to reduce pool latency.

Modified:

jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/composite/CompositeKeyedObjectPool.java

jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/composite/CompositeObjectPool.java

jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/composite/GrowManager.java

Modified: 
jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/composite/CompositeKeyedObjectPool.java
URL: 
http://svn.apache.org/viewcvs/jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/composite/CompositeKeyedObjectPool.java?rev=35r1=34r2=35view=diff
==
--- 
jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/composite/CompositeKeyedObjectPool.java
 (original)
+++ 
jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/composite/CompositeKeyedObjectPool.java
 Sun Mar 26 00:16:35 2006
@@ -100,6 +100,10 @@
 if (pool == null) {
 pool = poolFactory.createPool();
 objectPools.put(key, pool);
+// Tell CompositeObjectPools that we own them.
+if (pool instanceof CompositeObjectPool) {
+
((CompositeObjectPool)pool).setOwningCompositeKeyedObjectPool(this);
+}
 }
 }
 return pool;

Modified: 
jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/composite/CompositeObjectPool.java
URL: 
http://svn.apache.org/viewcvs/jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/composite/CompositeObjectPool.java?rev=35r1=34r2=35view=diff
==
--- 
jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/composite/CompositeObjectPool.java
 (original)
+++ 
jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/composite/CompositeObjectPool.java
 Sun Mar 26 00:16:35 2006
@@ -101,6 +101,11 @@
  */
 private final CompositeObjectPoolFactory.FactoryConfig factoryConfig;
 
+/**
+ * When not-codenull/code this pool is part of a [EMAIL PROTECTED] 
CompositeKeyedObjectPool}.
+ */
+private CompositeKeyedObjectPool owningCompositeKeyedObjectPool = null;
+
 CompositeObjectPool(final PoolableObjectFactory factory, final Manager 
manager, final Lender lender, final Tracker tracker, final boolean 
validateOnReturn) {
 this(factory, manager, lender, tracker, validateOnReturn, null);
 }
@@ -169,6 +174,25 @@
  */
 List getPool() {
 return pool;
+}
+
+/**
+ * Set the owner of this pool.
+ * @param ckop the owner of this pool
+ */
+void setOwningCompositeKeyedObjectPool(final CompositeKeyedObjectPool 
ckop) {
+if (owningCompositeKeyedObjectPool != null) {
+throw new IllegalStateException(CompositeObjectPools cannot 
change ownership.);
+}
+owningCompositeKeyedObjectPool = ckop;
+}
+
+/**
+ * Get the owner of this pool or codenull/code.
+ * @return the owner of this pool or codenull/code
+ */
+CompositeKeyedObjectPool getOwningCompositeKeyedObjectPool() {
+return owningCompositeKeyedObjectPool;
 }
 
 /**

Modified: 
jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/composite/GrowManager.java
URL: 
http://svn.apache.org/viewcvs/jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/composite/GrowManager.java?rev=35r1=34r2=35view=diff
==
--- 
jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/composite/GrowManager.java
 (original)
+++ 
jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/composite/GrowManager.java
 Sun Mar 26 00:16:35 2006
@@ -155,7 +155,14 @@
  */
 private void schedulePrefill() {
 if (objectPool.getLender().size() == 0  isMakeObjectExpensive()) {
-PREFILL_TIMER.schedule(new PrefillTask(), 0L);
+// When we are part of a CompositeKeyedObjectPool we need to pass 
the key to the Timer's thread.
+final CompositeKeyedObjectPool ckop = 
objectPool.getOwningCompositeKeyedObjectPool();
+if (ckop != null) {
+final Object key = ckop.getKeys().get();
+PREFILL_TIMER.schedule(new KeyedPrefillTask(key), 0L);
+} else {
+PREFILL_TIMER.schedule(new PrefillTask(), 0L

svn commit: r388886 - /jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/composite/FailManager.java

2006-03-26 Thread sandymac
Author: sandymac
Date: Sun Mar 26 00:17:30 2006
New Revision: 36

URL: http://svn.apache.org/viewcvs?rev=36view=rev
Log:
Include full reasons for failure instead of just the first.

Modified:

jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/composite/FailManager.java

Modified: 
jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/composite/FailManager.java
URL: 
http://svn.apache.org/viewcvs/jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/composite/FailManager.java?rev=36r1=35r2=36view=diff
==
--- 
jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/composite/FailManager.java
 (original)
+++ 
jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/composite/FailManager.java
 Sun Mar 26 00:17:30 2006
@@ -119,15 +119,16 @@
 }
 
 /**
- * Set the [EMAIL PROTECTED] #cause} for failure if it hasn't been set yet.
+ * Set the [EMAIL PROTECTED] #cause} linking any previous causes.
  *
  * @param t the real [EMAIL PROTECTED] Throwable#initCause(Throwable) 
cause}.
  */
 private void updateCause(final Throwable t) {
 final Throwable previousCause = (Throwable)cause.get();
-if (previousCause == null) {
-cause.set(t);
+if (previousCause != null) {
+t.initCause(previousCause);
 }
+cause.set(t);
 }
 
 public String toString() {



-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



svn commit: r388975 - in /jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/composite: AbstractManager.java FailManager.java GrowManager.java

2006-03-26 Thread sandymac
Author: sandymac
Date: Sun Mar 26 14:09:16 2006
New Revision: 388975

URL: http://svn.apache.org/viewcvs?rev=388975view=rev
Log:
Implements object destruction deferral. When an object needs to be destroyed
as a side effect of another requested operation, defer the object destruction
briefly to reduce latency for the calling code.

Modified:

jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/composite/AbstractManager.java

jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/composite/FailManager.java

jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/composite/GrowManager.java

Modified: 
jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/composite/AbstractManager.java
URL: 
http://svn.apache.org/viewcvs/jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/composite/AbstractManager.java?rev=388975r1=388974r2=388975view=diff
==
--- 
jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/composite/AbstractManager.java
 (original)
+++ 
jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/composite/AbstractManager.java
 Sun Mar 26 14:09:16 2006
@@ -17,9 +17,12 @@
 package org.apache.commons.pool.composite;
 
 import org.apache.commons.pool.PoolableObjectFactory;
+import org.apache.commons.pool.KeyedPoolableObjectFactory;
 
 import java.io.Serializable;
 import java.util.NoSuchElementException;
+import java.util.Timer;
+import java.util.TimerTask;
 
 /**
  * A base [EMAIL PROTECTED] Manager} implementation that provides the common 
implementations of methods.
@@ -33,6 +36,16 @@
 private static final long serialVersionUID = -1729636795986138892L;
 
 /**
+ * Timer to schedule object for deferred destroyal.
+ */
+private static final Timer DEFER_TIMER = 
CompositeObjectPool.COMPOSITE_TIMER;
+
+/**
+ * Number of milliseconds to delay destroying an object.
+ */
+private static final long DEFER_DELAY = 20L;
+
+/**
  * CompositeObjectPool this [EMAIL PROTECTED] Lender} is associated with.
  */
 protected CompositeObjectPool objectPool;
@@ -74,5 +87,67 @@
 public void returnToPool(final Object obj) {
 assert Thread.holdsLock(objectPool.getPool());
 objectPool.getLender().repay(obj);
+}
+
+/**
+ * Schedule an object for [EMAIL PROTECTED] 
PoolableObjectFactory#destroyObject destruction} at a later time.
+ * @param obj the object to be destroyed.
+ */
+protected void deferDestroyObject(final Object obj) {
+final CompositeKeyedObjectPool ckop = 
objectPool.getOwningCompositeKeyedObjectPool();
+if (ckop != null) {
+final Object key = ckop.getKeys().get();
+DEFER_TIMER.schedule(new DeferredKeyedDestroyTask(key, obj), 
DEFER_DELAY);
+} else {
+DEFER_TIMER.schedule(new DeferredDestroyTask(obj), DEFER_DELAY);
+}
+}
+
+/**
+ * Schedule a [EMAIL PROTECTED] PoolableObjectFactory#destroyObject}.
+ */
+private class DeferredDestroyTask extends TimerTask {
+private final Object obj;
+
+DeferredDestroyTask(final Object obj) {
+this.obj = obj;
+}
+
+public void run() {
+try {
+objectPool.getFactory().destroyObject(obj);
+} catch (Exception e) {
+// ignore
+}
+}
+}
+
+/**
+ * Schedule a [EMAIL PROTECTED] KeyedPoolableObjectFactory#destroyObject}.
+ */
+private class DeferredKeyedDestroyTask extends TimerTask {
+private final Object key;
+private final Object obj;
+
+DeferredKeyedDestroyTask(final Object key, final Object obj) {
+this.key = key;
+this.obj = obj;
+}
+
+public void run() {
+ThreadLocal keys = null;
+try {
+keys = 
objectPool.getOwningCompositeKeyedObjectPool().getKeys();
+keys.set(key);
+objectPool.getFactory().destroyObject(obj);
+} catch (Exception e) {
+// ignore
+} finally {
+// clear the key
+if (keys != null) {
+keys.set(null);
+}
+}
+}
 }
 }

Modified: 
jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/composite/FailManager.java
URL: 
http://svn.apache.org/viewcvs/jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/composite/FailManager.java?rev=388975r1=388974r2=388975view=diff
==
--- 
jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/composite/FailManager.java
 (original)
+++ 
jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/composite/FailManager.java
 Sun Mar 26 14:09:16 2006
@@ -68,13 +68,9

svn commit: r388977 - in /jakarta/commons/proper/pool/branches/1_3_RELEASE_BRANCH: project.properties xdocs/navigation.xml

2006-03-26 Thread sandymac
Author: sandymac
Date: Sun Mar 26 14:41:36 2006
New Revision: 388977

URL: http://svn.apache.org/viewcvs?rev=388977view=rev
Log:
Changed maven.xdoc.date to left and changed API Docs to Javadocs.

Modified:
jakarta/commons/proper/pool/branches/1_3_RELEASE_BRANCH/project.properties
jakarta/commons/proper/pool/branches/1_3_RELEASE_BRANCH/xdocs/navigation.xml

Modified: 
jakarta/commons/proper/pool/branches/1_3_RELEASE_BRANCH/project.properties
URL: 
http://svn.apache.org/viewcvs/jakarta/commons/proper/pool/branches/1_3_RELEASE_BRANCH/project.properties?rev=388977r1=388976r2=388977view=diff
==
--- jakarta/commons/proper/pool/branches/1_3_RELEASE_BRANCH/project.properties 
(original)
+++ jakarta/commons/proper/pool/branches/1_3_RELEASE_BRANCH/project.properties 
Sun Mar 26 14:41:36 2006
@@ -31,7 +31,7 @@
 maven.jar.manifest.attribute.X-Compile-Target-JDK=${maven.compile.target}
 
 
-maven.xdoc.date=bottom
+maven.xdoc.date=left
 maven.xdoc.poweredby.image=maven-feather.png
 maven.xdoc.version=${pom.currentVersion}
 maven.xdoc.developmentProcessUrl=http://jakarta.apache.org/commons/charter.html

Modified: 
jakarta/commons/proper/pool/branches/1_3_RELEASE_BRANCH/xdocs/navigation.xml
URL: 
http://svn.apache.org/viewcvs/jakarta/commons/proper/pool/branches/1_3_RELEASE_BRANCH/xdocs/navigation.xml?rev=388977r1=388976r2=388977view=diff
==
--- 
jakarta/commons/proper/pool/branches/1_3_RELEASE_BRANCH/xdocs/navigation.xml 
(original)
+++ 
jakarta/commons/proper/pool/branches/1_3_RELEASE_BRANCH/xdocs/navigation.xml 
Sun Mar 26 14:41:36 2006
@@ -28,7 +28,7 @@
 
 menu name=Commons#xA0;Pool
 item name=Overview  href=/index.html /
-item name=API#xA0;Documentation
href=/apidocs/index.html/
+item name=Javadoc   
href=/apidocs/index.html/
 item name=Developers#xA0;Guide 
href=/guide/index.html collapse=true
 item name=Class#xA0;Diagrams   
href=/guide/classdiagrams.html/
 item name=Sequence#xA0;Diagrams
href=/guide/sequencediagrams.html/



-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



svn commit: r388979 - in /jakarta/commons/proper/pool/branches/1_3_RELEASE_BRANCH: build.xml project.xml xdocs/downloads.xml

2006-03-26 Thread sandymac
Author: sandymac
Date: Sun Mar 26 14:45:09 2006
New Revision: 388979

URL: http://svn.apache.org/viewcvs?rev=388979view=rev
Log:
Updating to 1.3-rc4

Modified:
jakarta/commons/proper/pool/branches/1_3_RELEASE_BRANCH/build.xml
jakarta/commons/proper/pool/branches/1_3_RELEASE_BRANCH/project.xml
jakarta/commons/proper/pool/branches/1_3_RELEASE_BRANCH/xdocs/downloads.xml

Modified: jakarta/commons/proper/pool/branches/1_3_RELEASE_BRANCH/build.xml
URL: 
http://svn.apache.org/viewcvs/jakarta/commons/proper/pool/branches/1_3_RELEASE_BRANCH/build.xml?rev=388979r1=388978r2=388979view=diff
==
--- jakarta/commons/proper/pool/branches/1_3_RELEASE_BRANCH/build.xml (original)
+++ jakarta/commons/proper/pool/branches/1_3_RELEASE_BRANCH/build.xml Sun Mar 
26 14:45:09 2006
@@ -39,7 +39,7 @@
 
   property name=name value=commons-pool/
   property name=title value=Jakarta Commons Object Pooling Package/
-  property name=version value=1.3-rc3/
+  property name=version value=1.3-rc4/
   property name=package value=org.apache.commons.pool.*/
 
   property name=src.dir value=${basedir}/src/

Modified: jakarta/commons/proper/pool/branches/1_3_RELEASE_BRANCH/project.xml
URL: 
http://svn.apache.org/viewcvs/jakarta/commons/proper/pool/branches/1_3_RELEASE_BRANCH/project.xml?rev=388979r1=388978r2=388979view=diff
==
--- jakarta/commons/proper/pool/branches/1_3_RELEASE_BRANCH/project.xml 
(original)
+++ jakarta/commons/proper/pool/branches/1_3_RELEASE_BRANCH/project.xml Sun Mar 
26 14:45:09 2006
@@ -21,7 +21,7 @@
   groupIdcommons-pool/groupId
   artifactIdcommons-pool/artifactId
   inceptionYear2001/inceptionYear
-  currentVersion1.3-rc3/currentVersion
+  currentVersion1.3-rc4/currentVersion
   shortDescriptionCommons Object Pooling Library/shortDescription
   descriptionCommons Object Pooling Library/description
   logo/images/pool-logo-white.png/logo

Modified: 
jakarta/commons/proper/pool/branches/1_3_RELEASE_BRANCH/xdocs/downloads.xml
URL: 
http://svn.apache.org/viewcvs/jakarta/commons/proper/pool/branches/1_3_RELEASE_BRANCH/xdocs/downloads.xml?rev=388979r1=388978r2=388979view=diff
==
--- jakarta/commons/proper/pool/branches/1_3_RELEASE_BRANCH/xdocs/downloads.xml 
(original)
+++ jakarta/commons/proper/pool/branches/1_3_RELEASE_BRANCH/xdocs/downloads.xml 
Sun Mar 26 14:45:09 2006
@@ -25,7 +25,7 @@
  section name=Releases
  pThe following releases are available:/p
  ul
-   liRelease 1.3 - ## March 2006 - a 
href=release-notes-1.3.html(release notes)/a/li
+   liRelease 1.3 - ## April 2006 - a 
href=release-notes-1.3.html(release notes)/a/li
liRelease 1.2 - 7 June 2004 - a 
href=release-notes-1.2.html(release notes)/a/li
liRelease 1.1 - 20 October 2003 - a 
href=release-notes-1.1.html(release notes)/a/li
liRelease 1.0.1 - 12 August 2002/li



-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



svn commit: r388985 - /jakarta/commons/proper/pool/tags/POOL_1_3_RC4/

2006-03-26 Thread sandymac
Author: sandymac
Date: Sun Mar 26 15:12:03 2006
New Revision: 388985

URL: http://svn.apache.org/viewcvs?rev=388985view=rev
Log:
Tagging 1.3-rc4

Added:
jakarta/commons/proper/pool/tags/POOL_1_3_RC4/
  - copied from r388984, 
jakarta/commons/proper/pool/branches/1_3_RELEASE_BRANCH/


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



svn commit: r389017 - /jakarta/commons/proper/pool/branches/1_3_RELEASE_BRANCH/RELEASE-NOTES.txt

2006-03-26 Thread sandymac
Author: sandymac
Date: Sun Mar 26 20:21:03 2006
New Revision: 389017

URL: http://svn.apache.org/viewcvs?rev=389017view=rev
Log:
Fixed reference to io from a copy/paste of the release notes as a template.

Modified:
jakarta/commons/proper/pool/branches/1_3_RELEASE_BRANCH/RELEASE-NOTES.txt

Modified: 
jakarta/commons/proper/pool/branches/1_3_RELEASE_BRANCH/RELEASE-NOTES.txt
URL: 
http://svn.apache.org/viewcvs/jakarta/commons/proper/pool/branches/1_3_RELEASE_BRANCH/RELEASE-NOTES.txt?rev=389017r1=389016r2=389017view=diff
==
--- jakarta/commons/proper/pool/branches/1_3_RELEASE_BRANCH/RELEASE-NOTES.txt 
(original)
+++ jakarta/commons/proper/pool/branches/1_3_RELEASE_BRANCH/RELEASE-NOTES.txt 
Sun Mar 26 20:21:03 2006
@@ -30,10 +30,10 @@
 Open source works best when you give feedback:
 http://jakarta.apache.org/commons/pool/
 
-Please direct all bug reports to Bugzilla (prefix bug reports by [io])
+Please direct all bug reports to Bugzilla (prefix bug reports by [Pool])
 http://issues.apache.org/bugzilla/buglist.cgi?product=Commonscomponent=Pool
 
-Or subscribe to the commons-user mailing list (prefix emails by [io])
+Or subscribe to the commons-user mailing list (prefix emails by [Pool])
 http://jakarta.apache.org/site/mail.html
 
 The Commons-Pool Team



-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



svn commit: r388727 - in /jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/composite: EvictorLender.java IdleEvictorLender.java InvalidEvictorLender.java

2006-03-25 Thread sandymac
Author: sandymac
Date: Sat Mar 25 00:01:42 2006
New Revision: 388727

URL: http://svn.apache.org/viewcvs?rev=388727view=rev
Log:
Made idle object eviction synchronize on just the one idle object and not on 
the whole pool.

Modified:

jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/composite/EvictorLender.java

jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/composite/IdleEvictorLender.java

jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/composite/InvalidEvictorLender.java

Modified: 
jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/composite/EvictorLender.java
URL: 
http://svn.apache.org/viewcvs/jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/composite/EvictorLender.java?rev=388727r1=388726r2=388727view=diff
==
--- 
jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/composite/EvictorLender.java
 (original)
+++ 
jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/composite/EvictorLender.java
 Sat Mar 25 00:01:42 2006
@@ -60,8 +60,10 @@
 final EvictorReference ref = (EvictorReference)super.borrow();
 Object obj = null;
 if (ref != null) {
-obj = ref.get();
-ref.clear();
+synchronized (ref) {
+obj = ref.get();
+ref.clear();
+}
 }
 return obj;
 }
@@ -92,7 +94,7 @@
 final Iterator iter = super.listIterator();
 while (iter.hasNext()) {
 final EvictorReference ref = (EvictorReference)iter.next();
-if (ref.get() == null) {
+if (ref != null  ref.get() == null) {
 iter.remove();
 }
 }
@@ -124,6 +126,9 @@
 /**
  * This is designed to mimick the [EMAIL PROTECTED] Reference} api.
  * The only reason a [EMAIL PROTECTED] Reference} subclass isn't used is 
there is no StrongReference implementation.
+ * Because evictors run in a different thread, implementations must be 
thread safe and callers need to
+ * synchronize on the codeEvictorReference/code if they need to call 
more than one method in a thread
+ * safe manner.
  */
 protected interface EvictorReference extends LenderReference {
 /**

Modified: 
jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/composite/IdleEvictorLender.java
URL: 
http://svn.apache.org/viewcvs/jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/composite/IdleEvictorLender.java?rev=388727r1=388726r2=388727view=diff
==
--- 
jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/composite/IdleEvictorLender.java
 (original)
+++ 
jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/composite/IdleEvictorLender.java
 Sat Mar 25 00:01:42 2006
@@ -100,15 +100,19 @@
 }
 
 public Object get() {
-return referant;
+synchronized (this) {
+return referant;
+}
 }
 
 public void clear() {
-task.cancel();
-if (referant instanceof EvictorReference) {
-((EvictorReference)referant).clear();
+synchronized (this) {
+task.cancel();
+if (referant instanceof EvictorReference) {
+((EvictorReference)referant).clear();
+}
+referant = null;
 }
-referant = null;
 }
 
 /**
@@ -120,8 +124,8 @@
  * Evict the idle object.
  */
 public void run() {
-synchronized(getObjectPool().getPool()) {
-referant = null;
+synchronized(IdleEvictorReference.this) {
+clear();
 }
 }
 }

Modified: 
jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/composite/InvalidEvictorLender.java
URL: 
http://svn.apache.org/viewcvs/jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/composite/InvalidEvictorLender.java?rev=388727r1=388726r2=388727view=diff
==
--- 
jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/composite/InvalidEvictorLender.java
 (original)
+++ 
jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/composite/InvalidEvictorLender.java
 Sat Mar 25 00:01:42 2006
@@ -113,15 +113,19 @@
 }
 
 public Object get() {
-return referant;
+synchronized (this) {
+return referant;
+}
 }
 
 public void clear() {
-task.cancel();
-if (referant instanceof

svn commit: r388728 - in /jakarta/commons/proper/pool/trunk/src/test/org/apache/commons/pool: composite/TestCompositeObjectPool.java impl/TestSoftRefOutOfMemory.java

2006-03-25 Thread sandymac
Author: sandymac
Date: Sat Mar 25 00:27:52 2006
New Revision: 388728

URL: http://svn.apache.org/viewcvs?rev=388728view=rev
Log:
Improve robustness of memory pressure tests.

Modified:

jakarta/commons/proper/pool/trunk/src/test/org/apache/commons/pool/composite/TestCompositeObjectPool.java

jakarta/commons/proper/pool/trunk/src/test/org/apache/commons/pool/impl/TestSoftRefOutOfMemory.java

Modified: 
jakarta/commons/proper/pool/trunk/src/test/org/apache/commons/pool/composite/TestCompositeObjectPool.java
URL: 
http://svn.apache.org/viewcvs/jakarta/commons/proper/pool/trunk/src/test/org/apache/commons/pool/composite/TestCompositeObjectPool.java?rev=388728r1=388727r2=388728view=diff
==
--- 
jakarta/commons/proper/pool/trunk/src/test/org/apache/commons/pool/composite/TestCompositeObjectPool.java
 (original)
+++ 
jakarta/commons/proper/pool/trunk/src/test/org/apache/commons/pool/composite/TestCompositeObjectPool.java
 Sat Mar 25 00:27:52 2006
@@ -421,7 +421,11 @@
 List garbage = new LinkedList();
 Runtime runtime = Runtime.getRuntime();
 while (pool.getNumIdle()  0) {
-garbage.add(new byte[Math.min(1024 * 1024, 
(int)runtime.freeMemory()/4)]);
+try {
+garbage.add(new byte[Math.min(1024 * 1024, 
(int)runtime.freeMemory()/2)]);
+} catch (OutOfMemoryError oome) {
+System.gc();
+}
 System.gc();
 }
 garbage.clear();

Modified: 
jakarta/commons/proper/pool/trunk/src/test/org/apache/commons/pool/impl/TestSoftRefOutOfMemory.java
URL: 
http://svn.apache.org/viewcvs/jakarta/commons/proper/pool/trunk/src/test/org/apache/commons/pool/impl/TestSoftRefOutOfMemory.java?rev=388728r1=388727r2=388728view=diff
==
--- 
jakarta/commons/proper/pool/trunk/src/test/org/apache/commons/pool/impl/TestSoftRefOutOfMemory.java
 (original)
+++ 
jakarta/commons/proper/pool/trunk/src/test/org/apache/commons/pool/impl/TestSoftRefOutOfMemory.java
 Sat Mar 25 00:27:52 2006
@@ -62,7 +62,11 @@
 final List garbage = new LinkedList();
 final Runtime runtime = Runtime.getRuntime();
 while (pool.getNumIdle()  0) {
-garbage.add(new byte[Math.min(1024 * 1024, 
(int)runtime.freeMemory()/4)]);
+try {
+garbage.add(new byte[Math.min(1024 * 1024, 
(int)runtime.freeMemory()/2)]);
+} catch (OutOfMemoryError oome) {
+System.gc();
+}
 System.gc();
 }
 garbage.clear();
@@ -93,7 +97,11 @@
 final List garbage = new LinkedList();
 final Runtime runtime = Runtime.getRuntime();
 while (pool.getNumIdle()  0) {
-garbage.add(new byte[Math.min(1024 * 1024, 
(int)runtime.freeMemory()/4)]);
+try {
+garbage.add(new byte[Math.min(1024 * 1024, 
(int)runtime.freeMemory()/2)]);
+} catch (OutOfMemoryError oome) {
+System.gc();
+}
 System.gc();
 }
 garbage.clear();
@@ -120,7 +128,11 @@
 final List garbage = new LinkedList();
 final Runtime runtime = Runtime.getRuntime();
 while (pool.getNumIdle()  0) {
-garbage.add(new byte[Math.min(1024 * 1024, 
(int)runtime.freeMemory()/4)]);
+try {
+garbage.add(new byte[Math.min(1024 * 1024, 
(int)runtime.freeMemory()/2)]);
+} catch (OutOfMemoryError oome) {
+System.gc();
+}
 System.gc();
 }
 garbage.clear();



-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



svn commit: r388729 - /jakarta/commons/proper/pool/tags/POOL_1_3_RC3/

2006-03-25 Thread sandymac
Author: sandymac
Date: Sat Mar 25 00:30:54 2006
New Revision: 388729

URL: http://svn.apache.org/viewcvs?rev=388729view=rev
Log:
Tagging 1.3-rc3

Added:
jakarta/commons/proper/pool/tags/POOL_1_3_RC3/
  - copied from r388728, 
jakarta/commons/proper/pool/branches/1_3_RELEASE_BRANCH/


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



svn commit: r388880 - in /jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/composite: CompositeObjectPool.java GrowManager.java

2006-03-25 Thread sandymac
Author: sandymac
Date: Sat Mar 25 23:13:22 2006
New Revision: 30

URL: http://svn.apache.org/viewcvs?rev=30view=rev
Log:
Detect when making new objects is relatively slow or expensive.
When it is, try to anticipate demand and create idle objects
while allowing concurrent pool access. The idea came from a
discussion with Peter Steijn on ways to reduce pool latency.

Modified:

jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/composite/CompositeObjectPool.java

jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/composite/GrowManager.java

Modified: 
jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/composite/CompositeObjectPool.java
URL: 
http://svn.apache.org/viewcvs/jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/composite/CompositeObjectPool.java?rev=30r1=388879r2=30view=diff
==
--- 
jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/composite/CompositeObjectPool.java
 (original)
+++ 
jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/composite/CompositeObjectPool.java
 Sat Mar 25 23:13:22 2006
@@ -179,10 +179,10 @@
  */
 public void addObject() throws Exception {
 assertOpen();
+final Object obj = factory.makeObject();
+factory.passivateObject(obj);
 synchronized (pool) {
-final Object obj = factory.makeObject();
-factory.passivateObject(obj);
-// if the pool is closed, discard returned objects
+// if the pool was closed between the asserOpen and the 
synchronize then discard returned objects
 if (isOpen()) {
 manager.returnToPool(obj);
 } else {

Modified: 
jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/composite/GrowManager.java
URL: 
http://svn.apache.org/viewcvs/jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/composite/GrowManager.java?rev=30r1=388879r2=30view=diff
==
--- 
jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/composite/GrowManager.java
 (original)
+++ 
jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/composite/GrowManager.java
 Sat Mar 25 23:13:22 2006
@@ -19,6 +19,8 @@
 import org.apache.commons.pool.PoolableObjectFactory;
 
 import java.io.Serializable;
+import java.util.TimerTask;
+import java.util.Timer;
 
 /**
  * Grows the pool automatically when it is exhausted.
@@ -33,6 +35,11 @@
 final class GrowManager extends AbstractManager implements Serializable {
 
 private static final long serialVersionUID = 1225746308358794900L;
+private static final Timer PREFILL_TIMER = 
CompositeObjectPool.COMPOSITE_TIMER;
+
+private final Object avgLock = new Object();
+private long activateAvg = 0;
+private long makeAvg = 0;
 
 /**
  * Retreives the next object from the pool, creating new objects if the 
pool has been exhausted.
@@ -43,6 +50,8 @@
 public Object nextFromPool() throws Exception {
 assert Thread.holdsLock(objectPool.getPool());
 Object obj = null;
+
+final long startActivateTime = System.currentTimeMillis();
 // Drain until good or empty
 while (objectPool.getLender().size()  0  obj == null) {
 obj = objectPool.getLender().borrow();
@@ -65,10 +74,15 @@
 }
 }
 }
-
-if (obj == null) {
+if (obj != null) {
+updateActivateTimings(startActivateTime, 
System.currentTimeMillis());
+} else {
+final long startMakeTime = System.currentTimeMillis();
 obj = objectPool.getFactory().makeObject();
+updateMakeTimings(startMakeTime, System.currentTimeMillis());
 }
+
+schedulePrefill();
 return obj;
 }
 
@@ -93,7 +107,74 @@
 return obj;
 }
 
+/**
+ * Update the moving average of how long it takes to activate and validate 
idle objects.
+ * @param start start of activation and validation
+ * @param end end of activation and validation
+ */
+private void updateActivateTimings(final long start, final long end) {
+final long elapsed = end - start;
+if (elapsed  0L) {
+synchronized (avgLock) {
+activateAvg = (activateAvg * 9L + elapsed) / 10L;
+}
+}
+}
+
+/**
+ * Update the moving average of how long it takes to make a new objects.
+ * @param start start of makeObject
+ * @param end end of makeObject
+ */
+private void updateMakeTimings(final long start, final long end) {
+final long elapsed = end - start;
+if (elapsed  0L) {
+synchronized (avgLock) {
+makeAvg = (makeAvg * 9L + elapsed) / 10L

svn commit: r388571 - in /jakarta/commons/proper/pool/branches/1_3_RELEASE_BRANCH: RELEASE-NOTES.txt build.xml project.xml

2006-03-24 Thread sandymac
Author: sandymac
Date: Fri Mar 24 08:33:14 2006
New Revision: 388571

URL: http://svn.apache.org/viewcvs?rev=388571view=rev
Log:
Added RELEASE-NOTES.txt and updated to rc3

Added:
jakarta/commons/proper/pool/branches/1_3_RELEASE_BRANCH/RELEASE-NOTES.txt   
(with props)
Modified:
jakarta/commons/proper/pool/branches/1_3_RELEASE_BRANCH/build.xml
jakarta/commons/proper/pool/branches/1_3_RELEASE_BRANCH/project.xml

Added: jakarta/commons/proper/pool/branches/1_3_RELEASE_BRANCH/RELEASE-NOTES.txt
URL: 
http://svn.apache.org/viewcvs/jakarta/commons/proper/pool/branches/1_3_RELEASE_BRANCH/RELEASE-NOTES.txt?rev=388571view=auto
==
--- jakarta/commons/proper/pool/branches/1_3_RELEASE_BRANCH/RELEASE-NOTES.txt 
(added)
+++ jakarta/commons/proper/pool/branches/1_3_RELEASE_BRANCH/RELEASE-NOTES.txt 
Fri Mar 24 08:33:14 2006
@@ -0,0 +1,39 @@
+$Id$
+
+Commons Pool Package
+   Version 1.3
+  Release Notes
+
+Full Release Notes can be found online at
+http://jakarta.apache.org/commons/pool/release-notes-1.3.html
+or in the binary distrobution in the docs/release-notes-1.3.html
+
+
+Compatibility with 1.2
+--
+
+Binary compatible - Yes
+
+Source compatible - Yes
+
+Semantic compatible - Yes*
+
+
+* GenericObjectPool and GenericKeyedObjectPool have always
+  been documented to be a FIFO but it was actually
+  implemented as a LIFO. Code that depends on the previous
+  LIFO behavior may have issues.
+
+
+Feedback
+
+Open source works best when you give feedback:
+http://jakarta.apache.org/commons/pool/
+
+Please direct all bug reports to Bugzilla (prefix bug reports by [io])
+http://issues.apache.org/bugzilla/buglist.cgi?product=Commonscomponent=Pool
+
+Or subscribe to the commons-user mailing list (prefix emails by [io])
+http://jakarta.apache.org/site/mail.html
+
+The Commons-Pool Team
\ No newline at end of file

Propchange: 
jakarta/commons/proper/pool/branches/1_3_RELEASE_BRANCH/RELEASE-NOTES.txt
--
svn:eol-style = native

Modified: jakarta/commons/proper/pool/branches/1_3_RELEASE_BRANCH/build.xml
URL: 
http://svn.apache.org/viewcvs/jakarta/commons/proper/pool/branches/1_3_RELEASE_BRANCH/build.xml?rev=388571r1=388570r2=388571view=diff
==
--- jakarta/commons/proper/pool/branches/1_3_RELEASE_BRANCH/build.xml (original)
+++ jakarta/commons/proper/pool/branches/1_3_RELEASE_BRANCH/build.xml Fri Mar 
24 08:33:14 2006
@@ -39,7 +39,7 @@
 
   property name=name value=commons-pool/
   property name=title value=Jakarta Commons Object Pooling Package/
-  property name=version value=1.3-rc2/
+  property name=version value=1.3-rc3/
   property name=package value=org.apache.commons.pool.*/
 
   property name=src.dir value=${basedir}/src/

Modified: jakarta/commons/proper/pool/branches/1_3_RELEASE_BRANCH/project.xml
URL: 
http://svn.apache.org/viewcvs/jakarta/commons/proper/pool/branches/1_3_RELEASE_BRANCH/project.xml?rev=388571r1=388570r2=388571view=diff
==
--- jakarta/commons/proper/pool/branches/1_3_RELEASE_BRANCH/project.xml 
(original)
+++ jakarta/commons/proper/pool/branches/1_3_RELEASE_BRANCH/project.xml Fri Mar 
24 08:33:14 2006
@@ -21,7 +21,7 @@
   groupIdcommons-pool/groupId
   artifactIdcommons-pool/artifactId
   inceptionYear2001/inceptionYear
-  currentVersion1.3-rc2/currentVersion
+  currentVersion1.3-rc3/currentVersion
   shortDescriptionCommons Object Pooling Library/shortDescription
   descriptionCommons Object Pooling Library/description
   logo/images/pool-logo-white.png/logo



-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



svn commit: r388573 - /jakarta/commons/proper/pool/branches/1_3_RELEASE_BRANCH/RELEASE-NOTES.txt

2006-03-24 Thread sandymac
Author: sandymac
Date: Fri Mar 24 08:34:40 2006
New Revision: 388573

URL: http://svn.apache.org/viewcvs?rev=388573view=rev
Log:
updated svn:keywords property

Modified:
jakarta/commons/proper/pool/branches/1_3_RELEASE_BRANCH/RELEASE-NOTES.txt   
(props changed)

Propchange: 
jakarta/commons/proper/pool/branches/1_3_RELEASE_BRANCH/RELEASE-NOTES.txt
--
svn:keywords = Date Author Id Revision HeadURL



-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



svn commit: r388578 - /jakarta/commons/proper/pool/branches/1_3_RELEASE_BRANCH/maven.xml

2006-03-24 Thread sandymac
Author: sandymac
Date: Fri Mar 24 08:53:54 2006
New Revision: 388578

URL: http://svn.apache.org/viewcvs?rev=388578view=rev
Log:
include RELEASE-NOTES.txt in dist archives.

Modified:
jakarta/commons/proper/pool/branches/1_3_RELEASE_BRANCH/maven.xml

Modified: jakarta/commons/proper/pool/branches/1_3_RELEASE_BRANCH/maven.xml
URL: 
http://svn.apache.org/viewcvs/jakarta/commons/proper/pool/branches/1_3_RELEASE_BRANCH/maven.xml?rev=388578r1=388577r2=388578view=diff
==
--- jakarta/commons/proper/pool/branches/1_3_RELEASE_BRANCH/maven.xml (original)
+++ jakarta/commons/proper/pool/branches/1_3_RELEASE_BRANCH/maven.xml Fri Mar 
24 08:53:54 2006
@@ -26,6 +26,7 @@
 ant:copy todir=${maven.dist.bin.assembly.dir}
   ant:fileset dir=.
 ant:include name=NOTICE.txt/
+ant:include name=RELEASE-NOTES.txt/
   /ant:fileset
 /ant:copy
 
@@ -45,6 +46,7 @@
 ant:copy todir=${maven.dist.src.assembly.dir}
   ant:fileset dir=.
 ant:include name=NOTICE.txt/
+ant:include name=RELEASE-NOTES.txt/
 ant:include name=build.properties.sample/
   /ant:fileset
 /ant:copy



-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



svn commit: r388619 - in /jakarta/commons/proper/pool/trunk/src/test/org/apache/commons/pool: ./ composite/ impl/

2006-03-24 Thread sandymac
Author: sandymac
Date: Fri Mar 24 11:51:47 2006
New Revision: 388619

URL: http://svn.apache.org/viewcvs?rev=388619view=rev
Log:
unit test improvements and refactoring

Modified:

jakarta/commons/proper/pool/trunk/src/test/org/apache/commons/pool/TestBaseObjectPool.java

jakarta/commons/proper/pool/trunk/src/test/org/apache/commons/pool/TestObjectPool.java

jakarta/commons/proper/pool/trunk/src/test/org/apache/commons/pool/composite/TestCompositeObjectPool.java

jakarta/commons/proper/pool/trunk/src/test/org/apache/commons/pool/impl/TestGenericObjectPool.java

jakarta/commons/proper/pool/trunk/src/test/org/apache/commons/pool/impl/TestSoftRefOutOfMemory.java

jakarta/commons/proper/pool/trunk/src/test/org/apache/commons/pool/impl/TestSoftReferenceObjectPool.java

jakarta/commons/proper/pool/trunk/src/test/org/apache/commons/pool/impl/TestStackObjectPool.java

Modified: 
jakarta/commons/proper/pool/trunk/src/test/org/apache/commons/pool/TestBaseObjectPool.java
URL: 
http://svn.apache.org/viewcvs/jakarta/commons/proper/pool/trunk/src/test/org/apache/commons/pool/TestBaseObjectPool.java?rev=388619r1=388618r2=388619view=diff
==
--- 
jakarta/commons/proper/pool/trunk/src/test/org/apache/commons/pool/TestBaseObjectPool.java
 (original)
+++ 
jakarta/commons/proper/pool/trunk/src/test/org/apache/commons/pool/TestBaseObjectPool.java
 Fri Mar 24 11:51:47 2006
@@ -16,7 +16,6 @@
 package org.apache.commons.pool;
 
 import junit.framework.Test;
-import junit.framework.TestCase;
 import junit.framework.TestSuite;
 
 /**
@@ -24,7 +23,9 @@
  * @author Sandy McArthur
  * @version $Revision$ $Date$ 
  */
-public class TestBaseObjectPool extends TestCase {
+public class TestBaseObjectPool extends TestObjectPool {
+private ObjectPool _pool = null;
+
 public TestBaseObjectPool(String testName) {
 super(testName);
 }
@@ -33,6 +34,41 @@
 return new TestSuite(TestBaseObjectPool.class);
 }
 
+protected ObjectPool makeEmptyPool(int mincapacity) {
+if (this.getClass() != TestBaseObjectPool.class) {
+throw new AssertionError(Subclasses of TestBaseObjectPool must 
reimplement this method.);
+}
+throw new UnsupportedOperationException(BaseObjectPool isn't a 
complete implementation.);
+}
+
+protected ObjectPool makeEmptyPool(final PoolableObjectFactory factory) {
+if (this.getClass() != TestBaseObjectPool.class) {
+throw new AssertionError(Subclasses of TestBaseObjectPool must 
reimplement this method.);
+}
+throw new UnsupportedOperationException(BaseObjectPool isn't a 
complete implementation.);
+}
+
+protected Object getNthObject(final int n) {
+if (this.getClass() != TestBaseObjectPool.class) {
+throw new AssertionError(Subclasses of TestBaseObjectPool must 
reimplement this method.);
+}
+throw new UnsupportedOperationException(BaseObjectPool isn't a 
complete implementation.);
+}
+
+protected boolean isLifo() {
+if (this.getClass() != TestBaseObjectPool.class) {
+throw new AssertionError(Subclasses of TestBaseObjectPool must 
reimplement this method.);
+}
+return false;
+}
+
+protected boolean isFifo() {
+if (this.getClass() != TestBaseObjectPool.class) {
+throw new AssertionError(Subclasses of TestBaseObjectPool must 
reimplement this method.);
+}
+return false;
+}
+
 // tests
 public void testUnsupportedOperations() throws Exception {
 ObjectPool pool = new BaseObjectPool() { 
@@ -83,5 +119,160 @@
 
 pool.close();
 pool.close(); // should not error as of Pool 2.0.
+}
+
+public void testBaseBorrow() throws Exception {
+try {
+_pool = makeEmptyPool(3);
+} catch(UnsupportedOperationException e) {
+return; // skip this test if unsupported
+}
+assertEquals(getNthObject(0),_pool.borrowObject());
+assertEquals(getNthObject(1),_pool.borrowObject());
+assertEquals(getNthObject(2),_pool.borrowObject());
+}
+
+public void testBaseAddObject() throws Exception {
+try {
+_pool = makeEmptyPool(3);
+} catch(UnsupportedOperationException e) {
+return; // skip this test if unsupported
+}
+try {
+assertEquals(0,_pool.getNumIdle());
+assertEquals(0,_pool.getNumActive());
+_pool.addObject();
+assertEquals(1,_pool.getNumIdle());
+assertEquals(0,_pool.getNumActive());
+Object obj = _pool.borrowObject();
+assertEquals(getNthObject(0),obj);
+assertEquals(0,_pool.getNumIdle());
+assertEquals(1,_pool.getNumActive());
+_pool.returnObject(obj);
+assertEquals(1,_pool.getNumIdle

svn commit: r388706 - in /jakarta/commons/proper/pool/trunk/src: java/org/apache/commons/pool/composite/CompositeObjectPool.java test/org/apache/commons/pool/composite/TestCompositeObjectPool.java

2006-03-24 Thread sandymac
Author: sandymac
Date: Fri Mar 24 21:30:47 2006
New Revision: 388706

URL: http://svn.apache.org/viewcvs?rev=388706view=rev
Log:
Updates TestCompositeObjectPool to use Pool 2 contract tests in TestObjectPool.
CompositeObjectPool.addObject shouldn't swallow exceptions from 
PoolableObjectFactory.passivateObject

Modified:

jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/composite/CompositeObjectPool.java

jakarta/commons/proper/pool/trunk/src/test/org/apache/commons/pool/composite/TestCompositeObjectPool.java

Modified: 
jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/composite/CompositeObjectPool.java
URL: 
http://svn.apache.org/viewcvs/jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/composite/CompositeObjectPool.java?rev=388706r1=388705r2=388706view=diff
==
--- 
jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/composite/CompositeObjectPool.java
 (original)
+++ 
jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/composite/CompositeObjectPool.java
 Fri Mar 24 21:30:47 2006
@@ -174,8 +174,14 @@
 assertOpen();
 synchronized (pool) {
 final Object obj = factory.makeObject();
-tracker.borrowed(obj); // pretend it was borrowed so it can be 
returned.
-returnObject(obj);
+factory.passivateObject(obj);
+// if the pool is closed, discard returned objects
+if (isOpen()) {
+manager.returnToPool(obj);
+} else {
+tracker.borrowed(obj); // pretend it was borrowed so it can be 
invalidated.
+invalidateObject(obj);
+}
 }
 }
 
@@ -243,10 +249,12 @@
 }
 
 synchronized (pool) {
-tracker.returned(obj);
 // if the pool is closed, discard returned objects
 if (isOpen()) {
+tracker.returned(obj);
 manager.returnToPool(obj);
+} else {
+invalidateObject(obj);
 }
 }
 }

Modified: 
jakarta/commons/proper/pool/trunk/src/test/org/apache/commons/pool/composite/TestCompositeObjectPool.java
URL: 
http://svn.apache.org/viewcvs/jakarta/commons/proper/pool/trunk/src/test/org/apache/commons/pool/composite/TestCompositeObjectPool.java?rev=388706r1=388705r2=388706view=diff
==
--- 
jakarta/commons/proper/pool/trunk/src/test/org/apache/commons/pool/composite/TestCompositeObjectPool.java
 (original)
+++ 
jakarta/commons/proper/pool/trunk/src/test/org/apache/commons/pool/composite/TestCompositeObjectPool.java
 Fri Mar 24 21:30:47 2006
@@ -16,17 +16,17 @@
 
 package org.apache.commons.pool.composite;
 
-import junit.framework.TestCase;
 import org.apache.commons.pool.BasePoolableObjectFactory;
+import org.apache.commons.pool.ObjectPool;
 import org.apache.commons.pool.PoolableObjectFactory;
 import org.apache.commons.pool.TestObjectPool;
 
+import java.util.ArrayList;
+import java.util.LinkedList;
+import java.util.List;
 import java.util.NoSuchElementException;
 import java.util.SortedSet;
 import java.util.TreeSet;
-import java.util.List;
-import java.util.ArrayList;
-import java.util.LinkedList;
 
 /**
  * Test [EMAIL PROTECTED] CompositeObjectPool} and it's components.
@@ -35,9 +35,13 @@
  * @since #.#
  * @version $Revision$ $Date$
  */
-public class TestCompositeObjectPool extends TestCase {
+public class TestCompositeObjectPool extends TestObjectPool {
 private CompositeObjectPool pool = null;
 
+public TestCompositeObjectPool(final String testName) {
+super(testName);
+}
+
 public void setUp() throws Exception {
 }
 
@@ -46,6 +50,11 @@
 pool.close();
 pool = null;
 }
+}
+
+protected ObjectPool makeEmptyPool(final PoolableObjectFactory factory) {
+final CompositeObjectPoolFactory copf = new 
CompositeObjectPoolFactory(factory);
+return copf.createPool();
 }
 
 // Test Managers --



-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



svn commit: r388715 - in /jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/composite: EvictorLender.java InvalidEvictorLender.java Lender.java SoftLender.java

2006-03-24 Thread sandymac
Author: sandymac
Date: Fri Mar 24 23:00:41 2006
New Revision: 388715

URL: http://svn.apache.org/viewcvs?rev=388715view=rev
Log:
Fixed a bug where the InvalidEvictorLender didn't properly unwrap
objects before passing them to the PoolableObjectFactory.

Modified:

jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/composite/EvictorLender.java

jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/composite/InvalidEvictorLender.java

jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/composite/Lender.java

jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/composite/SoftLender.java

Modified: 
jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/composite/EvictorLender.java
URL: 
http://svn.apache.org/viewcvs/jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/composite/EvictorLender.java?rev=388715r1=388714r2=388715view=diff
==
--- 
jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/composite/EvictorLender.java
 (original)
+++ 
jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/composite/EvictorLender.java
 Fri Mar 24 23:00:41 2006
@@ -130,7 +130,7 @@
  * This is designed to mimick the [EMAIL PROTECTED] Reference} api.
  * The only reason a [EMAIL PROTECTED] Reference} subclass isn't used is 
there is no StrongReference implementation.
  */
-protected interface EvictorReference {
+protected interface EvictorReference extends LenderReference {
 /**
  * Returns this evictor reference's referent.
  *

Modified: 
jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/composite/InvalidEvictorLender.java
URL: 
http://svn.apache.org/viewcvs/jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/composite/InvalidEvictorLender.java?rev=388715r1=388714r2=388715view=diff
==
--- 
jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/composite/InvalidEvictorLender.java
 (original)
+++ 
jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/composite/InvalidEvictorLender.java
 Fri Mar 24 23:00:41 2006
@@ -144,16 +144,23 @@
 
 final PoolableObjectFactory factory = 
getObjectPool().getFactory();
 synchronized(getObjectPool().getPool()) {
-if (referant == null) {
+// Unwrap any LenderReferences
+Object r = referant;
+while (r instanceof LenderReference) {
+r = ((LenderReference)r).get();
+}
+
+if (r == null) {
 cancel();
 return;
 }
+
 try {
-factory.activateObject(referant);
-if (factory.validateObject(referant)) {
-factory.passivateObject(referant);
+factory.activateObject(r);
+if (factory.validateObject(r)) {
+factory.passivateObject(r);
 } else {
-factory.destroyObject(referant);
+factory.destroyObject(r);
 clear();
 }
 } catch (Exception e) {

Modified: 
jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/composite/Lender.java
URL: 
http://svn.apache.org/viewcvs/jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/composite/Lender.java?rev=388715r1=388714r2=388715view=diff
==
--- 
jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/composite/Lender.java
 (original)
+++ 
jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/composite/Lender.java
 Fri Mar 24 23:00:41 2006
@@ -17,6 +17,7 @@
 package org.apache.commons.pool.composite;
 
 import java.util.ListIterator;
+import java.lang.ref.Reference;
 
 /**
  * Handles how idle objects are added and removed from the idle object pool.
@@ -75,4 +76,14 @@
  * @return the size of the idle object pool the lender is accessing.
  */
 public int size();
+
+/**
+ * Like a [EMAIL PROTECTED] Reference} but allows a strong reference.
+ */
+interface LenderReference {
+/**
+ * Like [EMAIL PROTECTED] Reference#get}.
+ */
+public Object get();
+}
 }

Modified: 
jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/composite/SoftLender.java
URL: 
http://svn.apache.org/viewcvs/jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/composite/SoftLender.java?rev=388715r1=388714r2=388715view=diff

svn commit: r388716 - in /jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/composite: CompositeObjectPool.java EvictorLender.java

2006-03-24 Thread sandymac
Author: sandymac
Date: Fri Mar 24 23:03:00 2006
New Revision: 388716

URL: http://svn.apache.org/viewcvs?rev=388716view=rev
Log:
Move the shared timer to the CompositeObjectPool class.

Modified:

jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/composite/CompositeObjectPool.java

jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/composite/EvictorLender.java

Modified: 
jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/composite/CompositeObjectPool.java
URL: 
http://svn.apache.org/viewcvs/jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/composite/CompositeObjectPool.java?rev=388716r1=388715r2=388716view=diff
==
--- 
jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/composite/CompositeObjectPool.java
 (original)
+++ 
jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/composite/CompositeObjectPool.java
 Fri Mar 24 23:03:00 2006
@@ -23,6 +23,7 @@
 import java.util.ArrayList;
 import java.util.LinkedList;
 import java.util.List;
+import java.util.Timer;
 
 /**
  * An object pool who's behavior and functionality is determined by 
composition.
@@ -51,6 +52,12 @@
 final class CompositeObjectPool implements ObjectPool, Cloneable, Serializable 
{
 
 private static final long serialVersionUID = -5874499972956918952L;
+
+/**
+ * Shared Timer for use by various parts of the composite implementation.
+ * XXX: When Java 1.5 is acceptable convert this to a 
java.util.concurrent.ScheduledThreadPoolExecutor
+ */
+static final Timer COMPOSITE_TIMER = new Timer(true);
 
 /**
  * Factory used by this pool.

Modified: 
jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/composite/EvictorLender.java
URL: 
http://svn.apache.org/viewcvs/jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/composite/EvictorLender.java?rev=388716r1=388715r2=388716view=diff
==
--- 
jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/composite/EvictorLender.java
 (original)
+++ 
jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/composite/EvictorLender.java
 Fri Mar 24 23:03:00 2006
@@ -35,11 +35,6 @@
 private static final long serialVersionUID = 4040627184050939757L;
 
 /**
- * Shared evictor timer used by all [EMAIL PROTECTED] EvictorLender}s.
- */
-private static final Timer EVICTOR = new Timer(true);
-
-/**
  * If this evictor delegates to another evictor then don't bother pruning 
when [EMAIL PROTECTED] #size()} is called because the
  * delegate will do that too.
  */
@@ -123,7 +118,7 @@
  */
 protected final Timer getTimer() {
 // Future version may want to manage more than one TimerTask. For now 
one is fine.
-return EVICTOR;
+return CompositeObjectPool.COMPOSITE_TIMER;
 }
 
 /**



-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



svn commit: r388382 - in /jakarta/commons/proper/pool/trunk/src: java/org/apache/commons/pool/composite/ test/org/apache/commons/pool/composite/

2006-03-23 Thread sandymac
Author: sandymac
Date: Thu Mar 23 21:30:41 2006
New Revision: 388382

URL: http://svn.apache.org/viewcvs?rev=388382view=rev
Log:
many JavaDoc clean ups
behavior chages for pool 2 contracts
key handling fixes for close and clear methods in CompositeKeyedObjectPool

Modified:

jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/composite/AbstractManager.java

jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/composite/CompositeKeyedObjectPool.java

jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/composite/CompositeObjectPool.java

jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/composite/DelegateManager.java

jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/composite/IdleLimitManager.java

jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/composite/KeyedPoolableObjectFactoryAdapter.java

jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/composite/Manager.java

jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/composite/NullTracker.java

jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/composite/Tracker.java

jakarta/commons/proper/pool/trunk/src/test/org/apache/commons/pool/composite/TestCompositeObjectPool.java

Modified: 
jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/composite/AbstractManager.java
URL: 
http://svn.apache.org/viewcvs/jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/composite/AbstractManager.java?rev=388382r1=388381r2=388382view=diff
==
--- 
jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/composite/AbstractManager.java
 (original)
+++ 
jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/composite/AbstractManager.java
 Thu Mar 23 21:30:41 2006
@@ -70,9 +70,8 @@
  * Return an object to the pool. Object will be [EMAIL PROTECTED] 
PoolableObjectFactory#passivateObject(Object) passivated}.
  *
  * @param obj the object to return to the pool.
- * @throws Exception as thrown by [EMAIL PROTECTED] 
PoolableObjectFactory#passivateObject(Object)}.
  */
-public void returnToPool(final Object obj) throws Exception {
+public void returnToPool(final Object obj) {
 assert Thread.holdsLock(objectPool.getPool());
 objectPool.getLender().repay(obj);
 }

Modified: 
jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/composite/CompositeKeyedObjectPool.java
URL: 
http://svn.apache.org/viewcvs/jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/composite/CompositeKeyedObjectPool.java?rev=388382r1=388381r2=388382view=diff
==
--- 
jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/composite/CompositeKeyedObjectPool.java
 (original)
+++ 
jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/composite/CompositeKeyedObjectPool.java
 Thu Mar 23 21:30:41 2006
@@ -106,18 +106,15 @@
 }
 
 /**
- * Obtain an instance from my pool
- * for the specified ikey/i.
- * By contract, clients MUST return
- * the borrowed object using
- * [EMAIL PROTECTED] #returnObject(Object,Object) ttreturnObject/tt},
- * or a related method as defined in an implementation
- * or sub-interface,
- * using a ikey/i that is equivalent to the one used to
+ * Obtain an instance from this pool for the specified codekey/code.
+ * By contract, clients strongmust/strong return the borrowed object 
using
+ * [EMAIL PROTECTED] #returnObject(Object,Object) 
codereturnObject/code},
+ * or a related method as defined in an implementation or sub-interface,
+ * using a codekey/code that is equivalent to the one used to
  * borrow the instance in the first place.
  *
  * @param key the key used to obtain the object
- * @return an instance from my pool.
+ * @return an instance from this pool.
  * @throws Exception if there is an unexpected problem.
  */
 public Object borrowObject(final Object key) throws Exception {
@@ -136,26 +133,26 @@
 }
 
 /**
- * Return an instance to my pool.
- * By contract, iobj/i MUST have been obtained
- * using [EMAIL PROTECTED] #borrowObject(Object) ttborrowObject/tt}
- * or a related method as defined in an implementation
- * or sub-interface
- * using a ikey/i that is equivalent to the one used to
- * borrow the ttObject/tt in the first place.
+ * Return an instance to this pool. By contract, codeobj/code
+ * strongmust/strong have been obtained using
+ * [EMAIL PROTECTED] #borrowObject borrowObject} or a related method as 
defined
+ * in an implementation or sub-interface using a codekey/code that
+ * is equivalent to the one used to borrow the codeObject/code

svn commit: r387888 - in /jakarta/commons/proper/pool: branches/1_3_RELEASE_BRANCH/maven.xml trunk/maven.xml

2006-03-22 Thread sandymac
Author: sandymac
Date: Wed Mar 22 08:46:52 2006
New Revision: 387888

URL: http://svn.apache.org/viewcvs?rev=387888view=rev
Log:
include *filename in the generated .md5 files.

Modified:
jakarta/commons/proper/pool/branches/1_3_RELEASE_BRANCH/maven.xml
jakarta/commons/proper/pool/trunk/maven.xml

Modified: jakarta/commons/proper/pool/branches/1_3_RELEASE_BRANCH/maven.xml
URL: 
http://svn.apache.org/viewcvs/jakarta/commons/proper/pool/branches/1_3_RELEASE_BRANCH/maven.xml?rev=387888r1=387887r2=387888view=diff
==
--- jakarta/commons/proper/pool/branches/1_3_RELEASE_BRANCH/maven.xml (original)
+++ jakarta/commons/proper/pool/branches/1_3_RELEASE_BRANCH/maven.xml Wed Mar 
22 08:46:52 2006
@@ -66,15 +66,27 @@
   postGoal name=dist:build-bin
 j:set var=distDir 
value=${pom.getPluginContext('maven-dist-plugin').getVariable('maven.dist.dir')}/
 j:set var=finalName 
value=${pom.getPluginContext('maven-dist-plugin').getVariable('maven.final.name')}/
-ant:checksum file=${distDir}/${finalName}.tar.gz algorithm=MD5 
fileext=.md5/
-ant:checksum file=${distDir}/${finalName}.zip algorithm=MD5 
fileext=.md5/
+
+!-- create checksum for binary tar.gz --
+ant:checksum file=${distDir}/${finalName}.tar.gz property=tar.gz.md5/
+ant:echo message=${tar.gz.md5} *${finalName}.tar.gz 
file=${distDir}/${finalName}.tar.gz.md5 /
+
+!-- create checksum for binary zip --
+ant:checksum file=${distDir}/${finalName}.zip property=zip.md5/
+ant:echo message=${zip.md5} *${finalName}.zip 
file=${distDir}/${finalName}.zip.md5 /
   /postGoal
   
   postGoal name=dist:build-src
 j:set var=distDir 
value=${pom.getPluginContext('maven-dist-plugin').getVariable('maven.dist.dir')}/
 j:set var=finalName 
value=${pom.getPluginContext('maven-dist-plugin').getVariable('maven.final.name')}/
-ant:checksum file=${distDir}/${finalName}-src.tar.gz algorithm=MD5 
fileext=.md5/
-ant:checksum file=${distDir}/${finalName}-src.zip algorithm=MD5 
fileext=.md5/
+
+!-- create checksum for source tar.gz --
+ant:checksum file=${distDir}/${finalName}-src.tar.gz 
property=src.tar.gz.md5/
+ant:echo message=${src.tar.gz.md5} *${finalName}-src.tar.gz 
file=${distDir}/${finalName}-src.tar.gz.md5 /
+
+!-- create checksum for source zip --
+ant:checksum file=${distDir}/${finalName}-src.zip 
property=src.zip.md5/
+ant:echo message=${src.zip.md5} *${finalName}-src.zip 
file=${distDir}/${finalName}-src.zip.md5 /
   /postGoal
   
 /project

Modified: jakarta/commons/proper/pool/trunk/maven.xml
URL: 
http://svn.apache.org/viewcvs/jakarta/commons/proper/pool/trunk/maven.xml?rev=387888r1=387887r2=387888view=diff
==
--- jakarta/commons/proper/pool/trunk/maven.xml (original)
+++ jakarta/commons/proper/pool/trunk/maven.xml Wed Mar 22 08:46:52 2006
@@ -65,15 +65,27 @@
   postGoal name=dist:build-bin
 j:set var=distDir 
value=${pom.getPluginContext('maven-dist-plugin').getVariable('maven.dist.dir')}/
 j:set var=finalName 
value=${pom.getPluginContext('maven-dist-plugin').getVariable('maven.final.name')}/
-ant:checksum file=${distDir}/${finalName}.tar.gz algorithm=MD5 
fileext=.md5/
-ant:checksum file=${distDir}/${finalName}.zip algorithm=MD5 
fileext=.md5/
+
+!-- create checksum for binary tar.gz --
+ant:checksum file=${distDir}/${finalName}.tar.gz property=tar.gz.md5/
+ant:echo message=${tar.gz.md5} *${finalName}.tar.gz 
file=${distDir}/${finalName}.tar.gz.md5 /
+
+!-- create checksum for binary zip --
+ant:checksum file=${distDir}/${finalName}.zip property=zip.md5/
+ant:echo message=${zip.md5} *${finalName}.zip 
file=${distDir}/${finalName}.zip.md5 /
   /postGoal
   
   postGoal name=dist:build-src
 j:set var=distDir 
value=${pom.getPluginContext('maven-dist-plugin').getVariable('maven.dist.dir')}/
 j:set var=finalName 
value=${pom.getPluginContext('maven-dist-plugin').getVariable('maven.final.name')}/
-ant:checksum file=${distDir}/${finalName}-src.tar.gz algorithm=MD5 
fileext=.md5/
-ant:checksum file=${distDir}/${finalName}-src.zip algorithm=MD5 
fileext=.md5/
+
+!-- create checksum for source tar.gz --
+ant:checksum file=${distDir}/${finalName}-src.tar.gz 
property=src.tar.gz.md5/
+ant:echo message=${src.tar.gz.md5} *${finalName}-src.tar.gz 
file=${distDir}/${finalName}-src.tar.gz.md5 /
+
+!-- create checksum for source zip --
+ant:checksum file=${distDir}/${finalName}-src.zip 
property=src.zip.md5/
+ant:echo message=${src.zip.md5} *${finalName}-src.zip 
file=${distDir}/${finalName}-src.zip.md5 /
   /postGoal
   
 /project



-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



svn commit: r387892 - in /jakarta/commons/proper/pool/branches/1_3_RELEASE_BRANCH: README.txt xdocs/release-notes-1.3.xml

2006-03-22 Thread sandymac
Author: sandymac
Date: Wed Mar 22 09:13:02 2006
New Revision: 387892

URL: http://svn.apache.org/viewcvs?rev=387892view=rev
Log:
Updated README with a release notes summary.

Modified:
jakarta/commons/proper/pool/branches/1_3_RELEASE_BRANCH/README.txt

jakarta/commons/proper/pool/branches/1_3_RELEASE_BRANCH/xdocs/release-notes-1.3.xml

Modified: jakarta/commons/proper/pool/branches/1_3_RELEASE_BRANCH/README.txt
URL: 
http://svn.apache.org/viewcvs/jakarta/commons/proper/pool/branches/1_3_RELEASE_BRANCH/README.txt?rev=387892r1=387891r2=387892view=diff
==
--- jakarta/commons/proper/pool/branches/1_3_RELEASE_BRANCH/README.txt 
(original)
+++ jakarta/commons/proper/pool/branches/1_3_RELEASE_BRANCH/README.txt Wed Mar 
22 09:13:02 2006
@@ -1,2 +1,23 @@
 See http://jakarta.apache.org/commons/pool/ for additional and 
 up-to-date information on Commons Pool.
+
+Pool 1.3 is largely a bug fix only release. For a complete set of release
+notes see: http://jakarta.apache.org/commons/pool/release-notes-1.3.html
+
+Notable Bugfixes since 1.2:
+
+* GenericObjectPools are now a FIFOs. Previously they was documented as such
+  but actually implemented as a LIFOs.
+
+* Synchronizations improvements across all implementations.
+
+Notable Additions since 1.2:
+
+* GenericObjectPool introduced a SoftMinEvictableIdleTimeMillis property
+  which can be used to evict idle objects so long as their eviction
+  would maintain the requested minIdle count.
+
+* PoolUtils contains a number of utility methods to decorate pools.
+
+* The one dependency on Commons Collections has been removed (okay,
+  technically a deletion) and the only requirement is Java 1.3 or above.
\ No newline at end of file

Modified: 
jakarta/commons/proper/pool/branches/1_3_RELEASE_BRANCH/xdocs/release-notes-1.3.xml
URL: 
http://svn.apache.org/viewcvs/jakarta/commons/proper/pool/branches/1_3_RELEASE_BRANCH/xdocs/release-notes-1.3.xml?rev=387892r1=387891r2=387892view=diff
==
--- 
jakarta/commons/proper/pool/branches/1_3_RELEASE_BRANCH/xdocs/release-notes-1.3.xml
 (original)
+++ 
jakarta/commons/proper/pool/branches/1_3_RELEASE_BRANCH/xdocs/release-notes-1.3.xml
 Wed Mar 22 09:13:02 2006
@@ -47,6 +47,11 @@
 /li
 li
 p
+The PoolUtils class with a number static decorator methods has 
been added. 
+/p
+/li
+li
+p
 The following issues were resolved since v1.2: (see Bugzilla for 
complete description)
 /p
 table



-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



svn commit: r387977 - /jakarta/commons/proper/pool/branches/1_3_RELEASE_BRANCH/README.txt

2006-03-22 Thread sandymac
Author: sandymac
Date: Wed Mar 22 16:16:19 2006
New Revision: 387977

URL: http://svn.apache.org/viewcvs?rev=387977view=rev
Log:
Added blurb about non-determinist unit tests for the source distribution.

Modified:
jakarta/commons/proper/pool/branches/1_3_RELEASE_BRANCH/README.txt

Modified: jakarta/commons/proper/pool/branches/1_3_RELEASE_BRANCH/README.txt
URL: 
http://svn.apache.org/viewcvs/jakarta/commons/proper/pool/branches/1_3_RELEASE_BRANCH/README.txt?rev=387977r1=387976r2=387977view=diff
==
--- jakarta/commons/proper/pool/branches/1_3_RELEASE_BRANCH/README.txt 
(original)
+++ jakarta/commons/proper/pool/branches/1_3_RELEASE_BRANCH/README.txt Wed Mar 
22 16:16:19 2006
@@ -20,4 +20,15 @@
 * PoolUtils contains a number of utility methods to decorate pools.
 
 * The one dependency on Commons Collections has been removed (okay,
-  technically a deletion) and the only requirement is Java 1.3 or above.
\ No newline at end of file
+  technically a deletion) and the only requirement is Java 1.3 or above.
+
+Miscellaneous issues:
+
+Some of the unit tests may fail spuriously because they are trying to test
+behavior that depends on the thread scheduler or the garbage collector. If
+you get a test failure that has evictor or thread in the test name,
+please run this test a few times before reporting a bug report for it. If
+you know how to make one of these unit tests better, please submit a patch.
+
+
+The Apache Jakarta Commons Team, March 2006
\ No newline at end of file



-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



svn commit: r388017 - in /jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/composite: CompositeKeyedObjectPoolFactory.java CompositeObjectPoolFactory.java

2006-03-22 Thread sandymac
Author: sandymac
Date: Wed Mar 22 19:56:22 2006
New Revision: 388017

URL: http://svn.apache.org/viewcvs?rev=388017view=rev
Log:
Renamed maxActive and maxIdle to maxActivePerKey and maxIdlePerKey properties
in CompositeKeyedObjectPoolFactory so their name fit thier function.

Modified:

jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/composite/CompositeKeyedObjectPoolFactory.java

jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/composite/CompositeObjectPoolFactory.java

Modified: 
jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/composite/CompositeKeyedObjectPoolFactory.java
URL: 
http://svn.apache.org/viewcvs/jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/composite/CompositeKeyedObjectPoolFactory.java?rev=388017r1=388016r2=388017view=diff
==
--- 
jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/composite/CompositeKeyedObjectPoolFactory.java
 (original)
+++ 
jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/composite/CompositeKeyedObjectPoolFactory.java
 Wed Mar 22 19:56:22 2006
@@ -236,44 +236,46 @@
 }
 
 /**
- * Maximum number of idle objects in the pool.
+ * Maximum number of idle objects in the pool for each key.
  * A negative value means unlimited.
  * Zero means the pool will behave like a factory.
  * A positve value limits the number of idle objects.
  *
- * @return a non-negative value is the maximum number of idle objects in 
the pool, else unlimited.
+ * @return a non-negative value is the maximum number of idle objects in 
the pool for each key, else unlimited.
  */
-public int getMaxIdle() {
+public int getMaxIdlePerKey() {
 return factory.getMaxIdle();
 }
 
 /**
- * Set the maximum number of idle objects in the pool.
+ * Set the maximum number of idle objects in the pool for each key.
  * A negative value means unlimited.
  * Zero means the pool will behave like a factory.
  * A positve value limits the number of idle objects.
  *
- * @param maxIdle a non-negative value is the maximum number of idle 
objects in the pool, else unlimited.
+ * @param maxIdle a non-negative value is the maximum number of idle 
objects in the pool for each key, else unlimited.
  */
-public void setMaxIdle(final int maxIdle) {
+public void setMaxIdlePerKey(final int maxIdle) {
 factory.setMaxIdle(maxIdle);
 }
 
 /**
- * Maximum number of active objects borrowed from this pool. A 
non-positive value means there is no limit.
+ * Maximum number of active objects borrowed from this pool for each key.
+ * A non-positive value means there is no limit.
  *
- * @return if gt; 0 the the maximum number of active objects else 
unlimited.
+ * @return if gt; 0 the the maximum number of active objects for each key 
else unlimited.
  */
-public int getMaxActive() {
+public int getMaxActivePerKey() {
 return factory.getMaxActive();
 }
 
 /**
- * Set the maximum active objects borrowed from this pool. Any 
non-positive value means there is no limit.
+ * Set the maximum number of active objects borrowed from this pool for 
each key.
+ * Any non-positive value means there is no limit.
  *
- * @param maxActive the limit of active objects from the pool or lt;= 0 
for unlimited.
+ * @param maxActive the limit for each key of active objects from the pool 
or lt;= 0 for unlimited.
  */
-public void setMaxActive(final int maxActive) {
+public void setMaxActivePerKey(final int maxActive) {
 factory.setMaxActive(maxActive);
 }
 

Modified: 
jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/composite/CompositeObjectPoolFactory.java
URL: 
http://svn.apache.org/viewcvs/jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/composite/CompositeObjectPoolFactory.java?rev=388017r1=388016r2=388017view=diff
==
--- 
jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/composite/CompositeObjectPoolFactory.java
 (original)
+++ 
jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/composite/CompositeObjectPoolFactory.java
 Wed Mar 22 19:56:22 2006
@@ -526,7 +526,7 @@
 }
 
 /**
- * Set the maximum objects associated with this pool. Any non-positive 
value means there is no limit.
+ * Set the maximum number of objects associated with this pool. Any 
non-positive value means there is no limit.
  *
  * @param maxActive the limit of active and idle objects in the pool or 
lt;= 0 for no limit.
  */



-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



svn commit: r388022 - in /jakarta/commons/proper/pool/trunk/src: java/org/apache/commons/pool/composite/ test/org/apache/commons/pool/composite/

2006-03-22 Thread sandymac
Author: sandymac
Date: Wed Mar 22 20:01:52 2006
New Revision: 388022

URL: http://svn.apache.org/viewcvs?rev=388022view=rev
Log:
added svn:keywords and svn:eol-style properties

Modified:

jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/composite/AbstractLender.java
   (props changed)

jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/composite/AbstractManager.java
   (props changed)

jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/composite/ActiveLimitManager.java
   (props changed)

jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/composite/BorrowType.java
   (props changed)

jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/composite/CompositeKeyedObjectPool.java
   (props changed)

jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/composite/CompositeKeyedObjectPoolFactory.java
   (props changed)

jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/composite/CompositeObjectPool.java
   (props changed)

jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/composite/CompositeObjectPoolFactory.java
   (props changed)

jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/composite/DebugTracker.java
   (props changed)

jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/composite/DelegateLender.java
   (props changed)

jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/composite/DelegateManager.java
   (props changed)

jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/composite/EvictorLender.java
   (props changed)

jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/composite/ExhaustionBehavior.java
   (props changed)

jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/composite/FailLimitManager.java
   (props changed)

jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/composite/FailManager.java
   (props changed)

jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/composite/FifoLender.java
   (props changed)

jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/composite/GrowManager.java
   (props changed)

jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/composite/IdleEvictorLender.java
   (props changed)

jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/composite/IdleLimitManager.java
   (props changed)

jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/composite/InvalidEvictorLender.java
   (props changed)

jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/composite/KeyedPoolableObjectFactoryAdapter.java
   (props changed)

jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/composite/Lender.java
   (props changed)

jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/composite/LifoLender.java
   (props changed)

jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/composite/LimitBehavior.java
   (props changed)

jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/composite/Manager.java
   (props changed)

jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/composite/NullLender.java
   (props changed)

jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/composite/NullTracker.java
   (props changed)

jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/composite/ReferenceTracker.java
   (props changed)

jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/composite/SimpleTracker.java
   (props changed)

jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/composite/SoftLender.java
   (props changed)

jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/composite/Tracker.java
   (props changed)

jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/composite/TrackingType.java
   (props changed)

jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/composite/WaitLimitManager.java
   (props changed)

jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/composite/package.html
   (props changed)

jakarta/commons/proper/pool/trunk/src/test/org/apache/commons/pool/composite/PerformanceTest.java
   (props changed)

jakarta/commons/proper/pool/trunk/src/test/org/apache/commons/pool/composite/TestCompositeObjectPool.java
   (props changed)

Propchange: 
jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/composite/AbstractLender.java
--
svn:eol-style = native

Propchange: 
jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/composite/AbstractLender.java

svn commit: r388047 - /jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/composite/

2006-03-22 Thread sandymac
Author: sandymac
Date: Wed Mar 22 21:34:56 2006
New Revision: 388047

URL: http://svn.apache.org/viewcvs?rev=388047view=rev
Log:
JavaDoc clean ups and speeling corrections. :-)

Modified:

jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/composite/BorrowType.java

jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/composite/CompositeKeyedObjectPoolFactory.java

jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/composite/CompositeObjectPoolFactory.java

jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/composite/ExhaustionBehavior.java

jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/composite/IdleEvictorLender.java

jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/composite/InvalidEvictorLender.java

jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/composite/LimitBehavior.java

jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/composite/TrackingType.java

jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/composite/WaitLimitManager.java

jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/composite/package.html

Modified: 
jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/composite/BorrowType.java
URL: 
http://svn.apache.org/viewcvs/jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/composite/BorrowType.java?rev=388047r1=388046r2=388047view=diff
==
--- 
jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/composite/BorrowType.java
 (original)
+++ 
jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/composite/BorrowType.java
 Wed Mar 22 21:34:56 2006
@@ -60,7 +60,7 @@
 public static final BorrowType SOFT_LIFO = new BorrowType(SOFT_LIFO);
 
 /**
- * Never returns an object from the pool nor returns one to the pool. This 
basicly turns the pool into a factory,
+ * Never returns an object from the pool nor returns one to the pool. This 
basically turns the pool into a factory,
  * it may have some utility if used with [EMAIL PROTECTED] 
CompositeObjectPoolFactory#setMaxActive(int) maxActive}.
  * This is not compatible with [EMAIL PROTECTED] ExhaustionBehavior#FAIL}.
  */

Modified: 
jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/composite/CompositeKeyedObjectPoolFactory.java
URL: 
http://svn.apache.org/viewcvs/jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/composite/CompositeKeyedObjectPoolFactory.java?rev=388047r1=388046r2=388047view=diff
==
--- 
jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/composite/CompositeKeyedObjectPoolFactory.java
 (original)
+++ 
jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/composite/CompositeKeyedObjectPoolFactory.java
 Wed Mar 22 21:34:56 2006
@@ -26,12 +26,11 @@
 import java.io.Serializable;
 
 /**
- * [EMAIL PROTECTED] KeyedObjectPoolFactory} that builds a custom [EMAIL 
PROTECTED] KeyedObjectPool} via composition of custom
- * [EMAIL PROTECTED] ObjectPool}s.
+ * codeKeyedObjectPoolFactory/code that builds an optimized custom 
codeKeyedObjectPool/code with the requested feature set.
  *
- * pNote: Currently the default values and behavior is effectivly inherited 
from [EMAIL PROTECTED] CompositeObjectPoolFactory},
- * review it if you are uncertian about the behavior of this factory. Future 
verions of this factory may not inherit
- * behavior from the [EMAIL PROTECTED] CompositeObjectPoolFactory}.
+ * pNote: Currently the default values and behavior is effectively inherited 
from [EMAIL PROTECTED] CompositeObjectPoolFactory},
+ * review it if you are uncertain about the behavior of this factory. Future 
versions of this factory may not inherit
+ * behavior from the codeCompositeObjectPoolFactory/code.
  * /p
  *
  * @see CompositeObjectPoolFactory
@@ -53,9 +52,9 @@
 private final CompositeObjectPoolFactory factory;
 
 /**
- * Create a new keyed object pool factory witht he specific keyed object 
factory.
+ * Create a new keyed object pool factory with the specified keyed 
poolable object factory.
  *
- * @param factory the keyed object factory for this pool, must not be null.
+ * @param factory the factory for created pools, must not be 
codenull/code.
  * @throws IllegalArgumentException if codefactory/code is 
codenull/code.
  * @see #setKeyedFactory(KeyedPoolableObjectFactory)
  */
@@ -67,11 +66,11 @@
 }
 
 /**
- * Create a new keyed object pool factory with the specific object 
factory. This is a convenience constructor for
- * when you have a [EMAIL PROTECTED] PoolableObjectFactory} but want a 
[EMAIL PROTECTED] KeyedObjectPool} and the
- * [EMAIL PROTECTED] PoolableObjectFactory object

svn commit: r387692 - /jakarta/commons/proper/pool/trunk/project.properties

2006-03-21 Thread sandymac
Author: sandymac
Date: Tue Mar 21 18:43:01 2006
New Revision: 387692

URL: http://svn.apache.org/viewcvs?rev=387692view=rev
Log:
Specifiy jdiff range so maven builds.

Modified:
jakarta/commons/proper/pool/trunk/project.properties

Modified: jakarta/commons/proper/pool/trunk/project.properties
URL: 
http://svn.apache.org/viewcvs/jakarta/commons/proper/pool/trunk/project.properties?rev=387692r1=387691r2=387692view=diff
==
--- jakarta/commons/proper/pool/trunk/project.properties (original)
+++ jakarta/commons/proper/pool/trunk/project.properties Tue Mar 21 18:43:01 
2006
@@ -41,8 +41,8 @@
 
 
maven.dist.src.assembly.dir=${maven.dist.assembly.dir}/src/${maven.final.name}-src
 
-#maven.jdiff.new.tag=CURRENT
-#maven.jdiff.old.tag=POOL_1_3
+maven.jdiff.new.tag=CURRENT
+maven.jdiff.old.tag=POOL_1_2
 
 maven.jarResources.basedir=src/java
 maven.jar.excludes=**/package.html



-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



svn commit: r387695 - in /jakarta/commons/proper/pool: branches/1_3_RELEASE_BRANCH/build.properties.sample trunk/build.properties.sample

2006-03-21 Thread sandymac
Author: sandymac
Date: Tue Mar 21 18:58:40 2006
New Revision: 387695

URL: http://svn.apache.org/viewcvs?rev=387695view=rev
Log:
Remove commons collections references.

Modified:

jakarta/commons/proper/pool/branches/1_3_RELEASE_BRANCH/build.properties.sample
jakarta/commons/proper/pool/trunk/build.properties.sample

Modified: 
jakarta/commons/proper/pool/branches/1_3_RELEASE_BRANCH/build.properties.sample
URL: 
http://svn.apache.org/viewcvs/jakarta/commons/proper/pool/branches/1_3_RELEASE_BRANCH/build.properties.sample?rev=387695r1=387694r2=387695view=diff
==
--- 
jakarta/commons/proper/pool/branches/1_3_RELEASE_BRANCH/build.properties.sample 
(original)
+++ 
jakarta/commons/proper/pool/branches/1_3_RELEASE_BRANCH/build.properties.sample 
Tue Mar 21 18:58:40 2006
@@ -1,4 +1,4 @@
-#   Copyright 2003-2004 The Apache Software Foundation
+#   Copyright 2003-2004,2006 The Apache Software Foundation
 #
 #   Licensed under the Apache License, Version 2.0 (the License);
 #   you may not use this file except in compliance with the License.
@@ -12,8 +12,5 @@
 #   See the License for the specific language governing permissions and
 #   limitations under the License.
 
-# commons-collections.jar - Commons-Collections Classpath
-commons-collections.home=${basedir}/../collections/dist
-commons-collections.jar=${commons-collections.home}/commons-collections.jar
 # junit.jar - JUnit 3.2+ Classpath
 junit.jar=/java/junit/junit.jar

Modified: jakarta/commons/proper/pool/trunk/build.properties.sample
URL: 
http://svn.apache.org/viewcvs/jakarta/commons/proper/pool/trunk/build.properties.sample?rev=387695r1=387694r2=387695view=diff
==
--- jakarta/commons/proper/pool/trunk/build.properties.sample (original)
+++ jakarta/commons/proper/pool/trunk/build.properties.sample Tue Mar 21 
18:58:40 2006
@@ -1,4 +1,4 @@
-#   Copyright 2003-2004 The Apache Software Foundation
+#   Copyright 2003-2004,2006 The Apache Software Foundation
 #
 #   Licensed under the Apache License, Version 2.0 (the License);
 #   you may not use this file except in compliance with the License.
@@ -12,8 +12,5 @@
 #   See the License for the specific language governing permissions and
 #   limitations under the License.
 
-# commons-collections.jar - Commons-Collections Classpath
-commons-collections.home=${basedir}/../collections/dist
-commons-collections.jar=${commons-collections.home}/commons-collections.jar
 # junit.jar - JUnit 3.2+ Classpath
 junit.jar=/java/junit/junit.jar



-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



svn commit: r387718 - in /jakarta/commons/proper/pool/branches/1_3_RELEASE_BRANCH: build.xml maven.xml project.xml xdocs/index.xml

2006-03-21 Thread sandymac
Author: sandymac
Date: Tue Mar 21 20:54:59 2006
New Revision: 387718

URL: http://svn.apache.org/viewcvs?rev=387718view=rev
Log:
preping for 1.3-rc2:
bummped revision, removed some broken reports,
include a link to the release notes on the main page.

Modified:
jakarta/commons/proper/pool/branches/1_3_RELEASE_BRANCH/build.xml
jakarta/commons/proper/pool/branches/1_3_RELEASE_BRANCH/maven.xml
jakarta/commons/proper/pool/branches/1_3_RELEASE_BRANCH/project.xml
jakarta/commons/proper/pool/branches/1_3_RELEASE_BRANCH/xdocs/index.xml

Modified: jakarta/commons/proper/pool/branches/1_3_RELEASE_BRANCH/build.xml
URL: 
http://svn.apache.org/viewcvs/jakarta/commons/proper/pool/branches/1_3_RELEASE_BRANCH/build.xml?rev=387718r1=387717r2=387718view=diff
==
--- jakarta/commons/proper/pool/branches/1_3_RELEASE_BRANCH/build.xml (original)
+++ jakarta/commons/proper/pool/branches/1_3_RELEASE_BRANCH/build.xml Tue Mar 
21 20:54:59 2006
@@ -39,7 +39,7 @@
 
   property name=name value=commons-pool/
   property name=title value=Jakarta Commons Object Pooling Package/
-  property name=version value=1.3-rc1/
+  property name=version value=1.3-rc2/
   property name=package value=org.apache.commons.pool.*/
 
   property name=src.dir value=${basedir}/src/

Modified: jakarta/commons/proper/pool/branches/1_3_RELEASE_BRANCH/maven.xml
URL: 
http://svn.apache.org/viewcvs/jakarta/commons/proper/pool/branches/1_3_RELEASE_BRANCH/maven.xml?rev=387718r1=387717r2=387718view=diff
==
--- jakarta/commons/proper/pool/branches/1_3_RELEASE_BRANCH/maven.xml (original)
+++ jakarta/commons/proper/pool/branches/1_3_RELEASE_BRANCH/maven.xml Tue Mar 
21 20:54:59 2006
@@ -45,6 +45,7 @@
 ant:copy todir=${maven.dist.src.assembly.dir}
   ant:fileset dir=.
 ant:include name=NOTICE.txt/
+ant:include name=build.properties.sample/
   /ant:fileset
 /ant:copy
 

Modified: jakarta/commons/proper/pool/branches/1_3_RELEASE_BRANCH/project.xml
URL: 
http://svn.apache.org/viewcvs/jakarta/commons/proper/pool/branches/1_3_RELEASE_BRANCH/project.xml?rev=387718r1=387717r2=387718view=diff
==
--- jakarta/commons/proper/pool/branches/1_3_RELEASE_BRANCH/project.xml 
(original)
+++ jakarta/commons/proper/pool/branches/1_3_RELEASE_BRANCH/project.xml Tue Mar 
21 20:54:59 2006
@@ -21,7 +21,7 @@
   groupIdcommons-pool/groupId
   artifactIdcommons-pool/artifactId
   inceptionYear2001/inceptionYear
-  currentVersion1.3-rc1/currentVersion
+  currentVersion1.3-rc2/currentVersion
   shortDescriptionCommons Object Pooling Library/shortDescription
   descriptionCommons Object Pooling Library/description
   logo/images/pool-logo-white.png/logo
@@ -213,48 +213,6 @@
   /properties
 /dependency
 
-dependency
-  groupIdmaven/groupId
-  artifactIdmaven-changelog-plugin/artifactId
-  version1.9/version
-  urlhttp://maven.apache.org/maven-1.x/plugins/changelog//url
-  typeplugin/type
-  properties
-  comment
-  lt;stronggt;Site Onlylt;/stronggt; - v1.9 (minimum)
-  /comment
-  /properties
-/dependency
-
-dependency
-  groupIdmaven/groupId
-  artifactIdmaven-file-activity-plugin/artifactId
-  version1.6/version
-  urlhttp://maven.apache.org/maven-1.x/plugins/file-activity//url
-  typeplugin/type
-  properties
-  comment
-  lt;stronggt;Site Onlylt;/stronggt; - v1.6 (minimum)
-  /comment
-  /properties
-/dependency
-
-!-- This dependency isn't needed when the maven-developer-activity-plugin 
is disabled. --
-!--
-dependency
-  groupIdmaven/groupId
-  artifactIdmaven-developer-activity-plugin/artifactId
-  version1.5.1/version
-  urlhttp://maven.apache.org/maven-1.x/plugins/developer-activity//url
-  typeplugin/type
-  properties
-  comment
-  lt;stronggt;Site Onlylt;/stronggt; - v1.5.2 (minimum)
-  /comment
-  /properties
-/dependency
---
-
   /dependencies
 
   build
@@ -283,11 +241,7 @@
   /build
   
   reports
-reportmaven-changelog-plugin/report
 reportmaven-changes-plugin/report
-!-- This report is suspected not to accurate when run against the ASF 
repository --
-!--reportmaven-developer-activity-plugin/report--
-reportmaven-file-activity-plugin/report
 reportmaven-javadoc-plugin/report
 reportmaven-jdepend-plugin/report
 reportmaven-jdiff-plugin/report

Modified: 
jakarta/commons/proper/pool/branches/1_3_RELEASE_BRANCH/xdocs/index.xml
URL: 
http://svn.apache.org/viewcvs/jakarta/commons/proper/pool/branches/1_3_RELEASE_BRANCH/xdocs/index.xml?rev=387718r1=387717r2=387718view=diff

svn commit: r387757 - in /jakarta/commons/proper/pool/trunk/src: java/org/apache/commons/pool/composite/ test/org/apache/commons/pool/composite/

2006-03-21 Thread sandymac
Author: sandymac
Date: Tue Mar 21 22:33:59 2006
New Revision: 387757

URL: http://svn.apache.org/viewcvs?rev=387757view=rev
Log:
Copied composite pool contribution into trunk.
Replaced org.mcarthur.sandy.commons.pool.composite package references
with org.apache.commons.pool.composite package references.

Added:

jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/composite/
  - copied from r387741, 
jakarta/commons/proper/pool/contrib/composite-pool/java/org/mcarthur/sandy/commons/pool/composite/

jakarta/commons/proper/pool/trunk/src/test/org/apache/commons/pool/composite/
  - copied from r387741, 
jakarta/commons/proper/pool/contrib/composite-pool/test/org/mcarthur/sandy/commons/pool/composite/
Modified:

jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/composite/AbstractLender.java

jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/composite/AbstractManager.java

jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/composite/ActiveLimitManager.java

jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/composite/BorrowType.java

jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/composite/CompositeKeyedObjectPool.java

jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/composite/CompositeKeyedObjectPoolFactory.java

jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/composite/CompositeObjectPool.java

jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/composite/CompositeObjectPoolFactory.java

jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/composite/DebugTracker.java

jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/composite/DelegateLender.java

jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/composite/DelegateManager.java

jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/composite/EvictorLender.java

jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/composite/ExhaustionBehavior.java

jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/composite/FailLimitManager.java

jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/composite/FailManager.java

jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/composite/FifoLender.java

jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/composite/GrowManager.java

jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/composite/IdleEvictorLender.java

jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/composite/IdleLimitManager.java

jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/composite/InvalidEvictorLender.java

jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/composite/KeyedPoolableObjectFactoryAdapter.java

jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/composite/Lender.java

jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/composite/LifoLender.java

jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/composite/LimitBehavior.java

jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/composite/Manager.java

jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/composite/NullLender.java

jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/composite/NullTracker.java

jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/composite/ReferenceTracker.java

jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/composite/SimpleTracker.java

jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/composite/SoftLender.java

jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/composite/Tracker.java

jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/composite/TrackingType.java

jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/composite/WaitLimitManager.java

jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/composite/package.html

jakarta/commons/proper/pool/trunk/src/test/org/apache/commons/pool/composite/PerformanceTest.java

jakarta/commons/proper/pool/trunk/src/test/org/apache/commons/pool/composite/TestCompositeObjectPool.java

Modified: 
jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/composite/AbstractLender.java
URL: 
http://svn.apache.org/viewcvs/jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/composite/AbstractLender.java?rev=387757r1=387741r2=387757view=diff
==
--- 
jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/composite/AbstractLender.java
 (original)
+++ 
jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool

svn commit: r387360 - in /jakarta/commons/proper/pool/branches/1_3_RELEASE_BRANCH: maven.xml project.properties project.xml xdocs/downloads.xml

2006-03-20 Thread sandymac
Author: sandymac
Date: Mon Mar 20 16:47:21 2006
New Revision: 387360

URL: http://svn.apache.org/viewcvs?rev=387360view=rev
Log:
Maven build related changes:
Updated download link.
Added JDiff report.
Added maven plugin dependencies.

Modified:
jakarta/commons/proper/pool/branches/1_3_RELEASE_BRANCH/maven.xml
jakarta/commons/proper/pool/branches/1_3_RELEASE_BRANCH/project.properties
jakarta/commons/proper/pool/branches/1_3_RELEASE_BRANCH/project.xml
jakarta/commons/proper/pool/branches/1_3_RELEASE_BRANCH/xdocs/downloads.xml

Modified: jakarta/commons/proper/pool/branches/1_3_RELEASE_BRANCH/maven.xml
URL: 
http://svn.apache.org/viewcvs/jakarta/commons/proper/pool/branches/1_3_RELEASE_BRANCH/maven.xml?rev=387360r1=387359r2=387360view=diff
==
--- jakarta/commons/proper/pool/branches/1_3_RELEASE_BRANCH/maven.xml (original)
+++ jakarta/commons/proper/pool/branches/1_3_RELEASE_BRANCH/maven.xml Mon Mar 
20 16:47:21 2006
@@ -65,15 +65,15 @@
   postGoal name=dist:build-bin
 j:set var=distDir 
value=${pom.getPluginContext('maven-dist-plugin').getVariable('maven.dist.dir')}/
 j:set var=finalName 
value=${pom.getPluginContext('maven-dist-plugin').getVariable('maven.final.name')}/
-ant:checksum file=${distDir}/${finalName}.tar.gz/
-ant:checksum file=${distDir}/${finalName}.zip/
+ant:checksum file=${distDir}/${finalName}.tar.gz algorithm=MD5 
fileext=.md5/
+ant:checksum file=${distDir}/${finalName}.zip algorithm=MD5 
fileext=.md5/
   /postGoal
   
   postGoal name=dist:build-src
 j:set var=distDir 
value=${pom.getPluginContext('maven-dist-plugin').getVariable('maven.dist.dir')}/
 j:set var=finalName 
value=${pom.getPluginContext('maven-dist-plugin').getVariable('maven.final.name')}/
-ant:checksum file=${distDir}/${finalName}-src.tar.gz/
-ant:checksum file=${distDir}/${finalName}-src.zip/
+ant:checksum file=${distDir}/${finalName}-src.tar.gz algorithm=MD5 
fileext=.md5/
+ant:checksum file=${distDir}/${finalName}-src.zip algorithm=MD5 
fileext=.md5/
   /postGoal
   
 /project

Modified: 
jakarta/commons/proper/pool/branches/1_3_RELEASE_BRANCH/project.properties
URL: 
http://svn.apache.org/viewcvs/jakarta/commons/proper/pool/branches/1_3_RELEASE_BRANCH/project.properties?rev=387360r1=387359r2=387360view=diff
==
--- jakarta/commons/proper/pool/branches/1_3_RELEASE_BRANCH/project.properties 
(original)
+++ jakarta/commons/proper/pool/branches/1_3_RELEASE_BRANCH/project.properties 
Mon Mar 20 16:47:21 2006
@@ -42,6 +42,9 @@
 maven.compile.source=1.3
 maven.compile.target=1.3
 
+maven.jdiff.new.tag=CURRENT
+maven.jdiff.old.tag=POOL_1_2
+
 maven.jarResources.basedir=src/java
 maven.jar.excludes=**/package.html
 maven.junit.fork=true

Modified: jakarta/commons/proper/pool/branches/1_3_RELEASE_BRANCH/project.xml
URL: 
http://svn.apache.org/viewcvs/jakarta/commons/proper/pool/branches/1_3_RELEASE_BRANCH/project.xml?rev=387360r1=387359r2=387360view=diff
==
--- jakarta/commons/proper/pool/branches/1_3_RELEASE_BRANCH/project.xml 
(original)
+++ jakarta/commons/proper/pool/branches/1_3_RELEASE_BRANCH/project.xml Mon Mar 
20 16:47:21 2006
@@ -163,13 +163,78 @@
 
 dependency
   groupIdmaven/groupId
+  artifactIdmaven-plugin-plugin/artifactId
+  version1.7/version
+  urlhttp://maven.apache.org/maven-1.x/plugins/plugin//url
+  typeplugin/type
+  properties
+  comment
+  lt;stronggt;Site Onlylt;/stronggt; - v1.7 (minimum)
+  /comment
+  /properties
+/dependency
+
+dependency
+  groupIdmaven/groupId
+  artifactIdmaven-scm-plugin/artifactId
+  version1.5/version
+  urlhttp://maven.apache.org/maven-1.x/plugins/scm//url
+  typeplugin/type
+  properties
+  comment
+  lt;stronggt;Site Onlylt;/stronggt; - v1.5 (minimum)
+  /comment
+  /properties
+/dependency
+
+dependency
+  groupIdmaven/groupId
+  artifactIdmaven-jdiff-plugin/artifactId
+  version1.5/version
+  urlhttp://maven.apache.org/maven-1.x/plugins/jdiff//url
+  typeplugin/type
+  properties
+  comment
+  lt;stronggt;Site Onlylt;/stronggt; - v1.5 (minimum)
+  /comment
+  /properties
+/dependency
+
+dependency
+  groupIdmaven/groupId
+  artifactIdmaven-changes-plugin/artifactId
+  version1.6/version
+  urlhttp://maven.apache.org/maven-1.x/plugins/changes//url
+  typeplugin/type
+  properties
+  comment
+  lt;stronggt;Site Onlylt;/stronggt; - v1.6 (minimum)
+  /comment
+  /properties
+/dependency
+
+dependency
+  groupIdmaven/groupId
   artifactIdmaven-changelog-plugin/artifactId
-  version1.8.2/version
+  version1.9/version

svn commit: r387367 - /jakarta/commons/proper/pool/branches/1_3_RELEASE_BRANCH/xdocs/downloads.xml

2006-03-20 Thread sandymac
Author: sandymac
Date: Mon Mar 20 17:00:31 2006
New Revision: 387367

URL: http://svn.apache.org/viewcvs?rev=387367view=rev
Log:
grammer correction.

Modified:
jakarta/commons/proper/pool/branches/1_3_RELEASE_BRANCH/xdocs/downloads.xml

Modified: 
jakarta/commons/proper/pool/branches/1_3_RELEASE_BRANCH/xdocs/downloads.xml
URL: 
http://svn.apache.org/viewcvs/jakarta/commons/proper/pool/branches/1_3_RELEASE_BRANCH/xdocs/downloads.xml?rev=387367r1=387366r2=387367view=diff
==
--- jakarta/commons/proper/pool/branches/1_3_RELEASE_BRANCH/xdocs/downloads.xml 
(original)
+++ jakarta/commons/proper/pool/branches/1_3_RELEASE_BRANCH/xdocs/downloads.xml 
Mon Mar 20 17:00:31 2006
@@ -33,7 +33,7 @@
  /ul
  br/
  p
-The latest release binaries and source is always available on the
+The latest release binary and source releases are always available 
on the
 a 
href=http://jakarta.apache.org/site/downloads/downloads_commons-pool.cgi;
 Jakarta Commons Pool Downloads page/a.
  /p



-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



svn commit: r387381 - in /jakarta/commons/proper/pool: branches/1_3_RELEASE_BRANCH/project.properties trunk/project.properties

2006-03-20 Thread sandymac
Author: sandymac
Date: Mon Mar 20 17:59:45 2006
New Revision: 387381

URL: http://svn.apache.org/viewcvs?rev=387381view=rev
Log:
make source archive expand to a different directory than the binary archive.

Modified:
jakarta/commons/proper/pool/branches/1_3_RELEASE_BRANCH/project.properties
jakarta/commons/proper/pool/trunk/project.properties

Modified: 
jakarta/commons/proper/pool/branches/1_3_RELEASE_BRANCH/project.properties
URL: 
http://svn.apache.org/viewcvs/jakarta/commons/proper/pool/branches/1_3_RELEASE_BRANCH/project.properties?rev=387381r1=387380r2=387381view=diff
==
--- jakarta/commons/proper/pool/branches/1_3_RELEASE_BRANCH/project.properties 
(original)
+++ jakarta/commons/proper/pool/branches/1_3_RELEASE_BRANCH/project.properties 
Mon Mar 20 17:59:45 2006
@@ -42,6 +42,8 @@
 maven.compile.source=1.3
 maven.compile.target=1.3
 
+maven.dist.src.assembly.dir=${maven.dist.assembly.dir}/src/${maven.final.name}-src
+
 maven.jdiff.new.tag=CURRENT
 maven.jdiff.old.tag=POOL_1_2
 

Modified: jakarta/commons/proper/pool/trunk/project.properties
URL: 
http://svn.apache.org/viewcvs/jakarta/commons/proper/pool/trunk/project.properties?rev=387381r1=387380r2=387381view=diff
==
--- jakarta/commons/proper/pool/trunk/project.properties (original)
+++ jakarta/commons/proper/pool/trunk/project.properties Mon Mar 20 17:59:45 
2006
@@ -39,6 +39,8 @@
 maven.compile.source=1.4
 maven.compile.target=1.4
 
+maven.dist.src.assembly.dir=${maven.dist.assembly.dir}/src/${maven.final.name}-src
+
 #maven.jdiff.new.tag=CURRENT
 #maven.jdiff.old.tag=POOL_1_3
 



-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



svn commit: r387394 - /jakarta/commons/proper/pool/tags/POOL_1_3_RC1/

2006-03-20 Thread sandymac
Author: sandymac
Date: Mon Mar 20 19:48:11 2006
New Revision: 387394

URL: http://svn.apache.org/viewcvs?rev=387394view=rev
Log:
Tagging release candidate 1 for Pool 1.3

Added:
jakarta/commons/proper/pool/tags/POOL_1_3_RC1/
  - copied from r387392, 
jakarta/commons/proper/pool/branches/1_3_RELEASE_BRANCH/


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



svn commit: r387079 - /jakarta/commons/proper/pool/trunk/KEYS

2006-03-19 Thread sandymac
Author: sandymac
Date: Sun Mar 19 16:05:08 2006
New Revision: 387079

URL: http://svn.apache.org/viewcvs?rev=387079view=rev
Log:
Added public PGP keys file for signing releases.

Added:
jakarta/commons/proper/pool/trunk/KEYS

Added: jakarta/commons/proper/pool/trunk/KEYS
URL: 
http://svn.apache.org/viewcvs/jakarta/commons/proper/pool/trunk/KEYS?rev=387079view=auto
==
--- jakarta/commons/proper/pool/trunk/KEYS (added)
+++ jakarta/commons/proper/pool/trunk/KEYS Sun Mar 19 16:05:08 2006
@@ -0,0 +1,48 @@
+This file contains the PGP keys of various developers.
+Please don't use them for email unless you have to. Their main
+purpose is code signing.
+
+Users: pgp  KEYS
+   gpg --import KEYS
+Developers:
+pgp -kxa your name and append it to this file.
+(pgpk -ll your name  pgpk -xa your name)  this file.
+(gpg --list-sigs your name
+  gpg --armor --export your name)  this file.
+
+pub   1024D/BB0AEFAC 2006-03-19
+uid  Sandy McArthur (For release signing) [EMAIL PROTECTED]
+sig 3BB0AEFAC 2006-03-19  Sandy McArthur (For release signing) [EMAIL 
PROTECTED]
+sub   2048g/6319D8AF 2006-03-19
+sig  BB0AEFAC 2006-03-19  Sandy McArthur (For release signing) [EMAIL 
PROTECTED]
+
+-BEGIN PGP PUBLIC KEY BLOCK-
+Version: GnuPG v1.4.1 (Darwin)
+
+mQGiBEQd5BERBACB5iAinxlYEJtI3CugYup05Gyby508CvEsKwFB7PSztWDHUhfG
+pOf8mvQBGamkIklaLTqSOB/2qkVCHps3JTEIpJQd5LL2F3Lr8bnUrsVUr+UTBJwM
+kSlfLblQ63G3NKB/ZlHXThqHGlZXR7lrDLaM4PfAJ3sEElHE7riVBKvbawCg3Dw3
+eb0YoGKrDnVmVOP906YTZ5sD/RvtELcnMExuDc8Gc4huoVQfq79uynV5c0eQbp9w
+zHiTcimoxaiLYZNyiAIf1XWvdfe6p5jX/D6WwlaD7qQctfWXYkPF2PtK9IRjuE49
+Pzo1NEiPjUYSPtXYitCn43G2Si94vzz3dgUv7dTXswIsg0JDVSIaXitxQHrHX2fh
+M3w+A/9dpHk5zmjuP+/Z+GGJlOUGiHMBeul8S9+F5Z+2rtlUvVwReR7AvRxWPlZc
+PaY+YU+JVLxq4HEI1fAvuPTRIeQwB7SDi0y1mqL6jQ1BCDSKgUTcfq9VUTY8Cstk
+OnskmaDHO3YN2dqMyoKTmyEKqdVRShBjU5tcWfIXImeo7GCAK7Q6U2FuZHkgTWNB
+cnRodXIgKEZvciByZWxlYXNlIHNpZ25pbmcpIDxzYW5keW1hY0BhcGFjaGUub3Jn
+PoheBBMRAgAeBQJEHeQRAhsDBgsJCAcDAgMVAgMDFgIBAh4BAheAAAoJEJEAmLG7
+Cu+sVsoAoJxXV2P5P+oY/s70ACTJtB9GYexIAJ0UhoCkwwVPUeJib6toPsdTCTf8
+97kCDQREHeROEAgA5kiZY/yEdggRz6+juwXiCuojeOcmX9cEiXBFA1Qw6RInHyvN
+yShrqgGexv4qpbxtxNOwaKzK0fFo9QmJnPs2yNibjpW1dyT6cFsPUj6kTFX5fBIY
+BEg6fTxLrVL8X2/GQYL8ezAT1BPBf3X+fb9t/mlsTR5OzhGBtgZ8xMYpt6g4HVNC
+4wK6r4UGortVdl3V9nV+JpIa382LTmWvKr+75AQ5x85u9eBwv6BApov6Dpiyhfu4
+G/juKqoseoW+lKbPZOp+CxOqVw+gUim3SXfam6nhMZdbqz3pNyPfEIDXWtZp9GTa
+6y/NsrAFUob1cQq9rQ3GGfCH/7/kXimGbxaCLwAECwf9F/BE6HGuBo5HOkIrmOFM
+lnhPSjWCBk/P9mt+eHRLVQi60JBCJBLn2ekfuCo8mpGT4Ui79IpKxzBI+t4giaht
+7XjW2ioFWWYfIHEHMr1WggnEln8G/c1/9u7WdoINNAlZV/3FM+WzFsvdEFamZ1IV
+0CFW232clFil1wxoVrBC5htK5QRPb0E7W7iKIRpp2ma/IYApHaBPdsuAYcQtznsp
+ox9hkDxQJ1/XGjNT6L9b9NuzOr6UgEzHQ1hhSmvGOv6gAUedTCbuetsc63iINd4H
+O2h/eIAFYdHCo9epfZE6IVnbBV6dzJR8eleVKk2HNWsd2vmEw+HvlQMIBOgGFHz0
+ZYhJBBgRAgAJBQJEHeROAhsMAAoJEJEAmLG7Cu+sZHcAniWGesbVaRYHBsOBGBZp
+cLr0HpkVAJ9OqH9BC/r029bgbvkxaNrHNQNdiw==
+=CeIo
+-END PGP PUBLIC KEY BLOCK-



-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



svn commit: r387082 - /jakarta/commons/proper/pool/branches/1_3_RELEASE_BRANCH/KEYS

2006-03-19 Thread sandymac
Author: sandymac
Date: Sun Mar 19 16:10:20 2006
New Revision: 387082

URL: http://svn.apache.org/viewcvs?rev=387082view=rev
Log:
Added public PGP keys file for signing releases.

Added:
jakarta/commons/proper/pool/branches/1_3_RELEASE_BRANCH/KEYS
  - copied unchanged from r387079, jakarta/commons/proper/pool/trunk/KEYS


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



svn commit: r387103 - /jakarta/commons/proper/pool/branches/1_3_RELEASE_BRANCH/src/test/org/apache/commons/pool/impl/TestGenericObjectPool.java

2006-03-19 Thread sandymac
Author: sandymac
Date: Sun Mar 19 17:48:49 2006
New Revision: 387103

URL: http://svn.apache.org/viewcvs?rev=387103view=rev
Log:
Make testEvictionSoftMinIdle unit test reliable.

Modified:

jakarta/commons/proper/pool/branches/1_3_RELEASE_BRANCH/src/test/org/apache/commons/pool/impl/TestGenericObjectPool.java

Modified: 
jakarta/commons/proper/pool/branches/1_3_RELEASE_BRANCH/src/test/org/apache/commons/pool/impl/TestGenericObjectPool.java
URL: 
http://svn.apache.org/viewcvs/jakarta/commons/proper/pool/branches/1_3_RELEASE_BRANCH/src/test/org/apache/commons/pool/impl/TestGenericObjectPool.java?rev=387103r1=387102r2=387103view=diff
==
--- 
jakarta/commons/proper/pool/branches/1_3_RELEASE_BRANCH/src/test/org/apache/commons/pool/impl/TestGenericObjectPool.java
 (original)
+++ 
jakarta/commons/proper/pool/branches/1_3_RELEASE_BRANCH/src/test/org/apache/commons/pool/impl/TestGenericObjectPool.java
 Sun Mar 19 17:48:49 2006
@@ -637,11 +637,9 @@
 pool.setMaxActive(5);
 pool.setNumTestsPerEvictionRun(5);
 pool.setMinEvictableIdleTimeMillis(3000L);
-pool.setTimeBetweenEvictionRunsMillis(250L);
-pool.setTestWhileIdle(true);
 pool.setSoftMinEvictableIdleTimeMillis(1000L);
 pool.setMinIdle(2);
-
+
 Object[] active = new Object[5];
 Long[] creationTime = new Long[5] ;
 for(int i=0;i5;i++) {
@@ -652,16 +650,16 @@
 for(int i=0;i5;i++) {
 pool.returnObject(active[i]);
 }
-
-try { Thread.sleep(1500L); } catch(Exception e) { }
-assertTrue(Should be 2 OLD idle, found  + 
pool.getNumIdle(),pool.getNumIdle() == 2 
-((TimeTest)pool.borrowObject()).getCreateTime() == 
creationTime[3].longValue() 
-((TimeTest)pool.borrowObject()).getCreateTime() == 
creationTime[4].longValue());
-
-try { Thread.sleep(2000L); } catch(Exception e) { }
-assertTrue(Should be 2 NEW idle , found  + 
pool.getNumIdle(),pool.getNumIdle() == 2 
-((TimeTest)pool.borrowObject()).getCreateTime() != 
creationTime[0].longValue() 
-((TimeTest)pool.borrowObject()).getCreateTime() != 
creationTime[1].longValue());
+
+// Soft evict all but minIdle(2)
+Thread.sleep(1500L);
+pool.evict();
+assertEquals(Idle count different than expected., 2, 
pool.getNumIdle());
+
+// Hard evict the rest.
+Thread.sleep(2000L);
+pool.evict();
+assertEquals(Idle count different than expected., 0, 
pool.getNumIdle());
 }
 
 public void testMinIdle() throws Exception {



-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



svn commit: r387107 - in /jakarta/commons/proper/pool/branches/1_3_RELEASE_BRANCH: build.xml project.xml

2006-03-19 Thread sandymac
Author: sandymac
Date: Sun Mar 19 18:19:08 2006
New Revision: 387107

URL: http://svn.apache.org/viewcvs?rev=387107view=rev
Log:
Update build numbers for 1.3-rc1

Modified:
jakarta/commons/proper/pool/branches/1_3_RELEASE_BRANCH/build.xml
jakarta/commons/proper/pool/branches/1_3_RELEASE_BRANCH/project.xml

Modified: jakarta/commons/proper/pool/branches/1_3_RELEASE_BRANCH/build.xml
URL: 
http://svn.apache.org/viewcvs/jakarta/commons/proper/pool/branches/1_3_RELEASE_BRANCH/build.xml?rev=387107r1=387106r2=387107view=diff
==
--- jakarta/commons/proper/pool/branches/1_3_RELEASE_BRANCH/build.xml (original)
+++ jakarta/commons/proper/pool/branches/1_3_RELEASE_BRANCH/build.xml Sun Mar 
19 18:19:08 2006
@@ -1,5 +1,5 @@
 !--
-   Copyright 2003-2004 The Apache Software Foundation
+   Copyright 2003-2004,2006 The Apache Software Foundation
 
Licensed under the Apache License, Version 2.0 (the License);
you may not use this file except in compliance with the License.
@@ -39,7 +39,7 @@
 
   property name=name value=commons-pool/
   property name=title value=Jakarta Commons Object Pooling Package/
-  property name=version value=Nightly-${DSTAMP}${TSTAMP}/
+  property name=version value=1.3-rc1/
   property name=package value=org.apache.commons.pool.*/
 
   property name=src.dir value=${basedir}/src/
@@ -49,7 +49,7 @@
   property name=build.classes.dir value=${build.dir}/classes/
   property name=build.test-classes.dir 
value=${build.dir}/test-classes/
   property name=dist.dir value=${basedir}/dist/
-  property name=dist.jar value=${dist.dir}/${name}.jar/
+  property name=dist.jar value=${dist.dir}/${name}-${version}.jar/
 
   property name=test.entry value=org.apache.commons.pool.TestAll/
   property name=test.failonerror value=true / 

Modified: jakarta/commons/proper/pool/branches/1_3_RELEASE_BRANCH/project.xml
URL: 
http://svn.apache.org/viewcvs/jakarta/commons/proper/pool/branches/1_3_RELEASE_BRANCH/project.xml?rev=387107r1=387106r2=387107view=diff
==
--- jakarta/commons/proper/pool/branches/1_3_RELEASE_BRANCH/project.xml 
(original)
+++ jakarta/commons/proper/pool/branches/1_3_RELEASE_BRANCH/project.xml Sun Mar 
19 18:19:08 2006
@@ -21,7 +21,7 @@
   groupIdcommons-pool/groupId
   artifactIdcommons-pool/artifactId
   inceptionYear2001/inceptionYear
-  currentVersion1.3-dev/currentVersion
+  currentVersion1.3-rc1/currentVersion
   shortDescriptionCommons Object Pooling Library/shortDescription
   descriptionCommons Object Pooling Library/description
   logo/images/pool-logo-white.png/logo



-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



svn commit: r386281 - in /jakarta/commons/proper/pool/trunk: src/java/org/apache/commons/pool/impl/ xdocs/

2006-03-16 Thread sandymac
Author: sandymac
Date: Thu Mar 16 00:03:28 2006
New Revision: 386281

URL: http://svn.apache.org/viewcvs?rev=386281view=rev
Log:
Where there is no factory calling addObject is bogus so throw an 
IllegalStateExecption.

Modified:

jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/impl/GenericObjectPool.java

jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/impl/SoftReferenceObjectPool.java

jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/impl/StackKeyedObjectPool.java

jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/impl/StackObjectPool.java
jakarta/commons/proper/pool/trunk/xdocs/changes.xml

Modified: 
jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/impl/GenericObjectPool.java
URL: 
http://svn.apache.org/viewcvs/jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/impl/GenericObjectPool.java?rev=386281r1=386280r2=386281view=diff
==
--- 
jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/impl/GenericObjectPool.java
 (original)
+++ 
jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/impl/GenericObjectPool.java
 Thu Mar 16 00:03:28 2006
@@ -1084,6 +1084,9 @@
  */
 public synchronized void addObject() throws Exception {
 assertOpen();
+if (_factory == null) {
+throw new IllegalStateException(Cannot add objects without a 
factory.);
+}
 Object obj = _factory.makeObject();
 addObjectToPool(obj, false);
 }

Modified: 
jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/impl/SoftReferenceObjectPool.java
URL: 
http://svn.apache.org/viewcvs/jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/impl/SoftReferenceObjectPool.java?rev=386281r1=386280r2=386281view=diff
==
--- 
jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/impl/SoftReferenceObjectPool.java
 (original)
+++ 
jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/impl/SoftReferenceObjectPool.java
 Thu Mar 16 00:03:28 2006
@@ -175,6 +175,9 @@
  */
 public synchronized void addObject() throws Exception {
 assertOpen();
+if (_factory == null) {
+throw new IllegalStateException(Cannot add objects without a 
factory.);
+}
 Object obj = _factory.makeObject();
 
 boolean success = true;

Modified: 
jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/impl/StackKeyedObjectPool.java
URL: 
http://svn.apache.org/viewcvs/jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/impl/StackKeyedObjectPool.java?rev=386281r1=386280r2=386281view=diff
==
--- 
jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/impl/StackKeyedObjectPool.java
 (original)
+++ 
jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/impl/StackKeyedObjectPool.java
 Thu Mar 16 00:03:28 2006
@@ -276,14 +276,12 @@
 } else {
 staleObj = obj;
 }
-if(null != _factory) {
-try {
-_factory.destroyObject(key, staleObj);
-} catch (Exception e) {
-// Don't swallow destroying the newly created object.
-if (obj == staleObj) {
-throw e;
-}
+try {
+_factory.destroyObject(key, staleObj);
+} catch (Exception e) {
+// Don't swallow destroying the newly created object.
+if (obj == staleObj) {
+throw e;
 }
 }
 } else {

Modified: 
jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/impl/StackObjectPool.java
URL: 
http://svn.apache.org/viewcvs/jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/impl/StackObjectPool.java?rev=386281r1=386280r2=386281view=diff
==
--- 
jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/impl/StackObjectPool.java
 (original)
+++ 
jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/impl/StackObjectPool.java
 Thu Mar 16 00:03:28 2006
@@ -286,12 +286,13 @@
  */
 public synchronized void addObject() throws Exception {
 assertOpen();
+if (_factory == null) {
+throw new IllegalStateException(Cannot add objects without a 
factory.);
+}
 Object obj = _factory.makeObject();
 
 boolean success = true;
-if(null != _factory) {
-_factory.passivateObject(obj);
-}
+_factory.passivateObject(obj);
 
 boolean shouldDestroy = !success;
 

Modified

svn commit: r386471 - /jakarta/commons/proper/pool/trunk/src/test/org/apache/commons/pool/TestPoolUtils.java

2006-03-16 Thread sandymac
Author: sandymac
Date: Thu Mar 16 14:16:14 2006
New Revision: 386471

URL: http://svn.apache.org/viewcvs?rev=386471view=rev
Log:
Impoves unit test code coverage for PoolUtils. TestPoolUtils now tests 
every code path that can be tested using the public interface of PoolUtils.

Modified:

jakarta/commons/proper/pool/trunk/src/test/org/apache/commons/pool/TestPoolUtils.java

Modified: 
jakarta/commons/proper/pool/trunk/src/test/org/apache/commons/pool/TestPoolUtils.java
URL: 
http://svn.apache.org/viewcvs/jakarta/commons/proper/pool/trunk/src/test/org/apache/commons/pool/TestPoolUtils.java?rev=386471r1=386470r2=386471view=diff
==
--- 
jakarta/commons/proper/pool/trunk/src/test/org/apache/commons/pool/TestPoolUtils.java
 (original)
+++ 
jakarta/commons/proper/pool/trunk/src/test/org/apache/commons/pool/TestPoolUtils.java
 Thu Mar 16 14:16:14 2006
@@ -34,6 +34,9 @@
 import java.util.Iterator;
 import java.util.Arrays;
 
+import org.apache.commons.pool.impl.GenericObjectPool;
+import org.apache.commons.pool.impl.GenericKeyedObjectPool;
+
 /**
  * Unit tests for [EMAIL PROTECTED] PoolUtils}.
  *
@@ -273,13 +276,32 @@
 // expected
 }
 
-// Because this isn't determinist and you can get false failures, try 
more than once.
+final List calledMethods = new ArrayList();
+
+// Test that the minIdle check doesn't add too many idle objects
+final PoolableObjectFactory pof = 
(PoolableObjectFactory)createProxy(PoolableObjectFactory.class, calledMethods);
+final ObjectPool op = new GenericObjectPool(pof);
+PoolUtils.checkMinIdle(op, 2, 100);
+Thread.sleep(400);
+assertEquals(2, op.getNumIdle());
+op.close();
+int makeObjectCount = 0;
+final Iterator iter = calledMethods.iterator();
+while (iter.hasNext()) {
+final String methodName = (String)iter.next();
+if (makeObject.equals(methodName)) {
+makeObjectCount++;
+}
+}
+assertEquals(makeObject should have been called two time, 2, 
makeObjectCount);
+
+// Because this isn't deterministic and you can get false failures, 
try more than once.
 AssertionFailedError afe = null;
 int triesLeft = 3;
 do {
 afe = null;
 try {
-final List calledMethods = new ArrayList();
+calledMethods.clear();
 final ObjectPool pool = 
(ObjectPool)createProxy(ObjectPool.class, calledMethods);
 final TimerTask task = PoolUtils.checkMinIdle(pool, 1, 
CHECK_PERIOD); // checks minIdle immediately
 
@@ -325,15 +347,35 @@
 // expected
 }
 
-// Because this isn't determinist and you can get false failures, try 
more than once.
+final List calledMethods = new ArrayList();
+final Object key = new Object();
+
+// Test that the minIdle check doesn't add too many idle objects
+final KeyedPoolableObjectFactory kpof = 
(KeyedPoolableObjectFactory)createProxy(KeyedPoolableObjectFactory.class, 
calledMethods);
+final KeyedObjectPool kop = new GenericKeyedObjectPool(kpof);
+PoolUtils.checkMinIdle(kop, key, 2, 100);
+Thread.sleep(400);
+assertEquals(2, kop.getNumIdle(key));
+assertEquals(2, kop.getNumIdle());
+kop.close();
+int makeObjectCount = 0;
+final Iterator iter = calledMethods.iterator();
+while (iter.hasNext()) {
+final String methodName = (String)iter.next();
+if (makeObject.equals(methodName)) {
+makeObjectCount++;
+}
+}
+assertEquals(makeObject should have been called two time, 2, 
makeObjectCount);
+
+// Because this isn't deterministic and you can get false failures, 
try more than once.
 AssertionFailedError afe = null;
 int triesLeft = 3;
 do {
 afe = null;
 try {
-final List calledMethods = new ArrayList();
+calledMethods.clear();
 final KeyedObjectPool pool = 
(KeyedObjectPool)createProxy(KeyedObjectPool.class, calledMethods);
-final Object key = new Object();
 final TimerTask task = PoolUtils.checkMinIdle(pool, key, 1, 
CHECK_PERIOD); // checks minIdle immediately
 
 Thread.sleep(CHECK_SLEEP_PERIOD); // will check CHECK_COUNT 
more times.



-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



svn commit: r386562 - /jakarta/commons/proper/pool/trunk/src/test/org/apache/commons/pool/impl/TestGenericObjectPool.java

2006-03-16 Thread sandymac
Author: sandymac
Date: Thu Mar 16 23:49:24 2006
New Revision: 386562

URL: http://svn.apache.org/viewcvs?rev=386562view=rev
Log:
Impoves unit test code coverage for GenericObjectPool.

Modified:

jakarta/commons/proper/pool/trunk/src/test/org/apache/commons/pool/impl/TestGenericObjectPool.java

Modified: 
jakarta/commons/proper/pool/trunk/src/test/org/apache/commons/pool/impl/TestGenericObjectPool.java
URL: 
http://svn.apache.org/viewcvs/jakarta/commons/proper/pool/trunk/src/test/org/apache/commons/pool/impl/TestGenericObjectPool.java?rev=386562r1=386561r2=386562view=diff
==
--- 
jakarta/commons/proper/pool/trunk/src/test/org/apache/commons/pool/impl/TestGenericObjectPool.java
 (original)
+++ 
jakarta/commons/proper/pool/trunk/src/test/org/apache/commons/pool/impl/TestGenericObjectPool.java
 Thu Mar 16 23:49:24 2006
@@ -22,6 +22,7 @@
 import org.apache.commons.pool.ObjectPool;
 import org.apache.commons.pool.PoolableObjectFactory;
 import org.apache.commons.pool.TestObjectPool;
+import org.apache.commons.pool.PoolUtils;
 
 import java.util.NoSuchElementException;
 
@@ -119,6 +120,31 @@
 pool.close();
 }
 
+public void testEvict() throws Exception {
+// yea this is hairy but it tests all the code paths in GOP.evict()
+final SimpleFactory factory = new SimpleFactory();
+final GenericObjectPool pool = new GenericObjectPool(factory);
+pool.setSoftMinEvictableIdleTimeMillis(10);
+pool.setMinIdle(2);
+pool.setTestWhileIdle(true);
+PoolUtils.prefill(pool, 5);
+pool.evict();
+factory.setEvenValid(false);
+factory.setOddValid(false);
+factory.setThrowExceptionOnActivate(true);
+pool.evict();
+PoolUtils.prefill(pool, 5);
+factory.setThrowExceptionOnActivate(false);
+factory.setThrowExceptionOnPassivate(true);
+pool.evict();
+factory.setThrowExceptionOnPassivate(false);
+factory.setEvenValid(true);
+factory.setOddValid(true);
+Thread.sleep(125);
+pool.evict();
+assertEquals(2, pool.getNumIdle());
+}
+
 public void testExceptionOnPassivateDuringReturn() throws Exception {
 SimpleFactory factory = new SimpleFactory();
 GenericObjectPool pool = new GenericObjectPool(factory);
@@ -304,6 +330,10 @@
 assertEquals(11235L,pool.getTimeBetweenEvictionRunsMillis());
 }
 {
+pool.setSoftMinEvictableIdleTimeMillis(12135L);
+assertEquals(12135L,pool.getSoftMinEvictableIdleTimeMillis());
+}
+{
 
pool.setWhenExhaustedAction(GenericObjectPool.WHEN_EXHAUSTED_BLOCK);
 
assertEquals(GenericObjectPool.WHEN_EXHAUSTED_BLOCK,pool.getWhenExhaustedAction());
 pool.setWhenExhaustedAction(GenericObjectPool.WHEN_EXHAUSTED_FAIL);
@@ -811,6 +841,15 @@
pool.returnObject(obj);
assertEquals(should be one idle, 1, pool.getNumIdle());
assertEquals(should be zero active, 0, pool.getNumActive());
+
+ObjectPool op = new GenericObjectPool();
+try {
+op.addObject();
+fail(Expected IllegalStateException when there is no factory.);
+} catch (IllegalStateException ise) {
+//expected
+}
+op.close();
 }
 
 private GenericObjectPool pool = null;



-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



svn commit: r386116 - /jakarta/commons/proper/pool/branches/1_3_RELEASE_BRANCH/src/java/org/apache/commons/pool/impl/GenericKeyedObjectPool.java

2006-03-15 Thread sandymac
Author: sandymac
Date: Wed Mar 15 09:15:58 2006
New Revision: 386116

URL: http://svn.apache.org/viewcvs?rev=386116view=rev
Log:
Fixed one of the constructors that was ignoring a maxTotal parameter.
Fixed some JavaDoc @links to the KeyedPoolableObjectFactory

Modified:

jakarta/commons/proper/pool/branches/1_3_RELEASE_BRANCH/src/java/org/apache/commons/pool/impl/GenericKeyedObjectPool.java

Modified: 
jakarta/commons/proper/pool/branches/1_3_RELEASE_BRANCH/src/java/org/apache/commons/pool/impl/GenericKeyedObjectPool.java
URL: 
http://svn.apache.org/viewcvs/jakarta/commons/proper/pool/branches/1_3_RELEASE_BRANCH/src/java/org/apache/commons/pool/impl/GenericKeyedObjectPool.java?rev=386116r1=386115r2=386116view=diff
==
--- 
jakarta/commons/proper/pool/branches/1_3_RELEASE_BRANCH/src/java/org/apache/commons/pool/impl/GenericKeyedObjectPool.java
 (original)
+++ 
jakarta/commons/proper/pool/branches/1_3_RELEASE_BRANCH/src/java/org/apache/commons/pool/impl/GenericKeyedObjectPool.java
 Wed Mar 15 09:15:58 2006
@@ -1,5 +1,5 @@
 /*
- * Copyright 1999-2004 The Apache Software Foundation.
+ * Copyright 1999-2004,2006 The Apache Software Foundation.
  * 
  * Licensed under the Apache License, Version 2.0 (the License);
  * you may not use this file except in compliance with the License.
@@ -82,7 +82,7 @@
  *When [EMAIL PROTECTED] #setTestOnBorrow itestOnBorrow/i} is set, the 
pool will
  *attempt to validate each object before it is returned from the
  *[EMAIL PROTECTED] #borrowObject} method. (Using the provided factory's
- *[EMAIL PROTECTED] 
org.apache.commons.pool.PoolableObjectFactory#validateObject} method.)  Objects 
that fail
+ *[EMAIL PROTECTED] KeyedPoolableObjectFactory#validateObject} method.)  
Objects that fail
  *to validate will be dropped from the pool, and a different object will
  *be borrowed.
  *  /li
@@ -90,7 +90,7 @@
  *When [EMAIL PROTECTED] #setTestOnReturn itestOnReturn/i} is set, the 
pool will
  *attempt to validate each object before it is returned to the pool in the
  *[EMAIL PROTECTED] #returnObject} method. (Using the provided factory's
- *[EMAIL PROTECTED] 
org.apache.commons.pool.PoolableObjectFactory#validateObject}
+ *[EMAIL PROTECTED] KeyedPoolableObjectFactory#validateObject}
  *method.)  Objects that fail to validate will be dropped from the pool.
  *  /li
  * /ul
@@ -114,7 +114,7 @@
  *  li
  *   [EMAIL PROTECTED] #setTestWhileIdle itestWhileIdle/i} indicates 
whether or not idle
  *   objects should be validated using the factory's
- *   [EMAIL PROTECTED] 
org.apache.commons.pool.PoolableObjectFactory#validateObject} method.  Objects
+ *   [EMAIL PROTECTED] KeyedPoolableObjectFactory#validateObject} method.  
Objects
  *   that fail to validate will be dropped from the pool.
  *  /li
  * /ul
@@ -384,7 +384,7 @@
  * @param testWhileIdle whether or not to validate objects in the idle 
object eviction thread, if any (see [EMAIL PROTECTED] #setTestWhileIdle})
  */
 public GenericKeyedObjectPool(KeyedPoolableObjectFactory factory, int 
maxActive, byte whenExhaustedAction, long maxWait, int maxIdle, int maxTotal, 
boolean testOnBorrow, boolean testOnReturn, long timeBetweenEvictionRunsMillis, 
int numTestsPerEvictionRun, long minEvictableIdleTimeMillis, boolean 
testWhileIdle) {
-this(factory, maxActive, whenExhaustedAction, maxWait, maxIdle, 
GenericKeyedObjectPool.DEFAULT_MAX_TOTAL, 
GenericKeyedObjectPool.DEFAULT_MIN_IDLE, testOnBorrow, testOnReturn, 
timeBetweenEvictionRunsMillis, numTestsPerEvictionRun, 
minEvictableIdleTimeMillis, testWhileIdle);
+this(factory, maxActive, whenExhaustedAction, maxWait, maxIdle, 
maxTotal, GenericKeyedObjectPool.DEFAULT_MIN_IDLE, testOnBorrow, testOnReturn, 
timeBetweenEvictionRunsMillis, numTestsPerEvictionRun, 
minEvictableIdleTimeMillis, testWhileIdle);
 }
 
 /**



-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



svn commit: r386186 [2/2] - in /jakarta/commons/proper/pool/trunk: src/java/org/apache/commons/pool/ src/java/org/apache/commons/pool/impl/ src/test/org/apache/commons/pool/ src/test/org/apache/common

2006-03-15 Thread sandymac
Modified: 
jakarta/commons/proper/pool/trunk/src/test/org/apache/commons/pool/impl/TestStackKeyedObjectPool.java
URL: 
http://svn.apache.org/viewcvs/jakarta/commons/proper/pool/trunk/src/test/org/apache/commons/pool/impl/TestStackKeyedObjectPool.java?rev=386186r1=386185r2=386186view=diff
==
--- 
jakarta/commons/proper/pool/trunk/src/test/org/apache/commons/pool/impl/TestStackKeyedObjectPool.java
 (original)
+++ 
jakarta/commons/proper/pool/trunk/src/test/org/apache/commons/pool/impl/TestStackKeyedObjectPool.java
 Wed Mar 15 14:28:20 2006
@@ -44,7 +44,11 @@
 StackKeyedObjectPool pool = new StackKeyedObjectPool(new 
SimpleFactory(),mincapacity);
 return pool;
 }
-
+
+protected KeyedObjectPool makeEmptyPool(KeyedPoolableObjectFactory 
factory) {
+return new StackKeyedObjectPool(factory);
+}
+
 protected Object getNthObject(Object key, int n) {
 return String.valueOf(key) + String.valueOf(n);
 }
@@ -228,8 +232,7 @@
 }
 
 public void testBorrowReturnWithSometimesInvalidObjects() throws Exception 
{
-KeyedObjectPool pool = new StackKeyedObjectPool();
-pool.setFactory(
+KeyedObjectPool pool = new StackKeyedObjectPool(
 new KeyedPoolableObjectFactory() {
 int counter = 0;
 public Object makeObject(Object key) { return new 
Integer(counter++); }
@@ -261,7 +264,7 @@
 for(int i=0;i10;i++) {
 pool.returnObject(key,obj[i]);
 }
-assertEquals(3,pool.getNumIdle(key));
+assertEquals(6,pool.getNumIdle(key));
 }
  
 class SimpleFactory implements KeyedPoolableObjectFactory {

Modified: jakarta/commons/proper/pool/trunk/xdocs/changes.xml
URL: 
http://svn.apache.org/viewcvs/jakarta/commons/proper/pool/trunk/xdocs/changes.xml?rev=386186r1=386185r2=386186view=diff
==
--- jakarta/commons/proper/pool/trunk/xdocs/changes.xml (original)
+++ jakarta/commons/proper/pool/trunk/xdocs/changes.xml Wed Mar 15 14:28:20 2006
@@ -23,6 +23,26 @@
 
 release version=2.0 date=pending description=Significant clean ups
   action dev=sandymac type=fix
+Edited all KeyedObjectPool related JavaDocs to have meaningful and 
correct content.
+  /action
+  action dev=sandymac type=fix
+Implemented until tests to verify KeyedObjectPool implementations 
conformed to Pool 2 contracts.
+Updated GenericKeyedObjectPool and StackKeyedObjectPool to conformant 
behavior.
+  /action
+  action dev=sandymac type=fix
+Don't ignore maxTotal parameter in
+codeGenericKeyedObjectPool(KeyedPoolableObjectFactory factory, int 
maxActive, byte whenExhaustedAction,
+  long maxWait, int maxIdle, int maxTotal, boolean testOnBorrow, 
boolean testOnReturn,
+  long timeBetweenEvictionRunsMillis, int numTestsPerEvictionRun, long 
minEvictableIdleTimeMillis,
+  boolean testWhileIdle)/code
+  /action
+  action dev=sandymac type=fix
+Change StackKeyedObjectPool to discard stalest, not freshest, idle 
object when maxSleeping is reached.
+  /action
+  action dev=sandymac type=fix
+Edited all ObjectPool related JavaDocs to have meaningful and correct 
content.
+  /action
+  action dev=sandymac type=fix
 Implemented until tests to verify ObjectPool implementations conformed 
to Pool 2 contracts.
 Updated GenericObjectPool, StackObjectPool, and 
SoftReferenceObjectPool to conformant behavior.
   /action



-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



svn commit: r385683 - /jakarta/commons/proper/pool/branches/1_3_RELEASE_BRANCH/project.xml

2006-03-13 Thread sandymac
Author: sandymac
Date: Mon Mar 13 14:31:33 2006
New Revision: 385683

URL: http://svn.apache.org/viewcvs?rev=385683view=rev
Log:
Removed the developer activity dependency since the same report is disabled.

Modified:
jakarta/commons/proper/pool/branches/1_3_RELEASE_BRANCH/project.xml

Modified: jakarta/commons/proper/pool/branches/1_3_RELEASE_BRANCH/project.xml
URL: 
http://svn.apache.org/viewcvs/jakarta/commons/proper/pool/branches/1_3_RELEASE_BRANCH/project.xml?rev=385683r1=385682r2=385683view=diff
==
--- jakarta/commons/proper/pool/branches/1_3_RELEASE_BRANCH/project.xml 
(original)
+++ jakarta/commons/proper/pool/branches/1_3_RELEASE_BRANCH/project.xml Mon Mar 
13 14:31:33 2006
@@ -174,6 +174,8 @@
   /properties
 /dependency
 
+!-- This dependency isn't needed when the maven-developer-activity-plugin 
is disabled. --
+!--
 dependency
   groupIdmaven/groupId
   artifactIdmaven-developer-activity-plugin/artifactId
@@ -186,6 +188,7 @@
   /comment
   /properties
 /dependency
+--
 
   /dependencies
 



-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



svn commit: r385734 - in /jakarta/commons/proper/pool/trunk: maven.xml project.properties xdocs/issue-tracking.xml xdocs/navigation.xml xdocs/style/ xdocs/style/project.css

2006-03-13 Thread sandymac
Author: sandymac
Date: Mon Mar 13 20:55:27 2006
New Revision: 385734

URL: http://svn.apache.org/viewcvs?rev=385734view=rev
Log:
Merged new site build changes from 1.3 branch to trunk.

Added:
jakarta/commons/proper/pool/trunk/xdocs/issue-tracking.xml
  - copied unchanged from r385727, 
jakarta/commons/proper/pool/branches/1_3_RELEASE_BRANCH/xdocs/issue-tracking.xml
jakarta/commons/proper/pool/trunk/xdocs/style/
jakarta/commons/proper/pool/trunk/xdocs/style/project.css
  - copied unchanged from r385727, 
jakarta/commons/proper/pool/branches/1_3_RELEASE_BRANCH/xdocs/style/project.css
Modified:
jakarta/commons/proper/pool/trunk/maven.xml
jakarta/commons/proper/pool/trunk/project.properties
jakarta/commons/proper/pool/trunk/xdocs/navigation.xml

Modified: jakarta/commons/proper/pool/trunk/maven.xml
URL: 
http://svn.apache.org/viewcvs/jakarta/commons/proper/pool/trunk/maven.xml?rev=385734r1=385733r2=385734view=diff
==
--- jakarta/commons/proper/pool/trunk/maven.xml (original)
+++ jakarta/commons/proper/pool/trunk/maven.xml Mon Mar 13 20:55:27 2006
@@ -1,5 +1,5 @@
  !--
-   Copyright 2002-2004 The Apache Software Foundation
+   Copyright 2002-2004,2006 The Apache Software Foundation
 
Licensed under the Apache License, Version 2.0 (the License);
you may not use this file except in compliance with the License.
@@ -16,23 +16,6 @@
 project
 xmlns:j=jelly:core
 xmlns:ant=jelly:ant
-
-  !-- == --
-  !-- START : C O M M O N S - B U I L D  --
-  !-- == --
-  !-- Required: Look and Feel for documentation within distributions --
-  !-- == --
-  postGoal name=xdoc:copy-resources  
-copy todir=${basedir}/target/docs/style/ failonerror=false
-  fileset dir=${basedir}/../commons-build/xdocs/style
-   include name='**/*'/
-   exclude name='**/CVS/**'/
-  /fileset
-/copy
-  /postGoal
-  !-- == --
-  !-- END: C O M M O N S - B U I L D --
-  !-- == --
 
   !-- == DIST == --
   !-- Copied from Commons-Collections--

Modified: jakarta/commons/proper/pool/trunk/project.properties
URL: 
http://svn.apache.org/viewcvs/jakarta/commons/proper/pool/trunk/project.properties?rev=385734r1=385733r2=385734view=diff
==
--- jakarta/commons/proper/pool/trunk/project.properties (original)
+++ jakarta/commons/proper/pool/trunk/project.properties Mon Mar 13 20:55:27 
2006
@@ -1,4 +1,4 @@
-#   Copyright 2003-2004 The Apache Software Foundation
+#   Copyright 2003-2004,2006 The Apache Software Foundation
 #
 #   Licensed under the Apache License, Version 2.0 (the License);
 #   you may not use this file except in compliance with the License.
@@ -19,6 +19,7 @@
 maven.changelog.factory=org.apache.maven.svnlib.SvnChangeLogFactory
 
 maven.javadoc.author=false
+maven.javadoc.overview=src/java/org/apache/commons/pool/overview.html
 maven.javadoc.links=http://java.sun.com/j2se/1.4.2/docs/api
 
 # Jar Manifest Additional Attributes
@@ -27,9 +28,6 @@
 maven.jar.manifest.attribute.X-Compile-Source-JDK=${maven.compile.source}
 maven.jar.manifest.attribute.X-Compile-Target-JDK=${maven.compile.target}
 
-# commons site LF
-maven.xdoc.jsl=../commons-build/commons-site.jsl
-
 maven.xdoc.date=bottom
 maven.xdoc.poweredby.image=maven-feather.png
 maven.xdoc.version=${pom.currentVersion}
@@ -38,6 +36,8 @@
 maven.compile.debug=on
 maven.compile.deprecation=off
 maven.compile.optimize=off
+maven.compile.source=1.4
+maven.compile.target=1.4
 
 maven.jarResources.basedir=src/java
 maven.jar.excludes=**/package.html

Modified: jakarta/commons/proper/pool/trunk/xdocs/navigation.xml
URL: 
http://svn.apache.org/viewcvs/jakarta/commons/proper/pool/trunk/xdocs/navigation.xml?rev=385734r1=385733r2=385734view=diff
==
--- jakarta/commons/proper/pool/trunk/xdocs/navigation.xml (original)
+++ jakarta/commons/proper/pool/trunk/xdocs/navigation.xml Mon Mar 13 20:55:27 
2006
@@ -1,6 +1,6 @@
 ?xml version=1.0 encoding=ISO-8859-1?
 !--
-   Copyright 2003-2004 The Apache Software Foundation
+   Copyright 2003-2004,2006 The Apache Software Foundation
 
Licensed under the Apache License, Version 2.0 (the License);
you may not use this file except in compliance with the License.
@@ -14,7 +14,7 @@
See the License for the specific language governing permissions and
limitations under the License.
 --
-!DOCTYPE org.apache.commons.menus SYSTEM 
'../../commons

svn commit: r385736 - /jakarta/commons/proper/pool/trunk/build.xml

2006-03-13 Thread sandymac
Author: sandymac
Date: Mon Mar 13 20:57:48 2006
New Revision: 385736

URL: http://svn.apache.org/viewcvs?rev=385736view=rev
Log:
Remove commons collections references and target Java 1.4.

Modified:
jakarta/commons/proper/pool/trunk/build.xml

Modified: jakarta/commons/proper/pool/trunk/build.xml
URL: 
http://svn.apache.org/viewcvs/jakarta/commons/proper/pool/trunk/build.xml?rev=385736r1=385735r2=385736view=diff
==
--- jakarta/commons/proper/pool/trunk/build.xml (original)
+++ jakarta/commons/proper/pool/trunk/build.xml Mon Mar 13 20:57:48 2006
@@ -1,5 +1,5 @@
 !--
-   Copyright 2003-2004 The Apache Software Foundation
+   Copyright 2003-2004,2006 The Apache Software Foundation
 
Licensed under the Apache License, Version 2.0 (the License);
you may not use this file except in compliance with the License.
@@ -31,13 +31,11 @@
   property name=user-propfile value=${user.home}/build.properties/
   property file=${user-propfile}/
 
-  property name=commons-collections.jar 
value=${basedir}/../collections/dist/commons-collections.jar/
-
   !-- command line classpath, if any --
   property name=cp value=/
 
   !-- now combine the classpaths --
-  property name=classpath 
value=${cp}:${commons-collections.jar}:${junit.jar}/
+  property name=classpath value=${cp}:${junit.jar}/
 
   property name=name value=commons-pool/
   property name=title value=Jakarta Commons Object Pooling Package/
@@ -93,7 +91,8 @@
noindex=false
nohelp=true
nonavbar=false
-   serialwarn=false
+   serialwarn=false
+   source=1.4
   link href=http://java.sun.com/j2se/1.4.2/docs/api/
   /javadoc
/target
@@ -107,7 +106,8 @@
  classpath=${classpath}
  debug=${javac.debug}
  deprecation=${javac.deprecation}
- optimize=${javac.optimize}/
+ optimize=${javac.optimize}
+ source=1.4/
/target

target name=compile-test depends=compile
@@ -116,7 +116,8 @@
  srcdir=${src.test.dir}
  debug=${javac.debug}
  deprecation=${javac.deprecation}
- optimize=${javac.optimize}
+ optimize=${javac.optimize}
+ source=1.4
 classpath
   pathelement location=${build.classes.dir} / 
   pathelement location=${build.test-classes.dir} / 



-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



svn commit: r385739 - in /jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool: KeyedObjectPool.java ObjectPool.java

2006-03-13 Thread sandymac
Author: sandymac
Date: Mon Mar 13 21:15:16 2006
New Revision: 385739

URL: http://svn.apache.org/viewcvs?rev=385739view=rev
Log:
JavaDoc contract clarification.

Modified:

jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/KeyedObjectPool.java

jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/ObjectPool.java

Modified: 
jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/KeyedObjectPool.java
URL: 
http://svn.apache.org/viewcvs/jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/KeyedObjectPool.java?rev=385739r1=385738r2=385739view=diff
==
--- 
jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/KeyedObjectPool.java
 (original)
+++ 
jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/KeyedObjectPool.java
 Mon Mar 13 21:15:16 2006
@@ -124,7 +124,7 @@
 
 /**
  * Create an object using the [EMAIL PROTECTED] KeyedPoolableObjectFactory 
factory} or other
- * implementation dependent mechanism, and place it into the pool.
+ * implementation dependent mechanism, passivated, and then placed in the 
idle object pool.
  * addObject() is useful for pre-loading a pool with idle objects.
  * (Optional operation).
  *

Modified: 
jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/ObjectPool.java
URL: 
http://svn.apache.org/viewcvs/jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/ObjectPool.java?rev=385739r1=385738r2=385739view=diff
==
--- 
jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/ObjectPool.java
 (original)
+++ 
jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/ObjectPool.java
 Mon Mar 13 21:15:16 2006
@@ -112,7 +112,7 @@
 
 /**
  * Create an object using the [EMAIL PROTECTED] PoolableObjectFactory 
factory} or other
- * implementation dependent mechanism, and place it into the pool.
+ * implementation dependent mechanism, passivated, and then placed in the 
idle object pool.
  * addObject() is useful for pre-loading a pool with idle objects.
  * (Optional operation).
  *



-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



svn commit: r385740 - /jakarta/commons/proper/pool/trunk/xdocs/changes.xml

2006-03-13 Thread sandymac
Author: sandymac
Date: Mon Mar 13 21:18:55 2006
New Revision: 385740

URL: http://svn.apache.org/viewcvs?rev=385740view=rev
Log:
Created Maven changes log.

Added:
jakarta/commons/proper/pool/trunk/xdocs/changes.xml   (with props)

Added: jakarta/commons/proper/pool/trunk/xdocs/changes.xml
URL: 
http://svn.apache.org/viewcvs/jakarta/commons/proper/pool/trunk/xdocs/changes.xml?rev=385740view=auto
==
--- jakarta/commons/proper/pool/trunk/xdocs/changes.xml (added)
+++ jakarta/commons/proper/pool/trunk/xdocs/changes.xml Mon Mar 13 21:18:55 2006
@@ -0,0 +1,75 @@
+?xml version=1.0?
+!--
+  Copyright 2006 The Apache Software Foundation.
+
+  Licensed 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.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+  --
+document
+  properties
+titleCommons Pool Changes/title
+author email=[EMAIL PROTECTED]Sandy McArthur/author
+  /properties
+  body
+
+release version=2.0 date=pending description=Significant clean ups
+  action dev=sandymac type=fix
+Fix JavaDocs to conform to Pool 2 contracts.
+  /action
+  action dev=sandymac type=update
+Improved SoftReferenceObjectPool getNumIdle accuracy.
+  /action
+  action dev=rdonkin type=update
+descriptionUpdates to javadoc contracts for 2.0./description
+fixes issue=38660/
+fixes issue=38664/
+fixes issue=38666/
+fixes issue=38667/
+fixes issue=38669/
+fixes issue=38746/
+dueto name=Sandy McArthur/
+  /action
+/release
+
+release version=1.3 date=2006-pending description=1.x bugfix 
release
+  action type=fixA large number of bug fixes. See release notes for 
changes./action
+/release
+
+release version=1.2 date=2004-06-07 description=bugfixes
+  action dev=dirkv type=fix
+descriptionGenericKeyedObjectPoolFactory Config Constructor is 
incorrect/description
+fixes issue=24864/
+  /action
+  action dev=dirkv type=fix
+descriptionNot possible to extend GenericObjectPool.returnObject() 
without affecting addObject()/description
+fixes issue=28638/
+  /action
+/release
+
+release version=1.1 date=2003-10-20
+  action type=fixA lot of corner cases were fixed/action
+  action type=fixPerformance improvement by optimizing pool 
synchronization, the critical code paths were optimized by reducing pool 
synchronization but we also added more synchronization where needed/action
+  action type=fixNew minIdle feature: the minimum number of objects 
allowed in the pool before the evictor thread (if active) spawns new objects. 
(Note no objects are created when: numActive + numIdle = maxActive)/action
+  action type=fixNew maxTotal feature: a cap on the total number of 
instances controlled by a pool. Only for GenericKeyedObjectPool where maxActive 
is a cap on the number of active instances from the pool (per key)./action
+  action type=fixUML Class and sequence diagrams/action
+  action type=fixSee bugzilla for more changes/action
+/release
+
+release version=1.0.1 date=2002-08-12
+  action type=fixNo change log available./action
+/release
+
+release version=1.0 date=2002-05-04
+  action type=addNo change log available./action
+/release
+  /body
+/document
\ No newline at end of file

Propchange: jakarta/commons/proper/pool/trunk/xdocs/changes.xml
--
svn:eol-style = native



-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



svn commit: r385296 - in /jakarta/commons/proper/pool: branches/1_3_RELEASE_BRANCH/src/java/org/apache/commons/pool/PoolUtils.java trunk/src/java/org/apache/commons/pool/PoolUtils.java

2006-03-12 Thread sandymac
Author: sandymac
Date: Sun Mar 12 07:28:08 2006
New Revision: 385296

URL: http://svn.apache.org/viewcvs?rev=385296view=rev
Log:
Add @since Pool 1.3 to PoolUtils

Modified:

jakarta/commons/proper/pool/branches/1_3_RELEASE_BRANCH/src/java/org/apache/commons/pool/PoolUtils.java

jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/PoolUtils.java

Modified: 
jakarta/commons/proper/pool/branches/1_3_RELEASE_BRANCH/src/java/org/apache/commons/pool/PoolUtils.java
URL: 
http://svn.apache.org/viewcvs/jakarta/commons/proper/pool/branches/1_3_RELEASE_BRANCH/src/java/org/apache/commons/pool/PoolUtils.java?rev=385296r1=385295r2=385296view=diff
==
--- 
jakarta/commons/proper/pool/branches/1_3_RELEASE_BRANCH/src/java/org/apache/commons/pool/PoolUtils.java
 (original)
+++ 
jakarta/commons/proper/pool/branches/1_3_RELEASE_BRANCH/src/java/org/apache/commons/pool/PoolUtils.java
 Sun Mar 12 07:28:08 2006
@@ -29,6 +29,7 @@
  *
  * @author Sandy McArthur
  * @version $Revision$ $Date$
+ * @since Pool 1.3
  */
 public final class PoolUtils {
 
@@ -55,6 +56,7 @@
  * @return a [EMAIL PROTECTED] PoolableObjectFactory} that delegates to 
codekeyedFactory/code with an internal key.
  * @throws IllegalArgumentException when codekeyedFactory/code is 
codenull/code.
  * @see #adapt(KeyedPoolableObjectFactory, Object)
+ * @since Pool 1.3
  */
 public static PoolableObjectFactory adapt(final KeyedPoolableObjectFactory 
keyedFactory) throws IllegalArgumentException {
 return adapt(keyedFactory, new Object());
@@ -69,6 +71,7 @@
  * @return a [EMAIL PROTECTED] PoolableObjectFactory} that delegates to 
codekeyedFactory/code with the specified key.
  * @throws IllegalArgumentException when codekeyedFactory/code or 
codekey/code is codenull/code.
  * @see #adapt(KeyedPoolableObjectFactory)
+ * @since Pool 1.3
  */
 public static PoolableObjectFactory adapt(final KeyedPoolableObjectFactory 
keyedFactory, final Object key) throws IllegalArgumentException {
 return new PoolableObjectFactoryAdaptor(keyedFactory, key);
@@ -81,6 +84,7 @@
  * @param factory the [EMAIL PROTECTED] PoolableObjectFactory} to delegate 
to.
  * @return a [EMAIL PROTECTED] KeyedPoolableObjectFactory} that delegates 
to codefactory/code ignoring the key.
  * @throws IllegalArgumentException when codefactory/code is 
codenull/code.
+ * @since Pool 1.3
  */
 public static KeyedPoolableObjectFactory adapt(final PoolableObjectFactory 
factory) throws IllegalArgumentException {
 return new KeyedPoolableObjectFactoryAdaptor(factory);
@@ -94,6 +98,7 @@
  * @return an [EMAIL PROTECTED] ObjectPool} that delegates to 
codekeyedPool/code with an internal key.
  * @throws IllegalArgumentException when codekeyedPool/code is 
codenull/code.
  * @see #adapt(KeyedObjectPool, Object)
+ * @since Pool 1.3
  */
 public static ObjectPool adapt(final KeyedObjectPool keyedPool) throws 
IllegalArgumentException {
 return adapt(keyedPool, new Object());
@@ -108,6 +113,7 @@
  * @return an [EMAIL PROTECTED] ObjectPool} that delegates to 
codekeyedPool/code with the specified key.
  * @throws IllegalArgumentException when codekeyedPool/code or 
codekey/code is codenull/code.
  * @see #adapt(KeyedObjectPool)
+ * @since Pool 1.3
  */
 public static ObjectPool adapt(final KeyedObjectPool keyedPool, final 
Object key) throws IllegalArgumentException {
 return new ObjectPoolAdaptor(keyedPool, key);
@@ -120,6 +126,7 @@
  * @param pool the [EMAIL PROTECTED] ObjectPool} to delegate to.
  * @return a [EMAIL PROTECTED] KeyedObjectPool} that delegates to 
codekeyedPool/code ignoring the key.
  * @throws IllegalArgumentException when codekeyedPool/code is 
codenull/code.
+ * @since Pool 1.3
  */
 public static KeyedObjectPool adapt(final ObjectPool pool) throws 
IllegalArgumentException {
 return new KeyedObjectPoolAdaptor(pool);
@@ -131,6 +138,7 @@
  *
  * @param pool the keyedPool to enforce type safety on
  * @return an codeObjectPool/code that will only allow objects of 
codetype/code
+ * @since Pool 1.3
  */
 public static ObjectPool checkedPool(final ObjectPool pool, final Class 
type) {
 if (pool == null) {
@@ -148,6 +156,7 @@
  *
  * @param keyedPool the keyedPool to enforce type safety on
  * @return an codeKeyedObjectPool/code that will only allow objects of 
codetype/code
+ * @since Pool 1.3
  */
 public static KeyedObjectPool checkedPool(final KeyedObjectPool keyedPool, 
final Class type) {
 if (keyedPool == null) {
@@ -171,6 +180,7 @@
  * @throws IllegalArgumentException when codekeyedPool/code is 
codenull/code or
  *  when codeminIdle/code is negative or when codeperiod/code 
isn't
  *  valid for [EMAIL PROTECTED] Timer#schedule

svn commit: r385298 - in /jakarta/commons/proper/pool/branches/1_3_RELEASE_BRANCH: build.xml project.properties

2006-03-12 Thread sandymac
Author: sandymac
Date: Sun Mar 12 07:37:00 2006
New Revision: 385298

URL: http://svn.apache.org/viewcvs?rev=385298view=rev
Log:
Set source and target properties to Java 1.3.
Removed references to no longer needed commons collections.
Linked overview page so it's included in JavaDocs.

Modified:
jakarta/commons/proper/pool/branches/1_3_RELEASE_BRANCH/build.xml
jakarta/commons/proper/pool/branches/1_3_RELEASE_BRANCH/project.properties

Modified: jakarta/commons/proper/pool/branches/1_3_RELEASE_BRANCH/build.xml
URL: 
http://svn.apache.org/viewcvs/jakarta/commons/proper/pool/branches/1_3_RELEASE_BRANCH/build.xml?rev=385298r1=385297r2=385298view=diff
==
--- jakarta/commons/proper/pool/branches/1_3_RELEASE_BRANCH/build.xml (original)
+++ jakarta/commons/proper/pool/branches/1_3_RELEASE_BRANCH/build.xml Sun Mar 
12 07:37:00 2006
@@ -31,13 +31,11 @@
   property name=user-propfile value=${user.home}/build.properties/
   property file=${user-propfile}/
 
-  property name=commons-collections.jar 
value=${basedir}/../collections/dist/commons-collections.jar/
-
   !-- command line classpath, if any --
   property name=cp value=/
 
   !-- now combine the classpaths --
-  property name=classpath 
value=${cp}:${commons-collections.jar}:${junit.jar}/
+  property name=classpath value=${cp}:${junit.jar}/
 
   property name=name value=commons-pool/
   property name=title value=Jakarta Commons Object Pooling Package/
@@ -93,8 +91,9 @@
noindex=false
nohelp=true
nonavbar=false
-   serialwarn=false
-  link href=http://java.sun.com/j2se/1.4.2/docs/api/
+   serialwarn=false
+   source=1.3
+  link href=http://java.sun.com/j2se/1.3/docs/api/
   /javadoc
/target
 
@@ -107,7 +106,9 @@
  classpath=${classpath}
  debug=${javac.debug}
  deprecation=${javac.deprecation}
- optimize=${javac.optimize}/
+ optimize=${javac.optimize}
+ source=1.3
+ target=1.3/
/target

target name=compile-test depends=compile
@@ -116,7 +117,9 @@
  srcdir=${src.test.dir}
  debug=${javac.debug}
  deprecation=${javac.deprecation}
- optimize=${javac.optimize}
+ optimize=${javac.optimize}
+ source=1.3
+ target=1.3
 classpath
   pathelement location=${build.classes.dir} / 
   pathelement location=${build.test-classes.dir} / 

Modified: 
jakarta/commons/proper/pool/branches/1_3_RELEASE_BRANCH/project.properties
URL: 
http://svn.apache.org/viewcvs/jakarta/commons/proper/pool/branches/1_3_RELEASE_BRANCH/project.properties?rev=385298r1=385297r2=385298view=diff
==
--- jakarta/commons/proper/pool/branches/1_3_RELEASE_BRANCH/project.properties 
(original)
+++ jakarta/commons/proper/pool/branches/1_3_RELEASE_BRANCH/project.properties 
Sun Mar 12 07:37:00 2006
@@ -19,7 +19,8 @@
 maven.changelog.factory=org.apache.maven.svnlib.SvnChangeLogFactory
 
 maven.javadoc.author=false
-maven.javadoc.links=http://java.sun.com/j2se/1.4.2/docs/api
+maven.javadoc.overview=src/java/org/apache/commons/pool/overview.html
+maven.javadoc.links=http://java.sun.com/j2se/1.3/docs/api
 
 # Jar Manifest Additional Attributes
 
maven.jar.manifest.attributes.list=Implementation-Vendor-Id,X-Compile-Source-JDK,X-Compile-Target-JDK
@@ -38,6 +39,8 @@
 maven.compile.debug=on
 maven.compile.deprecation=off
 maven.compile.optimize=off
+maven.compile.source=1.3
+maven.compile.target=1.3
 
 maven.jarResources.basedir=src/java
 maven.jar.excludes=**/package.html



-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



svn commit: r385316 - in /jakarta/commons/proper/pool: branches/1_3_RELEASE_BRANCH/project.xml trunk/project.xml

2006-03-12 Thread sandymac
Author: sandymac
Date: Sun Mar 12 09:18:15 2006
New Revision: 385316

URL: http://svn.apache.org/viewcvs?rev=385316view=rev
Log:
Add PoolUtils unit tests to project.xml

Modified:
jakarta/commons/proper/pool/branches/1_3_RELEASE_BRANCH/project.xml
jakarta/commons/proper/pool/trunk/project.xml

Modified: jakarta/commons/proper/pool/branches/1_3_RELEASE_BRANCH/project.xml
URL: 
http://svn.apache.org/viewcvs/jakarta/commons/proper/pool/branches/1_3_RELEASE_BRANCH/project.xml?rev=385316r1=385315r2=385316view=diff
==
--- jakarta/commons/proper/pool/branches/1_3_RELEASE_BRANCH/project.xml 
(original)
+++ jakarta/commons/proper/pool/branches/1_3_RELEASE_BRANCH/project.xml Sun Mar 
12 09:18:15 2006
@@ -191,6 +191,7 @@
 includeorg/apache/commons/pool/Test*Factory.java/include
 includeorg/apache/commons/pool/TestBaseObjectPool.java/include
 includeorg/apache/commons/pool/TestBaseKeyedObjectPool.java/include
+includeorg/apache/commons/pool/TestPoolUtils.java/include
 includeorg/apache/commons/pool/impl/Test*Pool.java/include
   /includes
 /unitTest

Modified: jakarta/commons/proper/pool/trunk/project.xml
URL: 
http://svn.apache.org/viewcvs/jakarta/commons/proper/pool/trunk/project.xml?rev=385316r1=385315r2=385316view=diff
==
--- jakarta/commons/proper/pool/trunk/project.xml (original)
+++ jakarta/commons/proper/pool/trunk/project.xml Sun Mar 12 09:18:15 2006
@@ -191,6 +191,7 @@
 includeorg/apache/commons/pool/Test*Factory.java/include
 includeorg/apache/commons/pool/TestBaseObjectPool.java/include
 includeorg/apache/commons/pool/TestBaseKeyedObjectPool.java/include
+includeorg/apache/commons/pool/TestPoolUtils.java/include
 includeorg/apache/commons/pool/impl/Test*Pool.java/include
   /includes
 /unitTest



-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



svn commit: r385317 - in /jakarta/commons/proper/pool: branches/1_3_RELEASE_BRANCH/project.xml trunk/project.xml

2006-03-12 Thread sandymac
Author: sandymac
Date: Sun Mar 12 09:19:09 2006
New Revision: 385317

URL: http://svn.apache.org/viewcvs?rev=385317view=rev
Log:
Eliminated obsolete dependencies (maven now requires 1.4).

Modified:
jakarta/commons/proper/pool/branches/1_3_RELEASE_BRANCH/project.xml
jakarta/commons/proper/pool/trunk/project.xml

Modified: jakarta/commons/proper/pool/branches/1_3_RELEASE_BRANCH/project.xml
URL: 
http://svn.apache.org/viewcvs/jakarta/commons/proper/pool/branches/1_3_RELEASE_BRANCH/project.xml?rev=385317r1=385316r2=385317view=diff
==
--- jakarta/commons/proper/pool/branches/1_3_RELEASE_BRANCH/project.xml 
(original)
+++ jakarta/commons/proper/pool/branches/1_3_RELEASE_BRANCH/project.xml Sun Mar 
12 09:19:09 2006
@@ -161,25 +161,6 @@
   /properties
 /dependency
 
-!-- these two are required by maven --
-dependency
-groupIdxml-apis/groupId
-artifactIdxml-apis/artifactId
-version2.0.2/version
-properties
-   commentAny JAXP compliant parser (1.2 or later)./comment
-/properties
-/dependency
-dependency
-groupIdxerces/groupId
-artifactIdxerces/artifactId
-version2.0.2/version
-properties
-  commentAny JAXP compliant parser (1.2 or later)./comment
-/properties
-/dependency
-!-- /these two are required by maven --
-
   /dependencies
 
   build

Modified: jakarta/commons/proper/pool/trunk/project.xml
URL: 
http://svn.apache.org/viewcvs/jakarta/commons/proper/pool/trunk/project.xml?rev=385317r1=385316r2=385317view=diff
==
--- jakarta/commons/proper/pool/trunk/project.xml (original)
+++ jakarta/commons/proper/pool/trunk/project.xml Sun Mar 12 09:19:09 2006
@@ -161,25 +161,6 @@
   /properties
 /dependency
 
-!-- these two are required by maven --
-dependency
-groupIdxml-apis/groupId
-artifactIdxml-apis/artifactId
-version2.0.2/version
-properties
-   commentAny JAXP compliant parser (1.2 or later)./comment
-/properties
-/dependency
-dependency
-groupIdxerces/groupId
-artifactIdxerces/artifactId
-version2.0.2/version
-properties
-  commentAny JAXP compliant parser (1.2 or later)./comment
-/properties
-/dependency
-!-- /these two are required by maven --
-
   /dependencies
 
   build



-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



svn commit: r385431 - in /jakarta/commons/proper/pool/branches/1_3_RELEASE_BRANCH: project.properties project.xml

2006-03-12 Thread sandymac
Author: sandymac
Date: Sun Mar 12 21:36:23 2006
New Revision: 385431

URL: http://svn.apache.org/viewcvs?rev=385431view=rev
Log:
Help Maven auto extract a changelog but it isn't perfect.
See the bottom of: http://www.apache.org/dev/version-control.html

Modified:
jakarta/commons/proper/pool/branches/1_3_RELEASE_BRANCH/project.properties
jakarta/commons/proper/pool/branches/1_3_RELEASE_BRANCH/project.xml

Modified: 
jakarta/commons/proper/pool/branches/1_3_RELEASE_BRANCH/project.properties
URL: 
http://svn.apache.org/viewcvs/jakarta/commons/proper/pool/branches/1_3_RELEASE_BRANCH/project.properties?rev=385431r1=385430r2=385431view=diff
==
--- jakarta/commons/proper/pool/branches/1_3_RELEASE_BRANCH/project.properties 
(original)
+++ jakarta/commons/proper/pool/branches/1_3_RELEASE_BRANCH/project.properties 
Sun Mar 12 21:36:23 2006
@@ -17,6 +17,8 @@
 # uncomment the next line to work in offline mode (no jar download  no 
linkcheck)
 #maven.mode.online=
 maven.changelog.factory=org.apache.maven.svnlib.SvnChangeLogFactory
+maven.changelog.type=date
+maven.changelog.date=2004-06-07
 
 maven.javadoc.author=false
 maven.javadoc.overview=src/java/org/apache/commons/pool/overview.html

Modified: jakarta/commons/proper/pool/branches/1_3_RELEASE_BRANCH/project.xml
URL: 
http://svn.apache.org/viewcvs/jakarta/commons/proper/pool/branches/1_3_RELEASE_BRANCH/project.xml?rev=385431r1=385430r2=385431view=diff
==
--- jakarta/commons/proper/pool/branches/1_3_RELEASE_BRANCH/project.xml 
(original)
+++ jakarta/commons/proper/pool/branches/1_3_RELEASE_BRANCH/project.xml Sun Mar 
12 21:36:23 2006
@@ -161,6 +161,32 @@
   /properties
 /dependency
 
+dependency
+  groupIdmaven/groupId
+  artifactIdmaven-changelog-plugin/artifactId
+  version1.8.2/version
+  urlhttp://maven.apache.org/maven-1.x/plugins/changelog//url
+  typeplugin/type
+  properties
+  comment
+  lt;stronggt;Site Onlylt;/stronggt; - v1.8.2 (minimum)
+  /comment
+  /properties
+/dependency
+
+dependency
+  groupIdmaven/groupId
+  artifactIdmaven-developer-activity-plugin/artifactId
+  version1.5.1/version
+  urlhttp://maven.apache.org/maven-1.x/plugins/developer-activity//url
+  typeplugin/type
+  properties
+  comment
+  lt;stronggt;Site Onlylt;/stronggt; - v1.5.2 (minimum)
+  /comment
+  /properties
+/dependency
+
   /dependencies
 
   build



-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



svn commit: r385437 - in /jakarta/commons/proper/pool/branches/1_3_RELEASE_BRANCH/xdocs: downloads.xml release-notes-1.3.xml

2006-03-12 Thread sandymac
Author: sandymac
Date: Sun Mar 12 22:06:52 2006
New Revision: 385437

URL: http://svn.apache.org/viewcvs?rev=385437view=rev
Log:
Created 1.3 release notes and linked to them from the download page.

Added:

jakarta/commons/proper/pool/branches/1_3_RELEASE_BRANCH/xdocs/release-notes-1.3.xml
  - copied, changed from r384429, 
jakarta/commons/proper/pool/branches/1_3_RELEASE_BRANCH/xdocs/release-notes-1.2.xml
Modified:
jakarta/commons/proper/pool/branches/1_3_RELEASE_BRANCH/xdocs/downloads.xml

Modified: 
jakarta/commons/proper/pool/branches/1_3_RELEASE_BRANCH/xdocs/downloads.xml
URL: 
http://svn.apache.org/viewcvs/jakarta/commons/proper/pool/branches/1_3_RELEASE_BRANCH/xdocs/downloads.xml?rev=385437r1=385436r2=385437view=diff
==
--- jakarta/commons/proper/pool/branches/1_3_RELEASE_BRANCH/xdocs/downloads.xml 
(original)
+++ jakarta/commons/proper/pool/branches/1_3_RELEASE_BRANCH/xdocs/downloads.xml 
Sun Mar 12 22:06:52 2006
@@ -25,6 +25,7 @@
  section name=Releases
  pThe following releases are available:/p
  ul
+   liRelease 1.3 - ## March 2006 - a 
href=release-notes-1.3.html(release notes)/a/li
liRelease 1.2 - 7 June 2004 - a 
href=release-notes-1.2.html(release notes)/a/li
liRelease 1.1 - 20 October 2003 - a 
href=release-notes-1.1.html(release notes)/a/li
liRelease 1.0.1 - 12 August 2002/li
@@ -40,7 +41,10 @@
 Jakarta Source Downloads page/a.
  /p
  p
-Commons-pool depends at runtime on 
+Commons-pool 1.3 only depends at runtime on a Java 1.3 JVM.
+ /p
+ p
+Commons-pool 1.2 depends at runtime on 
 a 
href=http://jakarta.apache.org/commons/collections/;commons-collections/a.
  /p
  p

Copied: 
jakarta/commons/proper/pool/branches/1_3_RELEASE_BRANCH/xdocs/release-notes-1.3.xml
 (from r384429, 
jakarta/commons/proper/pool/branches/1_3_RELEASE_BRANCH/xdocs/release-notes-1.2.xml)
URL: 
http://svn.apache.org/viewcvs/jakarta/commons/proper/pool/branches/1_3_RELEASE_BRANCH/xdocs/release-notes-1.3.xml?p2=jakarta/commons/proper/pool/branches/1_3_RELEASE_BRANCH/xdocs/release-notes-1.3.xmlp1=jakarta/commons/proper/pool/branches/1_3_RELEASE_BRANCH/xdocs/release-notes-1.2.xmlr1=384429r2=385437rev=385437view=diff
==
--- 
jakarta/commons/proper/pool/branches/1_3_RELEASE_BRANCH/xdocs/release-notes-1.2.xml
 (original)
+++ 
jakarta/commons/proper/pool/branches/1_3_RELEASE_BRANCH/xdocs/release-notes-1.3.xml
 Sun Mar 12 22:06:52 2006
@@ -1,6 +1,6 @@
 ?xml version=1.0?
 !--
-   Copyright 2003-2004 The Apache Software Foundation
+   Copyright 2003-2006 The Apache Software Foundation
 
Licensed under the Apache License, Version 2.0 (the License);
you may not use this file except in compliance with the License.
@@ -16,25 +16,618 @@
 --
 document
properties
-  titleRelease notes for Commons-Pool 1.2/title
+  titleRelease notes for Commons-Pool 1.3/title
   author email=commons-dev@jakarta.apache.orgCommons Documentation 
Team/author
-  revision$Id$/revision
+  revision$Id: $/revision
/properties
 
body
- section name=Release notes for Commons-Pool 1.2
-p
-There were no mayor changes since the 1.1 release on 20 October 2003.
+ section name=Release notes for Commons-Pool 1.3
+ p
+ This is a long overdue maintence release of the Pool 1.x branch.
+ This should be a drop in upgrade for anyone using Pool 1.2.
+ /p
 ul
-liThe following issues were resolved since v1.1: (see Bugzilla for complete 
description)
+li
+p
+Dependency on Commons Collections has been removed. Pool 1.3 has 
no requirements other than
+a 1.3 JVM.
+/p
+/li
+li
+p
+Thanks to an audit by Mayur Naik many potential synchronizations 
issues have been fixed.
+/p
+/li
+li
+p
+GenericObjectPool and GenericKeyedObjectPool were incorrectly 
implemented as a LIFO (stack)
+as opposed to a FIFO as documented. This has been fixed.
+/p
+/li
+li
+p
+The following issues were resolved since v1.2: (see Bugzilla for 
complete description)
+/p
 table
-trthID/ththDate/ththSev/ththState/ththSummary/th/tr
-trtda 
href=http://issues.apache.org/bugzilla/show_bug.cgi?id=24864;24864/a/tdtd2004-01-19/tdtdNor/tdtdFIXE/tdtdGenericKeyedObjectPoolFactory
 Config Constructor is incorrect/td/tr
-trtda 
href=http://issues.apache.org/bugzilla/show_bug.cgi?id=28638;28638/a/tdtd2004-04-27/tdtdMin/tdtdFIXE/tdtdNot
 possible to extend GenericObjectPool.returnObject() without affecting 
addObject()/td/tr
-/table
+tr
+thID/th
+thDate/th
+thSev/th
+thState/th

svn commit: r384536 - /jakarta/commons/proper/dbcp/trunk/src/java/org/apache/commons/dbcp/PoolableConnection.java

2006-03-09 Thread sandymac
Author: sandymac
Date: Thu Mar  9 07:42:23 2006
New Revision: 384536

URL: http://svn.apache.org/viewcvs?rev=384536view=rev
Log:
Document future changes that should be made in a non-point release.

Modified:

jakarta/commons/proper/dbcp/trunk/src/java/org/apache/commons/dbcp/PoolableConnection.java

Modified: 
jakarta/commons/proper/dbcp/trunk/src/java/org/apache/commons/dbcp/PoolableConnection.java
URL: 
http://svn.apache.org/viewcvs/jakarta/commons/proper/dbcp/trunk/src/java/org/apache/commons/dbcp/PoolableConnection.java?rev=384536r1=384535r2=384536view=diff
==
--- 
jakarta/commons/proper/dbcp/trunk/src/java/org/apache/commons/dbcp/PoolableConnection.java
 (original)
+++ 
jakarta/commons/proper/dbcp/trunk/src/java/org/apache/commons/dbcp/PoolableConnection.java
 Thu Mar  9 07:42:23 2006
@@ -32,6 +32,7 @@
  */
 public class PoolableConnection extends DelegatingConnection {
 /** The pool to which I should return. */
+// TODO: Correct use of the pool requires that this connection is only 
every returned to the pool once.
 protected ObjectPool _pool = null;
 
 /**
@@ -67,7 +68,7 @@
 isClosed = isClosed();
 } catch (SQLException e) {
 try {
-_pool.invalidateObject(this);
+_pool.invalidateObject(this); // XXX should be guarded to 
happen at most once
 } catch (Exception ie) {
 // DO NOTHING the original exception will be rethrown
 }
@@ -75,14 +76,14 @@
 }
 if (isClosed) {
 try {
-_pool.invalidateObject(this);
+_pool.invalidateObject(this); // XXX should be guarded to 
happen at most once
 } catch (Exception ie) {
 // DO NOTHING, Already closed exception thrown below
 }
 throw new SQLException(Already closed.);
 } else {
 try {
-_pool.returnObject(this);
+_pool.returnObject(this); // XXX should be guarded to happen 
at most once
 } catch(SQLException e) {
 throw e;
 } catch(RuntimeException e) {



-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



svn commit: r384427 - in /jakarta/commons/proper/pool/trunk/src: java/org/apache/commons/pool/PoolUtils.java test/org/apache/commons/pool/TestPoolUtils.java

2006-03-08 Thread sandymac
Author: sandymac
Date: Wed Mar  8 20:40:10 2006
New Revision: 384427

URL: http://svn.apache.org/viewcvs?rev=384427view=rev
Log:
Added type checking wrappers to PoolUtils.

Modified:

jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/PoolUtils.java

jakarta/commons/proper/pool/trunk/src/test/org/apache/commons/pool/TestPoolUtils.java

Modified: 
jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/PoolUtils.java
URL: 
http://svn.apache.org/viewcvs/jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/PoolUtils.java?rev=384427r1=384426r2=384427view=diff
==
--- 
jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/PoolUtils.java
 (original)
+++ 
jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/PoolUtils.java
 Wed Mar  8 20:40:10 2006
@@ -25,7 +25,7 @@
 import java.util.TimerTask;
 
 /**
- * This class consists exclusively of static methods that operate on or return 
pool related interfaces.
+ * This class consists exclusively of static methods that operate on or return 
keyedPool related interfaces.
  *
  * @author Sandy McArthur
  * @version $Revision$ $Date$
@@ -118,29 +118,63 @@
  * The key is ignored.
  *
  * @param pool the [EMAIL PROTECTED] ObjectPool} to delegate to.
- * @return a [EMAIL PROTECTED] KeyedObjectPool} that delegates to 
codepool/code ignoring the key.
- * @throws IllegalArgumentException when codepool/code is 
codenull/code.
+ * @return a [EMAIL PROTECTED] KeyedObjectPool} that delegates to 
codekeyedPool/code ignoring the key.
+ * @throws IllegalArgumentException when codekeyedPool/code is 
codenull/code.
  */
 public static KeyedObjectPool adapt(final ObjectPool pool) throws 
IllegalArgumentException {
 return new KeyedObjectPoolAdaptor(pool);
 }
 
 /**
- * Periodically check the idle object count for the pool. At most one idle 
object will be added per period.
+ * Wraps an codeObjectPool/code and dynamically checks the type of 
objects borrowed and returned to the keyedPool.
+ * If an object is passed to the keyedPool that isn't of type 
codetype/code a [EMAIL PROTECTED] ClassCastException} will be thrown.
+ *
+ * @param pool the keyedPool to enforce type safety on
+ * @return an codeObjectPool/code that will only allow objects of 
codetype/code
+ */
+public static ObjectPool checkedPool(final ObjectPool pool, final Class 
type) {
+if (pool == null) {
+throw new IllegalArgumentException(pool must not be null.);
+}
+if (type == null) {
+throw new IllegalArgumentException(type must not be null.);
+}
+return new CheckedObjectPool(pool, type);
+}
+
+/**
+ * Wraps an codeKeyedObjectPool/code and dynamically checks the type 
of objects borrowed and returned to the keyedPool.
+ * If an object is passed to the keyedPool that isn't of type 
codetype/code a [EMAIL PROTECTED] ClassCastException} will be thrown.
+ *
+ * @param keyedPool the keyedPool to enforce type safety on
+ * @return an codeKeyedObjectPool/code that will only allow objects of 
codetype/code
+ */
+public static KeyedObjectPool checkedPool(final KeyedObjectPool keyedPool, 
final Class type) {
+if (keyedPool == null) {
+throw new IllegalArgumentException(keyedPool must not be null.);
+}
+if (type == null) {
+throw new IllegalArgumentException(type must not be null.);
+}
+return new CheckedKeyedObjectPool(keyedPool, type);
+}
+
+/**
+ * Periodically check the idle object count for the keyedPool. At most one 
idle object will be added per period.
  * If there is an exception when calling [EMAIL PROTECTED] 
ObjectPool#addObject()} then no more checks will be performed.
  *
- * @param pool the pool to check periodically.
+ * @param pool the keyedPool to check periodically.
  * @param minIdle if the [EMAIL PROTECTED] ObjectPool#getNumIdle()} is 
less than this then add an idle object.
- * @param period the frequency to check the number of idle objects in a 
pool, see
+ * @param period the frequency to check the number of idle objects in a 
keyedPool, see
  *  [EMAIL PROTECTED] Timer#schedule(TimerTask, long, long)}.
  * @return the [EMAIL PROTECTED] TimerTask} that will periodically check 
the pools idle object count.
- * @throws IllegalArgumentException when codepool/code is 
codenull/code or
+ * @throws IllegalArgumentException when codekeyedPool/code is 
codenull/code or
  *  when codeminIdle/code is negative or when codeperiod/code 
isn't
  *  valid for [EMAIL PROTECTED] Timer#schedule(TimerTask, long, long)}.
  */
 public static TimerTask checkMinIdle(final ObjectPool pool, final int 
minIdle, final long period) throws IllegalArgumentException

svn commit: r384428 - /jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/

2006-03-08 Thread sandymac
Author: sandymac
Date: Wed Mar  8 20:43:46 2006
New Revision: 384428

URL: http://svn.apache.org/viewcvs?rev=384428view=rev
Log:
Edited all JavaDocs in the pool package. 
Fixed spelling mistakes. Improved consistancy.
Updated examples. Clarified expectations. etc.

Modified:

jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/BaseKeyedObjectPool.java

jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/BaseKeyedPoolableObjectFactory.java

jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/BaseObjectPool.java

jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/BasePoolableObjectFactory.java

jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/KeyedObjectPool.java

jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/KeyedPoolableObjectFactory.java

jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/ObjectPool.java

jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/PoolableObjectFactory.java

Modified: 
jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/BaseKeyedObjectPool.java
URL: 
http://svn.apache.org/viewcvs/jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/BaseKeyedObjectPool.java?rev=384428r1=384427r2=384428view=diff
==
--- 
jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/BaseKeyedObjectPool.java
 (original)
+++ 
jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/BaseKeyedObjectPool.java
 Wed Mar  8 20:43:46 2006
@@ -86,12 +86,13 @@
 }
 
 /**
- * Does nothing this base implementation.
+ * Close this pool.
+ * This affects the behavior of codeisClosed/code and 
codeassertOpen/code.
  */
 public void close() throws Exception {
+closed = true;
 }
 
-
 /**
  * Not supported in this base implementation.
  * Always throws an [EMAIL PROTECTED] UnsupportedOperationException},
@@ -101,4 +102,24 @@
 throw new UnsupportedOperationException();
 }
 
+/**
+ * Has this pool instance been closed.
+ * @return codetrue/code when this pool has been closed.
+ */
+protected final boolean isClosed() {
+return closed;
+}
+
+/**
+ * Throws an codeIllegalStateException/code when this pool has been 
closed.
+ * @throws IllegalStateException when this pool has been closed.
+ * @see #isClosed()
+ */
+protected final void assertOpen() throws IllegalStateException {
+if(isClosed()) {
+throw new IllegalStateException(Pool not open);
+}
+}
+
+private volatile boolean closed = false;
 }

Modified: 
jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/BaseKeyedPoolableObjectFactory.java
URL: 
http://svn.apache.org/viewcvs/jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/BaseKeyedPoolableObjectFactory.java?rev=384428r1=384427r2=384428view=diff
==
--- 
jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/BaseKeyedPoolableObjectFactory.java
 (original)
+++ 
jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/BaseKeyedPoolableObjectFactory.java
 Wed Mar  8 20:43:46 2006
@@ -17,7 +17,7 @@
 package org.apache.commons.pool;
 
 /**
- * A base implemenation of [EMAIL PROTECTED] KeyedPoolableObjectFactory 
KeyedPoolableObjectFactory}.
+ * A base implementation of codeKeyedPoolableObjectFactory/code.
  * p
  * All operations defined here are essentially no-op's.
  *

Modified: 
jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/BaseObjectPool.java
URL: 
http://svn.apache.org/viewcvs/jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/BaseObjectPool.java?rev=384428r1=384427r2=384428view=diff
==
--- 
jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/BaseObjectPool.java
 (original)
+++ 
jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/BaseObjectPool.java
 Wed Mar  8 20:43:46 2006
@@ -62,6 +62,10 @@
 throw new UnsupportedOperationException();
 }
 
+/**
+ * Close this pool.
+ * This affects the behavior of codeisClosed/code and 
codeassertOpen/code.
+ */
 public void close() throws Exception {
 closed = true;
 }

Modified: 
jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/BasePoolableObjectFactory.java
URL: 
http://svn.apache.org/viewcvs/jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/BasePoolableObjectFactory.java?rev=384428r1=384427r2=384428view=diff
==
--- 
jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/BasePoolableObjectFactory.java
 (original

svn commit: r384433 - in /jakarta/commons/proper/pool/branches/1_3_RELEASE_BRANCH/src: java/org/apache/commons/pool/PoolUtils.java test/org/apache/commons/pool/TestAll.java test/org/apache/commons/poo

2006-03-08 Thread sandymac
Author: sandymac
Date: Wed Mar  8 21:19:21 2006
New Revision: 384433

URL: http://svn.apache.org/viewcvs?rev=384433view=rev
Log:
Added PoolUtils to 1.3 branch. PoolUtils works with the 1.3 JDK and introduces 
no new dependencies.

Added:

jakarta/commons/proper/pool/branches/1_3_RELEASE_BRANCH/src/java/org/apache/commons/pool/PoolUtils.java
  - copied unchanged from r384428, 
jakarta/commons/proper/pool/trunk/src/java/org/apache/commons/pool/PoolUtils.java

jakarta/commons/proper/pool/branches/1_3_RELEASE_BRANCH/src/test/org/apache/commons/pool/TestPoolUtils.java
  - copied unchanged from r384428, 
jakarta/commons/proper/pool/trunk/src/test/org/apache/commons/pool/TestPoolUtils.java
Modified:

jakarta/commons/proper/pool/branches/1_3_RELEASE_BRANCH/src/test/org/apache/commons/pool/TestAll.java

Modified: 
jakarta/commons/proper/pool/branches/1_3_RELEASE_BRANCH/src/test/org/apache/commons/pool/TestAll.java
URL: 
http://svn.apache.org/viewcvs/jakarta/commons/proper/pool/branches/1_3_RELEASE_BRANCH/src/test/org/apache/commons/pool/TestAll.java?rev=384433r1=384432r2=384433view=diff
==
--- 
jakarta/commons/proper/pool/branches/1_3_RELEASE_BRANCH/src/test/org/apache/commons/pool/TestAll.java
 (original)
+++ 
jakarta/commons/proper/pool/branches/1_3_RELEASE_BRANCH/src/test/org/apache/commons/pool/TestAll.java
 Wed Mar  8 21:19:21 2006
@@ -35,6 +35,7 @@
 suite.addTest(org.apache.commons.pool.TestBaseKeyedObjectPool.suite());
 
suite.addTest(org.apache.commons.pool.TestBasePoolableObjectFactory.suite());
 
suite.addTest(org.apache.commons.pool.TestBaseKeyedPoolableObjectFactory.suite());
+suite.addTest(org.apache.commons.pool.TestPoolUtils.suite());
 suite.addTest(org.apache.commons.pool.impl.TestAll.suite());
 return suite;
 }



-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



svn commit: r384017 - /jakarta/commons/proper/lang/trunk/src/java/org/apache/commons/lang/StringUtils.java

2006-03-07 Thread sandymac
Author: sandymac
Date: Tue Mar  7 13:17:46 2006
New Revision: 384017

URL: http://svn.apache.org/viewcvs?rev=384017view=rev
Log:
Removed PADDING cache which leaked memory. Issue #38792.
Updated padding(int,char) JavaDoc about it's I18N incompatabilities.

Modified:

jakarta/commons/proper/lang/trunk/src/java/org/apache/commons/lang/StringUtils.java

Modified: 
jakarta/commons/proper/lang/trunk/src/java/org/apache/commons/lang/StringUtils.java
URL: 
http://svn.apache.org/viewcvs/jakarta/commons/proper/lang/trunk/src/java/org/apache/commons/lang/StringUtils.java?rev=384017r1=384016r2=384017view=diff
==
--- 
jakarta/commons/proper/lang/trunk/src/java/org/apache/commons/lang/StringUtils.java
 (original)
+++ 
jakarta/commons/proper/lang/trunk/src/java/org/apache/commons/lang/StringUtils.java
 Tue Mar  7 13:17:46 2006
@@ -150,18 +150,6 @@
 private static final int PAD_LIMIT = 8192;
 
 /**
- * pAn array of codeString/codes used for padding./p
- *
- * pUsed for efficient space padding. The length of each String expands 
as needed./p
- */
-private static final String[] PADDING = new String[Character.MAX_VALUE + 
1];
-
-static {
-// space padding is most common, start with 64 chars
-PADDING[32] = 
;
-}
-
-/**
  * pcodeStringUtils/code instances should NOT be constructed in
  * standard programming. Instead, the class should be used as
  * codeStringUtils.trim( foo );/code./p
@@ -3515,23 +3503,28 @@
  * StringUtils.padding(-2, 'e') = IndexOutOfBoundsException
  * /pre
  *
+ * pNote: this method doesn't not support padding with
+ * a 
href=http://www.unicode.org/glossary/#supplementary_character;Unicode 
Supplementary Characters/a
+ * as they require a pair of codechar/codes to be represented.
+ * If you are needing to support full I18N of your applications
+ * consider using [EMAIL PROTECTED] #repeat(String, int)} instead. 
+ * /p
+ *
  * @param repeat  number of times to repeat delim
  * @param padChar  character to repeat
  * @return String with repeated character
  * @throws IndexOutOfBoundsException if coderepeat lt; 0/code
+ * @see #repeat(String, int)
  */
-private static String padding(int repeat, char padChar) {
-// be careful of synchronization in this method
-// we are assuming that get and set from an array index is atomic
-String pad = PADDING[padChar];
-if (pad == null) {
-pad = String.valueOf(padChar);
+private static String padding(int repeat, char padChar) throws 
IndexOutOfBoundsException {
+if (repeat  0) {
+throw new IndexOutOfBoundsException(Cannot pad a negative amount: 
 + repeat);
 }
-while (pad.length()  repeat) {
-pad = pad.concat(pad);
+final char[] buf = new char[repeat];
+for (int i=0; i  buf.length; i++) {
+buf[i] = padChar;
 }
-PADDING[padChar] = pad;
-return pad.substring(0, repeat);
+return new String(buf);
 }
 
 /**



-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



svn commit: r383680 - in /jakarta/commons/proper/pool/trunk/src/test/org/apache/commons/pool: TestAll.java TestPoolUtils.java

2006-03-06 Thread sandymac
Author: sandymac
Date: Mon Mar  6 13:32:02 2006
New Revision: 383680

URL: http://svn.apache.org/viewcvs?rev=383680view=rev
Log:
Added TestPoolUtils to the TestAll TestSuit

Modified:

jakarta/commons/proper/pool/trunk/src/test/org/apache/commons/pool/TestAll.java

jakarta/commons/proper/pool/trunk/src/test/org/apache/commons/pool/TestPoolUtils.java

Modified: 
jakarta/commons/proper/pool/trunk/src/test/org/apache/commons/pool/TestAll.java
URL: 
http://svn.apache.org/viewcvs/jakarta/commons/proper/pool/trunk/src/test/org/apache/commons/pool/TestAll.java?rev=383680r1=383679r2=383680view=diff
==
--- 
jakarta/commons/proper/pool/trunk/src/test/org/apache/commons/pool/TestAll.java 
(original)
+++ 
jakarta/commons/proper/pool/trunk/src/test/org/apache/commons/pool/TestAll.java 
Mon Mar  6 13:32:02 2006
@@ -35,6 +35,7 @@
 suite.addTest(org.apache.commons.pool.TestBaseKeyedObjectPool.suite());
 
suite.addTest(org.apache.commons.pool.TestBasePoolableObjectFactory.suite());
 
suite.addTest(org.apache.commons.pool.TestBaseKeyedPoolableObjectFactory.suite());
+suite.addTest(org.apache.commons.pool.TestPoolUtils.suite());
 suite.addTest(org.apache.commons.pool.impl.TestAll.suite());
 return suite;
 }

Modified: 
jakarta/commons/proper/pool/trunk/src/test/org/apache/commons/pool/TestPoolUtils.java
URL: 
http://svn.apache.org/viewcvs/jakarta/commons/proper/pool/trunk/src/test/org/apache/commons/pool/TestPoolUtils.java?rev=383680r1=383679r2=383680view=diff
==
--- 
jakarta/commons/proper/pool/trunk/src/test/org/apache/commons/pool/TestPoolUtils.java
 (original)
+++ 
jakarta/commons/proper/pool/trunk/src/test/org/apache/commons/pool/TestPoolUtils.java
 Mon Mar  6 13:32:02 2006
@@ -18,6 +18,8 @@
 
 import junit.framework.TestCase;
 import junit.framework.AssertionFailedError;
+import junit.framework.Test;
+import junit.framework.TestSuite;
 
 import java.lang.reflect.Proxy;
 import java.lang.reflect.InvocationHandler;
@@ -48,6 +50,10 @@
 
 /** Sleep time to let the minIdle tests run CHECK_COUNT times. */
 private static final int CHECK_SLEEP_PERIOD = CHECK_PERIOD * (CHECK_COUNT 
- 1) + CHECK_PERIOD / 2;
+
+public static Test suite() {
+return new TestSuite(TestPoolUtils.class);
+}
 
 public void testJavaBeanInstantiation() {
 new PoolUtils();



-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



  1   2   >