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;