Author: cbegin
Date: Fri Apr  3 04:08:08 2009
New Revision: 761516

URL: http://svn.apache.org/viewvc?rev=761516&view=rev
Log:
reorganized parser classes

Added:
    
ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/parser/annotation/
    
ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/parser/annotation/MapperAnnotationParser.java
      - copied, changed from r761509, 
ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/parser/MapperAnnotationParser.java
    
ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/parser/annotation/ProviderSqlSource.java
      - copied, changed from r761509, 
ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/parser/ProviderSqlSource.java
    
ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/parser/xml/
    
ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/parser/xml/DynamicSqlSource.java
      - copied, changed from r761509, 
ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/parser/DynamicSqlSource.java
    
ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/parser/xml/XMLMapperConfigParser.java
      - copied, changed from r761509, 
ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/parser/XMLMapperConfigParser.java
    
ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/parser/xml/XMLMapperEntityResolver.java
      - copied, changed from r761509, 
ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/parser/XMLMapperEntityResolver.java
    
ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/parser/xml/XMLMapperParser.java
      - copied, changed from r761509, 
ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/parser/XMLMapperParser.java
    
ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/parser/xml/ibatis-config-3.dtd
      - copied unchanged from r761509, 
ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/parser/ibatis-config-3.dtd
    
ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/parser/xml/ibatis-mapper-3.dtd
      - copied unchanged from r761509, 
ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/parser/ibatis-mapper-3.dtd
Removed:
    
ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/parser/DynamicSqlSource.java
    
ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/parser/MapperAnnotationParser.java
    
ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/parser/ParameterMappingTokenHandler.java
    
ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/parser/ProviderSqlSource.java
    
ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/parser/XMLMapperConfigParser.java
    
ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/parser/XMLMapperEntityResolver.java
    
ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/parser/XMLMapperParser.java
    
ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/parser/ibatis-config-3.dtd
    
ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/parser/ibatis-mapper-3.dtd
Modified:
    
ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/binding/MapperRegistry.java
    
ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/parser/SqlSourceParser.java
    
ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/session/SqlSessionFactoryBuilder.java

Modified: 
ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/binding/MapperRegistry.java
URL: 
http://svn.apache.org/viewvc/ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/binding/MapperRegistry.java?rev=761516&r1=761515&r2=761516&view=diff
==============================================================================
--- 
ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/binding/MapperRegistry.java
 (original)
+++ 
ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/binding/MapperRegistry.java
 Fri Apr  3 04:08:08 2009
@@ -1,7 +1,7 @@
 package org.apache.ibatis.binding;
 
 import org.apache.ibatis.mapping.Configuration;
-import org.apache.ibatis.parser.MapperAnnotationParser;
+import org.apache.ibatis.parser.annotation.MapperAnnotationParser;
 import org.apache.ibatis.session.SqlSession;
 
 import java.util.HashSet;

Modified: 
ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/parser/SqlSourceParser.java
URL: 
http://svn.apache.org/viewvc/ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/parser/SqlSourceParser.java?rev=761516&r1=761515&r2=761516&view=diff
==============================================================================
--- 
ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/parser/SqlSourceParser.java
 (original)
+++ 
ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/parser/SqlSourceParser.java
 Fri Apr  3 04:08:08 2009
@@ -2,7 +2,13 @@
 
 import org.apache.ibatis.mapping.Configuration;
 import org.apache.ibatis.mapping.SqlSource;
+import org.apache.ibatis.mapping.ParameterMapping;
 import org.apache.ibatis.xml.GenericTokenParser;
+import org.apache.ibatis.type.TypeHandler;
+
+import java.util.List;
+import java.util.ArrayList;
+import java.util.StringTokenizer;
 
 public class SqlSourceParser extends BaseParser {
 
@@ -17,5 +23,54 @@
     return new StaticSqlSource(sql, handler.getParameterMappings());
   }
 
