UriComponentsBuilder copies query params through MultiValueMap.addAll

Issue: SPR-17256
This commit is contained in:
Juergen Hoeller
2018-09-11 15:15:15 +02:00
parent 658bd7a686
commit 1d58fac54d
3 changed files with 23 additions and 5 deletions

View File

@@ -1,5 +1,5 @@
/*
* Copyright 2002-2017 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.
@@ -117,7 +117,6 @@ public class LinkedMultiValueMap<K, V> implements MultiValueMap<K, V>, Serializa
public Map<K, V> toSingleValueMap() {
LinkedHashMap<K, V> singleValueMap = new LinkedHashMap<>(this.targetMap.size());
this.targetMap.forEach((key, value) -> singleValueMap.put(key, value.get(0)));
return singleValueMap;
}
@@ -191,7 +190,10 @@ public class LinkedMultiValueMap<K, V> implements MultiValueMap<K, V>, Serializa
/**
* Create a deep copy of this Map.
* @return a copy of this Map, including a copy of each value-holding List entry
* (consistently using an independent modifiable {@link LinkedList} for each entry)
* along the lines of {@code MultiValueMap.addAll} semantics
* @since 4.2
* @see #addAll(MultiValueMap)
* @see #clone()
*/
public LinkedMultiValueMap<K, V> deepCopy() {
@@ -203,7 +205,11 @@ public class LinkedMultiValueMap<K, V> implements MultiValueMap<K, V>, Serializa
/**
* Create a regular copy of this Map.
* @return a shallow copy of this Map, reusing this Map's value-holding List entries
* (even if some entries are shared or unmodifiable) along the lines of standard
* {@code Map.put} semantics
* @since 4.2
* @see #put(Object, List)
* @see #putAll(Map)
* @see LinkedMultiValueMap#LinkedMultiValueMap(Map)
* @see #deepCopy()
*/