Author: markt Date: Thu Aug 4 22:01:24 2011 New Revision: 1154033 URL: http://svn.apache.org/viewvc?rev=1154033&view=rev Log: Generics
Modified: commons/proper/dbcp/trunk/src/java/org/apache/commons/dbcp2/BasicDataSource.java commons/proper/dbcp/trunk/src/java/org/apache/commons/dbcp2/datasources/PerUserPoolDataSourceFactory.java commons/proper/dbcp/trunk/src/java/org/apache/commons/dbcp2/datasources/SharedPoolDataSource.java commons/proper/dbcp/trunk/src/java/org/apache/commons/dbcp2/managed/PoolableManagedConnectionFactory.java Modified: commons/proper/dbcp/trunk/src/java/org/apache/commons/dbcp2/BasicDataSource.java URL: http://svn.apache.org/viewvc/commons/proper/dbcp/trunk/src/java/org/apache/commons/dbcp2/BasicDataSource.java?rev=1154033&r1=1154032&r2=1154033&view=diff ============================================================================== --- commons/proper/dbcp/trunk/src/java/org/apache/commons/dbcp2/BasicDataSource.java (original) +++ commons/proper/dbcp/trunk/src/java/org/apache/commons/dbcp2/BasicDataSource.java Thu Aug 4 22:01:24 2011 @@ -1122,7 +1122,7 @@ public class BasicDataSource implements /** * The object pool that internally manages our connections. */ - protected volatile GenericObjectPool connectionPool = null; + protected volatile GenericObjectPool<Connection> connectionPool = null; /** * The connection properties that will be sent to our JDBC driver when Modified: commons/proper/dbcp/trunk/src/java/org/apache/commons/dbcp2/datasources/PerUserPoolDataSourceFactory.java URL: http://svn.apache.org/viewvc/commons/proper/dbcp/trunk/src/java/org/apache/commons/dbcp2/datasources/PerUserPoolDataSourceFactory.java?rev=1154033&r1=1154032&r2=1154033&view=diff ============================================================================== --- commons/proper/dbcp/trunk/src/java/org/apache/commons/dbcp2/datasources/PerUserPoolDataSourceFactory.java (original) +++ commons/proper/dbcp/trunk/src/java/org/apache/commons/dbcp2/datasources/PerUserPoolDataSourceFactory.java Thu Aug 4 22:01:24 2011 @@ -39,6 +39,7 @@ public class PerUserPoolDataSourceFactor return PER_USER_POOL_CLASSNAME.equals(className); } + @SuppressWarnings("unchecked") @Override protected InstanceKeyDataSource getNewInstance(Reference ref) throws IOException, ClassNotFoundException { @@ -64,38 +65,43 @@ public class PerUserPoolDataSourceFactor ra = ref.get("perUserDefaultAutoCommit"); if (ra != null && ra.getContent() != null) { byte[] serialized = (byte[]) ra.getContent(); - pupds.perUserDefaultAutoCommit = (Map) deserialize(serialized); + pupds.perUserDefaultAutoCommit = + (Map<String,Boolean>) deserialize(serialized); } ra = ref.get("perUserDefaultTransactionIsolation"); if (ra != null && ra.getContent() != null) { byte[] serialized = (byte[]) ra.getContent(); pupds.perUserDefaultTransactionIsolation = - (Map) deserialize(serialized); + (Map<String,Integer>) deserialize(serialized); } ra = ref.get("perUserMaxTotal"); if (ra != null && ra.getContent() != null) { byte[] serialized = (byte[]) ra.getContent(); - pupds.perUserMaxTotal = (Map) deserialize(serialized); + pupds.perUserMaxTotal = + (Map<String,Integer>) deserialize(serialized); } ra = ref.get("perUserMaxIdle"); if (ra != null && ra.getContent() != null) { byte[] serialized = (byte[]) ra.getContent(); - pupds.perUserMaxIdle = (Map) deserialize(serialized); + pupds.perUserMaxIdle = + (Map<String,Integer>) deserialize(serialized); } ra = ref.get("perUserMaxWait"); if (ra != null && ra.getContent() != null) { byte[] serialized = (byte[]) ra.getContent(); - pupds.perUserMaxWait = (Map) deserialize(serialized); + pupds.perUserMaxWait = + (Map<String,Integer>) deserialize(serialized); } ra = ref.get("perUserDefaultReadOnly"); if (ra != null && ra.getContent() != null) { byte[] serialized = (byte[]) ra.getContent(); - pupds.perUserDefaultReadOnly = (Map) deserialize(serialized); + pupds.perUserDefaultReadOnly = + (Map<String,Boolean>) deserialize(serialized); } return pupds; } Modified: commons/proper/dbcp/trunk/src/java/org/apache/commons/dbcp2/datasources/SharedPoolDataSource.java URL: http://svn.apache.org/viewvc/commons/proper/dbcp/trunk/src/java/org/apache/commons/dbcp2/datasources/SharedPoolDataSource.java?rev=1154033&r1=1154032&r2=1154033&view=diff ============================================================================== --- commons/proper/dbcp/trunk/src/java/org/apache/commons/dbcp2/datasources/SharedPoolDataSource.java (original) +++ commons/proper/dbcp/trunk/src/java/org/apache/commons/dbcp2/datasources/SharedPoolDataSource.java Thu Aug 4 22:01:24 2011 @@ -58,7 +58,7 @@ public class SharedPoolDataSource private int maxIdle = GenericObjectPoolConfig.DEFAULT_MAX_IDLE; private int maxWait = (int)Math.min(Integer.MAX_VALUE, GenericObjectPoolConfig.DEFAULT_MAX_WAIT); - private transient KeyedObjectPool pool = null; + private transient KeyedObjectPool<UserPassKey,PooledConnectionAndInfo> pool = null; private transient KeyedCPDSConnectionFactory factory = null; /** @@ -180,7 +180,7 @@ public class SharedPoolDataSource UserPassKey key = new UserPassKey(username, password); try { - info = (PooledConnectionAndInfo) pool.borrowObject(key); + info = pool.borrowObject(key); } catch (Exception e) { throw new SQLException( @@ -216,7 +216,8 @@ public class SharedPoolDataSource // Create an object pool to contain our PooledConnections factory = new KeyedCPDSConnectionFactory(cpds, getValidationQuery(), isRollbackAfterValidation()); - GenericKeyedObjectPool tmpPool = new GenericKeyedObjectPool(factory); + GenericKeyedObjectPool<UserPassKey,PooledConnectionAndInfo> tmpPool = + new GenericKeyedObjectPool<UserPassKey,PooledConnectionAndInfo>(factory); factory.setPool(tmpPool); tmpPool.setMaxTotalPerKey(getMaxTotal()); tmpPool.setMaxIdlePerKey(getMaxIdle()); Modified: commons/proper/dbcp/trunk/src/java/org/apache/commons/dbcp2/managed/PoolableManagedConnectionFactory.java URL: http://svn.apache.org/viewvc/commons/proper/dbcp/trunk/src/java/org/apache/commons/dbcp2/managed/PoolableManagedConnectionFactory.java?rev=1154033&r1=1154032&r2=1154033&view=diff ============================================================================== --- commons/proper/dbcp/trunk/src/java/org/apache/commons/dbcp2/managed/PoolableManagedConnectionFactory.java (original) +++ commons/proper/dbcp/trunk/src/java/org/apache/commons/dbcp2/managed/PoolableManagedConnectionFactory.java Thu Aug 4 22:01:24 2011 @@ -18,6 +18,8 @@ package org.apache.commons.dbcp2.managed; import java.sql.Connection; +import org.apache.commons.dbcp2.DelegatingPreparedStatement; +import org.apache.commons.dbcp2.PStmtKey; import org.apache.commons.dbcp2.PoolableConnection; import org.apache.commons.dbcp2.PoolableConnectionFactory; import org.apache.commons.dbcp2.PoolingConnection; @@ -62,15 +64,16 @@ public class PoolableManagedConnectionFa initializeConnection(conn); if(poolStatements) { conn = new PoolingConnection(conn); - GenericKeyedObjectPoolConfig config = - new GenericKeyedObjectPoolConfig(); + GenericKeyedObjectPoolConfig<PStmtKey,DelegatingPreparedStatement> config = + new GenericKeyedObjectPoolConfig<PStmtKey,DelegatingPreparedStatement>(); config.setMaxTotalPerKey(-1); config.setWhenExhaustedAction(WhenExhaustedAction.FAIL); config.setMaxWait(0); config.setMaxIdlePerKey(1); config.setMaxTotal(maxOpenPreparedStatements); - KeyedObjectPool stmtPool = - new GenericKeyedObjectPool((PoolingConnection)conn, config); + KeyedObjectPool<PStmtKey,DelegatingPreparedStatement> stmtPool = + new GenericKeyedObjectPool<PStmtKey,DelegatingPreparedStatement>( + (PoolingConnection)conn, config); ((PoolingConnection)conn).setStatementPool(stmtPool); ((PoolingConnection) conn).setCacheState(_cacheState); }