From 13dc0cd828d44d303f770c56c116dcb6f290b19f Mon Sep 17 00:00:00 2001 From: Jon Borenstein Date: Tue, 25 Apr 2017 18:00:38 -0400 Subject: [PATCH] Use Java 8 forEach method on Map --- .../beans/factory/BeanFactoryUtils.java | 11 ++++++----- .../factory/support/AbstractBeanFactory.java | 4 ++-- .../org/springframework/util/ClassUtils.java | 6 +++--- .../springframework/util/CollectionUtils.java | 12 ++++-------- .../util/LinkedCaseInsensitiveMap.java | 5 ++--- .../util/LinkedMultiValueMap.java | 16 +++++++--------- .../method/AbstractHandlerMethodMapping.java | 5 +++-- .../servlet/handler/SimpleUrlHandlerMapping.java | 4 ++-- 8 files changed, 29 insertions(+), 34 deletions(-) diff --git a/spring-beans/src/main/java/org/springframework/beans/factory/BeanFactoryUtils.java b/spring-beans/src/main/java/org/springframework/beans/factory/BeanFactoryUtils.java index 4a54aff5fc..61b7791a2b 100644 --- a/spring-beans/src/main/java/org/springframework/beans/factory/BeanFactoryUtils.java +++ b/spring-beans/src/main/java/org/springframework/beans/factory/BeanFactoryUtils.java @@ -264,12 +264,12 @@ public abstract class BeanFactoryUtils { if (hbf.getParentBeanFactory() instanceof ListableBeanFactory) { Map parentResult = beansOfTypeIncludingAncestors( (ListableBeanFactory) hbf.getParentBeanFactory(), type); - for (Map.Entry entry : parentResult.entrySet()) { + parentResult.entrySet().forEach(entry -> { String beanName = entry.getKey(); if (!result.containsKey(beanName) && !hbf.containsLocalBean(beanName)) { result.put(beanName, entry.getValue()); - } - } + } + }); } } return result; @@ -313,12 +313,13 @@ public abstract class BeanFactoryUtils { if (hbf.getParentBeanFactory() instanceof ListableBeanFactory) { Map parentResult = beansOfTypeIncludingAncestors( (ListableBeanFactory) hbf.getParentBeanFactory(), type, includeNonSingletons, allowEagerInit); - for (Map.Entry entry : parentResult.entrySet()) { + + parentResult.entrySet().forEach(entry -> { String beanName = entry.getKey(); if (!result.containsKey(beanName) && !hbf.containsLocalBean(beanName)) { result.put(beanName, entry.getValue()); } - } + }); } } return result; diff --git a/spring-beans/src/main/java/org/springframework/beans/factory/support/AbstractBeanFactory.java b/spring-beans/src/main/java/org/springframework/beans/factory/support/AbstractBeanFactory.java index 15949668fc..e4ab8b727f 100644 --- a/spring-beans/src/main/java/org/springframework/beans/factory/support/AbstractBeanFactory.java +++ b/spring-beans/src/main/java/org/springframework/beans/factory/support/AbstractBeanFactory.java @@ -1177,11 +1177,11 @@ public abstract class AbstractBeanFactory extends FactoryBeanRegistrySupport imp } } if (!this.customEditors.isEmpty()) { - for (Map.Entry, Class> entry : this.customEditors.entrySet()) { + this.customEditors.entrySet().forEach(entry -> { Class requiredType = entry.getKey(); Class editorClass = entry.getValue(); registry.registerCustomEditor(requiredType, BeanUtils.instantiateClass(editorClass)); - } + }); } } diff --git a/spring-core/src/main/java/org/springframework/util/ClassUtils.java b/spring-core/src/main/java/org/springframework/util/ClassUtils.java index 5683abfa76..3a33c103d5 100644 --- a/spring-core/src/main/java/org/springframework/util/ClassUtils.java +++ b/spring-core/src/main/java/org/springframework/util/ClassUtils.java @@ -106,11 +106,11 @@ public abstract class ClassUtils { primitiveWrapperTypeMap.put(Integer.class, int.class); primitiveWrapperTypeMap.put(Long.class, long.class); primitiveWrapperTypeMap.put(Short.class, short.class); - - for (Map.Entry, Class> entry : primitiveWrapperTypeMap.entrySet()) { + + primitiveWrapperTypeMap.entrySet().forEach(entry -> { primitiveTypeToWrapperMap.put(entry.getValue(), entry.getKey()); registerCommonClasses(entry.getKey()); - } + }); Set> primitiveTypes = new HashSet<>(32); primitiveTypes.addAll(primitiveWrapperTypeMap.values()); diff --git a/spring-core/src/main/java/org/springframework/util/CollectionUtils.java b/spring-core/src/main/java/org/springframework/util/CollectionUtils.java index 7a81a368c6..572d1348dd 100644 --- a/spring-core/src/main/java/org/springframework/util/CollectionUtils.java +++ b/spring-core/src/main/java/org/springframework/util/CollectionUtils.java @@ -354,10 +354,10 @@ public abstract class CollectionUtils { public static MultiValueMap unmodifiableMultiValueMap(MultiValueMap map) { Assert.notNull(map, "'map' must not be null"); Map> result = new LinkedHashMap<>(map.size()); - for (Map.Entry> entry : map.entrySet()) { + map.entrySet().forEach(entry -> { List values = Collections.unmodifiableList(entry.getValue()); result.put(entry.getKey(), (List) values); - } + }); Map> unmodifiableMap = Collections.unmodifiableMap(result); return toMultiValueMap(unmodifiableMap); } @@ -431,17 +431,13 @@ public abstract class CollectionUtils { @Override public void setAll(Map values) { - for (Entry entry : values.entrySet()) { - set(entry.getKey(), entry.getValue()); - } + values.entrySet().forEach(entry -> set(entry.getKey(), entry.getValue())); } @Override public Map toSingleValueMap() { LinkedHashMap singleValueMap = new LinkedHashMap<>(this.map.size()); - for (Entry> entry : map.entrySet()) { - singleValueMap.put(entry.getKey(), entry.getValue().get(0)); - } + map.entrySet().forEach(entry -> singleValueMap.put(entry.getKey(), entry.getValue().get(0))); return singleValueMap; } diff --git a/spring-core/src/main/java/org/springframework/util/LinkedCaseInsensitiveMap.java b/spring-core/src/main/java/org/springframework/util/LinkedCaseInsensitiveMap.java index d87078b6e6..149ca4f83e 100644 --- a/spring-core/src/main/java/org/springframework/util/LinkedCaseInsensitiveMap.java +++ b/spring-core/src/main/java/org/springframework/util/LinkedCaseInsensitiveMap.java @@ -169,9 +169,8 @@ public class LinkedCaseInsensitiveMap implements Map, Serializable if (map.isEmpty()) { return; } - for (Map.Entry entry : map.entrySet()) { - put(entry.getKey(), entry.getValue()); - } + map.entrySet().forEach(entry -> put(entry.getKey(), entry.getValue())); + } @Override diff --git a/spring-core/src/main/java/org/springframework/util/LinkedMultiValueMap.java b/spring-core/src/main/java/org/springframework/util/LinkedMultiValueMap.java index 6df23bcf13..252fd35189 100644 --- a/spring-core/src/main/java/org/springframework/util/LinkedMultiValueMap.java +++ b/spring-core/src/main/java/org/springframework/util/LinkedMultiValueMap.java @@ -100,17 +100,15 @@ public class LinkedMultiValueMap implements MultiValueMap, Serializa @Override public void setAll(Map values) { - for (Entry entry : values.entrySet()) { - set(entry.getKey(), entry.getValue()); - } + values.entrySet().forEach(entry -> set(entry.getKey(), entry.getValue())); } @Override public Map toSingleValueMap() { LinkedHashMap singleValueMap = new LinkedHashMap<>(this.targetMap.size()); - for (Entry> entry : this.targetMap.entrySet()) { - singleValueMap.put(entry.getKey(), entry.getValue().get(0)); - } + this.targetMap.entrySet().forEach(entry -> + singleValueMap.put(entry.getKey(), entry.getValue().get(0))); + return singleValueMap; } @@ -186,9 +184,9 @@ public class LinkedMultiValueMap implements MultiValueMap, Serializa */ public LinkedMultiValueMap deepCopy() { LinkedMultiValueMap copy = new LinkedMultiValueMap<>(this.targetMap.size()); - for (Map.Entry> entry : this.targetMap.entrySet()) { - copy.put(entry.getKey(), new LinkedList<>(entry.getValue())); - } + this.targetMap.entrySet().forEach(entry -> + copy.put(entry.getKey(), new LinkedList<>(entry.getValue()))); + return copy; } diff --git a/spring-webflux/src/main/java/org/springframework/web/reactive/result/method/AbstractHandlerMethodMapping.java b/spring-webflux/src/main/java/org/springframework/web/reactive/result/method/AbstractHandlerMethodMapping.java index b91b4f3cd1..3812a94f8d 100644 --- a/spring-webflux/src/main/java/org/springframework/web/reactive/result/method/AbstractHandlerMethodMapping.java +++ b/spring-webflux/src/main/java/org/springframework/web/reactive/result/method/AbstractHandlerMethodMapping.java @@ -192,11 +192,12 @@ public abstract class AbstractHandlerMethodMapping extends AbstractHandlerMap if (logger.isDebugEnabled()) { logger.debug(methods.size() + " request handler methods found on " + userType + ": " + methods); } - for (Map.Entry entry : methods.entrySet()) { + + methods.entrySet().forEach(entry -> { Method invocableMethod = AopUtils.selectInvocableMethod(entry.getKey(), userType); T mapping = entry.getValue(); registerHandlerMethod(handler, invocableMethod, mapping); - } + }); } /** diff --git a/spring-webmvc/src/main/java/org/springframework/web/servlet/handler/SimpleUrlHandlerMapping.java b/spring-webmvc/src/main/java/org/springframework/web/servlet/handler/SimpleUrlHandlerMapping.java index 4589470aee..0542f3d50f 100644 --- a/spring-webmvc/src/main/java/org/springframework/web/servlet/handler/SimpleUrlHandlerMapping.java +++ b/spring-webmvc/src/main/java/org/springframework/web/servlet/handler/SimpleUrlHandlerMapping.java @@ -114,7 +114,7 @@ public class SimpleUrlHandlerMapping extends AbstractUrlHandlerMapping { logger.warn("Neither 'urlMap' nor 'mappings' set on SimpleUrlHandlerMapping"); } else { - for (Map.Entry entry : urlMap.entrySet()) { + urlMap.entrySet().forEach(entry -> { String url = entry.getKey(); Object handler = entry.getValue(); // Prepend with slash if not already present. @@ -126,7 +126,7 @@ public class SimpleUrlHandlerMapping extends AbstractUrlHandlerMapping { handler = ((String) handler).trim(); } registerHandler(url, handler); - } + }); } }