Author: cbegin
Date: Sun Apr 20 15:35:17 2008
New Revision: 649990

URL: http://svn.apache.org/viewvc?rev=649990&view=rev
Log:
updated final few things for 2.3.2

Modified:
    ibatis/trunk/java/mapper/mapper2/build/version.properties
    ibatis/trunk/java/mapper/mapper2/doc/release.txt
    
ibatis/trunk/java/mapper/mapper2/src/com/ibatis/sqlmap/engine/mapping/result/loader/EnhancedLazyResultLoader.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=649990&r1=649989&r2=649990&view=diff
==============================================================================
--- ibatis/trunk/java/mapper/mapper2/build/version.properties (original)
+++ ibatis/trunk/java/mapper/mapper2/build/version.properties Sun Apr 20 
15:35:17 2008
@@ -1,5 +1,5 @@
 #Build version info
-#Sun Mar 23 21:43:59 MDT 2008
-version=2.3.1
-buildDate=2008/03/23 21\:43
-buildNum=710
+#Sun Apr 20 16:20:34 MDT 2008
+version=2.3.2
+buildDate=2008/04/20 16\:20
+buildNum=715

Modified: ibatis/trunk/java/mapper/mapper2/doc/release.txt
URL: 
http://svn.apache.org/viewvc/ibatis/trunk/java/mapper/mapper2/doc/release.txt?rev=649990&r1=649989&r2=649990&view=diff
==============================================================================
--- ibatis/trunk/java/mapper/mapper2/doc/release.txt (original)
+++ ibatis/trunk/java/mapper/mapper2/doc/release.txt Sun Apr 20 15:35:17 2008
@@ -2,7 +2,15 @@
 Build Number: @buildNum@
 
 ------------------------------
- 2.x
+ 2.3.2
+------------------------------
+ o Updated this release.txt file for 2.3.1
+ o Made DTD backward compatible again.
+ o Applied consistent lazy loading Set fix to all lazy loader implementations
+ o Note that version 2.3.1 and beyond will throws exception for java bean 
specification violations
+   
+------------------------------
+ 2.3.1
 ------------------------------
  o Removed maxTransactions, maxRequests, maxSessions from configuration, all 
are now controlled by the resource providers
  o Fixed BATIS-391  - Cannot access Lists within custom objects.
@@ -11,7 +19,28 @@
  o Fixed IBATIS-490 - Improper use of getColumnLabel()
  o Fixed IBATIS-494 - Improper NULL handling in Blob and Clob Type Handlers
  o Fixed IBATIS-497 - Improper use of hashCode in SqlExecuter
-
+ o Fixed IBATIS-406 Bug in Ibatis sqlMap when one resultMap has multiple 
results that are resultMaps... then the groupby attribute only seems to work 
for the first embedded resultMap.
+ o Fixed IBATIS-456 ClassCastException when mapping primitive arrays due to 
attempts to cast to object arrays made by iBatis
+ o Fixed IBATIS-441 Multiple result sets support broken
+ o Fixed IBATIS-497 Bug when add two same length and hashCode SQLs to a batch 
executor
+ o Fixed IBATIS-484 oracle's user-defined objects not fully supported
+ o Fixed IBATIS-391 Can not access Lists within custom objects.
+ o Fixed IBATIS-359 Performance Improvement when No SecurityManager installed
+ o Fixed IBATIS-439 Batching of statements does not work for stored procedures
+ o Fixed IBATIS-435 Bug Using iBATIS 2.3.0 And Spring Framework
+ o Fixed IBATIS-489 CacheModel.NULL_OBJECT should be Serializable to be used 
with non-in-memory caches
+ o Fixed IBATIS-494 ClobTypeHandlerCallback handles NULLs incorrectly
+ o Fixed IBATIS-419 LazyLoad object is not serializable.
+ o Fixed IBATIS-490 When using implicit resultmap, the code fails throwing 
exception "Undefined Column Name"
+ o Fixed IBATIS-487 lazy loading support java.util.Set interface
+ o Fixed IBATIS-491 resultMap support java 5 enum to jdbcType VARCHAR
+ o Fixed IBATIS-388 Add methods to unwrap all Proxied Objects
+ o Fixed IBATIS-433 ResultSetLogProxy doesn't log null value incorrectly
+ o Fixed IBATIS-445 SqlText setText function and tab (\t) character in text 
definition
+ o Fixed IBATIS-479 Typo on com.ibatis.sqlmap.engine.conifg package
+ o Fixed IBATIS-387 bug in Jdk14LoggingImpl
+ o Fixed IBATIS-458 maxWait in Throttle can fail.
+ o Fixed IBATIS-467 flushInterval is limited to hours
 
 ------------------------------
  2.3.0 - Dec 01, 2006

Modified: 
ibatis/trunk/java/mapper/mapper2/src/com/ibatis/sqlmap/engine/mapping/result/loader/EnhancedLazyResultLoader.java
URL: 
http://svn.apache.org/viewvc/ibatis/trunk/java/mapper/mapper2/src/com/ibatis/sqlmap/engine/mapping/result/loader/EnhancedLazyResultLoader.java?rev=649990&r1=649989&r2=649990&view=diff
==============================================================================
--- 
ibatis/trunk/java/mapper/mapper2/src/com/ibatis/sqlmap/engine/mapping/result/loader/EnhancedLazyResultLoader.java
 (original)
+++ 
ibatis/trunk/java/mapper/mapper2/src/com/ibatis/sqlmap/engine/mapping/result/loader/EnhancedLazyResultLoader.java
 Sun Apr 20 15:35:17 2008
@@ -23,16 +23,19 @@
 import net.sf.cglib.proxy.InvocationHandler;
 
 import java.lang.reflect.Method;
+import java.lang.reflect.Proxy;
 import java.sql.SQLException;
 import java.util.Collection;
 import java.util.List;
+import java.util.Set;
 
 /**
  * Class to lazily load results into objects (uses CGLib to improve 
performance)
  */
 public class EnhancedLazyResultLoader {
 
-  private static final Class[] INTERFACES = new Class[]{List.class};
+  private static final Class[] SET_INTERFACES = new Class[]{Set.class};
+  private static final Class[] LIST_INTERFACES = new Class[]{List.class};
   private Object loader;
 
 
@@ -52,7 +55,7 @@
    * Loads the result
    *
    * @return the results - a list or object
-   * 
+   *
    * @throws SQLException if there is a problem
    */
   public Object loadResult() throws SQLException {
@@ -90,14 +93,18 @@
      * Loads the result
      *
      * @return the results - a list or object
-     * 
+     *
      * @throws SQLException if there is a problem
      */
     public Object loadResult() throws SQLException {
       if (DomTypeMarker.class.isAssignableFrom(targetType)) {
         return ResultLoader.getResult(client, statementName, parameterObject, 
targetType);
       } else if (Collection.class.isAssignableFrom(targetType)) {
-        return Enhancer.create(Object.class, INTERFACES, this);
+        if (Set.class.isAssignableFrom(targetType)) {
+          return Enhancer.create(Object.class, SET_INTERFACES, this);
+        } else {
+          return Enhancer.create(Object.class, LIST_INTERFACES, this);
+        }
       } else if (targetType.isArray() || ClassInfo.isKnownType(targetType)) {
         return ResultLoader.getResult(client, statementName, parameterObject, 
targetType);
       } else {


Reply via email to