Use Map.forEach instead of manual Map.Entry iteration wherever possible SPR-16646

This commit is contained in:
igor-suhorukov 2018-03-28 01:55:03 +03:00 committed by Juergen Hoeller
parent 224d52e032
commit 4aae6a6dda
19 changed files with 74 additions and 99 deletions

View File

@ -153,15 +153,15 @@ public class SimpleHttpServerFactoryBean implements FactoryBean<HttpServer>, Ini
this.server.setExecutor(this.executor);
}
if (this.contexts != null) {
for (String key : this.contexts.keySet()) {
HttpContext httpContext = this.server.createContext(key, this.contexts.get(key));
this.contexts.forEach((key, context) -> {
HttpContext httpContext = this.server.createContext(key, context);
if (this.filters != null) {
httpContext.getFilters().addAll(this.filters);
}
if (this.authenticator != null) {
httpContext.setAuthenticator(this.authenticator);
}
}
});
}
if (this.logger.isInfoEnabled()) {
this.logger.info("Starting HttpServer at address " + address);

View File

@ -196,8 +196,8 @@ public class DefaultSubscriptionRegistry extends AbstractSubscriptionRegistry {
return allMatches;
}
MultiValueMap<String, String> result = new LinkedMultiValueMap<>(allMatches.size());
for (String sessionId : allMatches.keySet()) {
for (String subId : allMatches.get(sessionId)) {
allMatches.forEach((sessionId, subIds) -> {
for (String subId : subIds) {
SessionSubscriptionInfo info = this.subscriptionRegistry.getSubscriptions(sessionId);
if (info == null) {
continue;
@ -225,7 +225,7 @@ public class DefaultSubscriptionRegistry extends AbstractSubscriptionRegistry {
logger.debug("Failed to evaluate selector", ex);
}
}
}
});
return result;
}

View File

@ -526,8 +526,7 @@ public class MockHttpServletRequest implements HttpServletRequest {
*/
public void setParameters(Map<String, ?> params) {
Assert.notNull(params, "Parameter map must not be null");
for (String key : params.keySet()) {
Object value = params.get(key);
params.forEach((key, value) -> {
if (value instanceof String) {
setParameter(key, (String) value);
}
@ -538,7 +537,7 @@ public class MockHttpServletRequest implements HttpServletRequest {
throw new IllegalArgumentException(
"Parameter map value must be single value " + " or array of type [" + String.class.getName() + "]");
}
}
});
}
/**
@ -576,8 +575,7 @@ public class MockHttpServletRequest implements HttpServletRequest {
*/
public void addParameters(Map<String, ?> params) {
Assert.notNull(params, "Parameter map must not be null");
for (String key : params.keySet()) {
Object value = params.get(key);
params.forEach((key, value) -> {
if (value instanceof String) {
addParameter(key, (String) value);
}
@ -588,7 +586,7 @@ public class MockHttpServletRequest implements HttpServletRequest {
throw new IllegalArgumentException("Parameter map value must be single value " +
" or array of type [" + String.class.getName() + "]");
}
}
});
}
/**

View File

@ -118,14 +118,13 @@ public abstract class ModelAndViewAssert {
}
StringBuilder sb = new StringBuilder();
for (String modelName : model.keySet()) {
model.forEach((modelName, mavValue) -> {
Object assertionValue = expectedModel.get(modelName);
Object mavValue = model.get(modelName);
if (!assertionValue.equals(mavValue)) {
sb.append("Value under name '").append(modelName).append("' differs, should have been '").append(
assertionValue).append("' but was '").append(mavValue).append("'\n");
}
}
});
if (sb.length() != 0) {
sb.insert(0, "Values of expected model do not match.\n");

View File

@ -345,11 +345,11 @@ public class MockHttpServletRequestBuilder
* @since 4.2.4
*/
public MockHttpServletRequestBuilder params(MultiValueMap<String, String> params) {
for (String name : params.keySet()) {
for (String value : params.get(name)) {
params.forEach((name, values) -> {
for (String value : values) {
this.parameters.add(name, value);
}
}
});
return this;
}
@ -414,9 +414,7 @@ public class MockHttpServletRequestBuilder
*/
public MockHttpServletRequestBuilder sessionAttrs(Map<String, Object> sessionAttributes) {
Assert.notEmpty(sessionAttributes, "'sessionAttributes' must not be empty");
for (String name : sessionAttributes.keySet()) {
sessionAttr(name, sessionAttributes.get(name));
}
sessionAttributes.forEach(this::sessionAttr);
return this;
}
@ -436,9 +434,7 @@ public class MockHttpServletRequestBuilder
*/
public MockHttpServletRequestBuilder flashAttrs(Map<String, Object> flashAttributes) {
Assert.notEmpty(flashAttributes, "'flashAttributes' must not be empty");
for (String name : flashAttributes.keySet()) {
flashAttr(name, flashAttributes.get(name));
}
flashAttributes.forEach(this::flashAttr);
return this;
}
@ -624,22 +620,22 @@ public class MockHttpServletRequestBuilder
request.setContent(this.content);
request.setContentType(this.contentType);
for (String name : this.headers.keySet()) {
for (Object value : this.headers.get(name)) {
this.headers.forEach((name, values) -> {
for (Object value : values) {
request.addHeader(name, value);
}
}
});
if (this.url.getRawQuery() != null) {
request.setQueryString(this.url.getRawQuery());
}
addRequestParams(request, UriComponentsBuilder.fromUri(this.url).build().getQueryParams());
for (String name : this.parameters.keySet()) {
for (String value : this.parameters.get(name)) {
this.parameters.forEach((name, values) -> {
for (String value : values) {
request.addParameter(name, value);
}
}
});
if (this.content != null && this.content.length > 0) {
String requestContentType = request.getContentType();
@ -658,14 +654,12 @@ public class MockHttpServletRequestBuilder
request.setPreferredLocales(this.locales);
}
for (String name : this.requestAttributes.keySet()) {
request.setAttribute(name, this.requestAttributes.get(name));
}
for (String name : this.sessionAttributes.keySet()) {
this.requestAttributes.forEach(request::setAttribute);
this.sessionAttributes.forEach((name, attribute) -> {
HttpSession session = request.getSession();
Assert.state(session != null, "No HttpSession");
session.setAttribute(name, this.sessionAttributes.get(name));
}
session.setAttribute(name, attribute);
});
FlashMap flashMap = new FlashMap();
flashMap.putAll(this.flashAttributes);

View File

@ -135,13 +135,13 @@ public class PrintingResultHandler implements ResultHandler {
protected final MultiValueMap<String, String> getParamsMultiValueMap(MockHttpServletRequest request) {
Map<String, String[]> params = request.getParameterMap();
MultiValueMap<String, String> multiValueMap = new LinkedMultiValueMap<>();
for (String name : params.keySet()) {
params.forEach((name, values) -> {
if (params.get(name) != null) {
for (String value : params.get(name)) {
for (String value : values) {
multiValueMap.add(name, value);
}
}
}
});
return multiValueMap;
}
@ -235,10 +235,10 @@ public class PrintingResultHandler implements ResultHandler {
this.printer.printValue("Attributes", null);
}
else {
for (String name : flashMap.keySet()) {
flashMap.forEach((name, value) -> {
this.printer.printValue("Attribute", name);
this.printer.printValue("value", flashMap.get(name));
}
this.printer.printValue("value", value);
});
}
}

View File

@ -660,9 +660,7 @@ public class Jackson2ObjectMapperBuilder {
objectMapper.setFilterProvider(this.filters);
}
for (Class<?> target : this.mixIns.keySet()) {
objectMapper.addMixIn(target, this.mixIns.get(target));
}
this.mixIns.forEach((target, mixinSource) -> objectMapper.addMixIn(target, mixinSource));
if (!this.serializers.isEmpty() || !this.deserializers.isEmpty()) {
SimpleModule module = new SimpleModule();
@ -672,9 +670,7 @@ public class Jackson2ObjectMapperBuilder {
}
customizeDefaultFeatures(objectMapper);
for (Object feature : this.features.keySet()) {
configureFeature(objectMapper, feature, this.features.get(feature));
}
this.features.forEach((feature, enabled) -> configureFeature(objectMapper, feature, enabled));
if (this.handlerInstantiator != null) {
objectMapper.setHandlerInstantiator(this.handlerInstantiator);
@ -699,16 +695,14 @@ public class Jackson2ObjectMapperBuilder {
@SuppressWarnings("unchecked")
private <T> void addSerializers(SimpleModule module) {
for (Class<?> type : this.serializers.keySet()) {
module.addSerializer((Class<? extends T>) type, (JsonSerializer<T>) this.serializers.get(type));
}
this.serializers.forEach((type, serializer) ->
module.addSerializer((Class<? extends T>) type, (JsonSerializer<T>) serializer));
}
@SuppressWarnings("unchecked")
private <T> void addDeserializers(SimpleModule module) {
for (Class<?> type : this.deserializers.keySet()) {
module.addDeserializer((Class<T>) type, (JsonDeserializer<? extends T>) this.deserializers.get(type));
}
this.deserializers.forEach((type, deserializer) ->
module.addDeserializer((Class<T>) type, (JsonDeserializer<? extends T>) deserializer));
}
private void configureFeature(ObjectMapper objectMapper, Object feature, boolean enabled) {

View File

@ -112,12 +112,11 @@ public class SessionAttributesHandler {
* @param attributes candidate attributes for session storage
*/
public void storeAttributes(WebRequest request, Map<String, ?> attributes) {
for (String name : attributes.keySet()) {
Object value = attributes.get(name);
attributes.forEach((name, value) -> {
if (value != null && isHandlerSessionAttribute(name, value.getClass())) {
this.sessionAttributeStore.storeAttribute(request, name, value);
}
}
});
}
/**

View File

@ -567,11 +567,11 @@ public class UrlPathHelper {
}
else {
MultiValueMap<String, String> decodedVars = new LinkedMultiValueMap<>(vars.size());
for (String key : vars.keySet()) {
for (String value : vars.get(key)) {
vars.forEach((key, values) -> {
for (String value : values) {
decodedVars.add(key, decodeInternal(request, value));
}
}
});
return decodedVars;
}
}

View File

@ -90,11 +90,11 @@ public class MatrixVariableMapMethodArgumentResolver extends HandlerMethodArgume
}
else {
for (MultiValueMap<String, String> vars : matrixVariables.values()) {
for (String name : vars.keySet()) {
for (String value : vars.get(name)) {
vars.forEach((name, values) -> {
for (String value : values) {
map.add(name, value);
}
}
});
}
}

View File

@ -80,11 +80,11 @@ public final class FlashMap extends HashMap<String, Object> implements Comparabl
*/
public FlashMap addTargetRequestParams(@Nullable MultiValueMap<String, String> params) {
if (params != null) {
for (String key : params.keySet()) {
for (String value : params.get(key)) {
params.forEach((key, values) -> {
for (String value : values) {
addTargetRequestParam(key, value);
}
}
});
}
return this;
}

View File

@ -86,11 +86,11 @@ public class MatrixVariableMapMethodArgumentResolver implements HandlerMethodArg
}
else {
for (MultiValueMap<String, String> vars : matrixVariables.values()) {
for (String name : vars.keySet()) {
for (String value : vars.get(name)) {
vars.forEach((name, values) -> {
for (String value : values) {
map.add(name, value);
}
}
});
}
}

View File

@ -111,9 +111,7 @@ public class RedirectAttributesModelMap extends ModelMap implements RedirectAttr
@Override
public RedirectAttributesModelMap addAllAttributes(@Nullable Map<String, ?> attributes) {
if (attributes != null) {
for (String key : attributes.keySet()) {
addAttribute(key, attributes.get(key));
}
attributes.forEach(this::addAttribute);
}
return this;
}
@ -125,11 +123,11 @@ public class RedirectAttributesModelMap extends ModelMap implements RedirectAttr
@Override
public RedirectAttributesModelMap mergeAttributes(@Nullable Map<String, ?> attributes) {
if (attributes != null) {
for (String key : attributes.keySet()) {
attributes.forEach((key, attribute) -> {
if (!containsKey(key)) {
addAttribute(key, attributes.get(key));
}
addAttribute(key, attribute);
}
});
}
return this;
}
@ -155,9 +153,7 @@ public class RedirectAttributesModelMap extends ModelMap implements RedirectAttr
@Override
public void putAll(@Nullable Map<? extends String, ? extends Object> map) {
if (map != null) {
for (String key : map.keySet()) {
put(key, formatValue(map.get(key)));
}
map.forEach((key, value) -> put(key, formatValue(value)));
}
}

View File

@ -84,12 +84,11 @@ public abstract class AbstractWebSocketClient implements WebSocketClient {
HttpHeaders headersToUse = new HttpHeaders();
if (headers != null) {
for (String header : headers.keySet()) {
List<String> values = headers.get(header);
headers.forEach((header, values) -> {
if (values != null && !specialHeaders.contains(header.toLowerCase())) {
headersToUse.put(header, values);
}
}
});
}
List<String> subProtocols =

View File

@ -147,9 +147,7 @@ public class JettyWebSocketClient extends AbstractWebSocketClient implements Lif
request.addExtensions(new WebSocketToJettyExtensionConfigAdapter(e));
}
for (String header : headers.keySet()) {
request.setHeader(header, headers.get(header));
}
headers.forEach(request::setHeader);
Principal user = getUser();
final JettyWebSocketSession wsSession = new JettyWebSocketSession(attributes, user);

View File

@ -153,21 +153,21 @@ public abstract class AbstractWebSocketHandlerRegistration<M> implements WebSock
M mappings = createMappings();
if (this.sockJsServiceRegistration != null) {
SockJsService sockJsService = this.sockJsServiceRegistration.getSockJsService();
for (WebSocketHandler wsHandler : this.handlerMap.keySet()) {
for (String path : this.handlerMap.get(wsHandler)) {
this.handlerMap.forEach((wsHandler, paths) -> {
for (String path : paths) {
String pathPattern = (path.endsWith("/") ? path + "**" : path + "/**");
addSockJsServiceMapping(mappings, sockJsService, wsHandler, pathPattern);
}
}
});
}
else {
HandshakeHandler handshakeHandler = getOrCreateHandshakeHandler();
HandshakeInterceptor[] interceptors = getInterceptors();
for (WebSocketHandler wsHandler : this.handlerMap.keySet()) {
for (String path : this.handlerMap.get(wsHandler)) {
this.handlerMap.forEach((wsHandler, paths) -> {
for (String path : paths) {
addWebSocketHandlerMapping(mappings, wsHandler, handshakeHandler, interceptors, path);
}
}
});
}
return mappings;

View File

@ -127,11 +127,11 @@ public class ServletWebSocketHandlerRegistry implements WebSocketHandlerRegistry
for (ServletWebSocketHandlerRegistration registration : this.registrations) {
updateTaskScheduler(registration);
MultiValueMap<HttpRequestHandler, String> mappings = registration.getMappings();
for (HttpRequestHandler httpHandler : mappings.keySet()) {
for (String pattern : mappings.get(httpHandler)) {
mappings.forEach((httpHandler, patterns) -> {
for (String pattern : patterns) {
urlMap.put(pattern, httpHandler);
}
}
});
}
WebSocketHandlerMapping hm = new WebSocketHandlerMapping();
hm.setUrlMap(urlMap);

View File

@ -150,11 +150,11 @@ public class WebMvcStompEndpointRegistry implements StompEndpointRegistry {
Map<String, Object> urlMap = new LinkedHashMap<>();
for (WebMvcStompWebSocketEndpointRegistration registration : this.registrations) {
MultiValueMap<HttpRequestHandler, String> mappings = registration.getMappings();
for (HttpRequestHandler httpHandler : mappings.keySet()) {
for (String pattern : mappings.get(httpHandler)) {
mappings.forEach((httpHandler, patterns) -> {
for (String pattern : patterns) {
urlMap.put(pattern, httpHandler);
}
}
});
}
WebSocketHandlerMapping hm = new WebSocketHandlerMapping();
hm.setUrlMap(urlMap);

View File

@ -184,9 +184,7 @@ public abstract class AbstractTyrusRequestUpgradeStrategy extends AbstractStanda
.secure(request.isSecure())
.remoteAddr(request.getRemoteAddr())
.build();
for (String header : headers.keySet()) {
context.getHeaders().put(header, headers.get(header));
}
headers.forEach((header, value) -> context.getHeaders().put(header, value));
return context;
}