Author: rareddy
Date: 2009-03-31 17:27:02 -0400 (Tue, 31 Mar 2009)
New Revision: 675
Modified:
trunk/client-jdbc/src/main/java/com/metamatrix/jdbc/BaseDataSource.java
trunk/client-jdbc/src/main/java/com/metamatrix/jdbc/EmbeddedDriver.java
trunk/client-jdbc/src/main/java/com/metamatrix/jdbc/MMDriver.java
trunk/client-jdbc/src/main/resources/com/metamatrix/jdbc/i18n.properties
trunk/client-jdbc/src/test/java/com/metamatrix/jdbc/TestMMDataSource.java
trunk/client-jdbc/src/test/java/com/metamatrix/jdbc/TestMMDriver.java
Log:
TEIID-449: Added "JDBC" as the default client application name to driver.
Modified: trunk/client-jdbc/src/main/java/com/metamatrix/jdbc/BaseDataSource.java
===================================================================
--- trunk/client-jdbc/src/main/java/com/metamatrix/jdbc/BaseDataSource.java 2009-03-31
21:10:32 UTC (rev 674)
+++ trunk/client-jdbc/src/main/java/com/metamatrix/jdbc/BaseDataSource.java 2009-03-31
21:27:02 UTC (rev 675)
@@ -100,7 +100,8 @@
* </p>
*/
public abstract class BaseDataSource extends WrapperImpl implements javax.sql.DataSource,
XADataSource, ConnectionPoolDataSource, java.io.Serializable {
-
+ public static final String DEFAULT_APP_NAME = "JDBC"; //$NON-NLS-1$
+
// constant indicating Virtual database name
public static final String VDB_NAME = MMURL.JDBC.VDB_NAME;
// constant indicating Virtual database version
@@ -545,7 +546,7 @@
* @return String the application name; may be null or zero-length
*/
public String getApplicationName() {
- return applicationName;
+ return applicationName!=null?applicationName:DEFAULT_APP_NAME;
}
/**
Modified: trunk/client-jdbc/src/main/java/com/metamatrix/jdbc/EmbeddedDriver.java
===================================================================
--- trunk/client-jdbc/src/main/java/com/metamatrix/jdbc/EmbeddedDriver.java 2009-03-31
21:10:32 UTC (rev 674)
+++ trunk/client-jdbc/src/main/java/com/metamatrix/jdbc/EmbeddedDriver.java 2009-03-31
21:27:02 UTC (rev 675)
@@ -214,6 +214,9 @@
if(! info.containsKey(BaseDataSource.VDB_VERSION) &&
jdbcURL.getVDBVersion() != null) {
info.setProperty(BaseDataSource.VDB_VERSION, jdbcURL.getVDBVersion());
}
+ if(!info.containsKey(BaseDataSource.APP_NAME)) {
+ info.setProperty(BaseDataSource.APP_NAME,
BaseDataSource.DEFAULT_APP_NAME);
+ }
// Add the DQP URL as the configuration URL
info.put(EmbeddedDataSource.DQP_BOOTSTRAP_FILE, dqpURL);
Modified: trunk/client-jdbc/src/main/java/com/metamatrix/jdbc/MMDriver.java
===================================================================
--- trunk/client-jdbc/src/main/java/com/metamatrix/jdbc/MMDriver.java 2009-03-31 21:10:32
UTC (rev 674)
+++ trunk/client-jdbc/src/main/java/com/metamatrix/jdbc/MMDriver.java 2009-03-31 21:27:02
UTC (rev 675)
@@ -177,9 +177,12 @@
}
// add the property only if it is new because they could have
// already been specified either through url or otherwise.
- if(! info.containsKey(BaseDataSource.VDB_VERSION) &&
jdbcURL.getVDBVersion() != null) {
+ if(!info.containsKey(BaseDataSource.VDB_VERSION) &&
jdbcURL.getVDBVersion() != null) {
info.setProperty(BaseDataSource.VDB_VERSION, jdbcURL.getVDBVersion());
}
+ if(!info.containsKey(BaseDataSource.APP_NAME)) {
+ info.setProperty(BaseDataSource.APP_NAME,
BaseDataSource.DEFAULT_APP_NAME);
+ }
} catch(IllegalArgumentException iae) {
throw new
MMSQLException(JDBCPlugin.Util.getString("MMDriver.urlFormat")); //$NON-NLS-1$
Modified: trunk/client-jdbc/src/main/resources/com/metamatrix/jdbc/i18n.properties
===================================================================
--- trunk/client-jdbc/src/main/resources/com/metamatrix/jdbc/i18n.properties 2009-03-31
21:10:32 UTC (rev 674)
+++ trunk/client-jdbc/src/main/resources/com/metamatrix/jdbc/i18n.properties 2009-03-31
21:27:02 UTC (rev 675)
@@ -224,3 +224,5 @@
StoredProcedureCall.procname=Expected a procedure name
WrapperImpl.wrong_class=Wrapped object is not an instance of {0}
MMSQLXML.unsupported_source=Unsupported source class {0}
+MMXAConnection.rolling_back=rolling back transaction.
+MMXAConnection.rolling_back_error=Error while rolling back transaction.
\ No newline at end of file
Modified: trunk/client-jdbc/src/test/java/com/metamatrix/jdbc/TestMMDataSource.java
===================================================================
--- trunk/client-jdbc/src/test/java/com/metamatrix/jdbc/TestMMDataSource.java 2009-03-31
21:10:32 UTC (rev 674)
+++ trunk/client-jdbc/src/test/java/com/metamatrix/jdbc/TestMMDataSource.java 2009-03-31
21:27:02 UTC (rev 675)
@@ -235,6 +235,17 @@
assertEquals(result,STD_DATABASE_NAME);
}
+ public void testGetDefaultApplicationName() {
+ final String result = dataSource.getApplicationName();
+ assertEquals(result,BaseDataSource.DEFAULT_APP_NAME);
+ }
+
+ public void testGetApplicationName() {
+ dataSource.setApplicationName("ClientApp"); //$NON-NLS-1$
+ final String result = dataSource.getApplicationName();
+ assertEquals(result,"ClientApp"); //$NON-NLS-1$
+ }
+
public void testGetPortNumber() {
final int result = dataSource.getPortNumber();
assertEquals(result,STD_PORT_NUMBER);
@@ -504,7 +515,7 @@
final String partialMode = "true"; //$NON-NLS-1$
final boolean secure = false;
helpTestBuildingURL(vdbName,vdbVersion,serverName,portNumber,null,transactionAutoWrap,
partialMode, 500, false, secure,
-
"jdbc:metamatrix:vdbName@mm://hostname:7001;fetchSize=500;serverURL=mm://hostname:7001;VirtualDatabaseVersion=1.2.3;partialResultsMode=true;VirtualDatabaseName=vdbName");
//$NON-NLS-1$
+
"jdbc:metamatrix:vdbName@mm://hostname:7001;fetchSize=500;ApplicationName=JDBC;serverURL=mm://hostname:7001;VirtualDatabaseVersion=1.2.3;partialResultsMode=true;VirtualDatabaseName=vdbName");
//$NON-NLS-1$
}
public void testBuildingURL2() {
@@ -516,7 +527,7 @@
final String partialMode = "false"; //$NON-NLS-1$
final boolean secure = false;
helpTestBuildingURL(vdbName,vdbVersion,serverName,portNumber,null,transactionAutoWrap,
partialMode, -1, false, secure,
-
"jdbc:metamatrix:vdbName@mm://hostname:7001;serverURL=mm://hostname:7001;txnAutoWrap=PESSIMISTIC;partialResultsMode=false;VirtualDatabaseName=vdbName");
//$NON-NLS-1$
+
"jdbc:metamatrix:vdbName@mm://hostname:7001;ApplicationName=JDBC;serverURL=mm://hostname:7001;txnAutoWrap=PESSIMISTIC;partialResultsMode=false;VirtualDatabaseName=vdbName");
//$NON-NLS-1$
}
public void testBuildURL3() {
@@ -528,7 +539,7 @@
final String partialMode = "false"; //$NON-NLS-1$
final boolean secure = false;
helpTestBuildingURL(vdbName,vdbVersion,serverName,portNumber,null,transactionAutoWrap,
partialMode, -1, true, secure,
-
"jdbc:metamatrix:vdbName@mm://hostname:7001;serverURL=mm://hostname:7001;txnAutoWrap=PESSIMISTIC;partialResultsMode=false;VirtualDatabaseName=vdbName;sqlOptions=SHOWPLAN");
//$NON-NLS-1$
+
"jdbc:metamatrix:vdbName@mm://hostname:7001;ApplicationName=JDBC;serverURL=mm://hostname:7001;txnAutoWrap=PESSIMISTIC;partialResultsMode=false;VirtualDatabaseName=vdbName;sqlOptions=SHOWPLAN");
//$NON-NLS-1$
}
// Test secure protocol
@@ -541,7 +552,7 @@
final String partialMode = "false"; //$NON-NLS-1$
final boolean secure = true;
helpTestBuildingURL(vdbName,vdbVersion,serverName,portNumber,null,transactionAutoWrap,
partialMode, -1, true, secure,
-
"jdbc:metamatrix:vdbName@mms://hostname:7001;serverURL=mms://hostname:7001;txnAutoWrap=PESSIMISTIC;partialResultsMode=false;VirtualDatabaseName=vdbName;sqlOptions=SHOWPLAN");
//$NON-NLS-1$
+
"jdbc:metamatrix:vdbName@mms://hostname:7001;ApplicationName=JDBC;serverURL=mms://hostname:7001;txnAutoWrap=PESSIMISTIC;partialResultsMode=false;VirtualDatabaseName=vdbName;sqlOptions=SHOWPLAN");
//$NON-NLS-1$
}
/*
@@ -559,7 +570,7 @@
final String partialMode = "false"; //$NON-NLS-1$
final boolean secure = false;
helpTestBuildingURL(vdbName,vdbVersion,serverName,portNumber,alternateServers,transactionAutoWrap,
partialMode, -1, true, secure,
-
"jdbc:metamatrix:vdbName@mm://hostName:7001,hostName:7002,hostName2:7001,hostName2:7002;serverURL=mm://hostName:7001,hostName:7002,hostName2:7001,hostName2:7002;txnAutoWrap=PESSIMISTIC;partialResultsMode=false;VirtualDatabaseName=vdbName;sqlOptions=SHOWPLAN");
//$NON-NLS-1$
+
"jdbc:metamatrix:vdbName@mm://hostName:7001,hostName:7002,hostName2:7001,hostName2:7002;ApplicationName=JDBC;serverURL=mm://hostName:7001,hostName:7002,hostName2:7001,hostName2:7002;txnAutoWrap=PESSIMISTIC;partialResultsMode=false;VirtualDatabaseName=vdbName;sqlOptions=SHOWPLAN");
//$NON-NLS-1$
}
/*
@@ -577,7 +588,7 @@
final String partialMode = "false"; //$NON-NLS-1$
final boolean secure = true;
helpTestBuildingURL(vdbName,vdbVersion,serverName,portNumber,alternateServers,transactionAutoWrap,
partialMode, -1, true, secure,
-
"jdbc:metamatrix:vdbName@mms://hostName:7001,hostName:7002,hostName2:7001,hostName2:7002;serverURL=mms://hostName:7001,hostName:7002,hostName2:7001,hostName2:7002;txnAutoWrap=PESSIMISTIC;partialResultsMode=false;VirtualDatabaseName=vdbName;sqlOptions=SHOWPLAN");
//$NON-NLS-1$
+
"jdbc:metamatrix:vdbName@mms://hostName:7001,hostName:7002,hostName2:7001,hostName2:7002;ApplicationName=JDBC;serverURL=mms://hostName:7001,hostName:7002,hostName2:7001,hostName2:7002;txnAutoWrap=PESSIMISTIC;partialResultsMode=false;VirtualDatabaseName=vdbName;sqlOptions=SHOWPLAN");
//$NON-NLS-1$
}
/*
@@ -596,7 +607,7 @@
final String partialMode = "false"; //$NON-NLS-1$
final boolean secure = false;
helpTestBuildingURL(vdbName,vdbVersion,serverName,portNumber,alternateServers,transactionAutoWrap,
partialMode, -1, true, secure,
-
"jdbc:metamatrix:vdbName@mm://hostName:7001,hostName:7002,hostName2:7001,hostName2:7002;serverURL=mm://hostName:7001,hostName:7002,hostName2:7001,hostName2:7002;txnAutoWrap=PESSIMISTIC;partialResultsMode=false;VirtualDatabaseName=vdbName;sqlOptions=SHOWPLAN");
//$NON-NLS-1$
+
"jdbc:metamatrix:vdbName@mm://hostName:7001,hostName:7002,hostName2:7001,hostName2:7002;ApplicationName=JDBC;serverURL=mm://hostName:7001,hostName:7002,hostName2:7001,hostName2:7002;txnAutoWrap=PESSIMISTIC;partialResultsMode=false;VirtualDatabaseName=vdbName;sqlOptions=SHOWPLAN");
//$NON-NLS-1$
}
public void testBuildURL_AdditionalProperties() {
@@ -605,7 +616,7 @@
ds.setServerName("hostName"); //$NON-NLS-1$
ds.setDatabaseName("vdbName"); //$NON-NLS-1$
ds.setPortNumber(1);
-
assertEquals("jdbc:metamatrix:vdbName@mm://hostname:1;fetchSize=2000;serverURL=mm://hostname:1;a=b;VirtualDatabaseName=vdbName;foo=bar",
ds.buildURL()); //$NON-NLS-1$
+
assertEquals("jdbc:metamatrix:vdbName@mm://hostname:1;fetchSize=2000;ApplicationName=JDBC;serverURL=mm://hostname:1;a=b;VirtualDatabaseName=vdbName;foo=bar",
ds.buildURL()); //$NON-NLS-1$
}
public void testInvalidDataSource() {
Modified: trunk/client-jdbc/src/test/java/com/metamatrix/jdbc/TestMMDriver.java
===================================================================
--- trunk/client-jdbc/src/test/java/com/metamatrix/jdbc/TestMMDriver.java 2009-03-31
21:10:32 UTC (rev 674)
+++ trunk/client-jdbc/src/test/java/com/metamatrix/jdbc/TestMMDriver.java 2009-03-31
21:27:02 UTC (rev 675)
@@ -98,7 +98,7 @@
MMDriver.getInstance().parseURL("jdbc:metamatrix:BQT@mm://slwxp157:1234", p);
//$NON-NLS-1$
assertTrue(p.getProperty(BaseDataSource.VDB_NAME).equals("BQT"));
//$NON-NLS-1$
assertTrue(p.getProperty(MMURL.CONNECTION.SERVER_URL).equals("mm://slwxp157:1234"));
//$NON-NLS-1$
- assertEquals(2, p.size());
+ assertEquals(3, p.size());
}
public void testParseURL2() throws SQLException {
@@ -108,19 +108,21 @@
assertTrue(p.getProperty(BaseDataSource.VDB_VERSION).equals("3"));
//$NON-NLS-1$
assertTrue(p.getProperty(MMURL.CONNECTION.SERVER_URL).equals("mms://slwxp157:1234"));
//$NON-NLS-1$
assertTrue(p.getProperty(BaseDataSource.VERSION).equals("3"));
//$NON-NLS-1$
- assertEquals(4, p.size());
+
assertTrue(p.getProperty(BaseDataSource.APP_NAME).equals(BaseDataSource.DEFAULT_APP_NAME));
+ assertEquals(5, p.size());
}
public void testParseURL3() throws SQLException{
Properties p = new Properties();
-
MMDriver.getInstance().parseURL("jdbc:metamatrix:BQT@mm://slwxp157:1234,slntmm01:43401,sluxmm09:43302;version=4;txnAutoWrap=ON;partialResultsMode=YES",
p); //$NON-NLS-1$
+
MMDriver.getInstance().parseURL("jdbc:metamatrix:BQT@mm://slwxp157:1234,slntmm01:43401,sluxmm09:43302;version=4;txnAutoWrap=ON;partialResultsMode=YES;ApplicationName=Client",
p); //$NON-NLS-1$
assertTrue(p.getProperty(BaseDataSource.VDB_NAME).equals("BQT"));
//$NON-NLS-1$
assertTrue(p.getProperty(BaseDataSource.VDB_VERSION).equals("4"));
//$NON-NLS-1$
assertTrue(p.getProperty(ExecutionProperties.PROP_TXN_AUTO_WRAP).equals("ON"));
//$NON-NLS-1$
assertTrue(p.getProperty(ExecutionProperties.PROP_PARTIAL_RESULTS_MODE).equals("YES"));
//$NON-NLS-1$
assertTrue(p.getProperty(MMURL.CONNECTION.SERVER_URL).equals("mm://slwxp157:1234,slntmm01:43401,sluxmm09:43302"));
//$NON-NLS-1$
assertTrue(p.getProperty(BaseDataSource.VERSION).equals("4"));
//$NON-NLS-1$
- assertEquals(6, p.size());
+ assertTrue(p.getProperty(BaseDataSource.APP_NAME).equals("Client"));
//$NON-NLS-1$
+ assertEquals(7, p.size());
}
public void testGetPropertyInfo1() throws Exception {