+  private static class ParameterMappingTokenHandler extends BaseParser 
implements GenericTokenParser.TokenHandler {
+
+    private List<ParameterMapping> parameterMappings = new 
ArrayList<ParameterMapping>();
+
+    public ParameterMappingTokenHandler(Configuration configuration) {
+      super(configuration);
+    }
+
+    public List<ParameterMapping> getParameterMappings() {
+      return parameterMappings;
+    }
+
+    public String handleToken(String content) {
+      parameterMappings.add(buildParameterMapping(content));
+      return "?";
+    }
+
+    private ParameterMapping buildParameterMapping(String content) {
+      StringTokenizer parameterMappingParts = new StringTokenizer(content, ", 
");
+      String property = parameterMappingParts.nextToken();
+      ParameterMapping.Builder builder = new 
ParameterMapping.Builder(configuration, property, Object.class);
+      while (parameterMappingParts.hasMoreTokens()) {
+        String attribute = parameterMappingParts.nextToken();
+        StringTokenizer attributeParts = new StringTokenizer(attribute, "=");
+        if (attributeParts.countTokens() == 2) {
+          String name = attributeParts.nextToken();
+          String value = attributeParts.nextToken();
+          if ("javaType".equals(name)) {
+            builder.javaType(resolveClass(value));
+          } else if ("jdbcType".equals(name)) {
+            builder.jdbcType(resolveJdbcType(value));
+          } else if ("mode".equals(name)) {
+            builder.mode(resolveParameterMode(value));
+          } else if ("numericScale".equals(name)) {
+            builder.numericScale(Integer.valueOf(value));
+          } else if ("resultMap".equals(name)) {
+            builder.resultMapId(value);
+          } else if ("typeHandler".equals(name)) {
+            builder.typeHandler((TypeHandler) resolveInstance(value));
+          }
+        } else {
+          throw new ParserException("Improper inline parameter map format.  
Should be: #{propName,attr1=val1,attr2=val2}");
+        }
+      }
+      return builder.build();
+    }
+  }
+
+
 
 }

Copied: 
ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/parser/annotation/MapperAnnotationParser.java
 (from r761509, 
ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/parser/MapperAnnotationParser.java)
URL: 
http://svn.apache.org/viewvc/ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/parser/annotation/MapperAnnotationParser.java?p2=ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/parser/annotation/MapperAnnotationParser.java&p1=ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/parser/MapperAnnotationParser.java&r1=761509&r2=761516&rev=761516&view=diff
==============================================================================
--- 
ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/parser/MapperAnnotationParser.java
 (original)
+++ 
ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/parser/annotation/MapperAnnotationParser.java
 Fri Apr  3 04:08:08 2009
@@ -1,4 +1,4 @@
-package org.apache.ibatis.parser;
+package org.apache.ibatis.parser.annotation;
 
 import static org.apache.ibatis.annotations.Annotations.*;
 import org.apache.ibatis.binding.BindingException;
@@ -6,6 +6,9 @@
 import org.apache.ibatis.mapping.*;
 import org.apache.ibatis.reflection.MetaClass;
 import org.apache.ibatis.type.JdbcType;
+import org.apache.ibatis.parser.xml.XMLMapperParser;
+import org.apache.ibatis.parser.MapperConfigurator;
+import org.apache.ibatis.parser.SqlSourceParser;
 
 import java.io.IOException;
 import java.io.Reader;

Copied: 
ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/parser/annotation/ProviderSqlSource.java
 (from r761509, 
ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/parser/ProviderSqlSource.java)
URL: 
http://svn.apache.org/viewvc/ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/parser/annotation/ProviderSqlSource.java?p2=ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/parser/annotation/ProviderSqlSource.java&p1=ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/parser/ProviderSqlSource.java&r1=761509&r2=761516&rev=761516&view=diff
==============================================================================
--- 
ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/parser/ProviderSqlSource.java
 (original)
+++ 
ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/parser/annotation/ProviderSqlSource.java
 Fri Apr  3 04:08:08 2009
@@ -1,8 +1,9 @@
-package org.apache.ibatis.parser;
+package org.apache.ibatis.parser.annotation;
 
 import org.apache.ibatis.mapping.BoundSql;
 import org.apache.ibatis.mapping.Configuration;
 import org.apache.ibatis.mapping.SqlSource;
+import org.apache.ibatis.parser.SqlSourceParser;
 
 import java.lang.reflect.Method;
 
@@ -18,7 +19,7 @@
       this.sqlSourceParser = new SqlSourceParser(config);
       this.providerType = (Class) 
provider.getClass().getMethod("type").invoke(provider);
       String providerMethod = (String) 
provider.getClass().getMethod("method").invoke(provider);
-      ;
+      
       for (Method m : providerType.getMethods()) {
         if (providerMethod.equals(m.getName())) {
           if (m.getParameterTypes().length < 2

Copied: 
ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/parser/xml/DynamicSqlSource.java
 (from r761509, 
ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/parser/DynamicSqlSource.java)
URL: 
http://svn.apache.org/viewvc/ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/parser/xml/DynamicSqlSource.java?p2=ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/parser/xml/DynamicSqlSource.java&p1=ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/parser/DynamicSqlSource.java&r1=761509&r2=761516&rev=761516&view=diff
==============================================================================
--- 
ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/parser/DynamicSqlSource.java
 (original)
+++ 
ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/parser/xml/DynamicSqlSource.java
 Fri Apr  3 04:08:08 2009
@@ -1,8 +1,9 @@
-package org.apache.ibatis.parser;
+package org.apache.ibatis.parser.xml;
 
 import org.apache.ibatis.mapping.BoundSql;
 import org.apache.ibatis.mapping.SqlSource;
 import org.apache.ibatis.mapping.Configuration;
+import org.apache.ibatis.parser.SqlSourceParser;
 
 import java.util.List;
 

Copied: 
ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/parser/xml/XMLMapperConfigParser.java
 (from r761509, 
ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/parser/XMLMapperConfigParser.java)
URL: 
http://svn.apache.org/viewvc/ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/parser/xml/XMLMapperConfigParser.java?p2=ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/parser/xml/XMLMapperConfigParser.java&p1=ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/parser/XMLMapperConfigParser.java&r1=761509&r2=761516&rev=761516&view=diff
==============================================================================
--- 
ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/parser/XMLMapperConfigParser.java
 (original)
+++ 
ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/parser/xml/XMLMapperConfigParser.java
 Fri Apr  3 04:08:08 2009
@@ -1,4 +1,4 @@
-package org.apache.ibatis.parser;
+package org.apache.ibatis.parser.xml;
 
 import org.apache.ibatis.datasource.DataSourceFactory;
 import org.apache.ibatis.executor.ErrorContext;
@@ -14,6 +14,8 @@
 import org.apache.ibatis.xml.Nodelet;
 import org.apache.ibatis.xml.NodeletContext;
 import org.apache.ibatis.xml.NodeletParser;
+import org.apache.ibatis.parser.BaseParser;
+import org.apache.ibatis.parser.ParserException;
 
 import java.io.Reader;
 import java.util.Map;

Copied: 
ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/parser/xml/XMLMapperEntityResolver.java
 (from r761509, 
ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/parser/XMLMapperEntityResolver.java)
URL: 
http://svn.apache.org/viewvc/ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/parser/xml/XMLMapperEntityResolver.java?p2=ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/parser/xml/XMLMapperEntityResolver.java&p1=ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/parser/XMLMapperEntityResolver.java&r1=761509&r2=761516&rev=761516&view=diff
==============================================================================
--- 
ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/parser/XMLMapperEntityResolver.java
 (original)
+++ 
ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/parser/xml/XMLMapperEntityResolver.java
 Fri Apr  3 04:08:08 2009
@@ -1,4 +1,4 @@
-package org.apache.ibatis.parser;
+package org.apache.ibatis.parser.xml;
 
 import org.apache.ibatis.io.Resources;
 import org.xml.sax.EntityResolver;
@@ -15,8 +15,8 @@
  */
 public class XMLMapperEntityResolver implements EntityResolver {
 
-  private static final String MAPPER_CONFIG_DTD_RESOURCE = 
"org/apache/ibatis/parser/ibatis-config-3.dtd";
-  private static final String MAPPER_DTD_RESOURCE = 
"org/apache/ibatis/parser/ibatis-mapper-3.dtd";
+  private static final String MAPPER_CONFIG_DTD_RESOURCE = 
"org/apache/ibatis/parser/xml/ibatis-config-3.dtd";
+  private static final String MAPPER_DTD_RESOURCE = 
"org/apache/ibatis/parser/xml/ibatis-mapper-3.dtd";
 
   private static final Map<String, String> doctypeMap = new HashMap<String, 
String>();
 

Copied: 
ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/parser/xml/XMLMapperParser.java
 (from r761509, 
ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/parser/XMLMapperParser.java)
URL: 
http://svn.apache.org/viewvc/ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/parser/xml/XMLMapperParser.java?p2=ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/parser/xml/XMLMapperParser.java&p1=ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/parser/XMLMapperParser.java&r1=761509&r2=761516&rev=761516&view=diff
==============================================================================
--- 
ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/parser/XMLMapperParser.java
 (original)
+++ 
ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/parser/xml/XMLMapperParser.java
 Fri Apr  3 04:08:08 2009
@@ -1,10 +1,13 @@
-package org.apache.ibatis.parser;
+package org.apache.ibatis.parser.xml;
 
 import org.apache.ibatis.mapping.*;
 import org.apache.ibatis.type.JdbcType;
 import org.apache.ibatis.xml.Nodelet;
 import org.apache.ibatis.xml.NodeletContext;
 import org.apache.ibatis.xml.NodeletParser;
+import org.apache.ibatis.parser.BaseParser;
+import org.apache.ibatis.parser.MapperConfigurator;
+import org.apache.ibatis.parser.SqlSourceParser;
 
 import java.io.Reader;
 import java.util.ArrayList;

Modified: 
ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/session/SqlSessionFactoryBuilder.java
URL: 
http://svn.apache.org/viewvc/ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/session/SqlSessionFactoryBuilder.java?rev=761516&r1=761515&r2=761516&view=diff
==============================================================================
--- 
ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/session/SqlSessionFactoryBuilder.java
 (original)
+++ 
ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/session/SqlSessionFactoryBuilder.java
 Fri Apr  3 04:08:08 2009
@@ -2,7 +2,7 @@
 
 import org.apache.ibatis.exceptions.ExceptionFactory;
 import org.apache.ibatis.mapping.Configuration;
-import org.apache.ibatis.parser.XMLMapperConfigParser;
+import org.apache.ibatis.parser.xml.XMLMapperConfigParser;
 import org.apache.ibatis.session.defaults.DefaultSqlSessionFactory;
 
 import java.io.Reader;


Reply via email to