Author: cbegin
Date: Sat Dec  5 02:53:51 2009
New Revision: 887486

URL: http://svn.apache.org/viewvc?rev=887486&view=rev
Log:
Fixed stack overflow on UnknownTypeHandler

Modified:
    
ibatis/java/ibatis-3/trunk/ibatis-3-core/src/main/java/org/apache/ibatis/type/UnknownTypeHandler.java

Modified: 
ibatis/java/ibatis-3/trunk/ibatis-3-core/src/main/java/org/apache/ibatis/type/UnknownTypeHandler.java
URL: 
http://svn.apache.org/viewvc/ibatis/java/ibatis-3/trunk/ibatis-3-core/src/main/java/org/apache/ibatis/type/UnknownTypeHandler.java?rev=887486&r1=887485&r2=887486&view=diff
==============================================================================
--- 
ibatis/java/ibatis-3/trunk/ibatis-3-core/src/main/java/org/apache/ibatis/type/UnknownTypeHandler.java
 (original)
+++ 
ibatis/java/ibatis-3/trunk/ibatis-3-core/src/main/java/org/apache/ibatis/type/UnknownTypeHandler.java
 Sat Dec  5 02:53:51 2009
@@ -7,6 +7,8 @@
 
 public class UnknownTypeHandler extends BaseTypeHandler {
 
+  private static final ObjectTypeHandler OBJECT_TYPE_HANDLER = new 
ObjectTypeHandler();
+
   private TypeHandlerRegistry typeHandlerRegistry;
 
   public UnknownTypeHandler(TypeHandlerRegistry typeHandlerRegistry) {
@@ -32,9 +34,12 @@
   private TypeHandler resolveTypeHandler(Object parameter, JdbcType jdbcType) {
     TypeHandler handler;
     if (parameter == null) {
-      handler = typeHandlerRegistry.getTypeHandler(Object.class);
+      handler = OBJECT_TYPE_HANDLER;
     } else {
       handler = typeHandlerRegistry.getTypeHandler(parameter.getClass(), 
jdbcType);
+      if (handler instanceof UnknownTypeHandler) {
+        handler = OBJECT_TYPE_HANDLER;
+      }
     }
     return handler;
   }


Reply via email to