Browse Source

Merge pull request #1404 from jonathanborenstein:master

* pr/1404:
  Polish "Use Java 8 forEach method on Map"
  Use Java 8 forEach method on Map
pull/1201/merge
Stephane Nicoll 9 years ago
parent
commit
0f6704202d
  1. 11
      spring-beans/src/main/java/org/springframework/beans/factory/BeanFactoryUtils.java
  2. 4
      spring-beans/src/main/java/org/springframework/beans/factory/support/AbstractBeanFactory.java
  3. 8
      spring-core/src/main/java/org/springframework/util/ClassUtils.java
  4. 16
      spring-core/src/main/java/org/springframework/util/CollectionUtils.java
  5. 4
      spring-core/src/main/java/org/springframework/util/LinkedCaseInsensitiveMap.java
  6. 15
      spring-core/src/main/java/org/springframework/util/LinkedMultiValueMap.java
  7. 7
      spring-webflux/src/main/java/org/springframework/web/reactive/result/method/AbstractHandlerMethodMapping.java
  8. 8
      spring-webmvc/src/main/java/org/springframework/web/servlet/handler/SimpleUrlHandlerMapping.java

11
spring-beans/src/main/java/org/springframework/beans/factory/BeanFactoryUtils.java

@ -1,5 +1,5 @@ @@ -1,5 +1,5 @@
/*
* Copyright 2002-2016 the original author or authors.
* Copyright 2002-2017 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.
@ -264,12 +264,12 @@ public abstract class BeanFactoryUtils { @@ -264,12 +264,12 @@ public abstract class BeanFactoryUtils {
if (hbf.getParentBeanFactory() instanceof ListableBeanFactory) {
Map<String, T> parentResult = beansOfTypeIncludingAncestors(
(ListableBeanFactory) hbf.getParentBeanFactory(), type);
for (Map.Entry<String, T> 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 { @@ -313,12 +313,13 @@ public abstract class BeanFactoryUtils {
if (hbf.getParentBeanFactory() instanceof ListableBeanFactory) {
Map<String, T> parentResult = beansOfTypeIncludingAncestors(
(ListableBeanFactory) hbf.getParentBeanFactory(), type, includeNonSingletons, allowEagerInit);
for (Map.Entry<String, T> 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;

4
spring-beans/src/main/java/org/springframework/beans/factory/support/AbstractBeanFactory.java

@ -1177,11 +1177,11 @@ public abstract class AbstractBeanFactory extends FactoryBeanRegistrySupport imp @@ -1177,11 +1177,11 @@ public abstract class AbstractBeanFactory extends FactoryBeanRegistrySupport imp
}
}
if (!this.customEditors.isEmpty()) {
for (Map.Entry<Class<?>, Class<? extends PropertyEditor>> entry : this.customEditors.entrySet()) {
this.customEditors.entrySet().forEach(entry -> {
Class<?> requiredType = entry.getKey();
Class<? extends PropertyEditor> editorClass = entry.getValue();
registry.registerCustomEditor(requiredType, BeanUtils.instantiateClass(editorClass));
}
});
}
}

8
spring-core/src/main/java/org/springframework/util/ClassUtils.java

@ -107,10 +107,10 @@ public abstract class ClassUtils { @@ -107,10 +107,10 @@ public abstract class ClassUtils {
primitiveWrapperTypeMap.put(Long.class, long.class);
primitiveWrapperTypeMap.put(Short.class, short.class);
for (Map.Entry<Class<?>, Class<?>> entry : primitiveWrapperTypeMap.entrySet()) {
primitiveTypeToWrapperMap.put(entry.getValue(), entry.getKey());
registerCommonClasses(entry.getKey());
}
primitiveWrapperTypeMap.forEach((key, value) -> {
primitiveTypeToWrapperMap.put(value, key);
registerCommonClasses(key);
});
Set<Class<?>> primitiveTypes = new HashSet<>(32);
primitiveTypes.addAll(primitiveWrapperTypeMap.values());

16
spring-core/src/main/java/org/springframework/util/CollectionUtils.java

@ -354,10 +354,10 @@ public abstract class CollectionUtils { @@ -354,10 +354,10 @@ public abstract class CollectionUtils {
public static <K, V> MultiValueMap<K, V> unmodifiableMultiValueMap(MultiValueMap<? extends K, ? extends V> map) {
Assert.notNull(map, "'map' must not be null");
Map<K, List<V>> result = new LinkedHashMap<>(map.size());
for (Map.Entry<? extends K, ? extends List<? extends V>> entry : map.entrySet()) {
List<? extends V> values = Collections.unmodifiableList(entry.getValue());
result.put(entry.getKey(), (List<V>) values);
}
map.forEach((key, value) -> {
List<? extends V> values = Collections.unmodifiableList(value);
result.put(key, (List<V>) values);
});
Map<K, List<V>> unmodifiableMap = Collections.unmodifiableMap(result);
return toMultiValueMap(unmodifiableMap);
}
@ -431,17 +431,13 @@ public abstract class CollectionUtils { @@ -431,17 +431,13 @@ public abstract class CollectionUtils {
@Override
public void setAll(Map<K, V> values) {
for (Entry<K, V> entry : values.entrySet()) {
set(entry.getKey(), entry.getValue());
}
values.forEach(this::set);
}
@Override
public Map<K, V> toSingleValueMap() {
LinkedHashMap<K, V> singleValueMap = new LinkedHashMap<>(this.map.size());
for (Entry<K, List<V>> entry : map.entrySet()) {
singleValueMap.put(entry.getKey(), entry.getValue().get(0));
}
this.map.forEach((key, value) -> singleValueMap.put(key, value.get(0)));
return singleValueMap;
}

4
spring-core/src/main/java/org/springframework/util/LinkedCaseInsensitiveMap.java

@ -169,9 +169,7 @@ public class LinkedCaseInsensitiveMap<V> implements Map<String, V>, Serializable @@ -169,9 +169,7 @@ public class LinkedCaseInsensitiveMap<V> implements Map<String, V>, Serializable
if (map.isEmpty()) {
return;
}
for (Map.Entry<? extends String, ? extends V> entry : map.entrySet()) {
put(entry.getKey(), entry.getValue());
}
map.forEach(this::put);
}
@Override

15
spring-core/src/main/java/org/springframework/util/LinkedMultiValueMap.java

@ -100,17 +100,14 @@ public class LinkedMultiValueMap<K, V> implements MultiValueMap<K, V>, Serializa @@ -100,17 +100,14 @@ public class LinkedMultiValueMap<K, V> implements MultiValueMap<K, V>, Serializa
@Override
public void setAll(Map<K, V> values) {
for (Entry<K, V> entry : values.entrySet()) {
set(entry.getKey(), entry.getValue());
}
values.forEach(this::set);
}
@Override
public Map<K, V> toSingleValueMap() {
LinkedHashMap<K, V> singleValueMap = new LinkedHashMap<>(this.targetMap.size());
for (Entry<K, List<V>> entry : this.targetMap.entrySet()) {
singleValueMap.put(entry.getKey(), entry.getValue().get(0));
}
this.targetMap.forEach((key, value) -> singleValueMap.put(key, value.get(0)));
return singleValueMap;
}
@ -186,9 +183,9 @@ public class LinkedMultiValueMap<K, V> implements MultiValueMap<K, V>, Serializa @@ -186,9 +183,9 @@ public class LinkedMultiValueMap<K, V> implements MultiValueMap<K, V>, Serializa
*/
public LinkedMultiValueMap<K, V> deepCopy() {
LinkedMultiValueMap<K, V> copy = new LinkedMultiValueMap<>(this.targetMap.size());
for (Map.Entry<K, List<V>> 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;
}

7
spring-webflux/src/main/java/org/springframework/web/reactive/result/method/AbstractHandlerMethodMapping.java

@ -192,11 +192,10 @@ public abstract class AbstractHandlerMethodMapping<T> extends AbstractHandlerMap @@ -192,11 +192,10 @@ public abstract class AbstractHandlerMethodMapping<T> extends AbstractHandlerMap
if (logger.isDebugEnabled()) {
logger.debug(methods.size() + " request handler methods found on " + userType + ": " + methods);
}
for (Map.Entry<Method, T> entry : methods.entrySet()) {
Method invocableMethod = AopUtils.selectInvocableMethod(entry.getKey(), userType);
T mapping = entry.getValue();
methods.forEach((key, mapping) -> {
Method invocableMethod = AopUtils.selectInvocableMethod(key, userType);
registerHandlerMethod(handler, invocableMethod, mapping);
}
});
}
/**

8
spring-webmvc/src/main/java/org/springframework/web/servlet/handler/SimpleUrlHandlerMapping.java

@ -1,5 +1,5 @@ @@ -1,5 +1,5 @@
/*
* Copyright 2002-2016 the original author or authors.
* Copyright 2002-2017 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.
@ -114,9 +114,7 @@ public class SimpleUrlHandlerMapping extends AbstractUrlHandlerMapping { @@ -114,9 +114,7 @@ public class SimpleUrlHandlerMapping extends AbstractUrlHandlerMapping {
logger.warn("Neither 'urlMap' nor 'mappings' set on SimpleUrlHandlerMapping");
}
else {
for (Map.Entry<String, Object> entry : urlMap.entrySet()) {
String url = entry.getKey();
Object handler = entry.getValue();
urlMap.forEach((url, handler) -> {
// Prepend with slash if not already present.
if (!url.startsWith("/")) {
url = "/" + url;
@ -126,7 +124,7 @@ public class SimpleUrlHandlerMapping extends AbstractUrlHandlerMapping { @@ -126,7 +124,7 @@ public class SimpleUrlHandlerMapping extends AbstractUrlHandlerMapping {
handler = ((String) handler).trim();
}
registerHandler(url, handler);
}
});
}
}

Loading…
Cancel
Save