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>