You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ibatis.apache.org by cb...@apache.org on 2008/03/23 06:59:57 UTC

svn commit: r640159 - in /ibatis/trunk/java/mapper/mapper2: build/version.properties src/com/ibatis/sqlmap/engine/mapping/result/loader/LazyResultLoader.java

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);
     }