Use Map.forEach instead of manual Map.Entry iteration wherever possible
Issue: SPR-16646
This commit is contained in:
@@ -563,14 +563,14 @@ public class CallMetaDataContext {
|
||||
}
|
||||
|
||||
Map<String, Object> matchedParameters = new HashMap<>(inParameters.size());
|
||||
for (String parameterName : inParameters.keySet()) {
|
||||
inParameters.forEach((parameterName, parameterValue) -> {
|
||||
String parameterNameToMatch = provider.parameterNameToUse(parameterName);
|
||||
String callParameterName = callParameterNames.get(lowerCase(parameterNameToMatch));
|
||||
if (callParameterName == null) {
|
||||
if (logger.isDebugEnabled()) {
|
||||
Object value = inParameters.get(parameterName);
|
||||
Object value = parameterValue;
|
||||
if (value instanceof SqlParameterValue) {
|
||||
value = ((SqlParameterValue)value).getValue();
|
||||
value = ((SqlParameterValue) value).getValue();
|
||||
}
|
||||
if (value != null) {
|
||||
logger.debug("Unable to locate the corresponding IN or IN-OUT parameter for \"" +
|
||||
@@ -579,9 +579,9 @@ public class CallMetaDataContext {
|
||||
}
|
||||
}
|
||||
else {
|
||||
matchedParameters.put(callParameterName, inParameters.get(parameterName));
|
||||
matchedParameters.put(callParameterName, parameterValue);
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
if (matchedParameters.size() < callParameterNames.size()) {
|
||||
for (String parameterName : callParameterNames.keySet()) {
|
||||
|
||||
@@ -244,13 +244,21 @@ public class TableMetaDataContext {
|
||||
* @param inParameters the parameter names and values
|
||||
*/
|
||||
public List<Object> matchInParameterValuesWithInsertColumns(Map<String, ?> inParameters) {
|
||||
List<Object> values = new ArrayList<>();
|
||||
Map<String, Object> source = new LinkedHashMap<>(inParameters.size());
|
||||
for (String key : inParameters.keySet()) {
|
||||
source.put(key.toLowerCase(), inParameters.get(key));
|
||||
}
|
||||
List<Object> values = new ArrayList<>(inParameters.size());
|
||||
for (String column : this.tableColumns) {
|
||||
values.add(source.get(column.toLowerCase()));
|
||||
Object value = inParameters.get(column);
|
||||
if (value == null) {
|
||||
value = inParameters.get(column.toLowerCase());
|
||||
if (value == null) {
|
||||
for (Map.Entry<String, ?> entry : inParameters.entrySet()) {
|
||||
if (column.equalsIgnoreCase(entry.getKey())) {
|
||||
value = entry.getValue();
|
||||
// TODO: break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
values.add(value);
|
||||
}
|
||||
return values;
|
||||
}
|
||||
|
||||
@@ -314,11 +314,9 @@ public abstract class AbstractJdbcCall {
|
||||
this.callMetaDataContext.initializeMetaData(dataSource);
|
||||
|
||||
// Iterate over the declared RowMappers and register the corresponding SqlParameter
|
||||
for (Map.Entry<String, RowMapper<?>> entry : this.declaredRowMappers.entrySet()) {
|
||||
SqlParameter resultSetParameter =
|
||||
this.callMetaDataContext.createReturnResultSetParameter(entry.getKey(), entry.getValue());
|
||||
this.declaredParameters.add(resultSetParameter);
|
||||
}
|
||||
this.declaredRowMappers.forEach((key, value) -> {
|
||||
this.declaredParameters.add(this.callMetaDataContext.createReturnResultSetParameter(key, value));
|
||||
});
|
||||
this.callMetaDataContext.processParameters(this.declaredParameters);
|
||||
|
||||
this.callString = this.callMetaDataContext.createCallString();
|
||||
@@ -326,8 +324,8 @@ public abstract class AbstractJdbcCall {
|
||||
logger.debug("Compiled stored procedure. Call string is [" + this.callString + "]");
|
||||
}
|
||||
|
||||
this.callableStatementFactory =
|
||||
new CallableStatementCreatorFactory(this.callString, this.callMetaDataContext.getCallParameters());
|
||||
this.callableStatementFactory = new CallableStatementCreatorFactory(
|
||||
this.callString, this.callMetaDataContext.getCallParameters());
|
||||
|
||||
onCompileInternal();
|
||||
}
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright 2002-2016 the original author or authors.
|
||||
* Copyright 2002-2018 the original author or authors.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
@@ -22,8 +22,7 @@ import java.util.Map;
|
||||
import org.springframework.beans.factory.InitializingBean;
|
||||
|
||||
/**
|
||||
* Registry for registering custom {@link org.springframework.jdbc.support.SQLExceptionTranslator}
|
||||
* instances for specific databases.
|
||||
* Registry for custom {@link SQLExceptionTranslator} instances for specific databases.
|
||||
*
|
||||
* @author Thomas Risberg
|
||||
* @since 3.1.1
|
||||
@@ -50,9 +49,8 @@ public class CustomSQLExceptionTranslatorRegistrar implements InitializingBean {
|
||||
|
||||
@Override
|
||||
public void afterPropertiesSet() {
|
||||
for (String dbName : this.translators.keySet()) {
|
||||
CustomSQLExceptionTranslatorRegistry.getInstance().registerTranslator(dbName, this.translators.get(dbName));
|
||||
}
|
||||
this.translators.forEach((dbName, translator) ->
|
||||
CustomSQLExceptionTranslatorRegistry.getInstance().registerTranslator(dbName, translator));
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user