Author: cbegin
Date: Sun Mar 21 21:09:19 2010
New Revision: 925899

URL: http://svn.apache.org/viewvc?rev=925899&view=rev
Log:
Added unit test to demonstrate read-only returns same instance.

Modified:
    
ibatis/java/ibatis-3/trunk/ibatis-3-core/src/main/java/org/apache/ibatis/executor/CachingExecutor.java
    
ibatis/java/ibatis-3/trunk/ibatis-3-core/src/test/java/org/apache/ibatis/binding/BindingTest.java
    
ibatis/java/ibatis-3/trunk/ibatis-3-core/src/test/java/org/apache/ibatis/binding/BoundAuthorMapper.java

Modified: 
ibatis/java/ibatis-3/trunk/ibatis-3-core/src/main/java/org/apache/ibatis/executor/CachingExecutor.java
URL: 
http://svn.apache.org/viewvc/ibatis/java/ibatis-3/trunk/ibatis-3-core/src/main/java/org/apache/ibatis/executor/CachingExecutor.java?rev=925899&r1=925898&r2=925899&view=diff
==============================================================================
--- 
ibatis/java/ibatis-3/trunk/ibatis-3-core/src/main/java/org/apache/ibatis/executor/CachingExecutor.java
 (original)
+++ 
ibatis/java/ibatis-3/trunk/ibatis-3-core/src/main/java/org/apache/ibatis/executor/CachingExecutor.java
 Sun Mar 21 21:09:19 2010
@@ -81,7 +81,9 @@ public class CachingExecutor implements 
     try {
       delegate.rollback(required);
     } finally {
-      tcm.rollback();
+      if (required) {
+        tcm.rollback();
+      }
     }
   }
 

Modified: 
ibatis/java/ibatis-3/trunk/ibatis-3-core/src/test/java/org/apache/ibatis/binding/BindingTest.java
URL: 
http://svn.apache.org/viewvc/ibatis/java/ibatis-3/trunk/ibatis-3-core/src/test/java/org/apache/ibatis/binding/BindingTest.java?rev=925899&r1=925898&r2=925899&view=diff
==============================================================================
--- 
ibatis/java/ibatis-3/trunk/ibatis-3-core/src/test/java/org/apache/ibatis/binding/BindingTest.java
 (original)
+++ 
ibatis/java/ibatis-3/trunk/ibatis-3-core/src/test/java/org/apache/ibatis/binding/BindingTest.java
 Sun Mar 21 21:09:19 2010
@@ -230,12 +230,16 @@ public class BindingTest {
 
   @Test
   public void shouldSelectOneAuthorFromCache() {
+    Author author1 = selectOneAuthor();
+    Author author2 = selectOneAuthor();
+    assertTrue("Same (cached) instance should be returned unless rollback is 
called.", author1 == author2);
+  }
+
+  private Author selectOneAuthor() {
     SqlSession session = sqlSessionFactory.openSession();
     try {
       BoundAuthorMapper mapper = session.getMapper(BoundAuthorMapper.class);
-      Author author1 = mapper.selectAuthor(101);
-      Author author2 = mapper.selectAuthor(101);
-      assertTrue("Same (cached) instance should be returned unless rollback is 
called.", author1 == author2);
+      return mapper.selectAuthor(101);
     } finally {
       session.close();
     }

Modified: 
ibatis/java/ibatis-3/trunk/ibatis-3-core/src/test/java/org/apache/ibatis/binding/BoundAuthorMapper.java
URL: 
http://svn.apache.org/viewvc/ibatis/java/ibatis-3/trunk/ibatis-3-core/src/test/java/org/apache/ibatis/binding/BoundAuthorMapper.java?rev=925899&r1=925898&r2=925899&view=diff
==============================================================================
--- 
ibatis/java/ibatis-3/trunk/ibatis-3-core/src/test/java/org/apache/ibatis/binding/BoundAuthorMapper.java
 (original)
+++ 
ibatis/java/ibatis-3/trunk/ibatis-3-core/src/test/java/org/apache/ibatis/binding/BoundAuthorMapper.java
 Sun Mar 21 21:09:19 2010
@@ -8,6 +8,7 @@ import org.apache.ibatis.session.RowBoun
 
 import java.util.List;
 
+...@cachenamespace(readWrite = false)
 public interface BoundAuthorMapper {
 
   //======================================================


Reply via email to