diff --git a/spring-test/src/main/java/org/springframework/test/web/reactive/server/DefaultWebTestClientBuilder.java b/spring-test/src/main/java/org/springframework/test/web/reactive/server/DefaultWebTestClientBuilder.java index 41d007da75..e6b0462905 100644 --- a/spring-test/src/main/java/org/springframework/test/web/reactive/server/DefaultWebTestClientBuilder.java +++ b/spring-test/src/main/java/org/springframework/test/web/reactive/server/DefaultWebTestClientBuilder.java @@ -66,7 +66,7 @@ class DefaultWebTestClientBuilder implements WebTestClient.Builder { "Either WebHttpHandlerBuilder or ClientHttpConnector must be provided"); this.webClientBuilder = (webClientBuilder != null ? webClientBuilder : WebClient.builder()); - this.httpHandlerBuilder = (httpHandlerBuilder != null ? httpHandlerBuilder.cloneBuilder() : null); + this.httpHandlerBuilder = (httpHandlerBuilder != null ? httpHandlerBuilder.clone() : null); this.connector = connector; this.responseTimeout = responseTimeout; } @@ -146,7 +146,7 @@ class DefaultWebTestClientBuilder implements WebTestClient.Builder { new HttpHandlerConnector(this.httpHandlerBuilder.build())); DefaultWebTestClientBuilder webTestClientBuilder = new DefaultWebTestClientBuilder( - this.webClientBuilder.cloneBuilder(), this.httpHandlerBuilder, + this.webClientBuilder.clone(), this.httpHandlerBuilder, this.connector, this.responseTimeout); return new DefaultWebTestClient(this.webClientBuilder, diff --git a/spring-test/src/main/java/org/springframework/test/web/reactive/server/WebTestClient.java b/spring-test/src/main/java/org/springframework/test/web/reactive/server/WebTestClient.java index c5af93aae2..2e3d7bc970 100644 --- a/spring-test/src/main/java/org/springframework/test/web/reactive/server/WebTestClient.java +++ b/spring-test/src/main/java/org/springframework/test/web/reactive/server/WebTestClient.java @@ -384,9 +384,8 @@ public interface WebTestClient { Builder responseTimeout(Duration timeout); /** - * - * @param configurer - * @return + * Shortcut for pre-packaged customizations to WebTestClient builder. + * @param configurer the configurer to apply */ Builder apply(WebTestClientConfigurer configurer); diff --git a/spring-web/src/main/java/org/springframework/web/server/adapter/WebHttpHandlerBuilder.java b/spring-web/src/main/java/org/springframework/web/server/adapter/WebHttpHandlerBuilder.java index 43217c8ddf..434b906cc9 100644 --- a/spring-web/src/main/java/org/springframework/web/server/adapter/WebHttpHandlerBuilder.java +++ b/spring-web/src/main/java/org/springframework/web/server/adapter/WebHttpHandlerBuilder.java @@ -280,7 +280,8 @@ public class WebHttpHandlerBuilder { * Clone this {@link WebHttpHandlerBuilder}. * @return the cloned builder instance */ - public WebHttpHandlerBuilder cloneBuilder() { + @Override + public WebHttpHandlerBuilder clone() { return new WebHttpHandlerBuilder(this); } diff --git a/spring-webflux/src/main/java/org/springframework/web/reactive/function/client/DefaultWebClientBuilder.java b/spring-webflux/src/main/java/org/springframework/web/reactive/function/client/DefaultWebClientBuilder.java index 043129d111..34dce879f2 100644 --- a/spring-webflux/src/main/java/org/springframework/web/reactive/function/client/DefaultWebClientBuilder.java +++ b/spring-webflux/src/main/java/org/springframework/web/reactive/function/client/DefaultWebClientBuilder.java @@ -18,7 +18,6 @@ package org.springframework.web.reactive.function.client; import java.util.ArrayList; import java.util.Arrays; -import java.util.Collections; import java.util.LinkedHashMap; import java.util.List; import java.util.Map; @@ -92,11 +91,6 @@ class DefaultWebClientBuilder implements WebClient.Builder { return this; } - @Override - public WebClient.Builder cloneBuilder() { - return new DefaultWebClientBuilder(this); - } - @Override public WebClient.Builder defaultUriVariables(Map defaultUriVariables) { this.defaultUriVariables = defaultUriVariables; @@ -226,10 +220,6 @@ class DefaultWebClientBuilder implements WebClient.Builder { } } - private static List unmodifiableCopy(List list) { - return Collections.unmodifiableList(new ArrayList<>(list)); - } - private UriBuilderFactory initUriBuilderFactory() { if (this.uriBuilderFactory != null) { return this.uriBuilderFactory; @@ -254,4 +244,9 @@ class DefaultWebClientBuilder implements WebClient.Builder { } } + @Override + public WebClient.Builder clone() { + return new DefaultWebClientBuilder(this); + } + } diff --git a/spring-webflux/src/main/java/org/springframework/web/reactive/function/client/WebClient.java b/spring-webflux/src/main/java/org/springframework/web/reactive/function/client/WebClient.java index 328342641c..9221f02834 100644 --- a/spring-webflux/src/main/java/org/springframework/web/reactive/function/client/WebClient.java +++ b/spring-webflux/src/main/java/org/springframework/web/reactive/function/client/WebClient.java @@ -192,11 +192,6 @@ public interface WebClient { */ Builder baseUrl(String baseUrl); - /** - * Clone this {@code WebClient.Builder} - */ - Builder cloneBuilder(); - /** * Configure default URI variable values that will be used when expanding * URI templates using a {@link Map}. @@ -310,6 +305,11 @@ public interface WebClient { */ WebClient build(); + /** + * Clone this {@code WebClient.Builder} + */ + Builder clone(); + }