[jboss-svn-commits] JBL Code SVN: r5444 - in labs/jbossesb/branches/refactor/product/core/common/src/org/jboss/soa/esb/connection: . exception

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Thu Aug 3 12:30:50 EDT 2006


Author: mohit309
Date: 2006-08-03 12:30:47 -0400 (Thu, 03 Aug 2006)
New Revision: 5444

Added:
   labs/jbossesb/branches/refactor/product/core/common/src/org/jboss/soa/esb/connection/AbandonedConnectionTimerTask.java
   labs/jbossesb/branches/refactor/product/core/common/src/org/jboss/soa/esb/connection/ConnectionFactory.java
   labs/jbossesb/branches/refactor/product/core/common/src/org/jboss/soa/esb/connection/ConnectionPool.java
   labs/jbossesb/branches/refactor/product/core/common/src/org/jboss/soa/esb/connection/ConnectionPoolFactory.java
   labs/jbossesb/branches/refactor/product/core/common/src/org/jboss/soa/esb/connection/ConnectionProperties.java
   labs/jbossesb/branches/refactor/product/core/common/src/org/jboss/soa/esb/connection/ConnectionWrapper.java
   labs/jbossesb/branches/refactor/product/core/common/src/org/jboss/soa/esb/connection/DefaultConnectionPoolImpl.java
   labs/jbossesb/branches/refactor/product/core/common/src/org/jboss/soa/esb/connection/DriverConnectionFactory.java
   labs/jbossesb/branches/refactor/product/core/common/src/org/jboss/soa/esb/connection/FreeConnectionPoolResources.java
   labs/jbossesb/branches/refactor/product/core/common/src/org/jboss/soa/esb/connection/PasswordDecoder.java
   labs/jbossesb/branches/refactor/product/core/common/src/org/jboss/soa/esb/connection/PoolDataSource.java
   labs/jbossesb/branches/refactor/product/core/common/src/org/jboss/soa/esb/connection/exception/
   labs/jbossesb/branches/refactor/product/core/common/src/org/jboss/soa/esb/connection/exception/ConnectionException.java
Removed:
   labs/jbossesb/branches/refactor/product/core/common/src/org/jboss/soa/esb/connection/AbandonedConnectionTimerTask.java
   labs/jbossesb/branches/refactor/product/core/common/src/org/jboss/soa/esb/connection/ConnectionFactory.java
   labs/jbossesb/branches/refactor/product/core/common/src/org/jboss/soa/esb/connection/ConnectionPool.java
   labs/jbossesb/branches/refactor/product/core/common/src/org/jboss/soa/esb/connection/ConnectionPoolFactory.java
   labs/jbossesb/branches/refactor/product/core/common/src/org/jboss/soa/esb/connection/ConnectionProperties.java
   labs/jbossesb/branches/refactor/product/core/common/src/org/jboss/soa/esb/connection/ConnectionWrapper.java
   labs/jbossesb/branches/refactor/product/core/common/src/org/jboss/soa/esb/connection/DefaultConnectionPoolImpl.java
   labs/jbossesb/branches/refactor/product/core/common/src/org/jboss/soa/esb/connection/DriverConnectionFactory.java
   labs/jbossesb/branches/refactor/product/core/common/src/org/jboss/soa/esb/connection/FreeConnectionPoolResources.java
   labs/jbossesb/branches/refactor/product/core/common/src/org/jboss/soa/esb/connection/PasswordDecoder.java
   labs/jbossesb/branches/refactor/product/core/common/src/org/jboss/soa/esb/connection/PoolDataSource.java
Log:
Changed to Log4j and removed unwanted code

Deleted: labs/jbossesb/branches/refactor/product/core/common/src/org/jboss/soa/esb/connection/AbandonedConnectionTimerTask.java
===================================================================
--- labs/jbossesb/branches/refactor/product/core/common/src/org/jboss/soa/esb/connection/AbandonedConnectionTimerTask.java	2006-08-03 16:29:28 UTC (rev 5443)
+++ labs/jbossesb/branches/refactor/product/core/common/src/org/jboss/soa/esb/connection/AbandonedConnectionTimerTask.java	2006-08-03 16:30:47 UTC (rev 5444)
@@ -1,50 +0,0 @@
-/*
-* JBoss, Home of Professional Open Source
-* Copyright 2006, JBoss Inc., and individual contributors as indicated
-* by the @authors tag. See the copyright.txt in the distribution for a
-* full listing of individual contributors.
-*
-* This is free software; you can redistribute it and/or modify it
-* under the terms of the GNU Lesser General Public License as
-* published by the Free Software Foundation; either version 2.1 of
-* the License, or (at your option) any later version.
-*
-* This software is distributed in the hope that it will be useful,
-* but WITHOUT ANY WARRANTY; without even the implied warranty of
-* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-* Lesser General Public License for more details.
-*
-* You should have received a copy of the GNU Lesser General Public
-* License along with this software; if not, write to the Free
-* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
-* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
-*/
-package org.jboss.soa.esb.connection;
-
-import java.util.TimerTask;
-
-/**
- * Timer task which will run at scheduled times based on the property set by the user.
- * This task will remove all unused connections which have elapsed a certain period of time
- * User: MohitK
- * Date: Jul 26, 2006
- */
-public class AbandonedConnectionTimerTask extends TimerTask {
-
-    private DefaultConnectionPoolImpl m_oPool;
-
-    /**
-     * Constructor which takes the pool implementation
-     * @param pool
-     */
-    public AbandonedConnectionTimerTask(DefaultConnectionPoolImpl pool){
-        this.m_oPool = pool;
-    }
-
-    public void run() {
-        synchronized(m_oPool){
-            m_oPool.releaseAbandonedConnections();
-        }
-    }
-
-}

Added: labs/jbossesb/branches/refactor/product/core/common/src/org/jboss/soa/esb/connection/AbandonedConnectionTimerTask.java
===================================================================
--- labs/jbossesb/branches/refactor/product/core/common/src/org/jboss/soa/esb/connection/AbandonedConnectionTimerTask.java	2006-08-03 16:29:28 UTC (rev 5443)
+++ labs/jbossesb/branches/refactor/product/core/common/src/org/jboss/soa/esb/connection/AbandonedConnectionTimerTask.java	2006-08-03 16:30:47 UTC (rev 5444)
@@ -0,0 +1,50 @@
+/*
+* JBoss, Home of Professional Open Source
+* Copyright 2006, JBoss Inc., and individual contributors as indicated
+* by the @authors tag. See the copyright.txt in the distribution for a
+* full listing of individual contributors.
+*
+* This is free software; you can redistribute it and/or modify it
+* under the terms of the GNU Lesser General Public License as
+* published by the Free Software Foundation; either version 2.1 of
+* the License, or (at your option) any later version.
+*
+* This software is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+* Lesser General Public License for more details.
+*
+* You should have received a copy of the GNU Lesser General Public
+* License along with this software; if not, write to the Free
+* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+*/
+package org.jboss.soa.esb.connection;
+
+import java.util.TimerTask;
+
+/**
+ * Timer task which will run at scheduled times based on the property set by the user.
+ * This task will remove all unused connections which have elapsed a certain period of time
+ * @author MohitK
+ * Date: Jul 26, 2006
+ */
+public class AbandonedConnectionTimerTask extends TimerTask {
+
+    private DefaultConnectionPoolImpl m_oPool;
+
+    /**
+     * Constructor which takes the pool implementation
+     * @param pool
+     */
+    public AbandonedConnectionTimerTask(DefaultConnectionPoolImpl pool){
+        this.m_oPool = pool;
+    }
+
+    public void run() {
+        synchronized(m_oPool){
+            m_oPool.releaseAbandonedConnections();
+        }
+    }
+
+}

Deleted: labs/jbossesb/branches/refactor/product/core/common/src/org/jboss/soa/esb/connection/ConnectionFactory.java
===================================================================
--- labs/jbossesb/branches/refactor/product/core/common/src/org/jboss/soa/esb/connection/ConnectionFactory.java	2006-08-03 16:29:28 UTC (rev 5443)
+++ labs/jbossesb/branches/refactor/product/core/common/src/org/jboss/soa/esb/connection/ConnectionFactory.java	2006-08-03 16:30:47 UTC (rev 5444)
@@ -1,39 +0,0 @@
-/*
-* JBoss, Home of Professional Open Source
-* Copyright 2006, JBoss Inc., and individual contributors as indicated
-* by the @authors tag. See the copyright.txt in the distribution for a
-* full listing of individual contributors.
-*
-* This is free software; you can redistribute it and/or modify it
-* under the terms of the GNU Lesser General Public License as
-* published by the Free Software Foundation; either version 2.1 of
-* the License, or (at your option) any later version.
-*
-* This software is distributed in the hope that it will be useful,
-* but WITHOUT ANY WARRANTY; without even the implied warranty of
-* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-* Lesser General Public License for more details.
-*
-* You should have received a copy of the GNU Lesser General Public
-* License along with this software; if not, write to the Free
-* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
-* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
-*/
-package org.jboss.soa.esb.connection;
-
-import java.sql.Connection;
-import java.sql.SQLException;
-
-/**
- * Factory interface for creating connections based on different sources such as DataSource, DriverConnection
- * User: MohitK
- * Date: Jul 18, 2006
- */
-public interface ConnectionFactory {
-    /**
-     * Creates a new JDBC Connection. The implementation is left to the classes.
-     * @return Connection
-     * @throws SQLException
-     */
-    public Connection createConnection() throws SQLException;
-}

Added: labs/jbossesb/branches/refactor/product/core/common/src/org/jboss/soa/esb/connection/ConnectionFactory.java
===================================================================
--- labs/jbossesb/branches/refactor/product/core/common/src/org/jboss/soa/esb/connection/ConnectionFactory.java	2006-08-03 16:29:28 UTC (rev 5443)
+++ labs/jbossesb/branches/refactor/product/core/common/src/org/jboss/soa/esb/connection/ConnectionFactory.java	2006-08-03 16:30:47 UTC (rev 5444)
@@ -0,0 +1,39 @@
+/*
+* JBoss, Home of Professional Open Source
+* Copyright 2006, JBoss Inc., and individual contributors as indicated
+* by the @authors tag. See the copyright.txt in the distribution for a
+* full listing of individual contributors.
+*
+* This is free software; you can redistribute it and/or modify it
+* under the terms of the GNU Lesser General Public License as
+* published by the Free Software Foundation; either version 2.1 of
+* the License, or (at your option) any later version.
+*
+* This software is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+* Lesser General Public License for more details.
+*
+* You should have received a copy of the GNU Lesser General Public
+* License along with this software; if not, write to the Free
+* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+*/
+package org.jboss.soa.esb.connection;
+
+import java.sql.Connection;
+import java.sql.SQLException;
+
+/**
+ * Factory interface for creating connections based on different sources such as DataSource, DriverConnection
+ * @author MohitK
+ * Date: Jul 18, 2006
+ */
+public interface ConnectionFactory {
+    /**
+     * Creates a new JDBC Connection. The implementation is left to the classes.
+     * @return Connection
+     * @throws SQLException
+     */
+    public Connection createConnection() throws SQLException;
+}

Deleted: labs/jbossesb/branches/refactor/product/core/common/src/org/jboss/soa/esb/connection/ConnectionPool.java
===================================================================
--- labs/jbossesb/branches/refactor/product/core/common/src/org/jboss/soa/esb/connection/ConnectionPool.java	2006-08-03 16:29:28 UTC (rev 5443)
+++ labs/jbossesb/branches/refactor/product/core/common/src/org/jboss/soa/esb/connection/ConnectionPool.java	2006-08-03 16:30:47 UTC (rev 5444)
@@ -1,62 +0,0 @@
-/*
-* JBoss, Home of Professional Open Source
-* Copyright 2006, JBoss Inc., and individual contributors as indicated
-* by the @authors tag. See the copyright.txt in the distribution for a
-* full listing of individual contributors.
-*
-* This is free software; you can redistribute it and/or modify it
-* under the terms of the GNU Lesser General Public License as
-* published by the Free Software Foundation; either version 2.1 of
-* the License, or (at your option) any later version.
-*
-* This software is distributed in the hope that it will be useful,
-* but WITHOUT ANY WARRANTY; without even the implied warranty of
-* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-* Lesser General Public License for more details.
-*
-* You should have received a copy of the GNU Lesser General Public
-* License along with this software; if not, write to the Free
-* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
-* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
-*/
-package org.jboss.soa.esb.connection;
-
-import org.jboss.soa.esb.connection.exception.ESBConnectionException;
-
-import java.sql.Connection;
-import java.sql.SQLException;
-
-/**
- * TODO
- * User: MohitK
- * Date: Jul 18, 2006
- */
-public interface ConnectionPool {
-    /**
-     * This method is used to create the connection pool and keep it ready
-     * @param prop Properties for the connection pool including connection properties
-     * @throws ESBConnectionException
-     */
-    public void createPool(ConnectionProperties prop) throws ESBConnectionException;
-
-    /**
-     *  This method is called whenever a connection is needed from the pool.
-     * @return Connection to be used
-     * @throws SQLException
-     */
-    public Connection getConnection() throws SQLException;
-
-    /**
-     * This method closes an open connection and returns the connection to the pool.
-     * @param connectionToClose The connection to be returned to the pool.
-     * @throws SQLException
-     */
-    public void closeConnection(Connection connectionToClose) throws SQLException;
-
-    /**
-     * This method is called when the pool needs to be destroyed effectively closing all open connections
-     * @throws SQLException
-     */
-    public void releasePool() throws SQLException;
-
-}

