From 0612d89e9ae3d33df821ac07a62d43f2dfbb1b28 Mon Sep 17 00:00:00 2001 From: Robin Bygrave Date: Thu, 6 Aug 2015 23:03:25 +1200 Subject: [PATCH] #376 - Refactor - Remove PstmtDelegate ... that was used to access the underlying oracle specific PreparedStatement --- .../com/avaje/ebean/config/PstmtDelegate.java | 24 ------------------- .../com/avaje/ebean/config/ServerConfig.java | 23 ------------------ .../server/core/DefaultContainer.java | 12 ---------- .../server/jdbc/StandardPstmtDelegate.java | 20 ---------------- .../server/jdbc/package-info.java | 1 - 5 files changed, 80 deletions(-) delete mode 100644 src/main/java/com/avaje/ebean/config/PstmtDelegate.java delete mode 100644 src/main/java/com/avaje/ebeaninternal/server/jdbc/StandardPstmtDelegate.java delete mode 100644 src/main/java/com/avaje/ebeaninternal/server/jdbc/package-info.java diff --git a/src/main/java/com/avaje/ebean/config/PstmtDelegate.java b/src/main/java/com/avaje/ebean/config/PstmtDelegate.java deleted file mode 100644 index 4bd165883..000000000 --- a/src/main/java/com/avaje/ebean/config/PstmtDelegate.java +++ /dev/null @@ -1,24 +0,0 @@ -package com.avaje.ebean.config; - -import java.sql.PreparedStatement; - -/** - * Unwrap the PreparedStatement to get the specific underlying implementation. - *

- * This is used to handle specific JDBC driver issues. Typically this means - * getting the OraclePreparedStatement to handle Oracle specific issues etc. - *

- * - * @author rbygrave - */ -public interface PstmtDelegate { - - /** - * Unwrap the PreparedStatement to get the specific underlying implementation. - * - * @param pstmt - * the PreparedStatement coming out of the connection pool - * @return the underlying PreparedStatement - */ - PreparedStatement unwrap(PreparedStatement pstmt); -} diff --git a/src/main/java/com/avaje/ebean/config/ServerConfig.java b/src/main/java/com/avaje/ebean/config/ServerConfig.java index c0568d944..47a86d573 100644 --- a/src/main/java/com/avaje/ebean/config/ServerConfig.java +++ b/src/main/java/com/avaje/ebean/config/ServerConfig.java @@ -198,11 +198,6 @@ public class ServerConfig { private ExternalTransactionManager externalTransactionManager; /** - * Used to unwrap PreparedStatements to perform JDBC Driver specific functions - */ - private PstmtDelegate pstmtDelegate; - - /** * The data source (if programmatically provided). */ private DataSource dataSource; @@ -975,24 +970,6 @@ public class ServerConfig { this.autofetchConfig = autofetchConfig; } - /** - * Return the PreparedStatementDelegate. - */ - public PstmtDelegate getPstmtDelegate() { - return pstmtDelegate; - } - - /** - * Set the PstmtDelegate which can be used to support JDBC driver specific - * features. - *

- * Typically this means Oracle JDBC driver specific workarounds. - *

- */ - public void setPstmtDelegate(PstmtDelegate pstmtDelegate) { - this.pstmtDelegate = pstmtDelegate; - } - /** * Return the DataSource. */ diff --git a/src/main/java/com/avaje/ebeaninternal/server/core/DefaultContainer.java b/src/main/java/com/avaje/ebeaninternal/server/core/DefaultContainer.java index 11de1eedc..da9f730f7 100644 --- a/src/main/java/com/avaje/ebeaninternal/server/core/DefaultContainer.java +++ b/src/main/java/com/avaje/ebeaninternal/server/core/DefaultContainer.java @@ -8,7 +8,6 @@ import com.avaje.ebean.common.SpiContainer; import com.avaje.ebean.config.ContainerConfig; import com.avaje.ebean.config.DataSourceConfig; import com.avaje.ebean.config.PropertyMap; -import com.avaje.ebean.config.PstmtDelegate; import com.avaje.ebean.config.ServerConfig; import com.avaje.ebean.config.UnderscoreNamingConvention; import com.avaje.ebean.config.dbplatform.DatabasePlatform; @@ -17,7 +16,6 @@ import com.avaje.ebeaninternal.api.SpiEbeanServer; import com.avaje.ebeaninternal.server.cache.DefaultServerCacheFactory; import com.avaje.ebeaninternal.server.cache.DefaultServerCacheManager; import com.avaje.ebeaninternal.server.cluster.ClusterManager; -import com.avaje.ebeaninternal.server.jdbc.StandardPstmtDelegate; import com.avaje.ebeaninternal.server.lib.ShutdownManager; import com.avaje.ebeaninternal.server.lib.sql.DataSourceAlert; import com.avaje.ebeaninternal.server.lib.sql.DataSourcePool; @@ -175,16 +173,6 @@ public class DefaultContainer implements SpiContainer { } } - private PstmtDelegate getOraclePstmtDelegate(DataSource ds) { - - if (ds instanceof DataSourcePool) { - // Using Ebean's own DataSource implementation - return new StandardPstmtDelegate(); - } - - return null; - } - /** * Create and return the CacheManager. */ diff --git a/src/main/java/com/avaje/ebeaninternal/server/jdbc/StandardPstmtDelegate.java b/src/main/java/com/avaje/ebeaninternal/server/jdbc/StandardPstmtDelegate.java deleted file mode 100644 index 6d14eed24..000000000 --- a/src/main/java/com/avaje/ebeaninternal/server/jdbc/StandardPstmtDelegate.java +++ /dev/null @@ -1,20 +0,0 @@ -package com.avaje.ebeaninternal.server.jdbc; - -import java.sql.PreparedStatement; - -import com.avaje.ebean.config.PstmtDelegate; -import com.avaje.ebeaninternal.server.lib.sql.ExtendedPreparedStatement; - -/** - * Implementation of PstmtDelegate from Ebean's own DataSource. - */ -public class StandardPstmtDelegate implements PstmtDelegate { - - /** - * Unwrap the PreparedStatement from Ebean's DataSource implementation. - */ - public PreparedStatement unwrap(PreparedStatement pstmt) { - - return ((ExtendedPreparedStatement) pstmt).getDelegate(); - } -} diff --git a/src/main/java/com/avaje/ebeaninternal/server/jdbc/package-info.java b/src/main/java/com/avaje/ebeaninternal/server/jdbc/package-info.java deleted file mode 100644 index 634231d8f..000000000 --- a/src/main/java/com/avaje/ebeaninternal/server/jdbc/package-info.java +++ /dev/null @@ -1 +0,0 @@ -package com.avaje.ebeaninternal.server.jdbc; \ No newline at end of file