You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tomee.apache.org by db...@apache.org on 2006/11/30 19:02:56 UTC
svn commit: r481018 - in
/incubator/openejb/branches/openejb1/modules/core/src/java/org/openejb/resource/jdbc:
BasicManagedConnectionFactory.java JdbcManagedConnectionFactory.java
Author: dblevins
Date: Thu Nov 30 10:02:53 2006
New Revision: 481018
URL: http://svn.apache.org/viewvc?view=rev&rev=481018
Log:
Hack the path for hsql as well as derby.. Improve the error message for failing to initialize the driver.
Modified:
incubator/openejb/branches/openejb1/modules/core/src/java/org/openejb/resource/jdbc/BasicManagedConnectionFactory.java
incubator/openejb/branches/openejb1/modules/core/src/java/org/openejb/resource/jdbc/JdbcManagedConnectionFactory.java
Modified: incubator/openejb/branches/openejb1/modules/core/src/java/org/openejb/resource/jdbc/BasicManagedConnectionFactory.java
URL: http://svn.apache.org/viewvc/incubator/openejb/branches/openejb1/modules/core/src/java/org/openejb/resource/jdbc/BasicManagedConnectionFactory.java?view=diff&rev=481018&r1=481017&r2=481018
==============================================================================
--- incubator/openejb/branches/openejb1/modules/core/src/java/org/openejb/resource/jdbc/BasicManagedConnectionFactory.java (original)
+++ incubator/openejb/branches/openejb1/modules/core/src/java/org/openejb/resource/jdbc/BasicManagedConnectionFactory.java Thu Nov 30 10:02:53 2006
@@ -89,7 +89,7 @@
Connection connection = DriverManager.getConnection(jdbcUrl, request.getUserName(), request.getPassword());
return new JdbcManagedConnection(managedConnectionFactory, connection, request);
} catch (java.sql.SQLException e) {
- throw (EISSystemException)new EISSystemException("Could not obtain a physical JDBC connection from the DriverManager").initCause(e);
+ throw (EISSystemException)new EISSystemException("Could not obtain a physical JDBC connection from the DriverManager: "+e.getMessage()+". "+e.getErrorCode()+". "+e.getSQLState()).initCause(e);
}
}
Modified: incubator/openejb/branches/openejb1/modules/core/src/java/org/openejb/resource/jdbc/JdbcManagedConnectionFactory.java
URL: http://svn.apache.org/viewvc/incubator/openejb/branches/openejb1/modules/core/src/java/org/openejb/resource/jdbc/JdbcManagedConnectionFactory.java?view=diff&rev=481018&r1=481017&r2=481018
==============================================================================
--- incubator/openejb/branches/openejb1/modules/core/src/java/org/openejb/resource/jdbc/JdbcManagedConnectionFactory.java (original)
+++ incubator/openejb/branches/openejb1/modules/core/src/java/org/openejb/resource/jdbc/JdbcManagedConnectionFactory.java Thu Nov 30 10:02:53 2006
@@ -46,6 +46,7 @@
import org.openejb.core.EnvProps;
import org.openejb.util.Logger;
+import org.openejb.loader.SystemInstance;
import javax.resource.ResourceException;
import javax.resource.spi.ConnectionManager;
@@ -55,7 +56,11 @@
import javax.resource.spi.ResourceAdapterInternalException;
import javax.security.auth.Subject;
import java.io.PrintWriter;
+import java.io.File;
import java.util.Set;
+import java.util.Properties;
+import java.net.URI;
+import java.net.URISyntaxException;
public class JdbcManagedConnectionFactory implements javax.resource.spi.ManagedConnectionFactory, java.io.Serializable {
@@ -74,6 +79,22 @@
if (driver.equals("org.enhydra.instantdb.jdbc.idbDriver")) {
factory = new ManagedConnectionFactoryPathHack(factory);
+ } else if (driver.equals("org.apache.derby.jdbc.EmbeddedDriver")) {
+ factory = new ManagedConnectionFactoryPathHack(factory);
+ } else if (driver.equals("org.hsqldb.jdbcDriver")) {
+ factory = new ManagedConnectionFactoryPathHack(factory);
+ } else if (url.indexOf("conf/") > 0){
+ try {
+ String path = url.substring(url.indexOf("conf/"), url.length());
+ URI uri = new URI("file:///" + path);
+ path = uri.getPath();
+ path = path.substring(1, path.length());
+ SystemInstance.get().getBase().getFile(path);
+ factory = new ManagedConnectionFactoryPathHack(factory);
+ } catch (URISyntaxException e) {
+ } catch (java.io.FileNotFoundException e) {
+ } catch (java.io.IOException e) {
+ }
}
JdbcConnectionRequestInfo info = new JdbcConnectionRequestInfo(defaultUserName, defaultPassword, driver, url);