Added: labs/jbossesb/branches/refactor/product/core/common/src/org/jboss/soa/esb/connection/ConnectionPool.java
===================================================================
--- labs/jbossesb/branches/refactor/product/core/common/src/org/jboss/soa/esb/connection/ConnectionPool.java	2006-08-03 16:29:28 UTC (rev 5443)
+++ labs/jbossesb/branches/refactor/product/core/common/src/org/jboss/soa/esb/connection/ConnectionPool.java	2006-08-03 16:30:47 UTC (rev 5444)
@@ -0,0 +1,62 @@
+/*
+* JBoss, Home of Professional Open Source
+* Copyright 2006, JBoss Inc., and individual contributors as indicated
+* by the @authors tag. See the copyright.txt in the distribution for a
+* full listing of individual contributors.
+*
+* This is free software; you can redistribute it and/or modify it
+* under the terms of the GNU Lesser General Public License as
+* published by the Free Software Foundation; either version 2.1 of
+* the License, or (at your option) any later version.
+*
+* This software is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+* Lesser General Public License for more details.
+*
+* You should have received a copy of the GNU Lesser General Public
+* License along with this software; if not, write to the Free
+* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+*/
+package org.jboss.soa.esb.connection;
+
+import org.jboss.soa.esb.connection.exception.ConnectionException;
+
+import java.sql.Connection;
+import java.sql.SQLException;
+
+/**
+ * TODO
+ * @author MohitK
+ * Date: Jul 18, 2006
+ */
+public interface ConnectionPool {
+    /**
+     * This method is used to create the connection pool and keep it ready
+     * @param prop Properties for the connection pool including connection properties
+     * @throws ConnectionException
+     */
+    public void createPool(ConnectionProperties prop) throws ConnectionException;
+
+    /**
+     *  This method is called whenever a connection is needed from the pool.
+     * @return Connection to be used
+     * @throws SQLException
+     */
+    public Connection getConnection() throws SQLException;
+
+    /**
+     * This method closes an open connection and returns the connection to the pool.
+     * @param connectionToClose The connection to be returned to the pool.
+     * @throws SQLException
+     */
+    public void closeConnection(Connection connectionToClose) throws SQLException;
+
+    /**
+     * This method is called when the pool needs to be destroyed effectively closing all open connections
+     * @throws SQLException
+     */
+    public void releasePool() throws SQLException;
+
+}

Deleted: labs/jbossesb/branches/refactor/product/core/common/src/org/jboss/soa/esb/connection/ConnectionPoolFactory.java
===================================================================
--- labs/jbossesb/branches/refactor/product/core/common/src/org/jboss/soa/esb/connection/ConnectionPoolFactory.java	2006-08-03 16:29:28 UTC (rev 5443)
+++ labs/jbossesb/branches/refactor/product/core/common/src/org/jboss/soa/esb/connection/ConnectionPoolFactory.java	2006-08-03 16:30:47 UTC (rev 5444)
@@ -1,55 +0,0 @@
-/*
-* JBoss, Home of Professional Open Source
-* Copyright 2006, JBoss Inc., and individual contributors as indicated
-* by the @authors tag. See the copyright.txt in the distribution for a
-* full listing of individual contributors.
-*
-* This is free software; you can redistribute it and/or modify it
-* under the terms of the GNU Lesser General Public License as
-* published by the Free Software Foundation; either version 2.1 of
-* the License, or (at your option) any later version.
-*
-* This software is distributed in the hope that it will be useful,
-* but WITHOUT ANY WARRANTY; without even the implied warranty of
-* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-* Lesser General Public License for more details.
-*
-* You should have received a copy of the GNU Lesser General Public
-* License along with this software; if not, write to the Free
-* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
-* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
-*/
-package org.jboss.soa.esb.connection;
-
-import org.jboss.soa.esb.connection.exception.ESBConnectionException;
-
-/**
- * Factory class to create the connection pool.
- * User: MohitK
- * Date: Jul 19, 2006
- */
-public class ConnectionPoolFactory {
-
-    /**
-     * Factory method to create and return a connection pool based on the property set for the connection pool
-     * implementation. The factory also registers a shut down hook with the JVM so that the connections in the pool
-     * are closed and released with causing connections leaks.
-     * @param connProperties Properties for the connection pool
-     * @return Connection Pool
-     * @throws ESBConnectionException
-     */
-    public static ConnectionPool createPool(ConnectionProperties connProperties) throws ESBConnectionException {
-        String connectionPoolClassName = connProperties.getConnectionPoolClass();
-        try {
-            ConnectionPool pool = (ConnectionPool)Class.forName(connectionPoolClassName).newInstance();
-            pool.createPool(connProperties);
-            FreeConnectionPoolResources freeResourcesThread = new FreeConnectionPoolResources(pool);
-            Runtime.getRuntime().addShutdownHook(freeResourcesThread);
-            return pool;
-        } catch (Throwable t) {
-            System.err.println("ConnectionPoolFactory: Error in Connection Pool");
-            System.err.println(t);
-            throw new ESBConnectionException(t);
-        }
-    }
-}

Added: labs/jbossesb/branches/refactor/product/core/common/src/org/jboss/soa/esb/connection/ConnectionPoolFactory.java
===================================================================
--- labs/jbossesb/branches/refactor/product/core/common/src/org/jboss/soa/esb/connection/ConnectionPoolFactory.java	2006-08-03 16:29:28 UTC (rev 5443)
+++ labs/jbossesb/branches/refactor/product/core/common/src/org/jboss/soa/esb/connection/ConnectionPoolFactory.java	2006-08-03 16:30:47 UTC (rev 5444)
@@ -0,0 +1,60 @@
+/*
+* JBoss, Home of Professional Open Source
+* Copyright 2006, JBoss Inc., and individual contributors as indicated
+* by the @authors tag. See the copyright.txt in the distribution for a
+* full listing of individual contributors.
+*
+* This is free software; you can redistribute it and/or modify it
+* under the terms of the GNU Lesser General Public License as
+* published by the Free Software Foundation; either version 2.1 of
+* the License, or (at your option) any later version.
+*
+* This software is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+* Lesser General Public License for more details.
+*
+* You should have received a copy of the GNU Lesser General Public
+* License along with this software; if not, write to the Free
+* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+*/
+package org.jboss.soa.esb.connection;
+
+import org.apache.log4j.Logger;
+import org.jboss.soa.esb.connection.exception.ConnectionException;
+
+/**
+ * Factory class to create the connection pool.
+ *
+ * @author MohitK
+ *         Date: Jul 19, 2006
+ */
+public class ConnectionPoolFactory {
+
+
+    private static Logger Log = Logger.getLogger(ConnectionPoolFactory.class);
+
+    /**
+     * Factory method to create and return a connection pool based on the property set for the connection pool
+     * implementation. The factory also registers a shut down hook with the JVM so that the connections in the pool
+     * are closed and released with causing connections leaks.
+     *
+     * @param connProperties Properties for the connection pool
+     * @return Connection Pool
+     * @throws ConnectionException
+     */
+    public static ConnectionPool createPool(ConnectionProperties connProperties) throws ConnectionException {
+        String connectionPoolClassName = connProperties.getConnectionPoolClass();
+        try {
+            ConnectionPool pool = (ConnectionPool) Class.forName(connectionPoolClassName).newInstance();
+            pool.createPool(connProperties);
+            FreeConnectionPoolResources freeResourcesThread = new FreeConnectionPoolResources(pool);
+            Runtime.getRuntime().addShutdownHook(freeResourcesThread);
+            return pool;
+        } catch (Throwable t) {
+            Log.error("ConnectionPoolFactory: Error in Connection Pool",t);
+            throw new ConnectionException(t);
+        }
+    }
+}

Deleted: labs/jbossesb/branches/refactor/product/core/common/src/org/jboss/soa/esb/connection/ConnectionProperties.java
===================================================================
--- labs/jbossesb/branches/refactor/product/core/common/src/org/jboss/soa/esb/connection/ConnectionProperties.java	2006-08-03 16:29:28 UTC (rev 5443)
+++ labs/jbossesb/branches/refactor/product/core/common/src/org/jboss/soa/esb/connection/ConnectionProperties.java	2006-08-03 16:30:47 UTC (rev 5444)
@@ -1,248 +0,0 @@
-/*
-* JBoss, Home of Professional Open Source
-* Copyright 2006, JBoss Inc., and individual contributors as indicated
-* by the @authors tag. See the copyright.txt in the distribution for a
-* full listing of individual contributors.
-*
-* This is free software; you can redistribute it and/or modify it
-* under the terms of the GNU Lesser General Public License as
-* published by the Free Software Foundation; either version 2.1 of
-* the License, or (at your option) any later version.
-*
-* This software is distributed in the hope that it will be useful,
-* but WITHOUT ANY WARRANTY; without even the implied warranty of
-* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-* Lesser General Public License for more details.
-*
-* You should have received a copy of the GNU Lesser General Public
-* License along with this software; if not, write to the Free
-* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
-* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
-*/
-package org.jboss.soa.esb.connection;
-
-import java.util.Properties;
-
-/**
- * Connection Property class which stores all connection and connection pool properties. It keeps the peroperties ready
- * so that is can be used by the pool and connection factory
- * User: MohitK
- * Date: Jul 18, 2006
- */
-public class ConnectionProperties {
-
-    private Properties _connectionProperties;
-
-    public static final String DRIVER_CLASSNAME = "driver-class";
-    public static final String CONNECTION_URL = "connection-url";
-    public static final String USERNAME = "user-name";
-    public static final String PASSWORD = "password";
-    public static final String AUTO_COMMIT = "auto-commit";
-    public static final String ISOLATION_LEVEL = "isolation";
-    public static final String MIN_POOL_SIZE = "min-pool-size";
-    public static final String MAX_POOL_SIZE = "max-pool-size";
-    public static final String BLOCKING_CONNECTION_TIME = "blocking-timeout-millis";
-    public static final String CONNECTION_POOL_CLASS = "connection-pool-class";
-    public static final String PASSWORD_DECODER = "password-decrypter";
-    public static final String ABANDONED_CONNECTION_TIMEOUT = "abandoned-connection-timeout";
-    public static final String ABANDONED_CONNECTION_CHECK_INTERVAL = "abandoned-connection-time-interval";
-
-    private boolean _autoCommit;
-    private Integer _isolationLvl;
-    private int _minPoolSize;
-    private int _maxPoolSize;
-    private long _connBlockTime;
-    private String _connectionPoolClass;
-    private String _user;
-    private String _password;
-    private String _connectionUrl;
-    private long _abandonedConnectionTimeout;
-    private long _abandonedConnectionCheckInterval;
-    private String _driverClassName;
-
-
-    public static final String DEFAULT_MIN_POOL_SIZE = "5";
-    public static final String DEFAULT_MAX_POOL_SIZE = "10";
-    public static final String DEFAULT_CONN_BLOCK_TIME_MILLIS = "5000";
-    public static final String DEFAULT_CONNECTION_POOL_CLASS = DefaultConnectionPoolImpl.class.getName();
-    public static final String DEFAULT_ABANDONED_CONNECTION_TIMEOUT = "10000";
-    public static final String DEFAULT_ABANDONED_CONNECTION_CHECK_INTERVAL = "30000";
-
-    public ConnectionProperties(Properties connectionProperties) {
-        this._connectionProperties = connectionProperties;
-        setDriverClassName();
-        setConnectionUrl();
-        setUser();
-        setPassword();
-        setConnectionPoolClass();
-        setAutoCommit();
-        setIsolationLevel();
-        setMinPoolSize();
-        setMaxPoolSize();
-        setBlockingConnectionTime();
-        setAbandonedConnectionTimeOut();
-        setAbandonedConnectionCheckInterval();
-    }
-
-    private void setDriverClassName() {
-        _driverClassName = _connectionProperties.getProperty(DRIVER_CLASSNAME);
-        if (_driverClassName == null) {
-            _driverClassName = System.getProperty(DRIVER_CLASSNAME);
-        }
-    }
-
-    protected String getDriverClassName() {
-        return _driverClassName;
-    }
-
-    protected String getConnectionUrl() {
-        return _connectionUrl;
-    }
-
-    private void setConnectionUrl() {
-        _connectionUrl = _connectionProperties.getProperty(CONNECTION_URL);
-        if (_connectionUrl == null) {
-            _connectionUrl = System.getProperty(CONNECTION_URL);
-        }
-    }
-
-    protected boolean getAutoCommit() {
-        return _autoCommit;
-    }
-
-    protected Integer getIsolationLevel() {
-        return _isolationLvl;
-    }
-
-    private void setIsolationLevel() {
-        String isolation = (String) _connectionProperties.get(ISOLATION_LEVEL);
-        if (isolation == null) {
-            isolation = System.getProperty(ISOLATION_LEVEL);
-        }
-        this._isolationLvl = (isolation != null) ? new Integer(isolation) : null;
-    }
-
-    protected int getMinPoolSize() {
-        return _minPoolSize;
-    }
-
-    protected int getMaxPoolSize() {
-        return _maxPoolSize;
-    }
-
-    private void setMinPoolSize() {
-        String strPoolSize = _connectionProperties.getProperty(MIN_POOL_SIZE);
-        if (strPoolSize == null) {
-            strPoolSize = System.getProperty(MIN_POOL_SIZE, DEFAULT_MIN_POOL_SIZE);
-            this._minPoolSize = Integer.parseInt(strPoolSize);
-        }
-    }
-
-    private void setMaxPoolSize() {
-        String strPoolSize = (String) _connectionProperties.get(MAX_POOL_SIZE);
-        if (strPoolSize == null) {
-            strPoolSize = System.getProperty(MAX_POOL_SIZE, DEFAULT_MAX_POOL_SIZE);
-            this._maxPoolSize = Integer.parseInt(strPoolSize);
-        }
-    }
-
-    private void setBlockingConnectionTime() {
-        String strBlockTimeMillis = (String) _connectionProperties.get(BLOCKING_CONNECTION_TIME);
-        if (strBlockTimeMillis == null) {
-            strBlockTimeMillis = System.getProperty(BLOCKING_CONNECTION_TIME, DEFAULT_CONN_BLOCK_TIME_MILLIS);
-            this._connBlockTime = Integer.parseInt(strBlockTimeMillis);
-        }
-    }
-
-    protected long getConnectionBlockTimeInMillis() {
-        return _connBlockTime;
-    }
-
-    private void setAutoCommit() {
-        String autoCommit = (String) _connectionProperties.get(AUTO_COMMIT);
-        if (autoCommit == null || autoCommit.equals("false")) {
-            _autoCommit = Boolean.FALSE;
-        } else {
-            _autoCommit = Boolean.TRUE;
-        }
-    }
-
-    private void setConnectionPoolClass() {
-        _connectionPoolClass = _connectionProperties.getProperty(CONNECTION_POOL_CLASS);
-        if (_connectionPoolClass == null) {
-            _connectionPoolClass = System.getProperty(CONNECTION_POOL_CLASS, DEFAULT_CONNECTION_POOL_CLASS);
-        }
-    }
-
-
-    protected String getUser() {
-        return _user;
-    }
-
-    public void setUser() {
-        this._user = _connectionProperties.getProperty(USERNAME);
-        if (_user == null) {
-            _user = System.getProperty(USERNAME);
-        }
-    }
-
-    protected String getPassword() {
-        return _password;
-    }
-
-    protected void setPassword() {
-        this._password = _connectionProperties.getProperty(PASSWORD);
-        if (_password == null) {
-            _password = System.getProperty(PASSWORD);
-        }
-        String strPasswordDecoder = _connectionProperties.getProperty(PASSWORD_DECODER);
-        if (strPasswordDecoder == null) {
-            strPasswordDecoder = System.getProperty(PASSWORD_DECODER);
-        }
-        if (strPasswordDecoder != null) {
-            try {
-                PasswordDecoder decoder = (PasswordDecoder) Class.forName(strPasswordDecoder).newInstance();
-                this._password = decoder.decode(_password);
-            } catch (InstantiationException e) {
-                System.err.println("Error in creating instance of Password Decoder Class:-" + strPasswordDecoder);
-                System.err.println(e);
-            } catch (IllegalAccessException e) {
-                System.err.println("Error in creating instance of Password Decoder Class:-" + strPasswordDecoder);
-                System.err.println(e);
-            } catch (ClassNotFoundException e) {
-                System.err.println("Password Decoder Class:-" + strPasswordDecoder + " not found in Classpath");
-                System.err.println("Please check the property:-" + PASSWORD_DECODER);
-                System.err.println(e);
-            }
-        }
-    }
-
-    protected String getConnectionPoolClass() {
-        return _connectionPoolClass;
-    }
-
-    private void setAbandonedConnectionTimeOut() {
-        String strAbandonedConnectionTimeout = _connectionProperties.getProperty(ABANDONED_CONNECTION_TIMEOUT);
-        if (strAbandonedConnectionTimeout == null) {
-            strAbandonedConnectionTimeout = System.getProperty(ABANDONED_CONNECTION_TIMEOUT, DEFAULT_ABANDONED_CONNECTION_TIMEOUT);
-        }
-        this._abandonedConnectionTimeout = Long.parseLong(strAbandonedConnectionTimeout);
-    }
-
-    private void setAbandonedConnectionCheckInterval() {
-        String strAbandonedConnectionCheckInterval = _connectionProperties.getProperty(ABANDONED_CONNECTION_CHECK_INTERVAL);
-        if (strAbandonedConnectionCheckInterval == null || strAbandonedConnectionCheckInterval.trim().length() == 0) {
-            strAbandonedConnectionCheckInterval = System.getProperty(ABANDONED_CONNECTION_CHECK_INTERVAL, DEFAULT_ABANDONED_CONNECTION_CHECK_INTERVAL);
-        }
-        this._abandonedConnectionCheckInterval = Long.parseLong(strAbandonedConnectionCheckInterval);
-    }
-
-    protected long getAbandonedConnectionTimeOut(){
-        return this._abandonedConnectionTimeout;
-    }
-
-    protected long getAbandonedConnectionCheckInterval(){
-        return this._abandonedConnectionCheckInterval;
-    }
-
-}

