Author: cbegin
Date: Sun May 24 21:28:59 2009
New Revision: 778241

URL: http://svn.apache.org/viewvc?rev=778241&view=rev
Log:
added test to verify nested result mappings

Modified:
    
ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/mapping/Configuration.java
    
ibatis/trunk/java/ibatis-3/ibatis-3-core/src/test/java/org/apache/ibatis/builder/MapperConfig.xml
    
ibatis/trunk/java/ibatis-3/ibatis-3-core/src/test/java/org/apache/ibatis/session/SqlSessionTest.java

Modified: 
ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/mapping/Configuration.java
URL: 
http://svn.apache.org/viewvc/ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/mapping/Configuration.java?rev=778241&r1=778240&r2=778241&view=diff
==============================================================================
--- 
ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/mapping/Configuration.java
 (original)
+++ 
ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/mapping/Configuration.java
 Sun May 24 21:28:59 2009
@@ -239,6 +239,10 @@
     return caches.get(id);
   }
 
+  public boolean hasCache(String id) {
+    return caches.containsKey(id);
+  }
+
   public void addResultMap(ResultMap rm) {
     resultMaps.put(rm.getId(), rm);
   }
@@ -255,6 +259,10 @@
     return resultMaps.get(id);
   }
 
+  public boolean hasResultMap(String id) {
+    return resultMaps.containsKey(id);
+  }
+
   public void addParameterMap(ParameterMap pm) {
     parameterMaps.put(pm.getId(), pm);
   }
@@ -271,6 +279,10 @@
     return parameterMaps.get(id);
   }
 
+  public boolean hasParameterMap(String id) {
+    return parameterMaps.containsKey(id);
+  }
+
   public void addMappedStatement(MappedStatement ms) {
     mappedStatements.put(ms.getId(), ms);
   }

Modified: 
ibatis/trunk/java/ibatis-3/ibatis-3-core/src/test/java/org/apache/ibatis/builder/MapperConfig.xml
URL: 
http://svn.apache.org/viewvc/ibatis/trunk/java/ibatis-3/ibatis-3-core/src/test/java/org/apache/ibatis/builder/MapperConfig.xml?rev=778241&r1=778240&r2=778241&view=diff
==============================================================================
--- 
ibatis/trunk/java/ibatis-3/ibatis-3-core/src/test/java/org/apache/ibatis/builder/MapperConfig.xml
 (original)
+++ 
ibatis/trunk/java/ibatis-3/ibatis-3-core/src/test/java/org/apache/ibatis/builder/MapperConfig.xml
 Sun May 24 21:28:59 2009
@@ -59,11 +59,11 @@
   </environments>
 
   <mappers>
-    <!-- mapperXML vs. mapperClass-->
     <mapper resource="org/apache/ibatis/builder/AuthorMapper.xml"/>
     <mapper resource="org/apache/ibatis/builder/BlogMapper.xml"/>
     <mapper resource="org/apache/ibatis/builder/CachedAuthorMapper.xml"/>
     <mapper resource="org/apache/ibatis/builder/PostMapper.xml"/>
+    <mapper resource="org/apache/ibatis/builder/NestedBlogMapper.xml"/>
   </mappers>
 
 </configuration>

Modified: 
ibatis/trunk/java/ibatis-3/ibatis-3-core/src/test/java/org/apache/ibatis/session/SqlSessionTest.java
URL: 
http://svn.apache.org/viewvc/ibatis/trunk/java/ibatis-3/ibatis-3-core/src/test/java/org/apache/ibatis/session/SqlSessionTest.java?rev=778241&r1=778240&r2=778241&view=diff
==============================================================================
--- 
ibatis/trunk/java/ibatis-3/ibatis-3-core/src/test/java/org/apache/ibatis/session/SqlSessionTest.java
 (original)
+++ 
ibatis/trunk/java/ibatis-3/ibatis-3-core/src/test/java/org/apache/ibatis/session/SqlSessionTest.java
 Sun May 24 21:28:59 2009
@@ -221,6 +221,38 @@
   }
 
   @Test
+  public void shouldSelectNestedBlogWithPostsAndAuthorUsingJoin() throws 
Exception {
+    SqlSession session = sqlMapper.openSession();
+    try {
+      Blog blog = (Blog) 
session.selectOne("domain.blog.mappers.NestedBlogMapper.selectBlogJoinedWithPostsAndAuthor",
 1);
+      assertEquals("Jim Business", blog.getTitle());
+
+      final Author author = blog.getAuthor();
+      assertEquals(101, author.getId());
+      assertEquals("jim", author.getUsername());
+
+      final List<Post> posts = blog.getPosts();
+      assertEquals(2, posts.size());
+
+      final Post post = blog.getPosts().get(0);
+      assertEquals(1, post.getId());
+      assertEquals("Corn nuts", post.getSubject());
+
+      final List<Comment> comments = post.getComments();
+      assertEquals(1, comments.size());
+
+      final Comment comment = comments.get(0);
+      assertEquals(1, comment.getId());
+
+      assertEquals(DraftPost.class, blog.getPosts().get(0).getClass());
+      assertEquals(Post.class, blog.getPosts().get(1).getClass());
+
+    } finally {
+      session.close();
+    }
+  }
+
+  @Test
   public void shouldThrowExceptionIfMappedStatementDoesNotExist() throws 
Exception {
     SqlSession session = sqlMapper.openSession();
     try {


Reply via email to