Author: cbegin
Date: Mon Mar 23 02:33:58 2009
New Revision: 757302
URL: http://svn.apache.org/viewvc?rev=757302&view=rev
Log:
moved annotation parser with xml parser to keep them all together
Added:
ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/parser/MapperAnnotationParser.java
- copied, changed from r757299,
ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/binding/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
- copied, changed from r757019,
ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/binding/DynamicInlineSqlSource.java
ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/parser/StaticSqlSource.java
- copied, changed from r753101,
ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/parser/InlineSqlSource.java
Removed:
ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/binding/DynamicInlineSqlSource.java
ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/binding/MapperAnnotationParser.java
ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/parser/InlineSqlSource.java
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/BaseParser.java
ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/parser/MapperConfigurator.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/parser/XMLMapperConfigParser.java
ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/parser/XMLMapperParser.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=757302&r1=757301&r2=757302&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
Mon Mar 23 02:33:58 2009
@@ -2,6 +2,7 @@
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.mapping.*;
+import org.apache.ibatis.parser.MapperAnnotationParser;
import java.util.*;
Modified:
ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/parser/BaseParser.java
URL:
http://svn.apache.org/viewvc/ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/parser/BaseParser.java?rev=757302&r1=757301&r2=757302&view=diff
==============================================================================
---
ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/parser/BaseParser.java
(original)
+++
ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/parser/BaseParser.java
Mon Mar 23 02:33:58 2009
@@ -8,9 +8,15 @@
import org.apache.ibatis.type.TypeHandlerRegistry;
public class BaseParser {
- protected Configuration configuration;
- protected TypeAliasRegistry typeAliasRegistry;
- protected TypeHandlerRegistry typeHandlerRegistry;
+ protected final Configuration configuration;
+ protected final TypeAliasRegistry typeAliasRegistry;
+ protected final TypeHandlerRegistry typeHandlerRegistry;
+
+ public BaseParser(Configuration configuration) {
+ this.configuration = configuration;
+ this.typeAliasRegistry = this.configuration.getTypeAliasRegistry();
+ this.typeHandlerRegistry = this.configuration.getTypeHandlerRegistry();
+ }
public Configuration getConfiguration() {
return configuration;
Copied:
ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/parser/MapperAnnotationParser.java
(from r757299,
ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/binding/MapperAnnotationParser.java)
URL:
http://svn.apache.org/viewvc/ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/parser/MapperAnnotationParser.java?p2=ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/parser/MapperAnnotationParser.java&p1=ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/binding/MapperAnnotationParser.java&r1=757299&r2=757302&rev=757302&view=diff
==============================================================================
---
ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/binding/MapperAnnotationParser.java
(original)
+++
ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/parser/MapperAnnotationParser.java
Mon Mar 23 02:33:58 2009
@@ -1,14 +1,14 @@
-package org.apache.ibatis.binding;
+package org.apache.ibatis.parser;
import static org.apache.ibatis.annotations.Annotations.*;
+import org.apache.ibatis.binding.BindingException;
+import org.apache.ibatis.io.Resources;
import org.apache.ibatis.mapping.*;
-import org.apache.ibatis.parser.MapperConfigurator;
-import org.apache.ibatis.parser.SqlSourceParser;
-import org.apache.ibatis.parser.XMLMapperParser;
import org.apache.ibatis.reflection.MetaClass;
import org.apache.ibatis.type.JdbcType;
-import org.apache.ibatis.io.Resources;
+import java.io.IOException;
+import java.io.Reader;
import java.lang.annotation.Annotation;
import java.lang.reflect.Method;
import java.lang.reflect.ParameterizedType;
@@ -16,8 +16,6 @@
import java.util.ArrayList;
import java.util.Collection;
import java.util.List;
-import java.io.Reader;
-import java.io.IOException;
public class MapperAnnotationParser {
@@ -252,7 +250,7 @@
return parser.parse(sql.toString());
} else if (sqlProviderAnnotationType != null) {
Annotation sqlProviderAnnotation =
method.getAnnotation(sqlProviderAnnotationType);
- return new DynamicInlineSqlSource(configurator.getConfiguration(),
sqlProviderAnnotation);
+ return new ProviderSqlSource(configurator.getConfiguration(),
sqlProviderAnnotation);
}
return null;
} catch (Exception e) {
Modified:
ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/parser/MapperConfigurator.java
URL:
http://svn.apache.org/viewvc/ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/parser/MapperConfigurator.java?rev=757302&r1=757301&r2=757302&view=diff
==============================================================================
---
ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/parser/MapperConfigurator.java
(original)
+++
ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/parser/MapperConfigurator.java
Mon Mar 23 02:33:58 2009
@@ -31,11 +31,9 @@
private Cache cache;
public MapperConfigurator(Configuration configuration, String resource) {
+ super(configuration);
ErrorContext.instance().resource(resource);
this.resource = resource;
- this.configuration = configuration;
- this.typeAliasRegistry = configuration.getTypeAliasRegistry();
- this.typeHandlerRegistry = configuration.getTypeHandlerRegistry();
}
public String namespace() {
Added:
ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/parser/ParameterMappingTokenHandler.java
URL:
http://svn.apache.org/viewvc/ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/parser/ParameterMappingTokenHandler.java?rev=757302&view=auto
==============================================================================
---
ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/parser/ParameterMappingTokenHandler.java
(added)
+++
ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/parser/ParameterMappingTokenHandler.java
Mon Mar 23 02:33:58 2009
@@ -0,0 +1,58 @@
+package org.apache.ibatis.parser;
+
+import org.apache.ibatis.xml.GenericTokenParser;
+import org.apache.ibatis.mapping.ParameterMapping;
+import org.apache.ibatis.mapping.Configuration;
+import org.apache.ibatis.type.TypeHandler;
+
+import java.util.List;
+import java.util.ArrayList;
+import java.util.StringTokenizer;
+
+public 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/ProviderSqlSource.java
(from r757019,
ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/binding/DynamicInlineSqlSource.java)
URL:
http://svn.apache.org/viewvc/ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/parser/ProviderSqlSource.java?p2=ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/parser/ProviderSqlSource.java&p1=ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/binding/DynamicInlineSqlSource.java&r1=757019&r2=757302&rev=757302&view=diff
==============================================================================
---
ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/binding/DynamicInlineSqlSource.java
(original)
+++
ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/parser/ProviderSqlSource.java
Mon Mar 23 02:33:58 2009
@@ -1,21 +1,20 @@
-package org.apache.ibatis.binding;
+package org.apache.ibatis.parser;
import org.apache.ibatis.mapping.Configuration;
import org.apache.ibatis.mapping.ParameterMapping;
import org.apache.ibatis.mapping.SqlSource;
-import org.apache.ibatis.parser.SqlSourceParser;
import java.lang.reflect.Method;
import java.util.List;
-public class DynamicInlineSqlSource implements SqlSource {
+public class ProviderSqlSource implements SqlSource {
private SqlSourceParser sqlSourceParser;
private Class providerType;
private Method providerMethod;
private boolean providerTakesParameterObject;
- public DynamicInlineSqlSource(Configuration config, Object provider) {
+ public ProviderSqlSource(Configuration config, Object provider) {
try {
this.sqlSourceParser = new SqlSourceParser(config);
this.providerType =
(Class)provider.getClass().getMethod("type").invoke(provider);
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=757302&r1=757301&r2=757302&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
Mon Mar 23 02:33:58 2009
@@ -13,60 +13,15 @@
public class SqlSourceParser extends BaseParser {
public SqlSourceParser(Configuration configuration) {
- this.configuration = configuration;
- this.typeAliasRegistry = configuration.getTypeAliasRegistry();
- this.typeHandlerRegistry = configuration.getTypeHandlerRegistry();
+ super(configuration);
}
public SqlSource parse(String originalSql) {
- ParameterMappingTokenHandler handler = new ParameterMappingTokenHandler();
+ ParameterMappingTokenHandler handler = new
ParameterMappingTokenHandler(configuration);
GenericTokenParser parser = new GenericTokenParser("#{", "}", handler);
String sql = parser.parse(originalSql);
- return new InlineSqlSource(sql, handler.getParameterMappings());
+ return new StaticSqlSource(sql, handler.getParameterMappings());
}
- private class ParameterMappingTokenHandler implements
GenericTokenParser.TokenHandler {
-
- private List<ParameterMapping> parameterMappings = new
ArrayList<ParameterMapping>();
-
- 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/StaticSqlSource.java
(from r753101,
ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/parser/InlineSqlSource.java)
URL:
http://svn.apache.org/viewvc/ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/parser/StaticSqlSource.java?p2=ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/parser/StaticSqlSource.java&p1=ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/parser/InlineSqlSource.java&r1=753101&r2=757302&rev=757302&view=diff
==============================================================================
---
ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/parser/InlineSqlSource.java
(original)
+++
ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/parser/StaticSqlSource.java
Mon Mar 23 02:33:58 2009
@@ -5,12 +5,12 @@
import java.util.List;
-public class InlineSqlSource implements SqlSource {
+public class StaticSqlSource implements SqlSource {
private String sql;
private List<ParameterMapping> parameterMappings;
- public InlineSqlSource(String sql, List<ParameterMapping> parameterMappings)
{
+ public StaticSqlSource(String sql, List<ParameterMapping> parameterMappings)
{
this.sql = sql;
this.parameterMappings = parameterMappings;
}
Modified:
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/XMLMapperConfigParser.java?rev=757302&r1=757301&r2=757302&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/XMLMapperConfigParser.java
Mon Mar 23 02:33:58 2009
@@ -38,16 +38,16 @@
}
public XMLMapperConfigParser(Reader reader, String environment, Properties
props) {
+ super(new Configuration());
+
ErrorContext.instance().resource("SQL Mapper Configuration");
+
+ this.configuration.setVariables(props);
+
this.parsed = false;
this.reader = reader;
this.environment = environment;
- this.configuration = new Configuration();
- this.configuration.setVariables(props);
- this.typeAliasRegistry = this.configuration.getTypeAliasRegistry();
- this.typeHandlerRegistry = this.configuration.getTypeHandlerRegistry();
-
this.parser = new NodeletParser();
this.parser.addNodeletHandler(this);
this.parser.setValidation(true);
Modified:
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/XMLMapperParser.java?rev=757302&r1=757301&r2=757302&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/XMLMapperParser.java
Mon Mar 23 02:33:58 2009
@@ -22,6 +22,7 @@
}
public XMLMapperParser(Reader reader, Configuration configuration, String
resource) {
+ super(configuration);
this.mapperConfigurator = new MapperConfigurator(configuration,resource);
this.reader = reader;
this.parser = new NodeletParser();
@@ -29,9 +30,6 @@
this.parser.setValidation(true);
this.parser.setVariables(configuration.getVariables());
this.parser.setEntityResolver(new XMLMapperEntityResolver());
- this.typeAliasRegistry = configuration.getTypeAliasRegistry();
- this.typeHandlerRegistry = configuration.getTypeHandlerRegistry();
- this.configuration = configuration;
}
public void parse() {