Stop using ObjectProvider<List> and ObjectProvider<Collection>

Closes gh-14467
This commit is contained in:
Andy Wilkinson
2018-09-19 21:11:55 +01:00
parent 5323095e44
commit cc6cf880cf
43 changed files with 245 additions and 330 deletions

View File

@@ -16,8 +16,6 @@
package org.springframework.boot.test.autoconfigure.restdocs;
import java.util.List;
import io.restassured.builder.RequestSpecBuilder;
import io.restassured.specification.RequestSpecification;
@@ -60,17 +58,13 @@ public class RestDocsAutoConfiguration {
@Bean
@ConditionalOnMissingBean
public MockMvcRestDocumentationConfigurer restDocsMockMvcConfigurer(
ObjectProvider<List<RestDocsMockMvcConfigurationCustomizer>> configurationCustomizerProvider,
ObjectProvider<RestDocsMockMvcConfigurationCustomizer> configurationCustomizers,
RestDocumentationContextProvider contextProvider) {
MockMvcRestDocumentationConfigurer configurer = MockMvcRestDocumentation
.documentationConfiguration(contextProvider);
List<RestDocsMockMvcConfigurationCustomizer> configurationCustomizers = configurationCustomizerProvider
.getIfAvailable();
if (configurationCustomizers != null) {
configurationCustomizers
.forEach((configurationCustomizer) -> configurationCustomizer
.customize(configurer));
}
configurationCustomizers.orderedStream()
.forEach((configurationCustomizer) -> configurationCustomizer
.customize(configurer));
return configurer;
}
@@ -94,17 +88,13 @@ public class RestDocsAutoConfiguration {
@Bean
@ConditionalOnMissingBean
public RequestSpecification restDocsRestAssuredConfigurer(
ObjectProvider<List<RestDocsRestAssuredConfigurationCustomizer>> configurationCustomizerProvider,
ObjectProvider<RestDocsRestAssuredConfigurationCustomizer> configurationCustomizers,
RestDocumentationContextProvider contextProvider) {
RestAssuredRestDocumentationConfigurer configurer = RestAssuredRestDocumentation
.documentationConfiguration(contextProvider);
List<RestDocsRestAssuredConfigurationCustomizer> configurationCustomizers = configurationCustomizerProvider
.getIfAvailable();
if (configurationCustomizers != null) {
configurationCustomizers
.forEach((configurationCustomizer) -> configurationCustomizer
.customize(configurer));
}
configurationCustomizers.orderedStream()
.forEach((configurationCustomizer) -> configurationCustomizer
.customize(configurer));
return new RequestSpecBuilder().addFilter(configurer).build();
}
@@ -125,17 +115,13 @@ public class RestDocsAutoConfiguration {
@Bean
@ConditionalOnMissingBean
public WebTestClientRestDocumentationConfigurer restDocsWebTestClientConfigurer(
ObjectProvider<List<RestDocsWebTestClientConfigurationCustomizer>> configurationCustomizerProvider,
ObjectProvider<RestDocsWebTestClientConfigurationCustomizer> configurationCustomizers,
RestDocumentationContextProvider contextProvider) {
WebTestClientRestDocumentationConfigurer configurer = WebTestClientRestDocumentation
.documentationConfiguration(contextProvider);
List<RestDocsWebTestClientConfigurationCustomizer> configurationCustomizers = configurationCustomizerProvider
.getIfAvailable();
if (configurationCustomizers != null) {
configurationCustomizers
.forEach((configurationCustomizer) -> configurationCustomizer
.customize(configurer));
}
configurationCustomizers.orderedStream()
.forEach((configurationCustomizer) -> configurationCustomizer
.customize(configurer));
return configurer;
}

View File

@@ -16,9 +16,8 @@
package org.springframework.boot.test.autoconfigure.web.reactive;
import java.util.Collection;
import java.util.Collections;
import java.util.List;
import java.util.stream.Collectors;
import org.springframework.beans.factory.ObjectProvider;
import org.springframework.boot.autoconfigure.AutoConfigureAfter;
@@ -74,9 +73,9 @@ public class WebTestClientAutoConfiguration {
@Bean
@ConfigurationProperties(prefix = "spring.test.webtestclient")
public SpringBootWebTestClientBuilderCustomizer springBootWebTestClientBuilderCustomizer(
ObjectProvider<Collection<CodecCustomizer>> codecCustomizers) {
ObjectProvider<CodecCustomizer> codecCustomizers) {
return new SpringBootWebTestClientBuilderCustomizer(
codecCustomizers.getIfAvailable(Collections::emptyList));
codecCustomizers.orderedStream().collect(Collectors.toList()));
}
}