}
String actualSqlStatement = evaluateContent(instance, this.getSqlStatement()).toString().trim();
SimpleJdbcTemplate simpleJdbcTemplate = new SimpleJdbcTemplate(ds);
if (this.getOperation() == OPERATION_OTHER) {
int maxOfProcessValueCount = 0;
for (ParameterContext pc : this.getSqlArguments()) {
int c = instance.getMultiple("", pc.getVariable().getName()).size();
if (c > maxOfProcessValueCount)
maxOfProcessValueCount = c;
}
Map<String, Object>[] paramMaps = new HashMap[maxOfProcessValueCount];
for (int i = 0; i < paramMaps.length; i++) {
paramMaps[i] = new HashMap<String, Object>();
for (ParameterContext pc : this.getSqlArguments()) {
ProcessVariableValue pvv = instance.getMultiple("", pc.getVariable().getName());
Object objValue = null;
if (pvv.size() >= i) {
pvv.setCursor(i);
objValue = pvv.getValue();
if (objValue instanceof Calendar) {
objValue = new Timestamp(((Calendar) objValue).getTimeInMillis());
} else if (objValue instanceof java.util.Date) {
objValue = new Timestamp(((java.util.Date) objValue).getTime());
}
pvv.beforeFirst();
}
paramMaps[i].put(pc.getArgument().getText(), objValue);
}
}
simpleJdbcTemplate.batchUpdate(actualSqlStatement, paramMaps);
} else if (this.getOperation() == OPERATION_SELECT) {
Map<String, Object> paramMap = new HashMap<String, Object>();
for (ParameterContext pc : this.getSqlArguments()) {
paramMap.put(pc.getArgument().getText(), instance.get(pc.getVariable().getName()));
}
List<Map<String, Object>> results = simpleJdbcTemplate.queryForList(actualSqlStatement, paramMap);
for (ParameterContext pc : this.getResultSet()) {
ProcessVariableValue pvv = new ProcessVariableValue();
for (Map<String, Object> resultMap : results) {