You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@servicemix.apache.org by gn...@apache.org on 2009/03/20 21:49:49 UTC

svn commit: r756753 - in /servicemix/smx4/bundles/trunk/commons-dbcp-1.2.2: ./ src/ src/main/ src/main/java/ src/main/java/org/ src/main/java/org/apache/ src/main/java/org/apache/commons/ src/main/java/org/apache/commons/dbcp/

Author: gnodet
Date: Fri Mar 20 20:49:49 2009
New Revision: 756753

URL: http://svn.apache.org/viewvc?rev=756753&view=rev
Log:
Include DBCP-214 patch to avoid the need for a DynamicImport-Package

Added:
    servicemix/smx4/bundles/trunk/commons-dbcp-1.2.2/src/
    servicemix/smx4/bundles/trunk/commons-dbcp-1.2.2/src/main/
    servicemix/smx4/bundles/trunk/commons-dbcp-1.2.2/src/main/java/
    servicemix/smx4/bundles/trunk/commons-dbcp-1.2.2/src/main/java/org/
    servicemix/smx4/bundles/trunk/commons-dbcp-1.2.2/src/main/java/org/apache/
    servicemix/smx4/bundles/trunk/commons-dbcp-1.2.2/src/main/java/org/apache/commons/
    servicemix/smx4/bundles/trunk/commons-dbcp-1.2.2/src/main/java/org/apache/commons/dbcp/
    servicemix/smx4/bundles/trunk/commons-dbcp-1.2.2/src/main/java/org/apache/commons/dbcp/BasicDataSource.java
      - copied, changed from r756751, commons/proper/dbcp/tags/DBCP_1_2_2/src/java/org/apache/commons/dbcp/BasicDataSource.java
Modified:
    servicemix/smx4/bundles/trunk/commons-dbcp-1.2.2/pom.xml

Modified: servicemix/smx4/bundles/trunk/commons-dbcp-1.2.2/pom.xml
URL: http://svn.apache.org/viewvc/servicemix/smx4/bundles/trunk/commons-dbcp-1.2.2/pom.xml?rev=756753&r1=756752&r2=756753&view=diff
==============================================================================
--- servicemix/smx4/bundles/trunk/commons-dbcp-1.2.2/pom.xml (original)
+++ servicemix/smx4/bundles/trunk/commons-dbcp-1.2.2/pom.xml Fri Mar 20 20:49:49 2009
@@ -42,7 +42,6 @@
         <servicemix.osgi.export.pkg>
             org.apache.commons*
         </servicemix.osgi.export.pkg>
-        <servicemix.osgi.dynamicimport.pkg>*</servicemix.osgi.dynamicimport.pkg>
     </properties>
 
     <dependencies>

Copied: servicemix/smx4/bundles/trunk/commons-dbcp-1.2.2/src/main/java/org/apache/commons/dbcp/BasicDataSource.java (from r756751, commons/proper/dbcp/tags/DBCP_1_2_2/src/java/org/apache/commons/dbcp/BasicDataSource.java)
URL: http://svn.apache.org/viewvc/servicemix/smx4/bundles/trunk/commons-dbcp-1.2.2/src/main/java/org/apache/commons/dbcp/BasicDataSource.java?p2=servicemix/smx4/bundles/trunk/commons-dbcp-1.2.2/src/main/java/org/apache/commons/dbcp/BasicDataSource.java&p1=commons/proper/dbcp/tags/DBCP_1_2_2/src/java/org/apache/commons/dbcp/BasicDataSource.java&r1=756751&r2=756753&rev=756753&view=diff
==============================================================================
--- commons/proper/dbcp/tags/DBCP_1_2_2/src/java/org/apache/commons/dbcp/BasicDataSource.java (original)
+++ servicemix/smx4/bundles/trunk/commons-dbcp-1.2.2/src/main/java/org/apache/commons/dbcp/BasicDataSource.java Fri Mar 20 20:49:49 2009
@@ -1125,9 +1125,14 @@
         }
 
         // Load the JDBC driver class
+        Class driverFromCCL = null;        
         if (driverClassName != null) {
             try {
-                Class.forName(driverClassName);
+                try {
+                    Class.forName(driverClassName);
+                } catch (ClassNotFoundException e) {
+                    driverFromCCL = Thread.currentThread().getContextClassLoader().loadClass(driverClassName);
+                }
             } catch (Throwable t) {
                 String message = "Cannot load JDBC driver class '" +
                     driverClassName + "'";
@@ -1140,7 +1145,14 @@
         // Create a JDBC driver instance
         Driver driver = null;
         try {
-            driver = DriverManager.getDriver(url);
+            if (driverFromCCL != null) {
+                driver = (Driver) driverFromCCL.newInstance();
+                if (!driver.acceptsURL(url)) {
+                    new SQLException("No suitable driver", "08001");                    
+                }
+            } else {
+                driver = DriverManager.getDriver(url);
+            }
         } catch (Throwable t) {
             String message = "Cannot create JDBC driver of class '" +
                 (driverClassName != null ? driverClassName : "") +