Added: labs/jbossesb/branches/refactor/product/core/common/src/org/jboss/soa/esb/connection/ConnectionProperties.java
===================================================================
--- labs/jbossesb/branches/refactor/product/core/common/src/org/jboss/soa/esb/connection/ConnectionProperties.java	2006-08-03 16:29:28 UTC (rev 5443)
+++ labs/jbossesb/branches/refactor/product/core/common/src/org/jboss/soa/esb/connection/ConnectionProperties.java	2006-08-03 16:30:47 UTC (rev 5444)
@@ -0,0 +1,251 @@
+/*
+* JBoss, Home of Professional Open Source
+* Copyright 2006, JBoss Inc., and individual contributors as indicated
+* by the @authors tag. See the copyright.txt in the distribution for a
+* full listing of individual contributors.
+*
+* This is free software; you can redistribute it and/or modify it
+* under the terms of the GNU Lesser General Public License as
+* published by the Free Software Foundation; either version 2.1 of
+* the License, or (at your option) any later version.
+*
+* This software is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+* Lesser General Public License for more details.
+*
+* You should have received a copy of the GNU Lesser General Public
+* License along with this software; if not, write to the Free
+* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+*/
+package org.jboss.soa.esb.connection;
+
+import org.apache.log4j.Logger;
+
+import java.util.Properties;
+
+/**
+ * Connection Property class which stores all connection and connection pool properties. It keeps the properties ready
+ * so that is can be used by the pool and connection factory
+ *
+ * @author MohitK
+ *         Date: Jul 18, 2006
+ */
+public class ConnectionProperties {
+
+    private static Logger Log = Logger.getLogger(ConnectionProperties.class);
+
+    private Properties _connectionProperties;
+
+    public static final String DRIVER_CLASSNAME = "driver-class";
+    public static final String CONNECTION_URL = "connection-url";
+    public static final String USERNAME = "user-name";
+    public static final String PASSWORD = "password";
+    public static final String AUTO_COMMIT = "auto-commit";
+    public static final String ISOLATION_LEVEL = "isolation";
+    public static final String MIN_POOL_SIZE = "min-pool-size";
+    public static final String MAX_POOL_SIZE = "max-pool-size";
+    public static final String BLOCKING_CONNECTION_TIME = "blocking-timeout-millis";
+    public static final String CONNECTION_POOL_CLASS = "connection-pool-class";
+    public static final String PASSWORD_DECODER = "password-decrypter";
+    public static final String ABANDONED_CONNECTION_TIMEOUT = "abandoned-connection-timeout";
+    public static final String ABANDONED_CONNECTION_CHECK_INTERVAL = "abandoned-connection-time-interval";
+
+    private boolean _autoCommit;
+    private Integer _isolationLvl;
+    private int _minPoolSize;
+    private int _maxPoolSize;
+    private long _connBlockTime;
+    private String _connectionPoolClass;
+    private String _user;
+    private String _password;
+    private String _connectionUrl;
+    private long _abandonedConnectionTimeout;
+    private long _abandonedConnectionCheckInterval;
+    private String _driverClassName;
+
+
+    public static final String DEFAULT_MIN_POOL_SIZE = "5";
+    public static final String DEFAULT_MAX_POOL_SIZE = "10";
+    public static final String DEFAULT_CONN_BLOCK_TIME_MILLIS = "5000";
+    public static final String DEFAULT_CONNECTION_POOL_CLASS = DefaultConnectionPoolImpl.class.getName();
+    public static final String DEFAULT_ABANDONED_CONNECTION_TIMEOUT = "10000";
+    public static final String DEFAULT_ABANDONED_CONNECTION_CHECK_INTERVAL = "30000";
+
+    public ConnectionProperties(Properties connectionProperties) {
+        this._connectionProperties = connectionProperties;
+        setDriverClassName();
+        setConnectionUrl();
+        setUser();
+        setPassword();
+        setConnectionPoolClass();
+        setAutoCommit();
+        setIsolationLevel();
+        setMinPoolSize();
+        setMaxPoolSize();
+        setBlockingConnectionTime();
+        setAbandonedConnectionTimeOut();
+        setAbandonedConnectionCheckInterval();
+    }
+
+    private void setDriverClassName() {
+        _driverClassName = _connectionProperties.getProperty(DRIVER_CLASSNAME);
+        if (_driverClassName == null) {
+            _driverClassName = System.getProperty(DRIVER_CLASSNAME);
+        }
+    }
+
+    protected String getDriverClassName() {
+        return _driverClassName;
+    }
+
+    protected String getConnectionUrl() {
+        return _connectionUrl;
+    }
+
+    private void setConnectionUrl() {
+        _connectionUrl = _connectionProperties.getProperty(CONNECTION_URL);
+        if (_connectionUrl == null) {
+            _connectionUrl = System.getProperty(CONNECTION_URL);
+        }
+    }
+
+    protected boolean getAutoCommit() {
+        return _autoCommit;
+    }
+
+    protected Integer getIsolationLevel() {
+        return _isolationLvl;
+    }
+
+    private void setIsolationLevel() {
+        String isolation = (String) _connectionProperties.get(ISOLATION_LEVEL);
+        if (isolation == null) {
+            isolation = System.getProperty(ISOLATION_LEVEL);
+        }
+        this._isolationLvl = (isolation != null) ? new Integer(isolation) : null;
+    }
+
+    protected int getMinPoolSize() {
+        return _minPoolSize;
+    }
+
+    protected int getMaxPoolSize() {
+        return _maxPoolSize;
+    }
+
+    private void setMinPoolSize() {
+        String strPoolSize = _connectionProperties.getProperty(MIN_POOL_SIZE);
+        if (strPoolSize == null) {
+            strPoolSize = System.getProperty(MIN_POOL_SIZE, DEFAULT_MIN_POOL_SIZE);
+            this._minPoolSize = Integer.parseInt(strPoolSize);
+        }
+    }
+
+    private void setMaxPoolSize() {
+        String strPoolSize = (String) _connectionProperties.get(MAX_POOL_SIZE);
+        if (strPoolSize == null) {
+            strPoolSize = System.getProperty(MAX_POOL_SIZE, DEFAULT_MAX_POOL_SIZE);
+            this._maxPoolSize = Integer.parseInt(strPoolSize);
+        }
+    }
+
+    private void setBlockingConnectionTime() {
+        String strBlockTimeMillis = (String) _connectionProperties.get(BLOCKING_CONNECTION_TIME);
+        if (strBlockTimeMillis == null) {
+            strBlockTimeMillis = System.getProperty(BLOCKING_CONNECTION_TIME, DEFAULT_CONN_BLOCK_TIME_MILLIS);
+            this._connBlockTime = Integer.parseInt(strBlockTimeMillis);
+        }
+    }
+
+    protected long getConnectionBlockTimeInMillis() {
+        return _connBlockTime;
+    }
+
+    private void setAutoCommit() {
+        String autoCommit = (String) _connectionProperties.get(AUTO_COMMIT);
+        if (autoCommit == null || autoCommit.equals("false")) {
+            _autoCommit = Boolean.FALSE;
+        } else {
+            _autoCommit = Boolean.TRUE;
+        }
+    }
+
+    private void setConnectionPoolClass() {
+        _connectionPoolClass = _connectionProperties.getProperty(CONNECTION_POOL_CLASS);
+        if (_connectionPoolClass == null) {
+            _connectionPoolClass = System.getProperty(CONNECTION_POOL_CLASS, DEFAULT_CONNECTION_POOL_CLASS);
+        }
+    }
+
+
+    protected String getUser() {
+        return _user;
+    }
+
+    public void setUser() {
+        this._user = _connectionProperties.getProperty(USERNAME);
+        if (_user == null) {
+            _user = System.getProperty(USERNAME);
+        }
+    }
+
+    protected String getPassword() {
+        return _password;
+    }
+
+    protected void setPassword() {
+        this._password = _connectionProperties.getProperty(PASSWORD);
+        if (_password == null) {
+            _password = System.getProperty(PASSWORD);
+        }
+        String strPasswordDecoder = _connectionProperties.getProperty(PASSWORD_DECODER);
+        if (strPasswordDecoder == null) {
+            strPasswordDecoder = System.getProperty(PASSWORD_DECODER);
+        }
+        if (strPasswordDecoder != null) {
+            try {
+                PasswordDecoder decoder = (PasswordDecoder) Class.forName(strPasswordDecoder).newInstance();
+                this._password = decoder.decode(_password);
+            } catch (InstantiationException e) {
+                Log.error("Error in creating instance of Password Decoder Class:-" + strPasswordDecoder,e);
+            } catch (IllegalAccessException e) {
+                Log.error("Error in creating instance of Password Decoder Class:-" + strPasswordDecoder,e);
+            } catch (ClassNotFoundException e) {
+                Log.error("Password Decoder Class:-" + strPasswordDecoder + " not found in Classpath");
+                Log.error("Please check the property:-" + PASSWORD_DECODER);
+                Log.error(e);
+            }
+        }
+    }
+
+    protected String getConnectionPoolClass() {
+        return _connectionPoolClass;
+    }
+
+    private void setAbandonedConnectionTimeOut() {
+        String strAbandonedConnectionTimeout = _connectionProperties.getProperty(ABANDONED_CONNECTION_TIMEOUT);
+        if (strAbandonedConnectionTimeout == null) {
+            strAbandonedConnectionTimeout = System.getProperty(ABANDONED_CONNECTION_TIMEOUT, DEFAULT_ABANDONED_CONNECTION_TIMEOUT);
+        }
+        this._abandonedConnectionTimeout = Long.parseLong(strAbandonedConnectionTimeout);
+    }
+
+    private void setAbandonedConnectionCheckInterval() {
+        String strAbandonedConnectionCheckInterval = _connectionProperties.getProperty(ABANDONED_CONNECTION_CHECK_INTERVAL);
+        if (strAbandonedConnectionCheckInterval == null || strAbandonedConnectionCheckInterval.trim().length() == 0) {
+            strAbandonedConnectionCheckInterval = System.getProperty(ABANDONED_CONNECTION_CHECK_INTERVAL, DEFAULT_ABANDONED_CONNECTION_CHECK_INTERVAL);
+        }
+        this._abandonedConnectionCheckInterval = Long.parseLong(strAbandonedConnectionCheckInterval);
+    }
+
+    protected long getAbandonedConnectionTimeOut() {
+        return this._abandonedConnectionTimeout;
+    }
+
+    protected long getAbandonedConnectionCheckInterval() {
+        return this._abandonedConnectionCheckInterval;
+    }
+
+}

