From df2f166456bfa2507bb9669958c174289818998e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=B8=A9=E5=B0=91?= Date: Fri, 18 May 2012 20:15:04 +0800 Subject: [PATCH] refactor --- .../druid/common/jdbc/ConnectionBase.java | 92 +++++++++++++++++++ .../alibaba/druid/hbase/HBaseConnection.java | 87 +----------------- .../alibaba/druid/mock/MockConnection.java | 70 +------------- 3 files changed, 100 insertions(+), 149 deletions(-) create mode 100644 src/main/java/com/alibaba/druid/common/jdbc/ConnectionBase.java diff --git a/src/main/java/com/alibaba/druid/common/jdbc/ConnectionBase.java b/src/main/java/com/alibaba/druid/common/jdbc/ConnectionBase.java new file mode 100644 index 0000000000..14848263c0 --- /dev/null +++ b/src/main/java/com/alibaba/druid/common/jdbc/ConnectionBase.java @@ -0,0 +1,92 @@ +package com.alibaba.druid.common.jdbc; + +import java.sql.Connection; +import java.sql.SQLException; +import java.sql.SQLWarning; +import java.util.HashMap; +import java.util.Map; + +public abstract class ConnectionBase implements Connection { + + private boolean autoCommit = true; + private String catalog; + private int transactionIsolation; + private int holdability; + private Map> typeMap = new HashMap>(); + private SQLWarning warings; + private boolean readOnly; + + @Override + public void setAutoCommit(boolean autoCommit) throws SQLException { + this.autoCommit = autoCommit; + } + + @Override + public boolean getAutoCommit() throws SQLException { + return autoCommit; + } + + @Override + public void setCatalog(String catalog) throws SQLException { + this.catalog = catalog; + } + + @Override + public String getCatalog() throws SQLException { + return catalog; + } + + @Override + public void setTransactionIsolation(int level) throws SQLException { + this.transactionIsolation = level; + } + + @Override + public int getTransactionIsolation() throws SQLException { + return transactionIsolation; + } + + @Override + public SQLWarning getWarnings() throws SQLException { + return warings; + } + + @Override + public void clearWarnings() throws SQLException { + this.warings = null; + } + + public void setWarings(SQLWarning warings) { + this.warings = warings; + } + + @Override + public Map> getTypeMap() throws SQLException { + return typeMap; + } + + @Override + public void setTypeMap(Map> map) throws SQLException { + this.typeMap = map; + } + + @Override + public void setHoldability(int holdability) throws SQLException { + this.holdability = holdability; + } + + @Override + public int getHoldability() { + return holdability; + } + + @Override + public void setReadOnly(boolean readOnly) throws SQLException { + this.readOnly = readOnly; + } + + @Override + public boolean isReadOnly() throws SQLException { + return readOnly; + } +} diff --git a/src/main/java/com/alibaba/druid/hbase/HBaseConnection.java b/src/main/java/com/alibaba/druid/hbase/HBaseConnection.java index 174302a6da..a25d495ea1 100644 --- a/src/main/java/com/alibaba/druid/hbase/HBaseConnection.java +++ b/src/main/java/com/alibaba/druid/hbase/HBaseConnection.java @@ -11,27 +11,20 @@ import java.sql.PreparedStatement; import java.sql.SQLClientInfoException; import java.sql.SQLException; import java.sql.SQLFeatureNotSupportedException; -import java.sql.SQLWarning; import java.sql.SQLXML; import java.sql.Savepoint; import java.sql.Statement; import java.sql.Struct; -import java.util.HashMap; import java.util.Map; import java.util.Properties; import org.apache.hadoop.conf.Configuration; -public class HBaseConnection implements Connection { +import com.alibaba.druid.common.jdbc.ConnectionBase; - private Configuration config; +public class HBaseConnection extends ConnectionBase implements Connection { - private boolean autoCommit = true; - private String catalog; - private int transactionIsolation; - private int holdability; - private Map> typeMap = new HashMap>(); - private SQLWarning warings; + private Configuration config; public HBaseConnection(Properties info){ config = new Configuration(); @@ -85,16 +78,6 @@ public class HBaseConnection implements Connection { throw new SQLFeatureNotSupportedException(); } - @Override - public void setAutoCommit(boolean autoCommit) throws SQLException { - this.autoCommit = autoCommit; - } - - @Override - public boolean getAutoCommit() throws SQLException { - return autoCommit; - } - @Override public void commit() throws SQLException { @@ -120,50 +103,6 @@ public class HBaseConnection implements Connection { return null; } - @Override - public void setReadOnly(boolean readOnly) throws SQLException { - - } - - @Override - public boolean isReadOnly() throws SQLException { - return false; - } - - @Override - public void setCatalog(String catalog) throws SQLException { - this.catalog = catalog; - } - - @Override - public String getCatalog() throws SQLException { - return catalog; - } - - @Override - public void setTransactionIsolation(int level) throws SQLException { - this.transactionIsolation = level; - } - - @Override - public int getTransactionIsolation() throws SQLException { - return transactionIsolation; - } - - @Override - public SQLWarning getWarnings() throws SQLException { - return warings; - } - - @Override - public void clearWarnings() throws SQLException { - this.warings = null; - } - - public void setWarings(SQLWarning warings) { - this.warings = warings; - } - @Override public Statement createStatement(int resultSetType, int resultSetConcurrency) throws SQLException { throw new SQLFeatureNotSupportedException(); @@ -180,26 +119,6 @@ public class HBaseConnection implements Connection { throw new SQLFeatureNotSupportedException(); } - @Override - public Map> getTypeMap() throws SQLException { - return typeMap; - } - - @Override - public void setTypeMap(Map> map) throws SQLException { - this.typeMap = map; - } - - @Override - public void setHoldability(int holdability) throws SQLException { - this.holdability = holdability; - } - - @Override - public int getHoldability() { - return holdability; - } - @Override public Savepoint setSavepoint() throws SQLException { throw new SQLFeatureNotSupportedException(); diff --git a/src/main/java/com/alibaba/druid/mock/MockConnection.java b/src/main/java/com/alibaba/druid/mock/MockConnection.java index d66a49ac16..959ded894c 100644 --- a/src/main/java/com/alibaba/druid/mock/MockConnection.java +++ b/src/main/java/com/alibaba/druid/mock/MockConnection.java @@ -26,7 +26,6 @@ import java.sql.PreparedStatement; import java.sql.SQLClientInfoException; import java.sql.SQLException; import java.sql.SQLFeatureNotSupportedException; -import java.sql.SQLWarning; import java.sql.SQLXML; import java.sql.Savepoint; import java.sql.Statement; @@ -35,17 +34,13 @@ import java.util.Map; import java.util.Properties; import java.util.concurrent.Executor; -public class MockConnection implements Connection { +import com.alibaba.druid.common.jdbc.ConnectionBase; + +public class MockConnection extends ConnectionBase implements Connection { // private final static Log LOG = LogFactory.getLog(MockConnection.class); - private boolean autoCommit = false; private boolean closed = false; - private boolean readOnly = false; - private String catalog = null; - private int transactionIsolation; - private SQLWarning warning; - private int holdability; private MockDriver driver; @@ -60,7 +55,7 @@ public class MockConnection implements Connection { public MockConnection(){ this(null, null, null); } - + public MockConnection(MockDriver driver, String url, Properties connectProperties){ this.driver = driver; this.connectProperties = connectProperties; @@ -164,12 +159,7 @@ public class MockConnection implements Connection { throw new MockConnectionClosedException(); } - this.autoCommit = autoCommit; - } - - @Override - public boolean getAutoCommit() throws SQLException { - return autoCommit; + super.setAutoCommit(autoCommit); } @Override @@ -208,46 +198,6 @@ public class MockConnection implements Connection { return null; } - @Override - public void setReadOnly(boolean readOnly) throws SQLException { - this.readOnly = readOnly; - } - - @Override - public boolean isReadOnly() throws SQLException { - return readOnly; - } - - @Override - public void setCatalog(String catalog) throws SQLException { - this.catalog = catalog; - } - - @Override - public String getCatalog() throws SQLException { - return catalog; - } - - @Override - public void setTransactionIsolation(int level) throws SQLException { - this.transactionIsolation = level; - } - - @Override - public int getTransactionIsolation() throws SQLException { - return transactionIsolation; - } - - @Override - public SQLWarning getWarnings() throws SQLException { - return warning; - } - - @Override - public void clearWarnings() throws SQLException { - warning = null; - } - @Override public Statement createStatement(int resultSetType, int resultSetConcurrency) throws SQLException { if (closed) { @@ -301,16 +251,6 @@ public class MockConnection implements Connection { } - @Override - public void setHoldability(int holdability) throws SQLException { - this.holdability = holdability; - } - - @Override - public int getHoldability() throws SQLException { - return holdability; - } - @Override public Savepoint setSavepoint() throws SQLException { if (closed) {