You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tomee.apache.org by rm...@apache.org on 2014/04/29 19:57:21 UTC
svn commit: r1591034 - in
/tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/resource/jdbc:
./ plugin/
Author: rmannibucau
Date: Tue Apr 29 17:57:20 2014
New Revision: 1591034
URL: http://svn.apache.org/r1591034
Log:
TOMEE-1185 allow to deactivate datasource plugins
Added:
tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/resource/jdbc/plugin/AbstractDataSourcePlugin.java
Modified:
tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/resource/jdbc/DataSourceFactory.java
tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/resource/jdbc/plugin/DerbyDataSourcePlugin.java
tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/resource/jdbc/plugin/HsqldbDataSourcePlugin.java
tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/resource/jdbc/plugin/InstantdbDataSourcePlugin.java
Modified: tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/resource/jdbc/DataSourceFactory.java
URL: http://svn.apache.org/viewvc/tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/resource/jdbc/DataSourceFactory.java?rev=1591034&r1=1591033&r2=1591034&view=diff
==============================================================================
--- tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/resource/jdbc/DataSourceFactory.java (original)
+++ tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/resource/jdbc/DataSourceFactory.java Tue Apr 29 17:57:20 2014
@@ -22,6 +22,7 @@ import org.apache.openejb.resource.XARes
import org.apache.openejb.resource.jdbc.dbcp.DbcpDataSourceCreator;
import org.apache.openejb.resource.jdbc.driver.AlternativeDriver;
import org.apache.openejb.resource.jdbc.logging.LoggingSqlDataSource;
+import org.apache.openejb.resource.jdbc.plugin.AbstractDataSourcePlugin;
import org.apache.openejb.resource.jdbc.plugin.DataSourcePlugin;
import org.apache.openejb.resource.jdbc.pool.DataSourceCreator;
import org.apache.openejb.resource.jdbc.pool.DefaultDataSourceCreator;
@@ -192,7 +193,7 @@ public class DataSourceFactory {
final DataSourcePlugin helper = BasicDataSourceUtil.getDataSourcePlugin(jdbcUrl);
// configure this
- if (helper != null) {
+ if (AbstractDataSourcePlugin.isActive(helper)) {
final String newUrl = helper.updatedUrl(jdbcUrl);
properties.setProperty(key, newUrl);
}
Added: tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/resource/jdbc/plugin/AbstractDataSourcePlugin.java
URL: http://svn.apache.org/viewvc/tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/resource/jdbc/plugin/AbstractDataSourcePlugin.java?rev=1591034&view=auto
==============================================================================
--- tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/resource/jdbc/plugin/AbstractDataSourcePlugin.java (added)
+++ tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/resource/jdbc/plugin/AbstractDataSourcePlugin.java Tue Apr 29 17:57:20 2014
@@ -0,0 +1,34 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.openejb.resource.jdbc.plugin;
+
+import org.apache.openejb.loader.SystemInstance;
+
+public abstract class AbstractDataSourcePlugin implements DataSourcePlugin {
+ public boolean isActive() {
+ final SystemInstance systemInstance = SystemInstance.get();
+ return "true".equals(systemInstance.getProperty(
+ "openejb.datasource.plugin." + getClass().getSimpleName().replace("DataSourcePlugin", "") + ".activaed",
+ systemInstance.getProperty("openejb.datasource.plugin.activated", "true")));
+ }
+
+ public static boolean isActive(final DataSourcePlugin helper) {
+ return helper != null
+ && (!AbstractDataSourcePlugin.class.isInstance(helper)
+ || AbstractDataSourcePlugin.class.cast(helper).isActive());
+ }
+}
Modified: tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/resource/jdbc/plugin/DerbyDataSourcePlugin.java
URL: http://svn.apache.org/viewvc/tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/resource/jdbc/plugin/DerbyDataSourcePlugin.java?rev=1591034&r1=1591033&r2=1591034&view=diff
==============================================================================
--- tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/resource/jdbc/plugin/DerbyDataSourcePlugin.java (original)
+++ tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/resource/jdbc/plugin/DerbyDataSourcePlugin.java Tue Apr 29 17:57:20 2014
@@ -18,7 +18,7 @@ package org.apache.openejb.resource.jdbc
import org.apache.openejb.loader.SystemInstance;
-public class DerbyDataSourcePlugin implements DataSourcePlugin {
+public class DerbyDataSourcePlugin extends AbstractDataSourcePlugin {
@Override
public String updatedUrl(final String dataSourceUrl) {
@@ -27,7 +27,8 @@ public class DerbyDataSourcePlugin imple
return dataSourceUrl;
}
+ @Override
public boolean enableUserDirHack() {
- return true;
+ return isActive(this);
}
}
Modified: tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/resource/jdbc/plugin/HsqldbDataSourcePlugin.java
URL: http://svn.apache.org/viewvc/tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/resource/jdbc/plugin/HsqldbDataSourcePlugin.java?rev=1591034&r1=1591033&r2=1591034&view=diff
==============================================================================
--- tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/resource/jdbc/plugin/HsqldbDataSourcePlugin.java (original)
+++ tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/resource/jdbc/plugin/HsqldbDataSourcePlugin.java Tue Apr 29 17:57:20 2014
@@ -20,7 +20,7 @@ import org.apache.openejb.loader.SystemI
import java.io.File;
-public class HsqldbDataSourcePlugin implements DataSourcePlugin {
+public class HsqldbDataSourcePlugin extends AbstractDataSourcePlugin {
private static final String HSQL_FILE_URL = "jdbc:hsqldb:file:";
Modified: tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/resource/jdbc/plugin/InstantdbDataSourcePlugin.java
URL: http://svn.apache.org/viewvc/tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/resource/jdbc/plugin/InstantdbDataSourcePlugin.java?rev=1591034&r1=1591033&r2=1591034&view=diff
==============================================================================
--- tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/resource/jdbc/plugin/InstantdbDataSourcePlugin.java (original)
+++ tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/resource/jdbc/plugin/InstantdbDataSourcePlugin.java Tue Apr 29 17:57:20 2014
@@ -23,7 +23,7 @@ import org.apache.xbean.finder.ResourceF
import java.io.File;
import java.io.IOException;
-public class InstantdbDataSourcePlugin implements DataSourcePlugin {
+public class InstantdbDataSourcePlugin extends AbstractDataSourcePlugin {
@Override
public String updatedUrl(final String jdbcUrl) {
@@ -64,7 +64,7 @@ public class InstantdbDataSourcePlugin i
}
public boolean enableUserDirHack() {
- return true;
+ return isActive(this);
}
}