Deleted: labs/jbossesb/branches/refactor/product/core/common/src/org/jboss/soa/esb/connection/ConnectionWrapper.java
===================================================================
--- labs/jbossesb/branches/refactor/product/core/common/src/org/jboss/soa/esb/connection/ConnectionWrapper.java	2006-08-03 16:29:28 UTC (rev 5443)
+++ labs/jbossesb/branches/refactor/product/core/common/src/org/jboss/soa/esb/connection/ConnectionWrapper.java	2006-08-03 16:30:47 UTC (rev 5444)
@@ -1,319 +0,0 @@
-/*
-* JBoss, Home of Professional Open Source
-* Copyright 2006, JBoss Inc., and individual contributors as indicated
-* by the @authors tag. See the copyright.txt in the distribution for a
-* full listing of individual contributors.
-*
-* This is free software; you can redistribute it and/or modify it
-* under the terms of the GNU Lesser General Public License as
-* published by the Free Software Foundation; either version 2.1 of
-* the License, or (at your option) any later version.
-*
-* This software is distributed in the hope that it will be useful,
-* but WITHOUT ANY WARRANTY; without even the implied warranty of
-* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-* Lesser General Public License for more details.
-*
-* You should have received a copy of the GNU Lesser General Public
-* License along with this software; if not, write to the Free
-* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
-* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
-*/
-package org.jboss.soa.esb.connection;
-
-import java.sql.*;
-import java.util.Map;
-
-/**
- * Wrapper class which encapsulates @link Connection
- * User: MohitK
- * Date: Jul 18, 2006
- */
-public class ConnectionWrapper implements Connection {
-
-    private Connection _originalHeavyConnection;
-    private ConnectionPool _connectionPool;
-    private boolean _isClosed = false;
-    private long _activatedTime;
-
-    public ConnectionWrapper(Connection originalHeavyConnection, ConnectionPool pool) throws SQLException {
-        if (originalHeavyConnection == null) {
-            throw new SQLException("Original Connection is Null");
-        }
-        this._originalHeavyConnection = originalHeavyConnection;
-        if (pool == null) {
-            throw new SQLException("Connection Pool is null");
-        }
-        this._connectionPool = pool;
-    }
-
-    public Statement createStatement() throws SQLException {
-        if (_originalHeavyConnection != null) {
-            return _originalHeavyConnection.createStatement();
-        } else
-            throw new SQLException("Connection closed due to inactivity");
-    }
-
-    public PreparedStatement prepareStatement(String sql) throws SQLException {
-        if (_originalHeavyConnection != null) {
-            return _originalHeavyConnection.prepareStatement(sql);
-        } else
-            throw new SQLException("Connection closed due to inactivity");
-    }
-
-    public CallableStatement prepareCall(String sql) throws SQLException {
-        if (_originalHeavyConnection != null) {
-            return _originalHeavyConnection.prepareCall(sql);
-        } else
-            throw new SQLException("Connection closed due to inactivity");
-    }
-
-    public String nativeSQL(String sql) throws SQLException {
-        if (_originalHeavyConnection != null) {
-            return _originalHeavyConnection.nativeSQL(sql);
-        } else
-            throw new SQLException("Connection closed due to inactivity");
-    }
-
-    public void setAutoCommit(boolean autoCommit) throws SQLException {
-        if (_originalHeavyConnection != null) {
-            _originalHeavyConnection.setAutoCommit(autoCommit);
-        } else
-            throw new SQLException("Connection closed due to inactivity");
-
-    }
-
-    public boolean getAutoCommit() throws SQLException {
-        if (_originalHeavyConnection != null) {
-            return _originalHeavyConnection.getAutoCommit();
-        } else
-            throw new SQLException("Connection closed due to inactivity");
-    }
-
-    public void commit() throws SQLException {
-        if (_originalHeavyConnection != null) {
-            _originalHeavyConnection.commit();
-        } else
-            throw new SQLException("Connection closed due to inactivity");
-    }
-
-    public void rollback() throws SQLException {
-        if (_originalHeavyConnection != null) {
-            _originalHeavyConnection.rollback();
-        } else
-            throw new SQLException("Connection closed due to inactivity");
-    }
-
-    public synchronized void close() throws SQLException {
-        if (_originalHeavyConnection != null) {
-            _connectionPool.closeConnection(this);
-        }
-        this._isClosed = true;
-    }
-
-    public boolean isClosed() throws SQLException {
-        return _isClosed;
-    }
-
-    public DatabaseMetaData getMetaData() throws SQLException {
-        if (_originalHeavyConnection != null) {
-            return _originalHeavyConnection.getMetaData();
-        } else
-            throw new SQLException("Connection closed due to inactivity");
-    }
-
-    public void setReadOnly(boolean readOnly) throws SQLException {
-        if (_originalHeavyConnection != null) {
-            _originalHeavyConnection.setReadOnly(readOnly);
-        } else
-            throw new SQLException("Connection closed due to inactivity");
-    }
-
-    public boolean isReadOnly() throws SQLException {
-        if (_originalHeavyConnection != null) {
-            return _originalHeavyConnection.isReadOnly();
-        } else
-            throw new SQLException("Connection closed due to inactivity");
-    }
-
-    public void setCatalog(String catalog) throws SQLException {
-        if (_originalHeavyConnection != null) {
-            _originalHeavyConnection.setCatalog(catalog);
-        } else
-            throw new SQLException("Connection closed due to inactivity");
-    }
-
-    public String getCatalog() throws SQLException {
-        if (_originalHeavyConnection != null) {
-            return _originalHeavyConnection.getCatalog();
-        } else
-            throw new SQLException("Connection closed due to inactivity");
-    }
-
-    public void setTransactionIsolation(int level) throws SQLException {
-        if (_originalHeavyConnection != null) {
-            _originalHeavyConnection.setTransactionIsolation(level);
-        } else
-            throw new SQLException("Connection closed due to inactivity");
-    }
-
-    public int getTransactionIsolation() throws SQLException {
-        if (_originalHeavyConnection != null) {
-            return _originalHeavyConnection.getTransactionIsolation();
-        } else
-            throw new SQLException("Connection closed due to inactivity");
-    }
-
-    public SQLWarning getWarnings() throws SQLException {
-        if (_originalHeavyConnection != null) {
-            return _originalHeavyConnection.getWarnings();
-        } else
-            throw new SQLException("Connection closed due to inactivity");
-    }
-
-    public void clearWarnings() throws SQLException {
-        if (_originalHeavyConnection != null) {
-            _originalHeavyConnection.clearWarnings();
-        } else
-            throw new SQLException("Connection closed due to inactivity");
-    }
-
-    public Statement createStatement(int resultSetType, int resultSetConcurrency) throws SQLException {
-        if (_originalHeavyConnection != null) {
-            return _originalHeavyConnection.createStatement(resultSetType, resultSetConcurrency);
-        } else
-            throw new SQLException("Connection closed due to inactivity");
-    }
-
-    public PreparedStatement prepareStatement(String sql, int resultSetType, int resultSetConcurrency) throws SQLException {
-        if (_originalHeavyConnection != null) {
-            return _originalHeavyConnection.prepareStatement(sql, resultSetType, resultSetConcurrency);
-        } else
-            throw new SQLException("Connection closed due to inactivity");
-    }
-
-    public CallableStatement prepareCall(String sql, int resultSetType, int resultSetConcurrency) throws SQLException {
-        if (_originalHeavyConnection != null) {
-            return _originalHeavyConnection.prepareCall(sql, resultSetType, resultSetConcurrency);
-        } else
-            throw new SQLException("Connection closed due to inactivity");
-    }
-
-    public Map<String, Class<?>> getTypeMap() throws SQLException {
-        if (_originalHeavyConnection != null) {
-            return _originalHeavyConnection.getTypeMap();
-        } else
-            throw new SQLException("Connection closed due to inactivity");
-    }
-
-    public void setTypeMap(Map<String, Class<?>> map) throws SQLException {
-        if (_originalHeavyConnection != null) {
-            _originalHeavyConnection.setTypeMap(map);
-        } else
-            throw new SQLException("Connection closed due to inactivity");
-    }
-
-    public void setHoldability(int holdability) throws SQLException {
-        if (_originalHeavyConnection != null) {
-            _originalHeavyConnection.setHoldability(holdability);
-        } else
-            throw new SQLException("Connection closed due to inactivity");
-    }
-
-    public int getHoldability() throws SQLException {
-        if (_originalHeavyConnection != null) {
-            return _originalHeavyConnection.getHoldability();
-        } else
-            throw new SQLException("Connection closed due to inactivity");
-    }
-
-    public Savepoint setSavepoint() throws SQLException {
-        if (_originalHeavyConnection != null) {
-            return _originalHeavyConnection.setSavepoint();
-        } else
-            throw new SQLException("Connection closed due to inactivity");
-    }
-
-    public Savepoint setSavepoint(String name) throws SQLException {
-        if (_originalHeavyConnection != null) {
-            return _originalHeavyConnection.setSavepoint(name);
-        } else
-            throw new SQLException("Connection closed due to inactivity");
-    }
-
-    public void rollback(Savepoint savepoint) throws SQLException {
-        if (_originalHeavyConnection != null) {
-            _originalHeavyConnection.rollback(savepoint);
-        } else
-            throw new SQLException("Connection closed due to inactivity");
-    }
-
-    public void releaseSavepoint(Savepoint savepoint) throws SQLException {
-        if (_originalHeavyConnection != null) {
-            _originalHeavyConnection.releaseSavepoint(savepoint);
-        } else
-            throw new SQLException("Connection closed due to inactivity");
-    }
-
-    public Statement createStatement(int resultSetType, int resultSetConcurrency, int resultSetHoldability) throws SQLException {
-        if (_originalHeavyConnection != null) {
-            return _originalHeavyConnection.createStatement(resultSetType, resultSetConcurrency, resultSetHoldability);
-        } else
-            throw new SQLException("Connection closed due to inactivity");
-    }
-
-    public PreparedStatement prepareStatement(String sql, int resultSetType, int resultSetConcurrency, int resultSetHoldability) throws SQLException {
-        if (_originalHeavyConnection != null) {
-            return _originalHeavyConnection.prepareStatement(sql, resultSetType, resultSetConcurrency, resultSetHoldability);
-        } else
-            throw new SQLException("Connection closed due to inactivity");
-    }
-
-    public CallableStatement prepareCall(String sql, int resultSetType, int resultSetConcurrency, int resultSetHoldability) throws SQLException {
-        if (_originalHeavyConnection != null) {
-            return _originalHeavyConnection.prepareCall(sql, resultSetType, resultSetConcurrency, resultSetHoldability);
-        } else
-            throw new SQLException("Connection closed due to inactivity");
-    }
-
-    public PreparedStatement prepareStatement(String sql, int autoGeneratedKeys) throws SQLException {
-        if (_originalHeavyConnection != null) {
-            return _originalHeavyConnection.prepareStatement(sql, autoGeneratedKeys);
-        } else
-            throw new SQLException("Connection closed due to inactivity");
-    }
-
-    public PreparedStatement prepareStatement(String sql, int columnIndexes[]) throws SQLException {
-        if (_originalHeavyConnection != null) {
-            return _originalHeavyConnection.prepareStatement(sql, columnIndexes);
-        } else
-            throw new SQLException("Connection closed due to inactivity");
-    }
-
-    public PreparedStatement prepareStatement(String sql, String columnNames[]) throws SQLException {
-        if (_originalHeavyConnection != null) {
-            return _originalHeavyConnection.prepareStatement(sql, columnNames);
-        } else
-            throw new SQLException("Connection closed due to inactivity");
-    }
-
-    protected synchronized Connection getActualConnection() {
-        return _originalHeavyConnection;
-    }
-
-    protected long getActivatedTime() {
-        return _activatedTime;
-    }
-
-    protected void setActivatedTime(long activedTime) {
-        this._activatedTime = activedTime;
-    }
-
-    protected String getName() {
-        return _originalHeavyConnection.toString();
-    }
-
-    protected void setOriginalConnection(Connection conn) {
-        this._originalHeavyConnection = conn;
-    }
-}

