Changeset: ad7b08ef7745 for monetdb-java
URL: https://dev.monetdb.org/hg/monetdb-java/rev/ad7b08ef7745
Modified Files:
        src/main/java/org/monetdb/jdbc/MonetDriver.java.in
        src/main/java/org/monetdb/jdbc/MonetPreparedStatement.java
        src/main/java/org/monetdb/jdbc/MonetResultSet.java
        src/main/java/org/monetdb/jdbc/MonetResultSetMetaData.java
Branch: default
Log Message:

Moving static method getClassForType() from MonetResulSet to MonetDriver class 
which is a much more logical place.


diffs (194 lines):

diff --git a/src/main/java/org/monetdb/jdbc/MonetDriver.java.in 
b/src/main/java/org/monetdb/jdbc/MonetDriver.java.in
--- a/src/main/java/org/monetdb/jdbc/MonetDriver.java.in
+++ b/src/main/java/org/monetdb/jdbc/MonetDriver.java.in
@@ -390,6 +390,62 @@ public class MonetDriver implements Driv
                return Types.OTHER;
        }
 
+       /**
+        * Returns the Class object for a given java.sql.Types value.
+        *
+        * @param type a value from java.sql.Types
+        * @return a Class object from which an instance would be returned
+        */
+       static final Class<?> getClassForType(final int type) {
+               /**
+                * This switch returns the types as objects according to table 
B-3 from
+                * Oracle's JDBC specification 4.1
+                */
+               switch(type) {
+                       case Types.CHAR:
+                       case Types.VARCHAR:
+                       case Types.LONGVARCHAR:
+                               return String.class;
+                       case Types.NUMERIC:
+                       case Types.DECIMAL:
+                               return java.math.BigDecimal.class;
+                       case Types.BOOLEAN:
+                               return Boolean.class;
+                       case Types.TINYINT:
+                       case Types.SMALLINT:
+                               return Short.class;
+                       case Types.INTEGER:
+                               return Integer.class;
+                       case Types.BIGINT:
+                               return Long.class;
+                       case Types.REAL:
+                               return Float.class;
+                       case Types.FLOAT:
+                       case Types.DOUBLE:
+                               return Double.class;
+                       case Types.BINARY:      // MonetDB currently does not 
support these
+                       case Types.VARBINARY:   // see treat_blob_as_binary 
property
+                       case Types.LONGVARBINARY:
+                               return byte[].class;
+                       case Types.DATE:
+                               return java.sql.Date.class;
+                       case Types.TIME:
+                       case Types.TIME_WITH_TIMEZONE:
+                               return java.sql.Time.class;
+                       case Types.TIMESTAMP:
+                       case Types.TIMESTAMP_WITH_TIMEZONE:
+                               return java.sql.Timestamp.class;
+                       case Types.CLOB:
+                               return java.sql.Clob.class;
+                       case Types.BLOB:
+                               return java.sql.Blob.class;
+
+                       // all the rest are currently not implemented and used
+                       default:
+                               return String.class;
+               }
+       }
+
        private static String TypeMapppingSQL;  // cache to optimise 
