You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomcat.apache.org by jb...@apache.org on 2010/10/10 00:26:49 UTC
svn commit: r1006229 -
/tomcat/taglibs/standard/trunk/impl/src/main/java/org/apache/taglibs/standard/tag/common/sql/DataSourceWrapper.java
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-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org