Added: labs/jbossesb/branches/refactor/product/core/common/src/org/jboss/soa/esb/connection/ConnectionWrapper.java
===================================================================
--- labs/jbossesb/branches/refactor/product/core/common/src/org/jboss/soa/esb/connection/ConnectionWrapper.java	2006-08-03 16:29:28 UTC (rev 5443)
+++ labs/jbossesb/branches/refactor/product/core/common/src/org/jboss/soa/esb/connection/ConnectionWrapper.java	2006-08-03 16:30:47 UTC (rev 5444)
@@ -0,0 +1,319 @@
+/*
+* JBoss, Home of Professional Open Source
+* Copyright 2006, JBoss Inc., and individual contributors as indicated
+* by the @authors tag. See the copyright.txt in the distribution for a
+* full listing of individual contributors.
+*
+* This is free software; you can redistribute it and/or modify it
+* under the terms of the GNU Lesser General Public License as
+* published by the Free Software Foundation; either version 2.1 of
+* the License, or (at your option) any later version.
+*
+* This software is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+* Lesser General Public License for more details.
+*
+* You should have received a copy of the GNU Lesser General Public
+* License along with this software; if not, write to the Free
+* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+*/
+package org.jboss.soa.esb.connection;
+
+import java.sql.*;
+import java.util.Map;
+
+/**
+ * Wrapper class which encapsulates @link Connection
+ * @author MohitK
+ * Date: Jul 18, 2006
+ */
+public class ConnectionWrapper implements Connection {
+
+    private Connection _originalHeavyConnection;
+    private ConnectionPool _connectionPool;
+    private boolean _isClosed = false;
+    private long _activatedTime;
+
+    public ConnectionWrapper(Connection originalHeavyConnection, ConnectionPool pool) throws SQLException {
+        if (originalHeavyConnection == null) {
+            throw new SQLException("Original Connection is Null");
+        }
+        this._originalHeavyConnection = originalHeavyConnection;
+        if (pool == null) {
+            throw new SQLException("Connection Pool is null");
+        }
+        this._connectionPool = pool;
+    }
+
+    public Statement createStatement() throws SQLException {
+        if (_originalHeavyConnection != null) {
+            return _originalHeavyConnection.createStatement();
+        } else
+            throw new SQLException("Connection closed due to inactivity");
+    }
+
+    public PreparedStatement prepareStatement(String sql) throws SQLException {
+        if (_originalHeavyConnection != null) {
+            return _originalHeavyConnection.prepareStatement(sql);
+        } else
+            throw new SQLException("Connection closed due to inactivity");
+    }
+
+    public CallableStatement prepareCall(String sql) throws SQLException {
+        if (_originalHeavyConnection != null) {
+            return _originalHeavyConnection.prepareCall(sql);
+        } else
+            throw new SQLException("Connection closed due to inactivity");
+    }
+
+    public String nativeSQL(String sql) throws SQLException {
+        if (_originalHeavyConnection != null) {
+            return _originalHeavyConnection.nativeSQL(sql);
+        } else
+            throw new SQLException("Connection closed due to inactivity");
+    }
+
+    public void setAutoCommit(boolean autoCommit) throws SQLException {
+        if (_originalHeavyConnection != null) {
+            _originalHeavyConnection.setAutoCommit(autoCommit);
+        } else
+            throw new SQLException("Connection closed due to inactivity");
+
+    }
+
+    public boolean getAutoCommit() throws SQLException {
+        if (_originalHeavyConnection != null) {
+            return _originalHeavyConnection.getAutoCommit();
+        } else
+            throw new SQLException("Connection closed due to inactivity");
+    }
+
+    public void commit() throws SQLException {
+        if (_originalHeavyConnection != null) {
+            _originalHeavyConnection.commit();
+        } else
+            throw new SQLException("Connection closed due to inactivity");
+    }
+
+    public void rollback() throws SQLException {
+        if (_originalHeavyConnection != null) {
+            _originalHeavyConnection.rollback();
+        } else
+            throw new SQLException("Connection closed due to inactivity");
+    }
+
+    public synchronized void close() throws SQLException {
+        if (_originalHeavyConnection != null) {
+            _connectionPool.closeConnection(this);
+        }
+        this._isClosed = true;
+    }
+
+    public boolean isClosed() throws SQLException {
+        return _isClosed;
+    }
+
+    public DatabaseMetaData getMetaData() throws SQLException {
+        if (_originalHeavyConnection != null) {
+            return _originalHeavyConnection.getMetaData();
+        } else
+            throw new SQLException("Connection closed due to inactivity");
+    }
+
+    public void setReadOnly(boolean readOnly) throws SQLException {
+        if (_originalHeavyConnection != null) {
+            _originalHeavyConnection.setReadOnly(readOnly);
+        } else
+            throw new SQLException("Connection closed due to inactivity");
+    }
+
+    public boolean isReadOnly() throws SQLException {
+        if (_originalHeavyConnection != null) {
+            return _originalHeavyConnection.isReadOnly();
+        } else
+            throw new SQLException("Connection closed due to inactivity");
+    }
+
+    public void setCatalog(String catalog) throws SQLException {
+        if (_originalHeavyConnection != null) {
+            _originalHeavyConnection.setCatalog(catalog);
+        } else
+            throw new SQLException("Connection closed due to inactivity");
+    }
+
+    public String getCatalog() throws SQLException {
+        if (_originalHeavyConnection != null) {
+            return _originalHeavyConnection.getCatalog();
+        } else
+            throw new SQLException("Connection closed due to inactivity");
+    }
+
+    public void setTransactionIsolation(int level) throws SQLException {
+        if (_originalHeavyConnection != null) {
+            _originalHeavyConnection.setTransactionIsolation(level);
+        } else
+            throw new SQLException("Connection closed due to inactivity");
+    }
+
+    public int getTransactionIsolation() throws SQLException {
+        if (_originalHeavyConnection != null) {
+            return _originalHeavyConnection.getTransactionIsolation();
+        } else
+            throw new SQLException("Connection closed due to inactivity");
+    }
+
+    public SQLWarning getWarnings() throws SQLException {
+        if (_originalHeavyConnection != null) {
+            return _originalHeavyConnection.getWarnings();
+        } else
+            throw new SQLException("Connection closed due to inactivity");
+    }
+
+    public void clearWarnings() throws SQLException {
+        if (_originalHeavyConnection != null) {
+            _originalHeavyConnection.clearWarnings();
+        } else
+            throw new SQLException("Connection closed due to inactivity");
+    }
+
+    public Statement createStatement(int resultSetType, int resultSetConcurrency) throws SQLException {
+        if (_originalHeavyConnection != null) {
+            return _originalHeavyConnection.createStatement(resultSetType, resultSetConcurrency);
+        } else
+            throw new SQLException("Connection closed due to inactivity");
+    }
+
+    public PreparedStatement prepareStatement(String sql, int resultSetType, int resultSetConcurrency) throws SQLException {
+        if (_originalHeavyConnection != null) {
+            return _originalHeavyConnection.prepareStatement(sql, resultSetType, resultSetConcurrency);
+        } else
+            throw new SQLException("Connection closed due to inactivity");
+    }
+
+    public CallableStatement prepareCall(String sql, int resultSetType, int resultSetConcurrency) throws SQLException {
+        if (_originalHeavyConnection != null) {
+            return _originalHeavyConnection.prepareCall(sql, resultSetType, resultSetConcurrency);
+        } else
+            throw new SQLException("Connection closed due to inactivity");
+    }
+
+    public Map<String, Class<?>> getTypeMap() throws SQLException {
+        if (_originalHeavyConnection != null) {
+            return _originalHeavyConnection.getTypeMap();
+        } else
+            throw new SQLException("Connection closed due to inactivity");
+    }
+
+    public void setTypeMap(Map<String, Class<?>> map) throws SQLException {
+        if (_originalHeavyConnection != null) {
+            _originalHeavyConnection.setTypeMap(map);
+        } else
+            throw new SQLException("Connection closed due to inactivity");
+    }
+
+    public void setHoldability(int holdability) throws SQLException {
+        if (_originalHeavyConnection != null) {
+            _originalHeavyConnection.setHoldability(holdability);
+        } else
+            throw new SQLException("Connection closed due to inactivity");
+    }
+
+    public int getHoldability() throws SQLException {
+        if (_originalHeavyConnection != null) {
+            return _originalHeavyConnection.getHoldability();
+        } else
+            throw new SQLException("Connection closed due to inactivity");
+    }
+
+    public Savepoint setSavepoint() throws SQLException {
+        if (_originalHeavyConnection != null) {
+            return _originalHeavyConnection.setSavepoint();
+        } else
+            throw new SQLException("Connection closed due to inactivity");
+    }
+
+    public Savepoint setSavepoint(String name) throws SQLException {
+        if (_originalHeavyConnection != null) {
+            return _originalHeavyConnection.setSavepoint(name);
+        } else
+            throw new SQLException("Connection closed due to inactivity");
+    }
+
+    public void rollback(Savepoint savepoint) throws SQLException {
+        if (_originalHeavyConnection != null) {
+            _originalHeavyConnection.rollback(savepoint);
+        } else
+            throw new SQLException("Connection closed due to inactivity");
+    }
+
+    public void releaseSavepoint(Savepoint savepoint) throws SQLException {
+        if (_originalHeavyConnection != null) {
+            _originalHeavyConnection.releaseSavepoint(savepoint);
+        } else
+            throw new SQLException("Connection closed due to inactivity");
+    }
+
+    public Statement createStatement(int resultSetType, int resultSetConcurrency, int resultSetHoldability) throws SQLException {
+        if (_originalHeavyConnection != null) {
+            return _originalHeavyConnection.createStatement(resultSetType, resultSetConcurrency, resultSetHoldability);
+        } else
+            throw new SQLException("Connection closed due to inactivity");
+    }
+
+    public PreparedStatement prepareStatement(String sql, int resultSetType, int resultSetConcurrency, int resultSetHoldability) throws SQLException {
+        if (_originalHeavyConnection != null) {
+            return _originalHeavyConnection.prepareStatement(sql, resultSetType, resultSetConcurrency, resultSetHoldability);
+        } else
+            throw new SQLException("Connection closed due to inactivity");
+    }
+
+    public CallableStatement prepareCall(String sql, int resultSetType, int resultSetConcurrency, int resultSetHoldability) throws SQLException {
+        if (_originalHeavyConnection != null) {
+            return _originalHeavyConnection.prepareCall(sql, resultSetType, resultSetConcurrency, resultSetHoldability);
+        } else
+            throw new SQLException("Connection closed due to inactivity");
+    }
+
+    public PreparedStatement prepareStatement(String sql, int autoGeneratedKeys) throws SQLException {
+        if (_originalHeavyConnection != null) {
+            return _originalHeavyConnection.prepareStatement(sql, autoGeneratedKeys);
+        } else
+            throw new SQLException("Connection closed due to inactivity");
+    }
+
+    public PreparedStatement prepareStatement(String sql, int columnIndexes[]) throws SQLException {
+        if (_originalHeavyConnection != null) {
+            return _originalHeavyConnection.prepareStatement(sql, columnIndexes);
+        } else
+            throw new SQLException("Connection closed due to inactivity");
+    }
+
+    public PreparedStatement prepareStatement(String sql, String columnNames[]) throws SQLException {
+        if (_originalHeavyConnection != null) {
+            return _originalHeavyConnection.prepareStatement(sql, columnNames);
+        } else
+            throw new SQLException("Connection closed due to inactivity");
+    }
+
+    protected synchronized Connection getActualConnection() {
+        return _originalHeavyConnection;
+    }
+
+    protected long getActivatedTime() {
+        return _activatedTime;
+    }
+
+    protected void setActivatedTime(long activedTime) {
+        this._activatedTime = activedTime;
+    }
+
+    protected String getName() {
+        return _originalHeavyConnection.toString();
+    }
+
+    protected void setOriginalConnection(Connection conn) {
+        this._originalHeavyConnection = conn;
+    }
+}

