Index: src/java/org/apache/turbine/torque/engine/database/model/TypeMap.java
===================================================================
RCS file: /home/cvspublic/jakarta-turbine/src/java/org/apache/turbine/torque/engine/database/model/TypeMap.java,v
retrieving revision 1.2
diff -u -r1.2 TypeMap.java
--- src/java/org/apache/turbine/torque/engine/database/model/TypeMap.java	2001/03/06 06:13:10	1.2
+++ src/java/org/apache/turbine/torque/engine/database/model/TypeMap.java	2001/07/10 19:01:45
@@ -56,6 +56,7 @@
 
 import java.util.Hashtable;
 import java.util.Date;
+import java.sql.Types;
 
 import java.math.BigDecimal;
 
@@ -237,6 +238,7 @@
     private static Hashtable jdbcToVillageMethodMap = null;
     private static Hashtable jdbcToPPMethodMap = null;
     private static Hashtable torqueTypeToJdbcTypeMap = null;
+    private static Hashtable jdbcToTorqueTypeMap = null;
     private static boolean isInitialized = false;
 
     /**
@@ -394,6 +396,33 @@
             torqueTypeToJdbcTypeMap.put(TIMESTAMP, TIMESTAMP);
             torqueTypeToJdbcTypeMap.put(BOOLEANCHAR, CHAR);
             torqueTypeToJdbcTypeMap.put(BOOLEANINT, INTEGER);
+            
+            /*
+             * Create JDBC type code to torque type map.
+             */
+            jdbcToTorqueTypeMap = new Hashtable();
+
+            jdbcToTorqueTypeMap.put(new Integer(Types.CHAR), CHAR);
+            jdbcToTorqueTypeMap.put(new Integer(Types.VARCHAR), VARCHAR);
+            jdbcToTorqueTypeMap.put(new Integer(Types.LONGVARCHAR), LONGVARCHAR);
+            jdbcToTorqueTypeMap.put(new Integer(Types.CLOB), CLOB);
+            jdbcToTorqueTypeMap.put(new Integer(Types.NUMERIC), NUMERIC);
+            jdbcToTorqueTypeMap.put(new Integer(Types.DECIMAL), DECIMAL);
+            jdbcToTorqueTypeMap.put(new Integer(Types.BIT), BIT);
+            jdbcToTorqueTypeMap.put(new Integer(Types.TINYINT), TINYINT);
+            jdbcToTorqueTypeMap.put(new Integer(Types.SMALLINT), SMALLINT);
+            jdbcToTorqueTypeMap.put(new Integer(Types.INTEGER), INTEGER);
+            jdbcToTorqueTypeMap.put(new Integer(Types.BIGINT), BIGINT);
+            jdbcToTorqueTypeMap.put(new Integer(Types.REAL), REAL);
+            jdbcToTorqueTypeMap.put(new Integer(Types.FLOAT), FLOAT);
+            jdbcToTorqueTypeMap.put(new Integer(Types.DOUBLE), DOUBLE);
+            jdbcToTorqueTypeMap.put(new Integer(Types.BINARY), BINARY);
+            jdbcToTorqueTypeMap.put(new Integer(Types.VARBINARY), VARBINARY);
+            jdbcToTorqueTypeMap.put(new Integer(Types.LONGVARBINARY), LONGVARBINARY);
+            jdbcToTorqueTypeMap.put(new Integer(Types.BLOB), BLOB);
+            jdbcToTorqueTypeMap.put(new Integer(Types.DATE), DATE);
+            jdbcToTorqueTypeMap.put(new Integer(Types.TIME), TIME);
+            jdbcToTorqueTypeMap.put(new Integer(Types.TIMESTAMP), TIMESTAMP);
 
             isInitialized = true;
         }
@@ -482,6 +511,21 @@
             initialize();
         
         return (String) torqueTypeToJdbcTypeMap.get(type);
+    }
+    
+    /**
+     * Returns Torque type constant corresponding to JDBC type code.
+     * Used but Torque JDBC task. 
+     */
+    public static String getTorqueType(Integer sqlType)
+    {
+         /*
+         * Make sure the we are initialized.
+         */
+        if (isInitialized == false)
+            initialize();
+
+        return (String)jdbcToTorqueTypeMap.get(sqlType);
     }
 
     /**

