From f79d145b4cd96b67bc7475acc4f2684fd35a9f7f Mon Sep 17 00:00:00 2001 From: divcon Date: Sun, 16 Apr 2023 10:41:32 +0900 Subject: [PATCH 1/2] Use putIfAbsent in Netty5HeadersAdapter See gh-30343 --- .../http/client/reactive/Netty5HeadersAdapter.java | 10 ++++------ .../http/server/reactive/Netty5HeadersAdapter.java | 10 ++++------ 2 files changed, 8 insertions(+), 12 deletions(-) diff --git a/spring-web/src/main/java/org/springframework/http/client/reactive/Netty5HeadersAdapter.java b/spring-web/src/main/java/org/springframework/http/client/reactive/Netty5HeadersAdapter.java index 7bf25d2cfd7..0d87250adbe 100644 --- a/spring-web/src/main/java/org/springframework/http/client/reactive/Netty5HeadersAdapter.java +++ b/spring-web/src/main/java/org/springframework/http/client/reactive/Netty5HeadersAdapter.java @@ -1,5 +1,5 @@ /* - * Copyright 2002-2022 the original author or authors. + * Copyright 2002-2023 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. @@ -91,11 +91,9 @@ class Netty5HeadersAdapter implements MultiValueMap { @Override public Map toSingleValueMap() { Map singleValueMap = CollectionUtils.newLinkedHashMap(this.headers.size()); - this.headers.forEach(entry -> { - if (!singleValueMap.containsKey(entry.getKey())) { - singleValueMap.put(entry.getKey().toString(), entry.getValue().toString()); - } - }); + this.headers.forEach(entry -> + singleValueMap.putIfAbsent(entry.getKey().toString(), entry.getValue().toString()) + ); return singleValueMap; } diff --git a/spring-web/src/main/java/org/springframework/http/server/reactive/Netty5HeadersAdapter.java b/spring-web/src/main/java/org/springframework/http/server/reactive/Netty5HeadersAdapter.java index 35714334a1d..e6d3b26f60a 100644 --- a/spring-web/src/main/java/org/springframework/http/server/reactive/Netty5HeadersAdapter.java +++ b/spring-web/src/main/java/org/springframework/http/server/reactive/Netty5HeadersAdapter.java @@ -1,5 +1,5 @@ /* - * Copyright 2002-2022 the original author or authors. + * Copyright 2002-2023 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. @@ -89,11 +89,9 @@ final class Netty5HeadersAdapter implements MultiValueMap { @Override public Map toSingleValueMap() { Map singleValueMap = CollectionUtils.newLinkedHashMap(this.headers.size()); - this.headers.forEach(entry -> { - if (!singleValueMap.containsKey(entry.getKey())) { - singleValueMap.put(entry.getKey().toString(), entry.getValue().toString()); - } - }); + this.headers.forEach(entry -> + singleValueMap.putIfAbsent(entry.getKey().toString(), entry.getValue().toString()) + ); return singleValueMap; } From ea0340f892df58f7e7960a05b229ad3cabb7f560 Mon Sep 17 00:00:00 2001 From: Stephane Nicoll Date: Thu, 20 Apr 2023 15:46:12 +0200 Subject: [PATCH 2/2] Polish contribution See gh-30343 --- .../http/client/reactive/Netty5HeadersAdapter.java | 5 ++--- .../http/server/reactive/Netty5HeadersAdapter.java | 5 ++--- 2 files changed, 4 insertions(+), 6 deletions(-) diff --git a/spring-web/src/main/java/org/springframework/http/client/reactive/Netty5HeadersAdapter.java b/spring-web/src/main/java/org/springframework/http/client/reactive/Netty5HeadersAdapter.java index 0d87250adbe..ccb9438bcd5 100644 --- a/spring-web/src/main/java/org/springframework/http/client/reactive/Netty5HeadersAdapter.java +++ b/spring-web/src/main/java/org/springframework/http/client/reactive/Netty5HeadersAdapter.java @@ -91,9 +91,8 @@ class Netty5HeadersAdapter implements MultiValueMap { @Override public Map toSingleValueMap() { Map singleValueMap = CollectionUtils.newLinkedHashMap(this.headers.size()); - this.headers.forEach(entry -> - singleValueMap.putIfAbsent(entry.getKey().toString(), entry.getValue().toString()) - ); + this.headers.forEach(entry -> singleValueMap.putIfAbsent( + entry.getKey().toString(), entry.getValue().toString())); return singleValueMap; } diff --git a/spring-web/src/main/java/org/springframework/http/server/reactive/Netty5HeadersAdapter.java b/spring-web/src/main/java/org/springframework/http/server/reactive/Netty5HeadersAdapter.java index e6d3b26f60a..34dda49e7d7 100644 --- a/spring-web/src/main/java/org/springframework/http/server/reactive/Netty5HeadersAdapter.java +++ b/spring-web/src/main/java/org/springframework/http/server/reactive/Netty5HeadersAdapter.java @@ -89,9 +89,8 @@ final class Netty5HeadersAdapter implements MultiValueMap { @Override public Map toSingleValueMap() { Map singleValueMap = CollectionUtils.newLinkedHashMap(this.headers.size()); - this.headers.forEach(entry -> - singleValueMap.putIfAbsent(entry.getKey().toString(), entry.getValue().toString()) - ); + this.headers.forEach(entry -> singleValueMap.putIfAbsent( + entry.getKey().toString(), entry.getValue().toString())); return singleValueMap; }