Deleted: labs/jbossesb/branches/refactor/product/core/common/src/org/jboss/soa/esb/connection/DefaultConnectionPoolImpl.java
===================================================================
--- labs/jbossesb/branches/refactor/product/core/common/src/org/jboss/soa/esb/connection/DefaultConnectionPoolImpl.java	2006-08-03 16:29:28 UTC (rev 5443)
+++ labs/jbossesb/branches/refactor/product/core/common/src/org/jboss/soa/esb/connection/DefaultConnectionPoolImpl.java	2006-08-03 16:30:47 UTC (rev 5444)
@@ -1,202 +0,0 @@
-/*
-* JBoss, Home of Professional Open Source
-* Copyright 2006, JBoss Inc., and individual contributors as indicated
-* by the @authors tag. See the copyright.txt in the distribution for a
-* full listing of individual contributors.
-*
-* This is free software; you can redistribute it and/or modify it
-* under the terms of the GNU Lesser General Public License as
-* published by the Free Software Foundation; either version 2.1 of
-* the License, or (at your option) any later version.
-*
-* This software is distributed in the hope that it will be useful,
-* but WITHOUT ANY WARRANTY; without even the implied warranty of
-* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-* Lesser General Public License for more details.
-*
-* You should have received a copy of the GNU Lesser General Public
-* License along with this software; if not, write to the Free
-* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
-* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
-*/
-package org.jboss.soa.esb.connection;
-
-import org.jboss.soa.esb.connection.exception.ESBConnectionException;
-
-import java.sql.Connection;
-import java.sql.Driver;
-import java.sql.DriverManager;
-import java.sql.SQLException;
-import java.util.Enumeration;
-import java.util.Properties;
-import java.util.Stack;
-import java.util.Timer;
-import java.util.concurrent.ConcurrentHashMap;
-
-/**
- * Default connection pool implementation class when there is none specified by the user in @link ConnectionProperties
- * User: MohitK
- * Date: Jul 18, 2006
- */
-public class DefaultConnectionPoolImpl implements ConnectionPool {
-
-    private final Stack<ConnectionWrapper> m_oConnectionStack = new Stack<ConnectionWrapper>();
-    private final ConcurrentHashMap<String, ConnectionWrapper> m_oUsedConnectionMap = new ConcurrentHashMap<String, ConnectionWrapper>();
-    private int m_iConnCountInPool;
-    private ConnectionProperties m_oConnProperties;
-    private ConnectionFactory _connectionFactory;
-
-    /**
-     * @see org.jboss.soa.esb.connection.ConnectionPool#createPool(ConnectionProperties)
-     *
-     */
-    public void createPool(ConnectionProperties prop) throws ESBConnectionException {
-        this.m_oConnProperties = prop;
-        try {
-            initPool();
-            AbandonedConnectionTimerTask abandonedConnTask = new AbandonedConnectionTimerTask(this);
-            Timer abandonedTimer = new Timer(":AbandonedConnectionPoolScheduler:@" + this.toString(), true);
-            abandonedTimer.schedule(abandonedConnTask, prop.getAbandonedConnectionCheckInterval(), prop.getAbandonedConnectionCheckInterval());
-        } catch (SQLException e) {
-            throw new ESBConnectionException("DefaultConnectionPoolImpl: Error in creating Connection Pool", e);
-        }
-    }
-
-    private void initPool() throws SQLException {
-
-        if (_connectionFactory == null) {
-            Properties properties = new Properties();
-            properties.put("user", m_oConnProperties.getUser());
-            properties.put("password", m_oConnProperties.getPassword());
-            _connectionFactory = new DriverConnectionFactory(getDriver(m_oConnProperties.getDriverClassName()), m_oConnProperties.getConnectionUrl(), properties);
-        }
-        while (m_iConnCountInPool < m_oConnProperties.getMinPoolSize()) {
-            synchronized (m_oConnectionStack) {
-                m_oConnectionStack.add(new ConnectionWrapper(_connectionFactory.createConnection(), this));
-                m_iConnCountInPool++;
-            }
-        }
-    }
-
-    private Driver getDriver(String driverClassName) throws SQLException {
-        if (driverClassName != null) {
-            try {
-                Class.forName(driverClassName);
-            } catch (Throwable e) {
-                System.err.println("DefaultConnectionPoolImpl: Error in loading class " + driverClassName + " to create connection pool");
-                System.err.println(e);
-                throw new SQLException("DefaultConnectionPoolImpl: Error in loading class " + driverClassName + " to create connection pool");
-            }
-            return DriverManager.getDriver(m_oConnProperties.getConnectionUrl());
-        }
-        throw new SQLException("DefaultConnectionPoolImpl: Driver Class could not be loaded");
-    }
-
-    /**
-     * @see org.jboss.soa.esb.connection.ConnectionPool#getConnection()
-     *
-     */
-    public synchronized Connection getConnection() throws SQLException {
-        ConnectionWrapper newPoolConnection;
-        if (!m_oConnectionStack.isEmpty()) {
-            newPoolConnection = m_oConnectionStack.pop();
-            m_oUsedConnectionMap.put(newPoolConnection.getName(), newPoolConnection);
-        } else if (m_iConnCountInPool < m_oConnProperties.getMaxPoolSize()) {
-            newPoolConnection = new ConnectionWrapper(_connectionFactory.createConnection(), this);
-            m_oUsedConnectionMap.put(newPoolConnection.getName(), newPoolConnection);
-            m_iConnCountInPool++;
-        } else {
-            try {
-                Thread.sleep(m_oConnProperties.getConnectionBlockTimeInMillis());
-            } catch (InterruptedException e) {
-                //Do Nothing
-            }
-            if (!m_oConnectionStack.empty()) {
-                newPoolConnection = m_oConnectionStack.pop();
-                m_oUsedConnectionMap.put(newPoolConnection.getName(), newPoolConnection);
-            } else {
-                throw new SQLException("Connection Pool exhausted. Please increase number of connections");
-            }
-
-        }
-        Integer isolation = m_oConnProperties.getIsolationLevel();
-        if (isolation != null) newPoolConnection.setTransactionIsolation(isolation);
-        newPoolConnection.setAutoCommit(m_oConnProperties.getAutoCommit());
-        newPoolConnection.setActivatedTime(System.currentTimeMillis());
-        return newPoolConnection;
-    }
-
-    /**
-     * @see ConnectionPool;
-     */
-    public void closeConnection(Connection connectionToClose) {
-        synchronized (m_oConnectionStack) {
-            m_oConnectionStack.push((ConnectionWrapper) connectionToClose);
-        }
-        m_oUsedConnectionMap.remove(connectionToClose);
-    }
-
-    /**
-     * @see ConnectionPool#releasePool()
-     */
-    public void releasePool() {
-        try {
-            synchronized (m_oConnectionStack) {
-                for (ConnectionWrapper connection : m_oConnectionStack) {
-                    Connection origConn = connection.getActualConnection();
-                    origConn.close();
-                    m_iConnCountInPool--;
-                }
-            }
-            Enumeration<ConnectionWrapper> connectionWrapperEnum = m_oUsedConnectionMap.elements();
-            while (connectionWrapperEnum.hasMoreElements()) {
-                ConnectionWrapper connectionWrapper = connectionWrapperEnum.nextElement();
-                Connection con = connectionWrapper.getActualConnection();
-                String name = connectionWrapper.getName();
-                if (con != null && !con.isClosed()) {
-                    con.close();
-                }
-                m_iConnCountInPool--;
-                m_oUsedConnectionMap.remove(name);
-            }
-        } catch (SQLException e) {
-            System.err.println("DefaultConnectionPoolImpl: Error in closing physical Connection");
-            System.err.println(e);
-        }
-    }
-
-    protected void finalize() throws Throwable {
-        super.finalize();
-        releasePool();
-    }
-
-    /**
-     * This method will release all abandoned connections from the pool.
-     *
-     */
-    protected synchronized void releaseAbandonedConnections() {
-
-        Enumeration<ConnectionWrapper> connectionWrapperEnum = m_oUsedConnectionMap.elements();
-        while (connectionWrapperEnum.hasMoreElements()) {
-            ConnectionWrapper connectionWrapper = connectionWrapperEnum.nextElement();
-            long activedTime = connectionWrapper.getActivatedTime();
-            long currentTime = System.currentTimeMillis();
-            if ((currentTime - activedTime) > m_oConnProperties.getAbandonedConnectionTimeOut()) {
-                try {
-                    System.out.println("Removing abandoned Connection:-" + connectionWrapper);
-                    Connection actualConnection = connectionWrapper.getActualConnection();
-                    m_oUsedConnectionMap.remove(connectionWrapper.getName());
-                    connectionWrapper.setOriginalConnection(null);
-                    connectionWrapper = null;
-                    connectionWrapper = new ConnectionWrapper(actualConnection, this);
-                    synchronized (m_oConnectionStack) {
-                        m_oConnectionStack.push(connectionWrapper);
-                    }
-                } catch (SQLException e) {
-                    System.err.println("Error in releasing abandoned connection from Pool");
-                    e.printStackTrace(System.err);
-                }
-            }
-        }
-    }
-}

Added: labs/jbossesb/branches/refactor/product/core/common/src/org/jboss/soa/esb/connection/DefaultConnectionPoolImpl.java
===================================================================
--- labs/jbossesb/branches/refactor/product/core/common/src/org/jboss/soa/esb/connection/DefaultConnectionPoolImpl.java	2006-08-03 16:29:28 UTC (rev 5443)
+++ labs/jbossesb/branches/refactor/product/core/common/src/org/jboss/soa/esb/connection/DefaultConnectionPoolImpl.java	2006-08-03 16:30:47 UTC (rev 5444)
@@ -0,0 +1,202 @@
+/*
+* JBoss, Home of Professional Open Source
+* Copyright 2006, JBoss Inc., and individual contributors as indicated
+* by the @authors tag. See the copyright.txt in the distribution for a
+* full listing of individual contributors.
+*
+* This is free software; you can redistribute it and/or modify it
+* under the terms of the GNU Lesser General Public License as
+* published by the Free Software Foundation; either version 2.1 of
+* the License, or (at your option) any later version.
+*
+* This software is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+* Lesser General Public License for more details.
+*
+* You should have received a copy of the GNU Lesser General Public
+* License along with this software; if not, write to the Free
+* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+*/
+package org.jboss.soa.esb.connection;
+
+import org.jboss.soa.esb.connection.exception.ConnectionException;
+import org.apache.log4j.Logger;
+
+import java.sql.Connection;
+import java.sql.Driver;
+import java.sql.DriverManager;
+import java.sql.SQLException;
+import java.util.Enumeration;
+import java.util.Properties;
+import java.util.Stack;
+import java.util.Timer;
+import java.util.concurrent.ConcurrentHashMap;
+
+/**
+ * Default connection pool implementation class when none is specified by the user in @link ConnectionProperties
+ * @author MohitK
+ * Date: Jul 18, 2006
+ */
+public class DefaultConnectionPoolImpl implements ConnectionPool {
+
+    private static Logger Log = Logger.getLogger(DefaultConnectionPoolImpl.class);
+
+    private final Stack<ConnectionWrapper> m_oConnectionStack = new Stack<ConnectionWrapper>();
+    private final ConcurrentHashMap<String, ConnectionWrapper> m_oUsedConnectionMap = new ConcurrentHashMap<String, ConnectionWrapper>();
+    private int m_iConnCountInPool;
+    private ConnectionProperties m_oConnProperties;
+    private ConnectionFactory _connectionFactory;
+
+    /**
+     * @see org.jboss.soa.esb.connection.ConnectionPool#createPool(ConnectionProperties)
+     *
+     */
+    public void createPool(ConnectionProperties prop) throws ConnectionException {
+        this.m_oConnProperties = prop;
+        try {
+            initPool();
+            AbandonedConnectionTimerTask abandonedConnTask = new AbandonedConnectionTimerTask(this);
+            Timer abandonedTimer = new Timer(":AbandonedConnectionPoolScheduler:@" + this.toString(), true);
+            abandonedTimer.schedule(abandonedConnTask, prop.getAbandonedConnectionCheckInterval(), prop.getAbandonedConnectionCheckInterval());
+        } catch (SQLException e) {
+            throw new ConnectionException("DefaultConnectionPoolImpl: Error in creating Connection Pool", e);
+        }
+    }
+
+    private void initPool() throws SQLException {
+
+        if (_connectionFactory == null) {
+            Properties properties = new Properties();
+            properties.put("user", m_oConnProperties.getUser());
+            properties.put("password", m_oConnProperties.getPassword());
+            _connectionFactory = new DriverConnectionFactory(getDriver(m_oConnProperties.getDriverClassName()), m_oConnProperties.getConnectionUrl(), properties);
+        }
+        while (m_iConnCountInPool < m_oConnProperties.getMinPoolSize()) {
+            synchronized (m_oConnectionStack) {
+                m_oConnectionStack.add(new ConnectionWrapper(_connectionFactory.createConnection(), this));
+                m_iConnCountInPool++;
+            }
+        }
+    }
+
+    private Driver getDriver(String driverClassName) throws SQLException {
+        if (driverClassName != null) {
+            try {
+                Class.forName(driverClassName);
+            } catch (Throwable e) {
+                Log.error("DefaultConnectionPoolImpl: Error in loading class " + driverClassName + " to create connection pool",e);
+                throw new SQLException("DefaultConnectionPoolImpl: Error in loading class " + driverClassName + " to create connection pool");
+            }
+            return DriverManager.getDriver(m_oConnProperties.getConnectionUrl());
+        }
+        throw new SQLException("DefaultConnectionPoolImpl: Driver Class could not be loaded");
+    }
+
+    /**
+     * @see org.jboss.soa.esb.connection.ConnectionPool#getConnection()
+     *
+     */
+    public synchronized Connection getConnection() throws SQLException {
+        ConnectionWrapper newPoolConnection;
+        if (!m_oConnectionStack.isEmpty()) {
+            newPoolConnection = m_oConnectionStack.pop();
+            m_oUsedConnectionMap.put(newPoolConnection.getName(), newPoolConnection);
+        } else if (m_iConnCountInPool < m_oConnProperties.getMaxPoolSize()) {
+            newPoolConnection = new ConnectionWrapper(_connectionFactory.createConnection(), this);
+            m_oUsedConnectionMap.put(newPoolConnection.getName(), newPoolConnection);
+            m_iConnCountInPool++;
+        } else {
+            try {
+                Thread.sleep(m_oConnProperties.getConnectionBlockTimeInMillis());
+            } catch (InterruptedException e) {
+                //Do Nothing
+            }
+            if (!m_oConnectionStack.empty()) {
+                newPoolConnection = m_oConnectionStack.pop();
+                m_oUsedConnectionMap.put(newPoolConnection.getName(), newPoolConnection);
+            } else {
+                throw new SQLException("Connection Pool exhausted. Please increase number of connections");
+            }
+
+        }
+        Integer isolation = m_oConnProperties.getIsolationLevel();
+        if (isolation != null) newPoolConnection.setTransactionIsolation(isolation);
+        newPoolConnection.setAutoCommit(m_oConnProperties.getAutoCommit());
+        newPoolConnection.setActivatedTime(System.currentTimeMillis());
+        return newPoolConnection;
+    }
+
+    /**
+     * @see ConnectionPool;
+     */
+    public void closeConnection(Connection connectionToClose) {
+        synchronized (m_oConnectionStack) {
+            m_oConnectionStack.push((ConnectionWrapper) connectionToClose);
+        }
+        m_oUsedConnectionMap.remove(connectionToClose);
+    }
+
+    /**
+     * @see ConnectionPool#releasePool()
+     */
+    public void releasePool() {
+        try {
+            synchronized (m_oConnectionStack) {
+                for (ConnectionWrapper connection : m_oConnectionStack) {
+                    Connection origConn = connection.getActualConnection();
+                    origConn.close();
+                    m_iConnCountInPool--;
+                }
+            }
+            Enumeration<ConnectionWrapper> connectionWrapperEnum = m_oUsedConnectionMap.elements();
+            while (connectionWrapperEnum.hasMoreElements()) {
+                ConnectionWrapper connectionWrapper = connectionWrapperEnum.nextElement();
+                Connection con = connectionWrapper.getActualConnection();
+                String name = connectionWrapper.getName();
+                if (con != null && !con.isClosed()) {
+                    con.close();
+                }
+                m_iConnCountInPool--;
+                m_oUsedConnectionMap.remove(name);
+            }
+        } catch (SQLException e) {
+            Log.error("DefaultConnectionPoolImpl: Error in closing physical Connection",e);
+        }
+    }
+
+    protected void finalize() throws Throwable {
+        super.finalize();
+        releasePool();
+    }
+
+    /**
+     * This method will release all abandoned connections from the pool.
+     *
+     */
+    protected synchronized void releaseAbandonedConnections() {
+
+        Enumeration<ConnectionWrapper> connectionWrapperEnum = m_oUsedConnectionMap.elements();
+        while (connectionWrapperEnum.hasMoreElements()) {
+            ConnectionWrapper connectionWrapper = connectionWrapperEnum.nextElement();
+            long activedTime = connectionWrapper.getActivatedTime();
+            long currentTime = System.currentTimeMillis();
+            if ((currentTime - activedTime) > m_oConnProperties.getAbandonedConnectionTimeOut()) {
+                try {
+                    Log.info("Removing abandoned Connection:-" + connectionWrapper);
+                    Connection actualConnection = connectionWrapper.getActualConnection();
+                    m_oUsedConnectionMap.remove(connectionWrapper.getName());
+                    connectionWrapper.setOriginalConnection(null);
+                    connectionWrapper = null;
+                    connectionWrapper = new ConnectionWrapper(actualConnection, this);
+                    synchronized (m_oConnectionStack) {
+                        m_oConnectionStack.push(connectionWrapper);
+                    }
+                } catch (SQLException e) {
+                    Log.error("Error in releasing abandoned connection from Pool",e);
+                }
+            }
+        }
+    }
+}

Deleted: labs/jbossesb/branches/refactor/product/core/common/src/org/jboss/soa/esb/connection/DriverConnectionFactory.java
===================================================================
--- labs/jbossesb/branches/refactor/product/core/common/src/org/jboss/soa/esb/connection/DriverConnectionFactory.java	2006-08-03 16:29:28 UTC (rev 5443)
+++ labs/jbossesb/branches/refactor/product/core/common/src/org/jboss/soa/esb/connection/DriverConnectionFactory.java	2006-08-03 16:30:47 UTC (rev 5444)
@@ -1,55 +0,0 @@
-/*
-* JBoss, Home of Professional Open Source
-* Copyright 2006, JBoss Inc., and individual contributors as indicated
-* by the @authors tag. See the copyright.txt in the distribution for a
-* full listing of individual contributors.
-*
-* This is free software; you can redistribute it and/or modify it
-* under the terms of the GNU Lesser General Public License as
-* published by the Free Software Foundation; either version 2.1 of
-* the License, or (at your option) any later version.
-*
-* This software is distributed in the hope that it will be useful,
-* but WITHOUT ANY WARRANTY; without even the implied warranty of
-* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-* Lesser General Public License for more details.
-*
-* You should have received a copy of the GNU Lesser General Public
-* License along with this software; if not, write to the Free
-* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
-* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
-*/
-package org.jboss.soa.esb.connection;
-
-import java.sql.Connection;
-import java.sql.SQLException;
-import java.sql.Driver;
-import java.util.Properties;
-
-/**
- * Driver implementation of Connection Factory
- * User: MohitK
- * Date: Jul 18, 2006
- */
-public class DriverConnectionFactory implements ConnectionFactory{
-
-    private Driver _driver;
-    private String _driverUrl;
-    private Properties _properties;
-
-    public DriverConnectionFactory(Driver driver,String driverUrl,Properties connectionProps){
-        this._driver=driver;
-        this._driverUrl=driverUrl;
-        this._properties=connectionProps;
-
-    }
-
-    /**
-     *
-     * @see org.jboss.soa.esb.connection.ConnectionFactory#createConnection()
-     */
-    public Connection createConnection() throws SQLException {
-        return _driver.connect(_driverUrl,_properties);
-    }
-
-}

Added: labs/jbossesb/branches/refactor/product/core/common/src/org/jboss/soa/esb/connection/DriverConnectionFactory.java
===================================================================
--- labs/jbossesb/branches/refactor/product/core/common/src/org/jboss/soa/esb/connection/DriverConnectionFactory.java	2006-08-03 16:29:28 UTC (rev 5443)
+++ labs/jbossesb/branches/refactor/product/core/common/src/org/jboss/soa/esb/connection/DriverConnectionFactory.java	2006-08-03 16:30:47 UTC (rev 5444)
@@ -0,0 +1,55 @@
+/*
+* JBoss, Home of Professional Open Source
+* Copyright 2006, JBoss Inc., and individual contributors as indicated
+* by the @authors tag. See the copyright.txt in the distribution for a
+* full listing of individual contributors.
+*
+* This is free software; you can redistribute it and/or modify it
+* under the terms of the GNU Lesser General Public License as
+* published by the Free Software Foundation; either version 2.1 of
+* the License, or (at your option) any later version.
+*
+* This software is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+* Lesser General Public License for more details.
+*
+* You should have received a copy of the GNU Lesser General Public
+* License along with this software; if not, write to the Free
+* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+*/
+package org.jboss.soa.esb.connection;
+
+import java.sql.Connection;
+import java.sql.SQLException;
+import java.sql.Driver;
+import java.util.Properties;
+
+/**
+ * Driver implementation of Connection Factory
+ * @author MohitK
+ * Date: Jul 18, 2006
+ */
+public class DriverConnectionFactory implements ConnectionFactory{
+
+    private Driver _driver;
+    private String _driverUrl;
+    private Properties _properties;
+
+    public DriverConnectionFactory(Driver driver,String driverUrl,Properties connectionProps){
+        this._driver=driver;
+        this._driverUrl=driverUrl;
+        this._properties=connectionProps;
+
+    }
+
+    /**
+     *
+     * @see org.jboss.soa.esb.connection.ConnectionFactory#createConnection()
+     */
+    public Connection createConnection() throws SQLException {
+        return _driver.connect(_driverUrl,_properties);
+    }
+
+}

Deleted: labs/jbossesb/branches/refactor/product/core/common/src/org/jboss/soa/esb/connection/FreeConnectionPoolResources.java
===================================================================
--- labs/jbossesb/branches/refactor/product/core/common/src/org/jboss/soa/esb/connection/FreeConnectionPoolResources.java	2006-08-03 16:29:28 UTC (rev 5443)
+++ labs/jbossesb/branches/refactor/product/core/common/src/org/jboss/soa/esb/connection/FreeConnectionPoolResources.java	2006-08-03 16:30:47 UTC (rev 5444)
@@ -1,46 +0,0 @@
-/*
-* JBoss, Home of Professional Open Source
-* Copyright 2006, JBoss Inc., and individual contributors as indicated
-* by the @authors tag. See the copyright.txt in the distribution for a
-* full listing of individual contributors.
-*
-* This is free software; you can redistribute it and/or modify it
-* under the terms of the GNU Lesser General Public License as
-* published by the Free Software Foundation; either version 2.1 of
-* the License, or (at your option) any later version.
-*
-* This software is distributed in the hope that it will be useful,
-* but WITHOUT ANY WARRANTY; without even the implied warranty of
-* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-* Lesser General Public License for more details.
-*
-* You should have received a copy of the GNU Lesser General Public
-* License along with this software; if not, write to the Free
-* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
-* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
-*/
-package org.jboss.soa.esb.connection;
-
-/**
- * Shutdown Hook into the JVM. The class will be invoked by the JVM when the JVM is shutting down.
- * Used to free connection resources and destroy the connection pool.
- * User: MohitK
- * Date: Jul 22, 2006
- */
-public class FreeConnectionPoolResources extends Thread {
-
-    ConnectionPool pool;
-
-    public FreeConnectionPoolResources(ConnectionPool pool) {
-        this.pool = pool;
-    }
-
-    public void run() {
-        try {
-            pool.releasePool();
-        } catch (Exception e) {
-            System.err.println("Error in freeing resources");
-        }
-    }
-
-}

Added: labs/jbossesb/branches/refactor/product/core/common/src/org/jboss/soa/esb/connection/FreeConnectionPoolResources.java
===================================================================
--- labs/jbossesb/branches/refactor/product/core/common/src/org/jboss/soa/esb/connection/FreeConnectionPoolResources.java	2006-08-03 16:29:28 UTC (rev 5443)
+++ labs/jbossesb/branches/refactor/product/core/common/src/org/jboss/soa/esb/connection/FreeConnectionPoolResources.java	2006-08-03 16:30:47 UTC (rev 5444)
@@ -0,0 +1,51 @@
+/*
+* JBoss, Home of Professional Open Source
+* Copyright 2006, JBoss Inc., and individual contributors as indicated
+* by the @authors tag. See the copyright.txt in the distribution for a
+* full listing of individual contributors.
+*
+* This is free software; you can redistribute it and/or modify it
+* under the terms of the GNU Lesser General Public License as
+* published by the Free Software Foundation; either version 2.1 of
+* the License, or (at your option) any later version.
+*
+* This software is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+* Lesser General Public License for more details.
+*
+* You should have received a copy of the GNU Lesser General Public
+* License along with this software; if not, write to the Free
+* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+*/
+package org.jboss.soa.esb.connection;
+
+import org.apache.log4j.Logger;
+
+/**
+ * Shutdown Hook into the JVM. The class will be invoked by the JVM when the JVM is shutting down.
+ * Used to free connection resources and destroy the connection pool.
+ *
+ * @author MohitK
+ * Date: Jul 22, 2006
+ */
+public class FreeConnectionPoolResources extends Thread {
+
+    private static Logger Log = Logger.getLogger(FreeConnectionPoolResources.class);
+
+    ConnectionPool pool;
+
+    public FreeConnectionPoolResources(ConnectionPool pool) {
+        this.pool = pool;
+    }
+
+    public void run() {
+        try {
+            pool.releasePool();
+        } catch (Exception e) {
+            Log.error("Error in freeing resources");
+        }
+    }
+
+}

