[teiid-commits] teiid SVN: r1896 - in trunk: client-jdbc/src/test/java/com/metamatrix/jdbc/api and 1 other directories.
teiid-commits at lists.jboss.org
teiid-commits at lists.jboss.org
Wed Mar 3 20:32:55 EST 2010
Author: shawkins
Date: 2010-03-03 20:32:54 -0500 (Wed, 03 Mar 2010)
New Revision: 1896
Modified:
trunk/client-jdbc/src/main/java/com/metamatrix/jdbc/MMResultSet.java
trunk/client-jdbc/src/test/java/com/metamatrix/jdbc/api/AbstractQueryTest.java
trunk/connectors/connector-jdbc/src/main/java/org/teiid/connector/jdbc/JDBCMetdataProcessor.java
Log:
minor cleanups prior to merge
Modified: trunk/client-jdbc/src/main/java/com/metamatrix/jdbc/MMResultSet.java
===================================================================
--- trunk/client-jdbc/src/main/java/com/metamatrix/jdbc/MMResultSet.java 2010-03-04 01:31:04 UTC (rev 1895)
+++ trunk/client-jdbc/src/main/java/com/metamatrix/jdbc/MMResultSet.java 2010-03-04 01:32:54 UTC (rev 1896)
@@ -25,6 +25,7 @@
import java.io.IOException;
import java.io.InputStream;
import java.io.Reader;
+import java.io.StringReader;
import java.math.BigDecimal;
import java.net.URL;
import java.sql.Array;
@@ -688,8 +689,12 @@
if (value instanceof Clob) {
return ((Clob) value).getCharacterStream();
}
-
- throw new MMSQLException(JDBCPlugin.Util.getString("MMResultSet.cannot_convert_to_character_stream")); //$NON-NLS-1$
+
+ if (value instanceof SQLXML) {
+ return ((SQLXML)value).getCharacterStream();
+ }
+
+ return new StringReader(getString(columnIndex));
}
/**
Modified: trunk/client-jdbc/src/test/java/com/metamatrix/jdbc/api/AbstractQueryTest.java
===================================================================
--- trunk/client-jdbc/src/test/java/com/metamatrix/jdbc/api/AbstractQueryTest.java 2010-03-04 01:31:04 UTC (rev 1895)
+++ trunk/client-jdbc/src/test/java/com/metamatrix/jdbc/api/AbstractQueryTest.java 2010-03-04 01:32:54 UTC (rev 1896)
@@ -142,7 +142,7 @@
}
protected Statement createPrepareCallStatement(String sql) throws SQLException{
- return this.internalConnection.prepareCall("{?=call "+sql+"}");
+ return this.internalConnection.prepareCall("{?=call "+sql+"}"); //$NON-NLS-1$ //$NON-NLS-2$
}
protected Statement createPrepareStatement(String sql) throws SQLException{
@@ -153,8 +153,6 @@
return this.internalConnection.createStatement();
}
-
-
private void setParameters(PreparedStatement stmt, Object[] params) throws SQLException{
for (int i = 0; i < params.length; i++) {
stmt.setObject(i+1, params[i]);
@@ -239,27 +237,17 @@
}
public void assertResultsSetEquals(ResultSet resultSet, File expected) {
- assertNotNull(resultSet);
-
- BufferedReader resultReader = null;
- BufferedReader expectedReader = null;
+ assertNotNull(resultSet);
try {
- resultReader = new BufferedReader(new ResultSetReader(resultSet, DELIMITER));
writeResultSet(expected, new BufferedReader(new ResultSetReader(resultSet, DELIMITER)));
if (resultSet.getType() != ResultSet.TYPE_FORWARD_ONLY) {
resultSet.beforeFirst();
}
- expectedReader = new BufferedReader(new FileReader(expected));
- compareResults(resultReader, expectedReader);
- } catch (Exception e) {
+ assertReaderEquals(new ResultSetReader(resultSet, DELIMITER), new FileReader(expected));
+ } catch (IOException e) {
throw new RuntimeException(e);
- }finally {
- try {
- resultReader.close();
- expectedReader.close();
- } catch (IOException e) {
- throw new RuntimeException(e);
- }
+ } catch (SQLException e) {
+ throw new RuntimeException(e);
}
}
@@ -283,23 +271,7 @@
public void assertResultsSetEquals(ResultSet resultSet,String expected) {
assertNotNull(resultSet);
-
- BufferedReader resultReader = null;
- BufferedReader expectedReader = null;
- try {
- resultReader = new BufferedReader(new ResultSetReader(resultSet, DELIMITER));
- expectedReader = new BufferedReader(new StringReader(expected));
- compareResults(resultReader, expectedReader);
- }catch(Exception e){
- throw new RuntimeException(e);
- }finally {
- try {
- resultReader.close();
- expectedReader.close();
- } catch (IOException e) {
- throw new RuntimeException(e);
- }
- }
+ assertReaderEquals(new ResultSetReader(resultSet, DELIMITER), new StringReader(expected));
}
public void assertResults(String[] expected) {
@@ -312,32 +284,13 @@
public void assertResultsSetEquals(ResultSet resultSet, String[] expected) {
assertNotNull(resultSet);
-
- BufferedReader resultReader = null;
- BufferedReader expectedReader = null;
- try {
- resultReader = new BufferedReader(new ResultSetReader(resultSet, DELIMITER));
- expectedReader = new BufferedReader(new StringArrayReader(expected));
- compareResults(resultReader, expectedReader);
- }catch(Exception e){
- throw new RuntimeException(e);
- }finally {
- try {
- resultReader.close();
- expectedReader.close();
- } catch (IOException e) {
- throw new RuntimeException(e);
- }
- }
+ assertReaderEquals(new ResultSetReader(resultSet, DELIMITER), new StringArrayReader(expected));
}
public void assertReaderEquals(Reader expected, Reader reader) {
-
- BufferedReader resultReader = null;
- BufferedReader expectedReader = null;
+ BufferedReader resultReader = new BufferedReader(expected);
+ BufferedReader expectedReader = new BufferedReader(reader);
try {
- expectedReader = new BufferedReader(expected);
- resultReader = new BufferedReader(reader);
compareResults(resultReader, expectedReader);
} catch (Exception e) {
throw new RuntimeException(e);
@@ -353,47 +306,19 @@
public void assertResultsSetMetadataEquals(ResultSetMetaData metadata, File expected) {
assertNotNull(metadata);
-
- BufferedReader resultReader = null;
- BufferedReader expectedReader = null;
try {
- resultReader = new BufferedReader(new MetadataReader(metadata, DELIMITER));
writeResultSet(expected, new BufferedReader(new MetadataReader(metadata, DELIMITER)));
- expectedReader = new BufferedReader(new FileReader(expected));
- compareResults(resultReader, expectedReader);
- } catch (Exception e) {
+ assertReaderEquals(new MetadataReader(metadata, DELIMITER), new FileReader(expected));
+ } catch (IOException e) {
throw new RuntimeException(e);
- }finally {
- try {
- resultReader.close();
- expectedReader.close();
- } catch (IOException e) {
- throw new RuntimeException(e);
- }
- }
+ }
}
public void assertResultsSetMetadataEquals(ResultSetMetaData metadata, String[] expected) {
- assertNotNull(metadata);
-
- BufferedReader resultReader = null;
- BufferedReader expectedReader = null;
- try {
- resultReader = new BufferedReader(new MetadataReader(metadata, DELIMITER));
- expectedReader = new BufferedReader(new StringArrayReader(expected));
- compareResults(resultReader, expectedReader);
- } catch (Exception e) {
- throw new RuntimeException(e);
- }finally {
- try {
- resultReader.close();
- expectedReader.close();
- } catch (IOException e) {
- throw new RuntimeException(e);
- }
- }
+ assertNotNull(metadata);
+ assertReaderEquals(new MetadataReader(metadata, DELIMITER), new StringArrayReader(expected));
}
-
+
protected static String read(BufferedReader r, boolean casesensitive) throws IOException {
StringBuffer result = new StringBuffer();
String s = null;
Modified: trunk/connectors/connector-jdbc/src/main/java/org/teiid/connector/jdbc/JDBCMetdataProcessor.java
===================================================================
--- trunk/connectors/connector-jdbc/src/main/java/org/teiid/connector/jdbc/JDBCMetdataProcessor.java 2010-03-04 01:31:04 UTC (rev 1895)
+++ trunk/connectors/connector-jdbc/src/main/java/org/teiid/connector/jdbc/JDBCMetdataProcessor.java 2010-03-04 01:32:54 UTC (rev 1896)
@@ -204,49 +204,34 @@
String remarks = tables.getString(5);
table.setAnnotation(remarks);
tableMap.put(fullName, new TableInfo(tableCatalog, tableSchema, tableName, table));
+
+ ResultSet columns = metadata.getColumns(tableCatalog, tableSchema, tableName, null);
+ int rsColumns = columns.getMetaData().getColumnCount();
+ while (columns.next()) {
+ String columnName = columns.getString(4);
+ int type = columns.getInt(5);
+ String typeName = columns.getString(6);
+ type = checkForUnsigned(type, typeName);
+ //note that the resultset is already ordered by position, so we can rely on just adding columns in order
+ Column column = metadataFactory.addColumn(columnName, TypeFacility.getDataTypeNameFromSQLType(type), table);
+ column.setNameInSource(quoteName(columnName));
+ column.setNativeType(columns.getString(6));
+ column.setRadix(columns.getInt(10));
+ column.setNullType(NullType.values()[columns.getShort(11)]);
+ column.setUpdatable(true);
+ column.setAnnotation(columns.getString(12));
+ column.setCharOctetLength(columns.getInt(16));
+ if (rsColumns >= 23) {
+ column.setAutoIncrementable("YES".equalsIgnoreCase(columns.getString(23))); //$NON-NLS-1$
+ }
+ }
+ columns.close();
}
tables.close();
- getColumns(metadataFactory, metadata, tableMap);
return tableMap;
}
- private void getColumns(MetadataFactory metadataFactory,
- DatabaseMetaData metadata, Map<String, TableInfo> tableMap)
- throws SQLException, ConnectorException {
- logger.logDetail("JDBCMetadataProcessor - Importing columns"); //$NON-NLS-1$
- ResultSet columns = metadata.getColumns(catalog, schemaPattern, tableNamePattern, null);
- int rsColumns = columns.getMetaData().getColumnCount();
- while (columns.next()) {
- String tableCatalog = columns.getString(1);
- String tableSchema = columns.getString(2);
- String tableName = columns.getString(3);
- String fullTableName = getFullyQualifiedName(tableCatalog, tableSchema, tableName);
- TableInfo tableInfo = tableMap.get(fullTableName);
- if (tableInfo == null) {
- continue;
- }
- String columnName = columns.getString(4);
- int type = columns.getInt(5);
- String typeName = columns.getString(6);
- type = checkForUnsigned(type, typeName);
- //note that the resultset is already ordered by position, so we can rely on just adding columns in order
- Column column = metadataFactory.addColumn(columnName, TypeFacility.getDataTypeNameFromSQLType(type), tableInfo.table);
- column.setNameInSource(quoteName(columnName));
- column.setNativeType(columns.getString(6));
- column.setRadix(columns.getInt(10));
- column.setNullType(NullType.values()[columns.getShort(11)]);
- column.setUpdatable(true);
- String remarks = columns.getString(12);
- column.setAnnotation(remarks);
- column.setCharOctetLength(columns.getInt(16));
- if (rsColumns >= 23) {
- column.setAutoIncrementable("YES".equalsIgnoreCase(columns.getString(23))); //$NON-NLS-1$
- }
- }
- columns.close();
- }
-
private String quoteName(String name) {
if (quoteNameInSource) {
return quoteString + StringUtil.replaceAll(name, quoteString, quoteString + quoteString) + quoteString;
More information about the teiid-commits
mailing list