Author: jboynes Date: Sat Oct 9 22:26:48 2010 New Revision: 1006229 URL: http://svn.apache.org/viewvc?rev=1006229&view=rev Log: apply patch from Jarek Gawor for bugzilla #48773
Modified: tomcat/taglibs/standard/trunk/impl/src/main/java/org/apache/taglibs/standard/tag/common/sql/DataSourceWrapper.java Modified: tomcat/taglibs/standard/trunk/impl/src/main/java/org/apache/taglibs/standard/tag/common/sql/DataSourceWrapper.java URL: http://svn.apache.org/viewvc/tomcat/taglibs/standard/trunk/impl/src/main/java/org/apache/taglibs/standard/tag/common/sql/DataSourceWrapper.java?rev=1006229&r1=1006228&r2=1006229&view=diff ============================================================================== --- tomcat/taglibs/standard/trunk/impl/src/main/java/org/apache/taglibs/standard/tag/common/sql/DataSourceWrapper.java (original) +++ tomcat/taglibs/standard/trunk/impl/src/main/java/org/apache/taglibs/standard/tag/common/sql/DataSourceWrapper.java Sat Oct 9 22:26:48 2010 @@ -19,8 +19,10 @@ package org.apache.taglibs.standard.tag. import java.io.PrintWriter; import java.sql.Connection; +import java.sql.Driver; import java.sql.DriverManager; import java.sql.SQLException; +import java.util.Properties; import javax.sql.DataSource; @@ -34,7 +36,7 @@ import org.apache.taglibs.standard.resou * @author Hans Bergsten */ public class DataSourceWrapper implements DataSource { - private String driverClassName; + private Driver driver; private String jdbcURL; private String userName; private String password; @@ -43,8 +45,6 @@ public class DataSourceWrapper implement throws ClassNotFoundException, InstantiationException, IllegalAccessException { - this.driverClassName = driverClassName; - //get the classloader ClassLoader cl; SecurityManager sm = System.getSecurityManager(); @@ -57,7 +57,10 @@ public class DataSourceWrapper implement } //done getting classloader - Class.forName(driverClassName, true, cl).newInstance(); + Object instance = Class.forName(driverClassName, true, cl).newInstance(); + if (instance instanceof Driver) { + driver = (Driver) instance; + } } public void setJdbcURL(String jdbcURL) { @@ -77,16 +80,27 @@ public class DataSourceWrapper implement * set properties. */ public Connection getConnection() throws SQLException { - Connection conn = null; - if (userName != null) { - conn = DriverManager.getConnection(jdbcURL, userName, password); - } - else { - conn = DriverManager.getConnection(jdbcURL); - } - return conn; + Connection conn = null; + if (driver != null) { + Properties props = new Properties(); + if (userName != null) { + props.put("user", userName); + } + if (password != null) { + props.put("password", password); + } + conn = driver.connect(jdbcURL, props); + } + if (conn == null) { + if (userName != null) { + conn = DriverManager.getConnection(jdbcURL, userName, password); + } else { + conn = DriverManager.getConnection(jdbcURL); + } + } + return conn; } - + /** * Always throws a SQLException. Username and password are set * in the constructor and can not be changed. --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org