Use Map.forEach instead of manual Map.Entry iteration wherever possible SPR-16646
This commit is contained in:
parent
224d52e032
commit
4aae6a6dda
|
|
@ -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);
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -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() + "]");
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -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");
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -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) {
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -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)));
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -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 =
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue