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 {