Author: cbegin
Date: Mon Sep  1 18:11:11 2008
New Revision: 691088

URL: http://svn.apache.org/viewvc?rev=691088&view=rev
Log:
added discriminator config mapper

Modified:
    
ibatis/trunk/java/ibatis-3/ibatis-3-monarch/src/main/java/org/apache/ibatis/monarch/builder/MapperParser.java
    
ibatis/trunk/java/ibatis-3/ibatis-3-monarch/src/test/java/org/apache/ibatis/monarch/example/BlogMapper.xml

Modified: 
ibatis/trunk/java/ibatis-3/ibatis-3-monarch/src/main/java/org/apache/ibatis/monarch/builder/MapperParser.java
URL: 
http://svn.apache.org/viewvc/ibatis/trunk/java/ibatis-3/ibatis-3-monarch/src/main/java/org/apache/ibatis/monarch/builder/MapperParser.java?rev=691088&r1=691087&r2=691088&view=diff
==============================================================================
--- 
ibatis/trunk/java/ibatis-3/ibatis-3-monarch/src/main/java/org/apache/ibatis/monarch/builder/MapperParser.java
 (original)
+++ 
ibatis/trunk/java/ibatis-3/ibatis-3-monarch/src/main/java/org/apache/ibatis/monarch/builder/MapperParser.java
 Mon Sep  1 18:11:11 2008
@@ -13,6 +13,9 @@
   private ResultMap.Builder resultMapBuilder;
   private List<ResultMapping> resultMappings;
 
+  private Discriminator.Builder discriminatorBuilder;
+  private HashMap<String, String> discriminatorMap;
+
   public MapperParser(Reader reader, MonarchConfiguration configuration) {
     this.reader = reader;
 
@@ -88,12 +91,35 @@
   }
 
   //  <collection property="" column="" javaType="" select="" resultMap=""/>
-  @Nodelet("/mapper/resultMap/result")
+  @Nodelet("/mapper/resultMap/collection")
   public void resultMapCollectionElement(NodeletContext context) throws 
Exception {
     ResultMapping.Builder builder = buildMappingFromContext(context);
     resultMappings.add(builder.build());
   }
 
+  //  <discriminator column="" javaType="" jdbcType="">
+  @Nodelet("/mapper/resultMap/discriminator")
+  public void resultMapDiscriminatorElement(NodeletContext context) throws 
Exception {
+    ResultMapping.Builder resultMappingBuilder = 
buildMappingFromContext(context);
+    discriminatorMap = new HashMap<String,String>();
+    discriminatorBuilder = new 
Discriminator.Builder(resultMappingBuilder.build(),discriminatorMap);
+  }
+
+  //  <discriminator column="" javaType="" jdbcType="">
+  //    <case value="" resultMap=""/>
+  @Nodelet("/mapper/resultMap/discriminator/case")
+  public void resultMapDiscriminatorCaseElement(NodeletContext context) throws 
Exception {
+    String value = context.getStringAttribute("value");
+    String resultMap = context.getStringAttribute("resultMap");
+    discriminatorMap.put(value,resultMap);
+  }
+
+  //  </discriminator>
+  @Nodelet("/mapper/resultMap/discriminator/end()")
+  public void resultMapDiscriminatorClosingElement(NodeletContext context) 
throws Exception {
+    resultMapBuilder.discriminator(discriminatorBuilder.build());
+  }
+
   //  </resultMap>
   @Nodelet("/mapper/resultMap/end()")
   public void resultMapClosingElement(NodeletContext context) throws Exception 
{

Modified: 
ibatis/trunk/java/ibatis-3/ibatis-3-monarch/src/test/java/org/apache/ibatis/monarch/example/BlogMapper.xml
URL: 
http://svn.apache.org/viewvc/ibatis/trunk/java/ibatis-3/ibatis-3-monarch/src/test/java/org/apache/ibatis/monarch/example/BlogMapper.xml?rev=691088&r1=691087&r2=691088&view=diff
==============================================================================
--- 
ibatis/trunk/java/ibatis-3/ibatis-3-monarch/src/test/java/org/apache/ibatis/monarch/example/BlogMapper.xml
 (original)
+++ 
ibatis/trunk/java/ibatis-3/ibatis-3-monarch/src/test/java/org/apache/ibatis/monarch/example/BlogMapper.xml
 Mon Sep  1 18:11:11 2008
@@ -12,7 +12,6 @@
     <discriminator column="" javaType="" jdbcType="">
       <case value="" resultMap=""/>
       <case value="" resultMap=""/>
-      <default value="" resultMap=""/>
     </discriminator>
   </resultMap>
 


Reply via email to