Author: rmannibucau
Date: Tue Jul 24 11:14:39 2012
New Revision: 1364978
URL: http://svn.apache.org/viewvc?rev=1364978&view=rev
Log:
datasource plugin independent of commons-dbcp
Modified:
openejb/branches/openejb-pool/container/openejb-core/src/main/java/org/apache/openejb/resource/jdbc/dbcp/BasicDataSource.java
openejb/branches/openejb-pool/container/openejb-core/src/main/java/org/apache/openejb/resource/jdbc/dbcp/BasicManagedDataSource.java
openejb/branches/openejb-pool/container/openejb-core/src/main/java/org/apache/openejb/resource/jdbc/plugin/DataSourcePlugin.java
openejb/branches/openejb-pool/container/openejb-core/src/main/java/org/apache/openejb/resource/jdbc/plugin/DerbyDataSourcePlugin.java
openejb/branches/openejb-pool/container/openejb-core/src/main/java/org/apache/openejb/resource/jdbc/plugin/HsqldbDataSourcePlugin.java
openejb/branches/openejb-pool/container/openejb-core/src/main/java/org/apache/openejb/resource/jdbc/plugin/InstantdbDataSourcePlugin.java
Modified:
openejb/branches/openejb-pool/container/openejb-core/src/main/java/org/apache/openejb/resource/jdbc/dbcp/BasicDataSource.java
URL:
http://svn.apache.org/viewvc/openejb/branches/openejb-pool/container/openejb-core/src/main/java/org/apache/openejb/resource/jdbc/dbcp/BasicDataSource.java?rev=1364978&r1=1364977&r2=1364978&view=diff
==============================================================================
---
openejb/branches/openejb-pool/container/openejb-core/src/main/java/org/apache/openejb/resource/jdbc/dbcp/BasicDataSource.java
(original)
+++
openejb/branches/openejb-pool/container/openejb-core/src/main/java/org/apache/openejb/resource/jdbc/dbcp/BasicDataSource.java
Tue Jul 24 11:14:39 2012
@@ -204,7 +204,11 @@ public class BasicDataSource extends org
// configure this
if (helper != null) {
- helper.configure(this);
+ final String currentUrl = getUrl();
+ final String newUrl = helper.updatedUrl(currentUrl);
+ if (!currentUrl.equals(newUrl)) {
+ setUrl(newUrl);
+ }
}
// create the data source
Modified:
openejb/branches/openejb-pool/container/openejb-core/src/main/java/org/apache/openejb/resource/jdbc/dbcp/BasicManagedDataSource.java
URL:
http://svn.apache.org/viewvc/openejb/branches/openejb-pool/container/openejb-core/src/main/java/org/apache/openejb/resource/jdbc/dbcp/BasicManagedDataSource.java?rev=1364978&r1=1364977&r2=1364978&view=diff
==============================================================================
---
openejb/branches/openejb-pool/container/openejb-core/src/main/java/org/apache/openejb/resource/jdbc/dbcp/BasicManagedDataSource.java
(original)
+++
openejb/branches/openejb-pool/container/openejb-core/src/main/java/org/apache/openejb/resource/jdbc/dbcp/BasicManagedDataSource.java
Tue Jul 24 11:14:39 2012
@@ -198,7 +198,11 @@ public class BasicManagedDataSource exte
// configure this
if (helper != null) {
- helper.configure(this);
+ final String currentUrl = getUrl();
+ final String newUrl = helper.updatedUrl(currentUrl);
+ if (!currentUrl.equals(newUrl)) {
+ setUrl(newUrl);
+ }
}
wrapTransactionManager();
Modified:
openejb/branches/openejb-pool/container/openejb-core/src/main/java/org/apache/openejb/resource/jdbc/plugin/DataSourcePlugin.java
URL:
http://svn.apache.org/viewvc/openejb/branches/openejb-pool/container/openejb-core/src/main/java/org/apache/openejb/resource/jdbc/plugin/DataSourcePlugin.java?rev=1364978&r1=1364977&r2=1364978&view=diff
==============================================================================
---
openejb/branches/openejb-pool/container/openejb-core/src/main/java/org/apache/openejb/resource/jdbc/plugin/DataSourcePlugin.java
(original)
+++
openejb/branches/openejb-pool/container/openejb-core/src/main/java/org/apache/openejb/resource/jdbc/plugin/DataSourcePlugin.java
Tue Jul 24 11:14:39 2012
@@ -17,7 +17,7 @@
package org.apache.openejb.resource.jdbc.plugin;
public interface DataSourcePlugin {
- void configure(org.apache.commons.dbcp.BasicDataSource dataSource);
+ String updatedUrl(String dataSourceUrl);
boolean enableUserDirHack();
}
Modified:
openejb/branches/openejb-pool/container/openejb-core/src/main/java/org/apache/openejb/resource/jdbc/plugin/DerbyDataSourcePlugin.java
URL:
http://svn.apache.org/viewvc/openejb/branches/openejb-pool/container/openejb-core/src/main/java/org/apache/openejb/resource/jdbc/plugin/DerbyDataSourcePlugin.java?rev=1364978&r1=1364977&r2=1364978&view=diff
==============================================================================
---
openejb/branches/openejb-pool/container/openejb-core/src/main/java/org/apache/openejb/resource/jdbc/plugin/DerbyDataSourcePlugin.java
(original)
+++
openejb/branches/openejb-pool/container/openejb-core/src/main/java/org/apache/openejb/resource/jdbc/plugin/DerbyDataSourcePlugin.java
Tue Jul 24 11:14:39 2012
@@ -20,8 +20,10 @@ import org.apache.openejb.loader.SystemI
import org.apache.commons.dbcp.BasicDataSource;
public class DerbyDataSourcePlugin implements DataSourcePlugin {
- public void configure(BasicDataSource dataSource) {
+ @Override
+ public String updatedUrl(String dataSourceUrl) {
System.setProperty("derby.system.home",
SystemInstance.get().getBase().getDirectory().getAbsolutePath());
+ return dataSourceUrl;
}
public boolean enableUserDirHack() {
Modified:
openejb/branches/openejb-pool/container/openejb-core/src/main/java/org/apache/openejb/resource/jdbc/plugin/HsqldbDataSourcePlugin.java
URL:
http://svn.apache.org/viewvc/openejb/branches/openejb-pool/container/openejb-core/src/main/java/org/apache/openejb/resource/jdbc/plugin/HsqldbDataSourcePlugin.java?rev=1364978&r1=1364977&r2=1364978&view=diff
==============================================================================
---
openejb/branches/openejb-pool/container/openejb-core/src/main/java/org/apache/openejb/resource/jdbc/plugin/HsqldbDataSourcePlugin.java
(original)
+++
openejb/branches/openejb-pool/container/openejb-core/src/main/java/org/apache/openejb/resource/jdbc/plugin/HsqldbDataSourcePlugin.java
Tue Jul 24 11:14:39 2012
@@ -25,7 +25,7 @@ public class HsqldbDataSourcePlugin impl
private static final String HSQL_FILE_URL = "jdbc:hsqldb:file:";
- public static String toAbsolutePath(String url) {
+ public static String toAbsolutePath(final String url) {
// is this a hsql file url?
if (url == null || !url.startsWith(HSQL_FILE_URL)) {
return url;
@@ -46,10 +46,9 @@ public class HsqldbDataSourcePlugin impl
return HSQL_FILE_URL + path;
}
- public void configure(BasicDataSource dataSource) {
- String url = dataSource.getUrl();
- url = toAbsolutePath(url);
- dataSource.setUrl(url);
+ @Override
+ public String updatedUrl(final String dataSourceUrl) {
+ return toAbsolutePath(dataSourceUrl);
}
public boolean enableUserDirHack() {
Modified:
openejb/branches/openejb-pool/container/openejb-core/src/main/java/org/apache/openejb/resource/jdbc/plugin/InstantdbDataSourcePlugin.java
URL:
http://svn.apache.org/viewvc/openejb/branches/openejb-pool/container/openejb-core/src/main/java/org/apache/openejb/resource/jdbc/plugin/InstantdbDataSourcePlugin.java?rev=1364978&r1=1364977&r2=1364978&view=diff
==============================================================================
---
openejb/branches/openejb-pool/container/openejb-core/src/main/java/org/apache/openejb/resource/jdbc/plugin/InstantdbDataSourcePlugin.java
(original)
+++
openejb/branches/openejb-pool/container/openejb-core/src/main/java/org/apache/openejb/resource/jdbc/plugin/InstantdbDataSourcePlugin.java
Tue Jul 24 11:14:39 2012
@@ -16,7 +16,6 @@
*/
package org.apache.openejb.resource.jdbc.plugin;
-import org.apache.commons.dbcp.BasicDataSource;
import org.apache.openejb.loader.IO;
import org.apache.openejb.loader.SystemInstance;
import org.apache.xbean.finder.ResourceFinder;
@@ -26,14 +25,13 @@ import java.io.IOException;
public class InstantdbDataSourcePlugin implements DataSourcePlugin {
- public void configure(BasicDataSource dataSource) {
- String jdbcUrl = dataSource.getUrl();
-
+ @Override
+ public String updatedUrl(String jdbcUrl) {
// jdbc:idb:conf/instantdb.properties
String prefix = "jdbc:idb:";
int index = jdbcUrl.indexOf(prefix);
if (index == -1){
- return;
+ return jdbcUrl;
}
String confFile = jdbcUrl.substring(index + prefix.length());
@@ -44,13 +42,13 @@ public class InstantdbDataSourcePlugin i
if (file.exists()) {
// The instantdb properties file is there, we're good
- return;
+ return jdbcUrl;
}
if (!file.getParentFile().exists()){
// The directory the instantdb properties file should live in
// doesn't exist, don't bother
- return;
+ return jdbcUrl;
}
try {
@@ -61,6 +59,8 @@ public class InstantdbDataSourcePlugin i
// TODO; Handle this
e.printStackTrace();
}
+
+ return jdbcUrl;
}
public boolean enableUserDirHack() {