getSQLTypeMap()
        /**
         * Returns a String usable in an SQL statement to map the server types
diff --git a/src/main/java/org/monetdb/jdbc/MonetPreparedStatement.java 
b/src/main/java/org/monetdb/jdbc/MonetPreparedStatement.java
--- a/src/main/java/org/monetdb/jdbc/MonetPreparedStatement.java
+++ b/src/main/java/org/monetdb/jdbc/MonetPreparedStatement.java
@@ -736,7 +736,7 @@ public class MonetPreparedStatement
                                if (map != null && 
map.containsKey(MonetDBType)) {
                                        c = (Class)map.get(MonetDBType);
                                } else {
-                                       c = 
MonetResultSet.getClassForType(getColumnType(column));
+                                       c = 
MonetDriver.getClassForType(getColumnType(column));
                                }
                                if (c != null)
                                        return c.getCanonicalName();
@@ -1072,7 +1072,7 @@ public class MonetPreparedStatement
                                if (map != null && 
map.containsKey(MonetDBType)) {
                                        c = (Class)map.get(MonetDBType);
                                } else {
-                                       c = 
MonetResultSet.getClassForType(getParameterType(param));
+                                       c = 
MonetDriver.getClassForType(getParameterType(param));
                                }
                                if (c != null)
                                        return c.getCanonicalName();
diff --git a/src/main/java/org/monetdb/jdbc/MonetResultSet.java 
b/src/main/java/org/monetdb/jdbc/MonetResultSet.java
--- a/src/main/java/org/monetdb/jdbc/MonetResultSet.java
+++ b/src/main/java/org/monetdb/jdbc/MonetResultSet.java
@@ -1257,62 +1257,6 @@ public class MonetResultSet
        }
 
        /**
-        * Returns the Class object for a given java.sql.Types value.
-        *
-        * @param type a value from java.sql.Types
-        * @return a Class object from which an instance would be returned
-        */
-       static final Class<?> getClassForType(final int type) {
-               /**
-                * This switch returns the types as objects according to table 
B-3 from
-                * Oracle's JDBC specification 4.1
-                */
-               switch(type) {
-                       case Types.CHAR:
-                       case Types.VARCHAR:
-                       case Types.LONGVARCHAR:
-                               return String.class;
-                       case Types.NUMERIC:
-                       case Types.DECIMAL:
-                               return BigDecimal.class;
-                       case Types.BOOLEAN:
-                               return Boolean.class;
-                       case Types.TINYINT:
-                       case Types.SMALLINT:
-                               return Short.class;
-                       case Types.INTEGER:
-                               return Integer.class;
-                       case Types.BIGINT:
-                               return Long.class;
-                       case Types.REAL:
-                               return Float.class;
-                       case Types.FLOAT:
-                       case Types.DOUBLE:
-                               return Double.class;
-                       case Types.BINARY:      // MonetDB currently does not 
support these
-                       case Types.VARBINARY:   // see treat_blob_as_binary 
property
-                       case Types.LONGVARBINARY:
-                               return byte[].class;
-                       case Types.DATE:
-                               return java.sql.Date.class;
-                       case Types.TIME:
-                       case Types.TIME_WITH_TIMEZONE:
-                               return Time.class;
-                       case Types.TIMESTAMP:
-                       case Types.TIMESTAMP_WITH_TIMEZONE:
-                               return Timestamp.class;
-                       case Types.CLOB:
-                               return Clob.class;
-                       case Types.BLOB:
-                               return Blob.class;
-
-                       // all the rest are currently not implemented and used
-                       default:
-                               return String.class;
-               }
-       }
-
-       /**
         * Gets the value of the designated column in the current row of this
         * ResultSet object as an Object in the Java programming language.
         *
@@ -1534,7 +1478,7 @@ public class MonetResultSet
                }
                if (type == null) {
                        // fallback to the standard SQL type Class mappings
-                       type = getClassForType(JdbcSQLTypes[columnIndex - 1]);
+                       type = 
MonetDriver.getClassForType(JdbcSQLTypes[columnIndex - 1]);
                }
 
                if (type == null || type == String.class) {
diff --git a/src/main/java/org/monetdb/jdbc/MonetResultSetMetaData.java 
b/src/main/java/org/monetdb/jdbc/MonetResultSetMetaData.java
--- a/src/main/java/org/monetdb/jdbc/MonetResultSetMetaData.java
+++ b/src/main/java/org/monetdb/jdbc/MonetResultSetMetaData.java
@@ -8,10 +8,9 @@
 
 package org.monetdb.jdbc;
 
+import java.sql.ResultSetMetaData;
 import java.sql.SQLException;
-import java.sql.ResultSetMetaData;
 import java.sql.Types;
-import java.util.Map;
 
 /**
  *<pre>
@@ -698,14 +697,14 @@ public final class MonetResultSetMetaDat
                        final String MonetDBType = types[column - 1];
                        Class<?> type = null;
                        if (conn != null) {
-                               final Map<String,Class<?>> map = 
conn.getTypeMap();
+                               final java.util.Map<String,Class<?>> map = 
conn.getTypeMap();
                                if (map != null && 
map.containsKey(MonetDBType)) {
                                        type = (Class)map.get(MonetDBType);
                                }
                        }
                        if (type == null) {
                                // fallback to the standard SQL type Class 
mappings
-                               type = 
MonetResultSet.getClassForType(JdbcSQLTypes[column - 1]);
+                               type = 
MonetDriver.getClassForType(JdbcSQLTypes[column - 1]);
                        }
                        if (type != null) {
                                return type.getCanonicalName();
_______________________________________________
checkin-list mailing list -- [email protected]
To unsubscribe send an email to [email protected]

Reply via email to