You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ibatis.apache.org by cb...@apache.org on 2009/03/16 05:23:06 UTC
svn commit: r754813 - in
/ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis:
binding/MapperAnnotationParser.java parser/BaseParser.java
parser/MapperConfigurator.java parser/MapperParser.java
Author: cbegin
Date: Mon Mar 16 04:22:56 2009
New Revision: 754813
URL: http://svn.apache.org/viewvc?rev=754813&view=rev
Log:
refactored statement configurator to accept sqlsource instead of a string
Modified:
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/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/MapperParser.java
Modified: 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/binding/MapperAnnotationParser.java?rev=754813&r1=754812&r2=754813&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/binding/MapperAnnotationParser.java Mon Mar 16 04:22:56 2009
@@ -3,6 +3,7 @@
import static org.apache.ibatis.annotations.Annotations.*;
import org.apache.ibatis.mapping.*;
import org.apache.ibatis.parser.MapperConfigurator;
+import org.apache.ibatis.parser.SqlSourceParser;
import org.apache.ibatis.reflection.MetaClass;
import org.apache.ibatis.type.JdbcType;
@@ -169,9 +170,10 @@
statementType = options.statementType();
resultSetType = options.resultSetType();
}
+ SqlSource sqlSource = new SqlSourceParser(configurator.getConfiguration()).parse(sql);
configurator.statement(
mappedStatementId,
- sql,
+ sqlSource,
fetchSize,
timeout,
null, // ParameterMapID
@@ -219,17 +221,19 @@
if (annotation != null) {
try {
String[] strings = (String[]) annotation.getClass().getMethod("value").invoke(annotation);
- StringBuilder sql = new StringBuilder();
- for (String fragment : strings) {
- sql.append(fragment);
- sql.append(" ");
+ if (strings != null && strings.length > 0) {
+ StringBuilder sql = new StringBuilder();
+ for (String fragment : strings) {
+ sql.append(fragment);
+ sql.append(" ");
+ }
+ return sql.toString();
}
- return sql.toString();
} catch (Exception e) {
throw new RuntimeException("Could not find value method on SQL annotation. Cause: " + e, e);
}
}
- throw new BindingException("Reuested value from annotation that does not exist: " + annotationType);
+ throw new BindingException("Requested value from annotation that does not exist: " + annotationType);
}
private Class getSqlAnnotationType(Method method) {
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=754813&r1=754812&r2=754813&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 16 04:22:56 2009
@@ -12,6 +12,10 @@
protected TypeAliasRegistry typeAliasRegistry;
protected TypeHandlerRegistry typeHandlerRegistry;
+ public Configuration getConfiguration() {
+ return configuration;
+ }
+
protected String stringValueOf(String value, String defaultValue) {
return value == null ? defaultValue : value;
}
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=754813&r1=754812&r2=754813&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 16 04:22:56 2009
@@ -199,7 +199,7 @@
public void statement(
String id,
- String sql,
+ SqlSource sqlSource,
Integer fetchSize,
Integer timeout,
String parameterMap,
@@ -213,8 +213,6 @@
StatementType statementType) {
id = applyNamespace(id);
- SqlSource sqlSource = new SqlSourceParser(configuration).parse(sql);
-
MappedStatement.Builder statementBuilder = new MappedStatement.Builder(configuration, id, sqlSource);
statementBuilder.resource(resource);
statementBuilder.fetchSize(fetchSize);
Modified: ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/parser/MapperParser.java
URL: http://svn.apache.org/viewvc/ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/parser/MapperParser.java?rev=754813&r1=754812&r2=754813&view=diff
==============================================================================
--- ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/parser/MapperParser.java (original)
+++ ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/parser/MapperParser.java Mon Mar 16 04:22:56 2009
@@ -247,7 +247,8 @@
Class resultTypeClass = resolveClass(resultType);
String resultSetType = context.getStringAttribute("resultSetType");
ResultSetType resultSetTypeEnum = resolveResultSetType(resultSetType);
- mapperConfigurator.statement(id,sql,fetchSize,timeout,parameterMap, parameterTypeClass,
+ SqlSource sqlSource = new SqlSourceParser(configuration).parse(sql);
+ mapperConfigurator.statement(id,sqlSource,fetchSize,timeout,parameterMap, parameterTypeClass,
resultMap, resultTypeClass,resultSetTypeEnum,isSelect,flushCache,useCache,statementType);
}