Deleted: labs/jbossesb/branches/refactor/product/core/common/src/org/jboss/soa/esb/connection/PasswordDecoder.java
===================================================================
--- labs/jbossesb/branches/refactor/product/core/common/src/org/jboss/soa/esb/connection/PasswordDecoder.java	2006-08-03 16:29:28 UTC (rev 5443)
+++ labs/jbossesb/branches/refactor/product/core/common/src/org/jboss/soa/esb/connection/PasswordDecoder.java	2006-08-03 16:30:47 UTC (rev 5444)
@@ -1,39 +0,0 @@
-/*
-* JBoss, Home of Professional Open Source
-* Copyright 2006, JBoss Inc., and individual contributors as indicated
-* by the @authors tag. See the copyright.txt in the distribution for a
-* full listing of individual contributors.
-*
-* This is free software; you can redistribute it and/or modify it
-* under the terms of the GNU Lesser General Public License as
-* published by the Free Software Foundation; either version 2.1 of
-* the License, or (at your option) any later version.
-*
-* This software is distributed in the hope that it will be useful,
-* but WITHOUT ANY WARRANTY; without even the implied warranty of
-* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-* Lesser General Public License for more details.
-*
-* You should have received a copy of the GNU Lesser General Public
-* License along with this software; if not, write to the Free
-* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
-* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
-*/
-package org.jboss.soa.esb.connection;
-
-/**
- * Interface to be implemented by classes when they need to return the DB password for the connection by using their own
- * algorithm. Called by the connection pool
- * User: MohitK
- * Date: Jul 21, 2006
- */
-public interface PasswordDecoder {
-    /**
-     * This method decodes the password for JDBC Connection, it will be called when setting JDBC connection properties.
-     * Users who need to decode the password need to implement this interface and write their own
-     * decoding logic to send the actual DB password. If this method returns null
-     * @param encodedPassword The encoded password sent by JDBC framework
-     * @return Decoded password.
-     */
-    public String decode(String encodedPassword);
-}

Added: labs/jbossesb/branches/refactor/product/core/common/src/org/jboss/soa/esb/connection/PasswordDecoder.java
===================================================================
--- labs/jbossesb/branches/refactor/product/core/common/src/org/jboss/soa/esb/connection/PasswordDecoder.java	2006-08-03 16:29:28 UTC (rev 5443)
+++ labs/jbossesb/branches/refactor/product/core/common/src/org/jboss/soa/esb/connection/PasswordDecoder.java	2006-08-03 16:30:47 UTC (rev 5444)
@@ -0,0 +1,39 @@
+/*
+* JBoss, Home of Professional Open Source
+* Copyright 2006, JBoss Inc., and individual contributors as indicated
+* by the @authors tag. See the copyright.txt in the distribution for a
+* full listing of individual contributors.
+*
+* This is free software; you can redistribute it and/or modify it
+* under the terms of the GNU Lesser General Public License as
+* published by the Free Software Foundation; either version 2.1 of
+* the License, or (at your option) any later version.
+*
+* This software is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+* Lesser General Public License for more details.
+*
+* You should have received a copy of the GNU Lesser General Public
+* License along with this software; if not, write to the Free
+* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+*/
+package org.jboss.soa.esb.connection;
+
+/**
+ * Interface to be implemented by classes when they need to return the DB password for the connection by using their own
+ * algorithm. Called by the connection pool
+ * @author MohitK
+ * Date: Jul 21, 2006
+ */
+public interface PasswordDecoder {
+    /**
+     * This method decodes the password for JDBC Connection, it will be called when setting JDBC connection properties.
+     * Users who need to decode the password need to implement this interface and write their own
+     * decoding logic to send the actual DB password. If this method returns null
+     * @param encodedPassword The encoded password sent by JDBC framework
+     * @return Decoded password.
+     */
+    public String decode(String encodedPassword);
+}

Deleted: labs/jbossesb/branches/refactor/product/core/common/src/org/jboss/soa/esb/connection/PoolDataSource.java
===================================================================
--- labs/jbossesb/branches/refactor/product/core/common/src/org/jboss/soa/esb/connection/PoolDataSource.java	2006-08-03 16:29:28 UTC (rev 5443)
+++ labs/jbossesb/branches/refactor/product/core/common/src/org/jboss/soa/esb/connection/PoolDataSource.java	2006-08-03 16:30:47 UTC (rev 5444)
@@ -1,113 +0,0 @@
-/*
-* JBoss, Home of Professional Open Source
-* Copyright 2006, JBoss Inc., and individual contributors as indicated
-* by the @authors tag. See the copyright.txt in the distribution for a
-* full listing of individual contributors.
-*
-* This is free software; you can redistribute it and/or modify it
-* under the terms of the GNU Lesser General Public License as
-* published by the Free Software Foundation; either version 2.1 of
-* the License, or (at your option) any later version.
-*
-* This software is distributed in the hope that it will be useful,
-* but WITHOUT ANY WARRANTY; without even the implied warranty of
-* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-* Lesser General Public License for more details.
-*
-* You should have received a copy of the GNU Lesser General Public
-* License along with this software; if not, write to the Free
-* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
-* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
-*/
-package org.jboss.soa.esb.connection;
-
-import org.jboss.soa.esb.connection.exception.ESBConnectionException;
-
-import javax.sql.DataSource;
-import java.io.PrintWriter;
-import java.sql.Connection;
-import java.sql.SQLException;
-import java.util.Properties;
-
-/**
- * Implementation if Datasource for getting connections from pool.
- * User: MohitK
- * Date: Jul 19, 2006
- */
-public class PoolDataSource implements DataSource {
-
-    private ConnectionPool _pool;
-    private PrintWriter _logWriter = new PrintWriter(System.out);
-    private int _loginTimeOut;
-    private final Properties _connProps = new Properties();
-    ConnectionProperties _connectionProperties;
-
-    private synchronized ConnectionPool createConnectionPool() throws SQLException {
-        if (_pool == null) {
-            try {
-                if (_connProps != null) {
-                    _connectionProperties = new ConnectionProperties(_connProps);
-                    _pool = ConnectionPoolFactory.createPool(_connectionProperties);
-                }
-            } catch (ESBConnectionException e) {
-                _logWriter.println("PoolDataSource: Error in creating Connection Pool");
-                throw new SQLException("Error in Connection Pool Creation");
-            }
-        }
-        return _pool;
-    }
-
-
-    public Properties getConnectionProperties() {
-        return _connProps;
-    }
-
-    public void setConnectionProperties(Properties _connProperties) {
-        _connProps.putAll(_connProperties);
-    }
-
-    /**
-     * @see  javax.sql.DataSource#getConnection()
-     */
-    public Connection getConnection() throws SQLException {
-        return createConnectionPool().getConnection();
-    }
-
-    /**
-     * @see  javax.sql.DataSource#getConnection(String, String)
-     */
-    public Connection getConnection(String username, String password) throws SQLException {
-        synchronized(_connProps){
-            _connProps.setProperty(ConnectionProperties.USERNAME, username);
-            _connProps.setProperty(ConnectionProperties.PASSWORD, password);
-        }
-        return createConnectionPool().getConnection();
-    }
-
-    /**
-     * @see  javax.sql.DataSource#getLogWriter()
-     */
-    public PrintWriter getLogWriter() throws SQLException {
-        return null;
-    }
-    /**
-     * @see  javax.sql.DataSource#setLogWriter(java.io.PrintWriter)
-     */
-    public void setLogWriter(PrintWriter out) throws SQLException {
-        this._logWriter = out;
-    }
-    /**
-     * @see  javax.sql.DataSource#setLoginTimeout(int)
-    */
-    public void setLoginTimeout(int seconds) throws SQLException {
-        this._loginTimeOut = seconds;
-    }
-
-    /**
-     * @see  javax.sql.DataSource#getLoginTimeout()
-     */
-    public int getLoginTimeout() throws SQLException {
-        return _loginTimeOut;
-    }
-
-}

Added: labs/jbossesb/branches/refactor/product/core/common/src/org/jboss/soa/esb/connection/PoolDataSource.java
===================================================================
--- labs/jbossesb/branches/refactor/product/core/common/src/org/jboss/soa/esb/connection/PoolDataSource.java	2006-08-03 16:29:28 UTC (rev 5443)
+++ labs/jbossesb/branches/refactor/product/core/common/src/org/jboss/soa/esb/connection/PoolDataSource.java	2006-08-03 16:30:47 UTC (rev 5444)
@@ -0,0 +1,116 @@
+/*
+* JBoss, Home of Professional Open Source
+* Copyright 2006, JBoss Inc., and individual contributors as indicated
+* by the @authors tag. See the copyright.txt in the distribution for a
+* full listing of individual contributors.
+*
+* This is free software; you can redistribute it and/or modify it
+* under the terms of the GNU Lesser General Public License as
+* published by the Free Software Foundation; either version 2.1 of
+* the License, or (at your option) any later version.
+*
+* This software is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+* Lesser General Public License for more details.
+*
+* You should have received a copy of the GNU Lesser General Public
+* License along with this software; if not, write to the Free
+* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+*/
+package org.jboss.soa.esb.connection;
+
+import org.jboss.soa.esb.connection.exception.ConnectionException;
+import org.apache.log4j.Logger;
+
+import javax.sql.DataSource;
+import java.io.PrintWriter;
+import java.sql.Connection;
+import java.sql.SQLException;
+import java.util.Properties;
+
+/**
+ * Implementation if Datasource for getting connections from pool.
+ * @author MohitK
+ * Date: Jul 19, 2006
+ */
+public class PoolDataSource implements DataSource {
+
+    private static Logger Log = Logger.getLogger(PoolDataSource.class);
+
+    private ConnectionPool _pool;
+    private PrintWriter _logWriter = new PrintWriter(System.out);
+    private int _loginTimeOut;
+    private final Properties _connProps = new Properties();
+    ConnectionProperties _connectionProperties;
+
+    private synchronized ConnectionPool createConnectionPool() throws SQLException {
+        if (_pool == null) {
+            try {
+                if (_connProps != null) {
+                    _connectionProperties = new ConnectionProperties(_connProps);
+                    _pool = ConnectionPoolFactory.createPool(_connectionProperties);
+                }
+            } catch (ConnectionException e) {
+                Log.error("PoolDataSource: Error in creating Connection Pool",e);
+                throw new SQLException("Error in Connection Pool Creation");
+            }
+        }
+        return _pool;
+    }
+
+
+    public Properties getConnectionProperties() {
+        return _connProps;
+    }
+
+    public void setConnectionProperties(Properties _connProperties) {
+        _connProps.putAll(_connProperties);
+    }
+
+    /**
+     * @see  javax.sql.DataSource#getConnection()
+     */
+    public Connection getConnection() throws SQLException {
+        return createConnectionPool().getConnection();
+    }
+
+    /**
+     * @see  javax.sql.DataSource#getConnection(String, String)
+     */
+    public Connection getConnection(String username, String password) throws SQLException {
+        synchronized(_connProps){
+            _connProps.setProperty(ConnectionProperties.USERNAME, username);
+            _connProps.setProperty(ConnectionProperties.PASSWORD, password);
+        }
+        return createConnectionPool().getConnection();
+    }
+
+    /**
+     * @see  javax.sql.DataSource#getLogWriter()
+     */
+    public PrintWriter getLogWriter() throws SQLException {
+        return null;
+    }
+    /**
+     * @see  javax.sql.DataSource#setLogWriter(java.io.PrintWriter)
+     */
+    public void setLogWriter(PrintWriter out) throws SQLException {
+        this._logWriter = out;
+    }
+    /**
+     * @see  javax.sql.DataSource#setLoginTimeout(int)
+    */
+    public void setLoginTimeout(int seconds) throws SQLException {
+        this._loginTimeOut = seconds;
+    }
+
+    /**
+     * @see  javax.sql.DataSource#getLoginTimeout()
+     */
+    public int getLoginTimeout() throws SQLException {
+        return _loginTimeOut;
+    }
+
+}

Added: labs/jbossesb/branches/refactor/product/core/common/src/org/jboss/soa/esb/connection/exception/ConnectionException.java
===================================================================
--- labs/jbossesb/branches/refactor/product/core/common/src/org/jboss/soa/esb/connection/exception/ConnectionException.java	2006-08-03 16:29:28 UTC (rev 5443)
+++ labs/jbossesb/branches/refactor/product/core/common/src/org/jboss/soa/esb/connection/exception/ConnectionException.java	2006-08-03 16:30:47 UTC (rev 5444)
@@ -0,0 +1,45 @@
+/*
+* JBoss, Home of Professional Open Source
+* Copyright 2006, JBoss Inc., and individual contributors as indicated
+* by the @authors tag. See the copyright.txt in the distribution for a
+* full listing of individual contributors.
+*
+* This is free software; you can redistribute it and/or modify it
+* under the terms of the GNU Lesser General Public License as
+* published by the Free Software Foundation; either version 2.1 of
+* the License, or (at your option) any later version.
+*
+* This software is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+* Lesser General Public License for more details.
+*
+* You should have received a copy of the GNU Lesser General Public
+* License along with this software; if not, write to the Free
+* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+*/
+package org.jboss.soa.esb.connection.exception;
+
+/**
+ * This exception is thrown when Connection Pool fails to initialize
+ * @author MohitK
+ * Date: Jul 21, 2006
+ */
+public class ConnectionException extends Exception{
+    public ConnectionException() {
+        super();
+    }
+
+    public ConnectionException(String message) {
+        super(message);
+    }
+
+    public ConnectionException(String message, Throwable cause) {
+        super(message, cause);
+    }
+
+    public ConnectionException(Throwable cause) {
+        super(cause);
+    }
+}




More information about the jboss-svn-commits mailing list