Author: cbegin Date: Sat Mar 22 22:59:56 2008 New Revision: 640159 URL: http://svn.apache.org/viewvc?rev=640159&view=rev Log: Fixed 487: Set support in lazy loader
Modified: ibatis/trunk/java/mapper/mapper2/build/version.properties ibatis/trunk/java/mapper/mapper2/src/com/ibatis/sqlmap/engine/mapping/result/loader/LazyResultLoader.java Modified: ibatis/trunk/java/mapper/mapper2/build/version.properties URL: http://svn.apache.org/viewvc/ibatis/trunk/java/mapper/mapper2/build/version.properties?rev=640159&r1=640158&r2=640159&view=diff ============================================================================== --- ibatis/trunk/java/mapper/mapper2/build/version.properties (original) +++ ibatis/trunk/java/mapper/mapper2/build/version.properties Sat Mar 22 22:59:56 2008 @@ -1,5 +1,5 @@ #Build version info -#Sat Mar 22 22:51:13 MDT 2008 +#Sat Mar 22 23:32:54 MDT 2008 version=2.3.1 -buildDate=2008/03/22 22\:51 -buildNum=706 +buildDate=2008/03/22 23\:32 +buildNum=708 Modified: ibatis/trunk/java/mapper/mapper2/src/com/ibatis/sqlmap/engine/mapping/result/loader/LazyResultLoader.java URL: http://svn.apache.org/viewvc/ibatis/trunk/java/mapper/mapper2/src/com/ibatis/sqlmap/engine/mapping/result/loader/LazyResultLoader.java?rev=640159&r1=640158&r2=640159&view=diff ============================================================================== --- ibatis/trunk/java/mapper/mapper2/src/com/ibatis/sqlmap/engine/mapping/result/loader/LazyResultLoader.java (original) +++ ibatis/trunk/java/mapper/mapper2/src/com/ibatis/sqlmap/engine/mapping/result/loader/LazyResultLoader.java Sat Mar 22 22:59:56 2008 @@ -16,7 +16,6 @@ package com.ibatis.sqlmap.engine.mapping.result.loader; import com.ibatis.common.beans.ClassInfo; - import com.ibatis.sqlmap.engine.impl.SqlMapClientImpl; import java.lang.reflect.InvocationHandler; @@ -25,12 +24,14 @@ import java.sql.SQLException; import java.util.Collection; import java.util.List; +import java.util.Set; /** * Class to lazily load results into objects */ public class LazyResultLoader implements InvocationHandler { + private static final Class[] SET_INTERFACES = new Class[]{Set.class}; private static final Class[] LIST_INTERFACES = new Class[]{List.class}; protected SqlMapClientImpl client; @@ -67,7 +68,11 @@ if (Collection.class.isAssignableFrom(targetType)) { InvocationHandler handler = new LazyResultLoader(client, statementName, parameterObject, targetType); ClassLoader cl = targetType.getClassLoader(); - return Proxy.newProxyInstance(cl, LIST_INTERFACES, handler); + if (Set.class.isAssignableFrom(targetType)) { + return Proxy.newProxyInstance(cl, SET_INTERFACES, handler); + } else { + return Proxy.newProxyInstance(cl, LIST_INTERFACES, handler); + } } else { return ResultLoader.getResult(client, statementName, parameterObject, targetType); }