Repository: incubator-trafodion Updated Branches: refs/heads/master 14851367b -> 0282c8552
TRAFODION-2788 - jdbc does not implement ClinetInfo related api Project: http://git-wip-us.apache.org/repos/asf/incubator-trafodion/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-trafodion/commit/3ac544c6 Tree: http://git-wip-us.apache.org/repos/asf/incubator-trafodion/tree/3ac544c6 Diff: http://git-wip-us.apache.org/repos/asf/incubator-trafodion/diff/3ac544c6 Branch: refs/heads/master Commit: 3ac544c615e9bb6545eab06dfadfaff565ba1d70 Parents: 371cb71 Author: gpj1987 <[email protected]> Authored: Mon Oct 30 16:51:07 2017 +0800 Committer: gpj1987 <[email protected]> Committed: Mon Oct 30 16:51:07 2017 +0800 ---------------------------------------------------------------------- .../trafodion/jdbc/t4/InterfaceConnection.java | 18 +++++ .../org/trafodion/jdbc/t4/T4Properties.java | 14 ++++ .../org/trafodion/jdbc/t4/TrafT4Connection.java | 20 ++--- .../org/trafodion/jdbc_test/TestClientInfo.java | 78 ++++++++++++++++++++ 4 files changed, 118 insertions(+), 12 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-trafodion/blob/3ac544c6/core/conn/jdbcT4/src/main/java/org/trafodion/jdbc/t4/InterfaceConnection.java ---------------------------------------------------------------------- diff --git a/core/conn/jdbcT4/src/main/java/org/trafodion/jdbc/t4/InterfaceConnection.java b/core/conn/jdbcT4/src/main/java/org/trafodion/jdbc/t4/InterfaceConnection.java index b3c7f03..46bed22 100644 --- a/core/conn/jdbcT4/src/main/java/org/trafodion/jdbc/t4/InterfaceConnection.java +++ b/core/conn/jdbcT4/src/main/java/org/trafodion/jdbc/t4/InterfaceConnection.java @@ -37,10 +37,12 @@ import java.nio.charset.CharsetEncoder; import java.nio.charset.CodingErrorAction; import java.nio.charset.UnsupportedCharsetException; import java.sql.Connection; +import java.sql.SQLClientInfoException; import java.sql.SQLException; import java.sql.SQLWarning; import java.util.Hashtable; import java.util.Locale; +import java.util.Properties; import java.util.logging.Handler; import java.util.logging.Level; @@ -1417,4 +1419,20 @@ class InterfaceConnection { public String getApplicationName() { return this.t4props_.getApplicationName(); } + + void setClientInfoProperties(Properties prop) { + this.t4props_.setClientInfoProperties(prop); + } + + Properties getClientInfoProperties() { + return this.t4props_.getClientInfoProperties(); + } + + public void setClientInfo(String name, String value) throws SQLClientInfoException { + this.t4props_.getClientInfoProperties().setProperty(name, value); + } + + String getClientInfo(String name) { + return this.t4props_.getClientInfoProperties().getProperty(name); + } } http://git-wip-us.apache.org/repos/asf/incubator-trafodion/blob/3ac544c6/core/conn/jdbcT4/src/main/java/org/trafodion/jdbc/t4/T4Properties.java ---------------------------------------------------------------------- diff --git a/core/conn/jdbcT4/src/main/java/org/trafodion/jdbc/t4/T4Properties.java b/core/conn/jdbcT4/src/main/java/org/trafodion/jdbc/t4/T4Properties.java index 917cf45..8530b8c 100644 --- a/core/conn/jdbcT4/src/main/java/org/trafodion/jdbc/t4/T4Properties.java +++ b/core/conn/jdbcT4/src/main/java/org/trafodion/jdbc/t4/T4Properties.java @@ -140,6 +140,10 @@ public class T4Properties { // Log file handler for this connection. FileHandler t4LogFileHandler_; + + //clientInfoProperties + private Properties clientInfoProp; + private boolean SPJEnv_ = false; private boolean keepRawFetchBuffer_ = false; @@ -292,6 +296,7 @@ public class T4Properties { sqlExceptionMessage_ = null; inprops_ = props; setProperties(); + clientInfoProp = new Properties(); } // --------------------------------------------------------------- @@ -2508,4 +2513,13 @@ public class T4Properties { // ------------------------------------------------------------------------- + void setClientInfoProperties(Properties prop) { + this.clientInfoProp = prop; + } + + Properties getClientInfoProperties() { + return this.clientInfoProp; + } + + } http://git-wip-us.apache.org/repos/asf/incubator-trafodion/blob/3ac544c6/core/conn/jdbcT4/src/main/java/org/trafodion/jdbc/t4/TrafT4Connection.java ---------------------------------------------------------------------- diff --git a/core/conn/jdbcT4/src/main/java/org/trafodion/jdbc/t4/TrafT4Connection.java b/core/conn/jdbcT4/src/main/java/org/trafodion/jdbc/t4/TrafT4Connection.java index 2a8e381..fbfdb4f 100644 --- a/core/conn/jdbcT4/src/main/java/org/trafodion/jdbc/t4/TrafT4Connection.java +++ b/core/conn/jdbcT4/src/main/java/org/trafodion/jdbc/t4/TrafT4Connection.java @@ -1881,26 +1881,22 @@ public class TrafT4Connection extends PreparedStatementManager implements java.s return false; } - public void setClientInfo(String name, String value) - throws SQLClientInfoException { - // TODO Auto-generated method stub - + public void setClientInfo(String name, String value) throws SQLClientInfoException { + ic_.setClientInfo(name, value); } - public void setClientInfo(Properties properties) - throws SQLClientInfoException { - // TODO Auto-generated method stub - + public void setClientInfo(Properties properties) throws SQLClientInfoException { + ic_.setClientInfoProperties( properties); } public String getClientInfo(String name) throws SQLException { - // TODO Auto-generated method stub - return null; + validateConnection(); + return ic_.getClientInfoProperties().getProperty(name); } public Properties getClientInfo() throws SQLException { - // TODO Auto-generated method stub - return null; + validateConnection(); + return ic_.getClientInfoProperties(); } public Array createArrayOf(String typeName, Object[] elements) http://git-wip-us.apache.org/repos/asf/incubator-trafodion/blob/3ac544c6/dcs/src/test/jdbc_test/src/test/java/org/trafodion/jdbc_test/TestClientInfo.java ---------------------------------------------------------------------- diff --git a/dcs/src/test/jdbc_test/src/test/java/org/trafodion/jdbc_test/TestClientInfo.java b/dcs/src/test/jdbc_test/src/test/java/org/trafodion/jdbc_test/TestClientInfo.java new file mode 100644 index 0000000..1971b0f --- /dev/null +++ b/dcs/src/test/jdbc_test/src/test/java/org/trafodion/jdbc_test/TestClientInfo.java @@ -0,0 +1,78 @@ +import static org.junit.Assert.assertTrue; + +import java.sql.Connection; +import java.sql.SQLException; +import java.util.Properties; + +import org.junit.Test; + +public class TestClientInfo { + @Test + public void testGetClientInfoProperties() { + Connection conn = null; + try { + System.out.println("Connecting to database..."); + conn = Utils.getUserConnection(); + Properties clientInfo = conn.getClientInfo(); + assertTrue("this is not set clientInfo Properties", clientInfo.equals(new Properties())); + System.out.println(clientInfo); + } catch (SQLException e) { + e.printStackTrace(); + } + } + + @Test + public void testSetAndGetClientInfoProperties() { + Connection conn = null; + try { + System.out.println("Connecting to database..."); + conn = Utils.getUserConnection(); + Properties prop = new Properties(); + prop.setProperty("user1", "user1"); + prop.setProperty("user2", "user2"); + conn.setClientInfo(prop); + Properties prop1 = conn.getClientInfo(); + assertTrue("this is set and get ClientInfoProperties", prop1.equals(prop)); + System.out.println(prop1.equals(prop)); + } catch (SQLException e) { + e.printStackTrace(); + } + } + @Test + public void testSetAndGetClientInfoByName() { + Connection conn = null; + try { + System.out.println("Connecting to database..."); + conn = Utils.getUserConnection(); + conn.setClientInfo("user1", "user1"); + String user1 = conn.getClientInfo("user1"); + System.out.println(user1); + assertTrue("this is set clientInfo by Name ", user1.equals("user1")); + } catch (SQLException e) { + e.printStackTrace(); + } + } + @Test + public void testSetAndGetClientInfoByName1() { + Connection conn = null; + try { + System.out.println("Connecting to database..."); + conn = Utils.getUserConnection(); + Properties prop = new Properties(); + prop.setProperty("user2", "user2"); + conn.setClientInfo(prop); + conn.setClientInfo("user1", "user1"); + String user1 = conn.getClientInfo("user1"); + String user2 = conn.getClientInfo("user2"); + String user3 = conn.getClientInfo("user3"); + System.out.println(user1); + System.out.println(user2); + System.out.println(user3); + // assertTrue("this is get clientInfo by Name", user1.equals("user1")); + // assertTrue("this is get clientInfo by Name", user2.equals("user2")); + assertTrue("this is get clientInfo by Name", user3==(null)); + } catch (SQLException e) { + e.printStackTrace(); + } + } +}
