You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ibatis.apache.org by jg...@apache.org on 2009/07/06 23:05:35 UTC
svn commit: r791615 - in
/ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/builder/xml/dynamic:
DynamicContext.java ForEachSqlNode.java PrefixSqlNode.java
Author: jgbutler
Date: Mon Jul 6 21:05:34 2009
New Revision: 791615
URL: http://svn.apache.org/viewvc?rev=791615&view=rev
Log:
Make nested foreach tags work
Modified:
ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/builder/xml/dynamic/DynamicContext.java
ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/builder/xml/dynamic/ForEachSqlNode.java
ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/builder/xml/dynamic/PrefixSqlNode.java
Modified: ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/builder/xml/dynamic/DynamicContext.java
URL: http://svn.apache.org/viewvc/ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/builder/xml/dynamic/DynamicContext.java?rev=791615&r1=791614&r2=791615&view=diff
==============================================================================
--- ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/builder/xml/dynamic/DynamicContext.java (original)
+++ ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/builder/xml/dynamic/DynamicContext.java Mon Jul 6 21:05:34 2009
@@ -8,6 +8,7 @@
private Map<String,Object> bindings = new HashMap<String,Object>();
private StringBuilder sqlBuilder = new StringBuilder();
+ private int uniqueNumber = 0;
public DynamicContext(Object parameterObject) {
if (parameterObject instanceof Map) {
@@ -37,5 +38,8 @@
public String getSql() {
return sqlBuilder.toString().trim();
}
-
+
+ public int getUniqueNumber() {
+ return uniqueNumber++;
+ }
}
Modified: ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/builder/xml/dynamic/ForEachSqlNode.java
URL: http://svn.apache.org/viewvc/ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/builder/xml/dynamic/ForEachSqlNode.java?rev=791615&r1=791614&r2=791615&view=diff
==============================================================================
--- ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/builder/xml/dynamic/ForEachSqlNode.java (original)
+++ ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/builder/xml/dynamic/ForEachSqlNode.java Mon Jul 6 21:05:34 2009
@@ -32,9 +32,10 @@
int i = 0;
for (Object o : iterable) {
first = applySeparator(context, first);
- applyItem(context, o, i);
+ int uniqueNumber = context.getUniqueNumber();
+ applyItem(context, o, uniqueNumber);
applyIndex(context, i);
- contents.apply(new FilteredDynamicContext(context, item, i));
+ contents.apply(new FilteredDynamicContext(context, item, uniqueNumber));
i++;
}
applyClose(context);
@@ -117,6 +118,11 @@
delegate.appendSql(parser.parse(sql));
}
+
+ @Override
+ public int getUniqueNumber() {
+ return delegate.getUniqueNumber();
+ }
}
Modified: ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/builder/xml/dynamic/PrefixSqlNode.java
URL: http://svn.apache.org/viewvc/ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/builder/xml/dynamic/PrefixSqlNode.java?rev=791615&r1=791614&r2=791615&view=diff
==============================================================================
--- ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/builder/xml/dynamic/PrefixSqlNode.java (original)
+++ ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/builder/xml/dynamic/PrefixSqlNode.java Mon Jul 6 21:05:34 2009
@@ -72,6 +72,11 @@
public String getSql() {
return delegate.getSql();
}
+
+ @Override
+ public int getUniqueNumber() {
+ return delegate.getUniqueNumber();
+ }
}
}