Author: markt Date: Wed Oct 30 19:29:11 2013 New Revision: 1537253 URL: http://svn.apache.org/r1537253 Log: Break the cyclic dependency between o.a.c.pool2 and o.a.c.pool2.impl
Modified: commons/proper/pool/trunk/src/main/java/org/apache/commons/pool2/BaseKeyedPooledObjectFactory.java commons/proper/pool/trunk/src/main/java/org/apache/commons/pool2/BasePooledObjectFactory.java commons/proper/pool/trunk/src/test/java/org/apache/commons/pool2/TestBaseKeyedPoolableObjectFactory.java commons/proper/pool/trunk/src/test/java/org/apache/commons/pool2/TestBasePoolableObjectFactory.java commons/proper/pool/trunk/src/test/java/org/apache/commons/pool2/TestKeyedObjectPool.java commons/proper/pool/trunk/src/test/java/org/apache/commons/pool2/impl/TestGenericKeyedObjectPool.java commons/proper/pool/trunk/src/test/java/org/apache/commons/pool2/impl/TestGenericObjectPool.java commons/proper/pool/trunk/src/test/java/org/apache/commons/pool2/impl/TestGenericObjectPoolClassLoaders.java commons/proper/pool/trunk/src/test/java/org/apache/commons/pool2/impl/TestSoftRefOutOfMemory.java commons/proper/pool/trunk/src/test/java/org/apache/commons/pool2/impl/TestSoftReferenceObjectPool.java commons/proper/pool/trunk/src/test/java/org/apache/commons/pool2/proxy/BaseTestProxiedObjectPool.java Modified: commons/proper/pool/trunk/src/main/java/org/apache/commons/pool2/BaseKeyedPooledObjectFactory.java URL: http://svn.apache.org/viewvc/commons/proper/pool/trunk/src/main/java/org/apache/commons/pool2/BaseKeyedPooledObjectFactory.java?rev=1537253&r1=1537252&r2=1537253&view=diff ============================================================================== --- commons/proper/pool/trunk/src/main/java/org/apache/commons/pool2/BaseKeyedPooledObjectFactory.java (original) +++ commons/proper/pool/trunk/src/main/java/org/apache/commons/pool2/BaseKeyedPooledObjectFactory.java Wed Oct 30 19:29:11 2013 @@ -16,8 +16,6 @@ */ package org.apache.commons.pool2; -import org.apache.commons.pool2.impl.DefaultPooledObject; - /** * A base implementation of <code>KeyedPooledObjectFactory</code>. * <p> @@ -46,9 +44,19 @@ public abstract class BaseKeyedPooledObj public abstract V create(K key) throws Exception; + /** + * Wrap the provided instance with an implementation of + * {@link PooledObject}. + * + * @param value the instance to wrap + * + * @return The provided instance, wrapped by a {@link PooledObject} + */ + public abstract PooledObject<V> wrap(V value); + @Override public PooledObject<V> makeObject(K key) throws Exception { - return new DefaultPooledObject<V>(create(key)); + return wrap(create(key)); } /** Modified: commons/proper/pool/trunk/src/main/java/org/apache/commons/pool2/BasePooledObjectFactory.java URL: http://svn.apache.org/viewvc/commons/proper/pool/trunk/src/main/java/org/apache/commons/pool2/BasePooledObjectFactory.java?rev=1537253&r1=1537252&r2=1537253&view=diff ============================================================================== --- commons/proper/pool/trunk/src/main/java/org/apache/commons/pool2/BasePooledObjectFactory.java (original) +++ commons/proper/pool/trunk/src/main/java/org/apache/commons/pool2/BasePooledObjectFactory.java Wed Oct 30 19:29:11 2013 @@ -16,8 +16,6 @@ */ package org.apache.commons.pool2; -import org.apache.commons.pool2.impl.DefaultPooledObject; - /** * A base implementation of <code>PoolableObjectFactory</code>. * <p> @@ -44,9 +42,19 @@ public abstract class BasePooledObjectFa */ public abstract T create() throws Exception; + /** + * Wrap the provided instance with an implementation of + * {@link PooledObject}. + * + * @param obj the instance to wrap + * + * @return The provided instance, wrapped by a {@link PooledObject} + */ + public abstract PooledObject<T> wrap(T obj); + @Override public PooledObject<T> makeObject() throws Exception { - return new DefaultPooledObject<T>(create()); + return wrap(create()); } /** Modified: commons/proper/pool/trunk/src/test/java/org/apache/commons/pool2/TestBaseKeyedPoolableObjectFactory.java URL: http://svn.apache.org/viewvc/commons/proper/pool/trunk/src/test/java/org/apache/commons/pool2/TestBaseKeyedPoolableObjectFactory.java?rev=1537253&r1=1537252&r2=1537253&view=diff ============================================================================== --- commons/proper/pool/trunk/src/test/java/org/apache/commons/pool2/TestBaseKeyedPoolableObjectFactory.java (original) +++ commons/proper/pool/trunk/src/test/java/org/apache/commons/pool2/TestBaseKeyedPoolableObjectFactory.java Wed Oct 30 19:29:11 2013 @@ -18,6 +18,7 @@ package org.apache.commons.pool2; import static org.junit.Assert.assertTrue; +import org.apache.commons.pool2.impl.DefaultPooledObject; import org.junit.Test; /** @@ -41,5 +42,9 @@ public class TestBaseKeyedPoolableObject public Object create(Object key) throws Exception { return null; } + @Override + public PooledObject<Object> wrap(Object value) { + return new DefaultPooledObject<Object>(value); + } } } \ No newline at end of file Modified: commons/proper/pool/trunk/src/test/java/org/apache/commons/pool2/TestBasePoolableObjectFactory.java URL: http://svn.apache.org/viewvc/commons/proper/pool/trunk/src/test/java/org/apache/commons/pool2/TestBasePoolableObjectFactory.java?rev=1537253&r1=1537252&r2=1537253&view=diff ============================================================================== --- commons/proper/pool/trunk/src/test/java/org/apache/commons/pool2/TestBasePoolableObjectFactory.java (original) +++ commons/proper/pool/trunk/src/test/java/org/apache/commons/pool2/TestBasePoolableObjectFactory.java Wed Oct 30 19:29:11 2013 @@ -18,6 +18,7 @@ package org.apache.commons.pool2; import static org.junit.Assert.assertTrue; +import org.apache.commons.pool2.impl.DefaultPooledObject; import org.junit.Test; /** @@ -40,5 +41,9 @@ public class TestBasePoolableObjectFacto public Object create() throws Exception { return null; } + @Override + public PooledObject<Object> wrap(Object value) { + return new DefaultPooledObject<Object>(value); + } } } Modified: commons/proper/pool/trunk/src/test/java/org/apache/commons/pool2/TestKeyedObjectPool.java URL: http://svn.apache.org/viewvc/commons/proper/pool/trunk/src/test/java/org/apache/commons/pool2/TestKeyedObjectPool.java?rev=1537253&r1=1537252&r2=1537253&view=diff ============================================================================== --- commons/proper/pool/trunk/src/test/java/org/apache/commons/pool2/TestKeyedObjectPool.java (original) +++ commons/proper/pool/trunk/src/test/java/org/apache/commons/pool2/TestKeyedObjectPool.java Wed Oct 30 19:29:11 2013 @@ -665,6 +665,10 @@ public abstract class TestKeyedObjectPoo public Object create(final Object key) throws Exception { return new Object(); } + @Override + public PooledObject<Object> wrap(Object value) { + return new DefaultPooledObject<Object>(value); + } } protected static class FailingKeyedPooledObjectFactory implements KeyedPooledObjectFactory<Object,Object> { Modified: commons/proper/pool/trunk/src/test/java/org/apache/commons/pool2/impl/TestGenericKeyedObjectPool.java URL: http://svn.apache.org/viewvc/commons/proper/pool/trunk/src/test/java/org/apache/commons/pool2/impl/TestGenericKeyedObjectPool.java?rev=1537253&r1=1537252&r2=1537253&view=diff ============================================================================== --- commons/proper/pool/trunk/src/test/java/org/apache/commons/pool2/impl/TestGenericKeyedObjectPool.java (original) +++ commons/proper/pool/trunk/src/test/java/org/apache/commons/pool2/impl/TestGenericKeyedObjectPool.java Wed Oct 30 19:29:11 2013 @@ -1784,6 +1784,10 @@ public class TestGenericKeyedObjectPool public Object create(Object key) throws Exception { return null; } + @Override + public PooledObject<Object> wrap(Object value) { + return new DefaultPooledObject<Object>(value); + } } @@ -1803,6 +1807,10 @@ public class TestGenericKeyedObjectPool } return String.valueOf(key) + String.valueOf(counter); } + @Override + public PooledObject<Object> wrap(Object value) { + return new DefaultPooledObject<Object>(value); + } } } Modified: commons/proper/pool/trunk/src/test/java/org/apache/commons/pool2/impl/TestGenericObjectPool.java URL: http://svn.apache.org/viewvc/commons/proper/pool/trunk/src/test/java/org/apache/commons/pool2/impl/TestGenericObjectPool.java?rev=1537253&r1=1537252&r2=1537253&view=diff ============================================================================== --- commons/proper/pool/trunk/src/test/java/org/apache/commons/pool2/impl/TestGenericObjectPool.java (original) +++ commons/proper/pool/trunk/src/test/java/org/apache/commons/pool2/impl/TestGenericObjectPool.java Wed Oct 30 19:29:11 2013 @@ -997,6 +997,10 @@ public class TestGenericObjectPool exten public TimeTest create() throws Exception { return new TimeTest(); } + @Override + public PooledObject<TimeTest> wrap(TimeTest value) { + return new DefaultPooledObject<TimeTest>(value); + } public long getCreateTime() { return createTime; } @@ -1940,6 +1944,10 @@ public class TestGenericObjectPool exten public Object create() throws Exception { return null; } + @Override + public PooledObject<Object> wrap(Object value) { + return new DefaultPooledObject<Object>(value); + } } @@ -1950,6 +1958,10 @@ public class TestGenericObjectPool exten public Object create() throws Exception { return new Object(); } + @Override + public PooledObject<Object> wrap(Object value) { + return new DefaultPooledObject<Object>(value); + } @Override public boolean validateObject(PooledObject<Object> obj) { Modified: commons/proper/pool/trunk/src/test/java/org/apache/commons/pool2/impl/TestGenericObjectPoolClassLoaders.java URL: http://svn.apache.org/viewvc/commons/proper/pool/trunk/src/test/java/org/apache/commons/pool2/impl/TestGenericObjectPoolClassLoaders.java?rev=1537253&r1=1537252&r2=1537253&view=diff ============================================================================== --- commons/proper/pool/trunk/src/test/java/org/apache/commons/pool2/impl/TestGenericObjectPoolClassLoaders.java (original) +++ commons/proper/pool/trunk/src/test/java/org/apache/commons/pool2/impl/TestGenericObjectPoolClassLoaders.java Wed Oct 30 19:29:11 2013 @@ -20,6 +20,7 @@ import java.net.URL; import java.net.URLClassLoader; import org.apache.commons.pool2.BasePooledObjectFactory; +import org.apache.commons.pool2.PooledObject; import org.junit.Assert; import org.junit.Test; @@ -101,6 +102,10 @@ public class TestGenericObjectPoolClassL return url; } + @Override + public PooledObject<URL> wrap(URL value) { + return new DefaultPooledObject<URL>(value); + } } private static class CustomClassLoader extends URLClassLoader { Modified: commons/proper/pool/trunk/src/test/java/org/apache/commons/pool2/impl/TestSoftRefOutOfMemory.java URL: http://svn.apache.org/viewvc/commons/proper/pool/trunk/src/test/java/org/apache/commons/pool2/impl/TestSoftRefOutOfMemory.java?rev=1537253&r1=1537252&r2=1537253&view=diff ============================================================================== --- commons/proper/pool/trunk/src/test/java/org/apache/commons/pool2/impl/TestSoftRefOutOfMemory.java (original) +++ commons/proper/pool/trunk/src/test/java/org/apache/commons/pool2/impl/TestSoftRefOutOfMemory.java Wed Oct 30 19:29:11 2013 @@ -213,6 +213,10 @@ public class TestSoftRefOutOfMemory { // is returned eliminated false failures. return new String(String.valueOf(counter)); } + @Override + public PooledObject<String> wrap(String value) { + return new DefaultPooledObject<String>(value); + } } public static class LargePoolableObjectFactory extends BasePooledObjectFactory<String> { @@ -230,6 +234,11 @@ public class TestSoftRefOutOfMemory { counter++; return String.valueOf(counter) + buffer; } + + @Override + public PooledObject<String> wrap(String value) { + return new DefaultPooledObject<String>(value); + } } private static class OomeFactory extends BasePooledObjectFactory<String> { @@ -254,6 +263,11 @@ public class TestSoftRefOutOfMemory { } @Override + public PooledObject<String> wrap(String value) { + return new DefaultPooledObject<String>(value); + } + + @Override public boolean validateObject(PooledObject<String> p) { if (trigger.equals(OomeTrigger.VALIDATE)) { throw new OutOfMemoryError(); Modified: commons/proper/pool/trunk/src/test/java/org/apache/commons/pool2/impl/TestSoftReferenceObjectPool.java URL: http://svn.apache.org/viewvc/commons/proper/pool/trunk/src/test/java/org/apache/commons/pool2/impl/TestSoftReferenceObjectPool.java?rev=1537253&r1=1537252&r2=1537253&view=diff ============================================================================== --- commons/proper/pool/trunk/src/test/java/org/apache/commons/pool2/impl/TestSoftReferenceObjectPool.java (original) +++ commons/proper/pool/trunk/src/test/java/org/apache/commons/pool2/impl/TestSoftReferenceObjectPool.java Wed Oct 30 19:29:11 2013 @@ -18,6 +18,7 @@ package org.apache.commons.pool2.impl; import org.apache.commons.pool2.BasePooledObjectFactory; import org.apache.commons.pool2.ObjectPool; +import org.apache.commons.pool2.PooledObject; import org.apache.commons.pool2.PooledObjectFactory; import org.apache.commons.pool2.TestBaseObjectPool; @@ -58,5 +59,9 @@ public class TestSoftReferenceObjectPool public Object create() { return String.valueOf(counter++); } + @Override + public PooledObject<Object> wrap(Object value) { + return new DefaultPooledObject<Object>(value); + } } } Modified: commons/proper/pool/trunk/src/test/java/org/apache/commons/pool2/proxy/BaseTestProxiedObjectPool.java URL: http://svn.apache.org/viewvc/commons/proper/pool/trunk/src/test/java/org/apache/commons/pool2/proxy/BaseTestProxiedObjectPool.java?rev=1537253&r1=1537252&r2=1537253&view=diff ============================================================================== --- commons/proper/pool/trunk/src/test/java/org/apache/commons/pool2/proxy/BaseTestProxiedObjectPool.java (original) +++ commons/proper/pool/trunk/src/test/java/org/apache/commons/pool2/proxy/BaseTestProxiedObjectPool.java Wed Oct 30 19:29:11 2013 @@ -25,8 +25,10 @@ import java.io.StringWriter; import org.apache.commons.pool2.BasePooledObjectFactory; import org.apache.commons.pool2.ObjectPool; +import org.apache.commons.pool2.PooledObject; import org.apache.commons.pool2.PooledObjectFactory; import org.apache.commons.pool2.impl.AbandonedConfig; +import org.apache.commons.pool2.impl.DefaultPooledObject; import org.apache.commons.pool2.impl.GenericObjectPool; import org.apache.commons.pool2.impl.GenericObjectPoolConfig; import org.junit.Before; @@ -124,6 +126,10 @@ public abstract class BaseTestProxiedObj public TestObject create() throws Exception { return new TestObjectImpl(); } + @Override + public PooledObject<TestObject> wrap(TestObject value) { + return new DefaultPooledObject<TestObject>(value); + } }