diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/info/InfoEndpointAutoConfiguration.java b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/info/InfoEndpointAutoConfiguration.java index 2b1583f92906..6bddb29d9b75 100644 --- a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/info/InfoEndpointAutoConfiguration.java +++ b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/info/InfoEndpointAutoConfiguration.java @@ -16,8 +16,7 @@ package org.springframework.boot.actuate.autoconfigure.info; -import java.util.Collections; -import java.util.List; +import java.util.stream.Collectors; import org.springframework.beans.factory.ObjectProvider; import org.springframework.boot.actuate.autoconfigure.endpoint.condition.ConditionalOnEnabledEndpoint; @@ -42,9 +41,8 @@ public class InfoEndpointAutoConfiguration { @Bean @ConditionalOnMissingBean @ConditionalOnEnabledEndpoint - public InfoEndpoint infoEndpoint( - ObjectProvider> infoContributors) { - return new InfoEndpoint(infoContributors.getIfAvailable(Collections::emptyList)); + public InfoEndpoint infoEndpoint(ObjectProvider infoContributors) { + return new InfoEndpoint(infoContributors.stream().collect(Collectors.toList())); } } diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/scheduling/ScheduledTasksEndpointAutoConfiguration.java b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/scheduling/ScheduledTasksEndpointAutoConfiguration.java index 0c47fd8859a8..b623deeaa5a0 100644 --- a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/scheduling/ScheduledTasksEndpointAutoConfiguration.java +++ b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/scheduling/ScheduledTasksEndpointAutoConfiguration.java @@ -16,8 +16,7 @@ package org.springframework.boot.actuate.autoconfigure.scheduling; -import java.util.Collections; -import java.util.List; +import java.util.stream.Collectors; import org.springframework.beans.factory.ObjectProvider; import org.springframework.boot.actuate.autoconfigure.endpoint.condition.ConditionalOnEnabledEndpoint; @@ -41,8 +40,8 @@ public class ScheduledTasksEndpointAutoConfiguration { @ConditionalOnMissingBean @ConditionalOnEnabledEndpoint public ScheduledTasksEndpoint scheduledTasksEndpoint( - ObjectProvider> holders) { - return new ScheduledTasksEndpoint(holders.getIfAvailable(Collections::emptyList)); + ObjectProvider holders) { + return new ScheduledTasksEndpoint(holders.stream().collect(Collectors.toList())); } } diff --git a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/admin/SpringApplicationAdminJmxAutoConfiguration.java b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/admin/SpringApplicationAdminJmxAutoConfiguration.java index c21f7ef4068c..12b2fcdd890d 100644 --- a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/admin/SpringApplicationAdminJmxAutoConfiguration.java +++ b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/admin/SpringApplicationAdminJmxAutoConfiguration.java @@ -17,6 +17,7 @@ package org.springframework.boot.autoconfigure.admin; import java.util.List; +import java.util.stream.Collectors; import javax.management.MalformedObjectNameException; @@ -62,8 +63,8 @@ public class SpringApplicationAdminJmxAutoConfiguration { private final Environment environment; public SpringApplicationAdminJmxAutoConfiguration( - ObjectProvider> mbeanExporters, Environment environment) { - this.mbeanExporters = mbeanExporters.getIfAvailable(); + ObjectProvider mbeanExporters, Environment environment) { + this.mbeanExporters = mbeanExporters.stream().collect(Collectors.toList()); this.environment = environment; } diff --git a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/amqp/RabbitAutoConfiguration.java b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/amqp/RabbitAutoConfiguration.java index 17edff75658c..784162711a40 100644 --- a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/amqp/RabbitAutoConfiguration.java +++ b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/amqp/RabbitAutoConfiguration.java @@ -17,7 +17,7 @@ package org.springframework.boot.autoconfigure.amqp; import java.time.Duration; -import java.util.List; +import java.util.stream.Collectors; import com.rabbitmq.client.Channel; @@ -161,11 +161,11 @@ protected static class RabbitTemplateConfiguration { private final ObjectProvider messageConverter; - private final ObjectProvider> retryTemplateCustomizers; + private final ObjectProvider retryTemplateCustomizers; public RabbitTemplateConfiguration(RabbitProperties properties, ObjectProvider messageConverter, - ObjectProvider> retryTemplateCustomizers) { + ObjectProvider retryTemplateCustomizers) { this.properties = properties; this.messageConverter = messageConverter; this.retryTemplateCustomizers = retryTemplateCustomizers; @@ -184,9 +184,10 @@ public RabbitTemplate rabbitTemplate(ConnectionFactory connectionFactory) { template.setMandatory(determineMandatoryFlag()); RabbitProperties.Template properties = this.properties.getTemplate(); if (properties.getRetry().isEnabled()) { - template.setRetryTemplate(new RetryTemplateFactory( - this.retryTemplateCustomizers.getIfAvailable()) - .createRetryTemplate(properties.getRetry(), + template.setRetryTemplate( + new RetryTemplateFactory(this.retryTemplateCustomizers.stream() + .collect(Collectors.toList())).createRetryTemplate( + properties.getRetry(), RabbitRetryTemplateCustomizer.Target.SENDER)); } map.from(properties::getReceiveTimeout).whenNonNull().as(Duration::toMillis) diff --git a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/cache/CacheAutoConfiguration.java b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/cache/CacheAutoConfiguration.java index d5ff20582771..0384c8168a52 100644 --- a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/cache/CacheAutoConfiguration.java +++ b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/cache/CacheAutoConfiguration.java @@ -16,7 +16,7 @@ package org.springframework.boot.autoconfigure.cache; -import java.util.List; +import java.util.stream.Collectors; import org.springframework.beans.factory.InitializingBean; import org.springframework.beans.factory.ObjectProvider; @@ -67,8 +67,9 @@ public class CacheAutoConfiguration { @Bean @ConditionalOnMissingBean public CacheManagerCustomizers cacheManagerCustomizers( - ObjectProvider>> customizers) { - return new CacheManagerCustomizers(customizers.getIfAvailable()); + ObjectProvider> customizers) { + return new CacheManagerCustomizers( + customizers.stream().collect(Collectors.toList())); } @Bean diff --git a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/cassandra/CassandraAutoConfiguration.java b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/cassandra/CassandraAutoConfiguration.java index bfc9b4776a18..18fac1e68eed 100644 --- a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/cassandra/CassandraAutoConfiguration.java +++ b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/cassandra/CassandraAutoConfiguration.java @@ -18,6 +18,7 @@ import java.time.Duration; import java.util.List; +import java.util.stream.Collectors; import com.datastax.driver.core.Cluster; import com.datastax.driver.core.PoolingOptions; @@ -54,9 +55,10 @@ public class CassandraAutoConfiguration { private final List builderCustomizers; public CassandraAutoConfiguration(CassandraProperties properties, - ObjectProvider> builderCustomizers) { + ObjectProvider builderCustomizers) { this.properties = properties; - this.builderCustomizers = builderCustomizers.getIfAvailable(); + this.builderCustomizers = builderCustomizers.stream() + .collect(Collectors.toList()); } @Bean diff --git a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/data/neo4j/Neo4jDataAutoConfiguration.java b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/data/neo4j/Neo4jDataAutoConfiguration.java index 8d5d33fa588a..0941afc32b8c 100644 --- a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/data/neo4j/Neo4jDataAutoConfiguration.java +++ b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/data/neo4j/Neo4jDataAutoConfiguration.java @@ -17,6 +17,7 @@ package org.springframework.boot.autoconfigure.data.neo4j; import java.util.List; +import java.util.stream.Collectors; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; @@ -70,14 +71,13 @@ public org.neo4j.ogm.config.Configuration configuration(Neo4jProperties properti @Bean public SessionFactory sessionFactory(org.neo4j.ogm.config.Configuration configuration, ApplicationContext applicationContext, - ObjectProvider> eventListeners) { + ObjectProvider eventListeners) { SessionFactory sessionFactory = new SessionFactory(configuration, getPackagesToScan(applicationContext)); - List providedEventListeners = eventListeners.getIfAvailable(); - if (providedEventListeners != null) { - for (EventListener eventListener : providedEventListeners) { - sessionFactory.register(eventListener); - } + List providedEventListeners = eventListeners.stream() + .collect(Collectors.toList()); + for (EventListener eventListener : providedEventListeners) { + sessionFactory.register(eventListener); } return sessionFactory; } diff --git a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/elasticsearch/jest/JestAutoConfiguration.java b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/elasticsearch/jest/JestAutoConfiguration.java index 02fa06ca9081..16baf8b1f18d 100644 --- a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/elasticsearch/jest/JestAutoConfiguration.java +++ b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/elasticsearch/jest/JestAutoConfiguration.java @@ -18,6 +18,7 @@ import java.time.Duration; import java.util.List; +import java.util.stream.Collectors; import com.google.gson.Gson; import io.searchbox.client.JestClient; @@ -57,10 +58,11 @@ public class JestAutoConfiguration { private final List builderCustomizers; public JestAutoConfiguration(JestProperties properties, ObjectProvider gson, - ObjectProvider> builderCustomizers) { + ObjectProvider builderCustomizers) { this.properties = properties; this.gsonProvider = gson; - this.builderCustomizers = builderCustomizers.getIfAvailable(); + this.builderCustomizers = builderCustomizers.stream() + .collect(Collectors.toList()); } @Bean(destroyMethod = "shutdownClient") diff --git a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/elasticsearch/rest/RestClientAutoConfiguration.java b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/elasticsearch/rest/RestClientAutoConfiguration.java index 9598af3432dd..68ec5ab238e5 100644 --- a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/elasticsearch/rest/RestClientAutoConfiguration.java +++ b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/elasticsearch/rest/RestClientAutoConfiguration.java @@ -16,8 +16,8 @@ package org.springframework.boot.autoconfigure.elasticsearch.rest; -import java.util.Collections; import java.util.List; +import java.util.stream.Collectors; import org.apache.http.HttpHost; import org.apache.http.auth.AuthScope; @@ -54,10 +54,10 @@ public class RestClientAutoConfiguration { private final List builderCustomizers; public RestClientAutoConfiguration(RestClientProperties properties, - ObjectProvider> builderCustomizers) { + ObjectProvider builderCustomizers) { this.properties = properties; - this.builderCustomizers = builderCustomizers - .getIfAvailable(Collections::emptyList); + this.builderCustomizers = builderCustomizers.stream() + .collect(Collectors.toList()); } @Bean diff --git a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/http/HttpMessageConvertersAutoConfiguration.java b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/http/HttpMessageConvertersAutoConfiguration.java index 6a50195520c7..5097e8edbfee 100644 --- a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/http/HttpMessageConvertersAutoConfiguration.java +++ b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/http/HttpMessageConvertersAutoConfiguration.java @@ -18,6 +18,7 @@ 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; @@ -61,8 +62,8 @@ public class HttpMessageConvertersAutoConfiguration { private final List> converters; public HttpMessageConvertersAutoConfiguration( - ObjectProvider>> convertersProvider) { - this.converters = convertersProvider.getIfAvailable(); + ObjectProvider> convertersProvider) { + this.converters = convertersProvider.stream().collect(Collectors.toList()); } @Bean diff --git a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/jersey/JerseyAutoConfiguration.java b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/jersey/JerseyAutoConfiguration.java index fd8a54779f5d..60dc73702dcb 100644 --- a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/jersey/JerseyAutoConfiguration.java +++ b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/jersey/JerseyAutoConfiguration.java @@ -19,6 +19,7 @@ import java.util.Arrays; import java.util.EnumSet; import java.util.List; +import java.util.stream.Collectors; import javax.annotation.PostConstruct; import javax.servlet.DispatcherType; @@ -99,10 +100,10 @@ public class JerseyAutoConfiguration implements ServletContextAware { private String path; public JerseyAutoConfiguration(JerseyProperties jersey, ResourceConfig config, - ObjectProvider> customizers) { + ObjectProvider customizers) { this.jersey = jersey; this.config = config; - this.customizers = customizers.getIfAvailable(); + this.customizers = customizers.stream().collect(Collectors.toList()); } @PostConstruct diff --git a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/liquibase/LiquibaseAutoConfiguration.java b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/liquibase/LiquibaseAutoConfiguration.java index 06675abae97a..91d33dc5c4b3 100644 --- a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/liquibase/LiquibaseAutoConfiguration.java +++ b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/liquibase/LiquibaseAutoConfiguration.java @@ -17,9 +17,8 @@ package org.springframework.boot.autoconfigure.liquibase; import java.lang.reflect.Method; -import java.util.Collections; -import java.util.List; import java.util.function.Supplier; +import java.util.stream.Collectors; import javax.annotation.PostConstruct; import javax.persistence.EntityManagerFactory; @@ -75,9 +74,9 @@ public class LiquibaseAutoConfiguration { @Bean public LiquibaseSchemaManagementProvider liquibaseDefaultDdlModeProvider( - ObjectProvider> liquibases) { + ObjectProvider liquibases) { return new LiquibaseSchemaManagementProvider( - liquibases.getIfAvailable(Collections::emptyList)); + liquibases.stream().collect(Collectors.toList())); } @Configuration diff --git a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/quartz/QuartzAutoConfiguration.java b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/quartz/QuartzAutoConfiguration.java index 09b9685512e9..89e5f81f89b6 100644 --- a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/quartz/QuartzAutoConfiguration.java +++ b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/quartz/QuartzAutoConfiguration.java @@ -19,6 +19,7 @@ import java.util.List; import java.util.Map; import java.util.Properties; +import java.util.stream.Collectors; import javax.sql.DataSource; @@ -72,12 +73,12 @@ public class QuartzAutoConfiguration { private final ApplicationContext applicationContext; public QuartzAutoConfiguration(QuartzProperties properties, - ObjectProvider> customizers, + ObjectProvider customizers, ObjectProvider jobDetails, ObjectProvider> calendars, ObjectProvider triggers, ApplicationContext applicationContext) { this.properties = properties; - this.customizers = customizers.getIfAvailable(); + this.customizers = customizers.stream().collect(Collectors.toList()); this.jobDetails = jobDetails.getIfAvailable(); this.calendars = calendars.getIfAvailable(); this.triggers = triggers.getIfAvailable(); diff --git a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/transaction/TransactionAutoConfiguration.java b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/transaction/TransactionAutoConfiguration.java index 2f65e1c1464a..25801104a433 100644 --- a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/transaction/TransactionAutoConfiguration.java +++ b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/transaction/TransactionAutoConfiguration.java @@ -16,7 +16,7 @@ package org.springframework.boot.autoconfigure.transaction; -import java.util.List; +import java.util.stream.Collectors; import org.springframework.beans.factory.ObjectProvider; import org.springframework.boot.autoconfigure.AutoConfigureAfter; @@ -55,8 +55,9 @@ public class TransactionAutoConfiguration { @Bean @ConditionalOnMissingBean public TransactionManagerCustomizers platformTransactionManagerCustomizers( - ObjectProvider>> customizers) { - return new TransactionManagerCustomizers(customizers.getIfAvailable()); + ObjectProvider> customizers) { + return new TransactionManagerCustomizers( + customizers.stream().collect(Collectors.toList())); } @Configuration diff --git a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/web/client/RestTemplateAutoConfiguration.java b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/web/client/RestTemplateAutoConfiguration.java index b35208c93c2a..2a6f0fa7cb2e 100644 --- a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/web/client/RestTemplateAutoConfiguration.java +++ b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/web/client/RestTemplateAutoConfiguration.java @@ -18,6 +18,7 @@ import java.util.ArrayList; import java.util.List; +import java.util.stream.Collectors; import org.springframework.beans.factory.ObjectProvider; import org.springframework.boot.autoconfigure.AutoConfigureAfter; @@ -48,11 +49,11 @@ public class RestTemplateAutoConfiguration { private final ObjectProvider messageConverters; - private final ObjectProvider> restTemplateCustomizers; + private final ObjectProvider restTemplateCustomizers; public RestTemplateAutoConfiguration( ObjectProvider messageConverters, - ObjectProvider> restTemplateCustomizers) { + ObjectProvider restTemplateCustomizers) { this.messageConverters = messageConverters; this.restTemplateCustomizers = restTemplateCustomizers; } @@ -65,8 +66,8 @@ public RestTemplateBuilder restTemplateBuilder() { if (converters != null) { builder = builder.messageConverters(converters.getConverters()); } - List customizers = this.restTemplateCustomizers - .getIfAvailable(); + List customizers = this.restTemplateCustomizers.stream() + .collect(Collectors.toList()); if (!CollectionUtils.isEmpty(customizers)) { customizers = new ArrayList<>(customizers); AnnotationAwareOrderComparator.sort(customizers); diff --git a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/web/reactive/WebFluxAutoConfiguration.java b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/web/reactive/WebFluxAutoConfiguration.java index bc8e2a38a591..7c3afed02ed0 100644 --- a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/web/reactive/WebFluxAutoConfiguration.java +++ b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/web/reactive/WebFluxAutoConfiguration.java @@ -20,6 +20,7 @@ import java.util.Collection; import java.util.List; import java.util.concurrent.TimeUnit; +import java.util.stream.Collectors; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; @@ -125,18 +126,19 @@ public static class WebFluxConfig implements WebFluxConfigurer { public WebFluxConfig(ResourceProperties resourceProperties, WebFluxProperties webFluxProperties, ListableBeanFactory beanFactory, - ObjectProvider> resolvers, - ObjectProvider> codecCustomizers, + ObjectProvider resolvers, + ObjectProvider codecCustomizers, ObjectProvider resourceHandlerRegistrationCustomizer, - ObjectProvider> viewResolvers) { + ObjectProvider viewResolvers) { this.resourceProperties = resourceProperties; this.webFluxProperties = webFluxProperties; this.beanFactory = beanFactory; - this.argumentResolvers = resolvers.getIfAvailable(); - this.codecCustomizers = codecCustomizers.getIfAvailable(); + this.argumentResolvers = resolvers.stream().collect(Collectors.toList()); + this.codecCustomizers = codecCustomizers.stream() + .collect(Collectors.toList()); this.resourceHandlerRegistrationCustomizer = resourceHandlerRegistrationCustomizer .getIfAvailable(); - this.viewResolvers = viewResolvers.getIfAvailable(); + this.viewResolvers = viewResolvers.stream().collect(Collectors.toList()); } @Override diff --git a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/web/reactive/error/ErrorWebFluxAutoConfiguration.java b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/web/reactive/error/ErrorWebFluxAutoConfiguration.java index 81d14a8e9435..3fe3fee4ce9c 100644 --- a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/web/reactive/error/ErrorWebFluxAutoConfiguration.java +++ b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/web/reactive/error/ErrorWebFluxAutoConfiguration.java @@ -16,8 +16,8 @@ package org.springframework.boot.autoconfigure.web.reactive.error; -import java.util.Collections; import java.util.List; +import java.util.stream.Collectors; import org.springframework.beans.factory.ObjectProvider; import org.springframework.boot.autoconfigure.AutoConfigureBefore; @@ -67,14 +67,13 @@ public class ErrorWebFluxAutoConfiguration { public ErrorWebFluxAutoConfiguration(ServerProperties serverProperties, ResourceProperties resourceProperties, - ObjectProvider> viewResolversProvider, + ObjectProvider viewResolversProvider, ServerCodecConfigurer serverCodecConfigurer, ApplicationContext applicationContext) { this.serverProperties = serverProperties; this.applicationContext = applicationContext; this.resourceProperties = resourceProperties; - this.viewResolvers = viewResolversProvider - .getIfAvailable(() -> Collections.emptyList()); + this.viewResolvers = viewResolversProvider.stream().collect(Collectors.toList()); this.serverCodecConfigurer = serverCodecConfigurer; } diff --git a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/web/reactive/function/client/WebClientAutoConfiguration.java b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/web/reactive/function/client/WebClientAutoConfiguration.java index f775d4061254..ebe499f98744 100644 --- a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/web/reactive/function/client/WebClientAutoConfiguration.java +++ b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/web/reactive/function/client/WebClientAutoConfiguration.java @@ -18,6 +18,7 @@ import java.util.ArrayList; import java.util.List; +import java.util.stream.Collectors; import org.springframework.beans.factory.ObjectProvider; import org.springframework.boot.autoconfigure.AutoConfigureAfter; @@ -56,9 +57,10 @@ public class WebClientAutoConfiguration { private final WebClient.Builder webClientBuilder; public WebClientAutoConfiguration( - ObjectProvider> customizerProvider) { + ObjectProvider customizerProvider) { this.webClientBuilder = WebClient.builder(); - List customizers = customizerProvider.getIfAvailable(); + List customizers = customizerProvider.stream() + .collect(Collectors.toList()); if (!CollectionUtils.isEmpty(customizers)) { customizers = new ArrayList<>(customizers); AnnotationAwareOrderComparator.sort(customizers); diff --git a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/web/servlet/error/ErrorMvcAutoConfiguration.java b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/web/servlet/error/ErrorMvcAutoConfiguration.java index 7622691600a7..74a1c89bc2f8 100644 --- a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/web/servlet/error/ErrorMvcAutoConfiguration.java +++ b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/web/servlet/error/ErrorMvcAutoConfiguration.java @@ -20,6 +20,7 @@ import java.util.HashMap; import java.util.List; import java.util.Map; +import java.util.stream.Collectors; import javax.servlet.Servlet; import javax.servlet.http.HttpServletRequest; @@ -103,10 +104,11 @@ public class ErrorMvcAutoConfiguration { public ErrorMvcAutoConfiguration(ServerProperties serverProperties, DispatcherServletPath dispatcherServletPath, - ObjectProvider> errorViewResolversProvider) { + ObjectProvider errorViewResolversProvider) { this.serverProperties = serverProperties; this.dispatcherServletPath = dispatcherServletPath; - this.errorViewResolvers = errorViewResolversProvider.getIfAvailable(); + this.errorViewResolvers = errorViewResolversProvider.stream() + .collect(Collectors.toList()); } @Bean diff --git a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/webservices/client/WebServiceTemplateAutoConfiguration.java b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/webservices/client/WebServiceTemplateAutoConfiguration.java index d7a2edfeb244..d3321bfd79f1 100644 --- a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/webservices/client/WebServiceTemplateAutoConfiguration.java +++ b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/webservices/client/WebServiceTemplateAutoConfiguration.java @@ -18,6 +18,7 @@ import java.util.ArrayList; import java.util.List; +import java.util.stream.Collectors; import org.springframework.beans.factory.ObjectProvider; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; @@ -43,10 +44,10 @@ @ConditionalOnClass({ WebServiceTemplate.class, Unmarshaller.class, Marshaller.class }) public class WebServiceTemplateAutoConfiguration { - private final ObjectProvider> webServiceTemplateCustomizers; + private final ObjectProvider webServiceTemplateCustomizers; public WebServiceTemplateAutoConfiguration( - ObjectProvider> webServiceTemplateCustomizers) { + ObjectProvider webServiceTemplateCustomizers) { this.webServiceTemplateCustomizers = webServiceTemplateCustomizers; } @@ -55,7 +56,7 @@ public WebServiceTemplateAutoConfiguration( public WebServiceTemplateBuilder webServiceTemplateBuilder() { WebServiceTemplateBuilder builder = new WebServiceTemplateBuilder(); List customizers = this.webServiceTemplateCustomizers - .getIfAvailable(); + .stream().collect(Collectors.toList()); if (!CollectionUtils.isEmpty(customizers)) { customizers = new ArrayList<>(customizers); AnnotationAwareOrderComparator.sort(customizers); diff --git a/spring-boot-project/spring-boot-test-autoconfigure/src/main/java/org/springframework/boot/test/autoconfigure/restdocs/RestDocsAutoConfiguration.java b/spring-boot-project/spring-boot-test-autoconfigure/src/main/java/org/springframework/boot/test/autoconfigure/restdocs/RestDocsAutoConfiguration.java index 03ff7808e604..a2b2a673806a 100644 --- a/spring-boot-project/spring-boot-test-autoconfigure/src/main/java/org/springframework/boot/test/autoconfigure/restdocs/RestDocsAutoConfiguration.java +++ b/spring-boot-project/spring-boot-test-autoconfigure/src/main/java/org/springframework/boot/test/autoconfigure/restdocs/RestDocsAutoConfiguration.java @@ -17,6 +17,7 @@ package org.springframework.boot.test.autoconfigure.restdocs; import java.util.List; +import java.util.stream.Collectors; import io.restassured.builder.RequestSpecBuilder; import io.restassured.specification.RequestSpecification; @@ -60,17 +61,15 @@ static class RestDocsMockMvcConfiguration { @Bean @ConditionalOnMissingBean public MockMvcRestDocumentationConfigurer restDocsMockMvcConfigurer( - ObjectProvider> configurationCustomizerProvider, + ObjectProvider configurationCustomizerProvider, RestDocumentationContextProvider contextProvider) { MockMvcRestDocumentationConfigurer configurer = MockMvcRestDocumentation .documentationConfiguration(contextProvider); List configurationCustomizers = configurationCustomizerProvider - .getIfAvailable(); - if (configurationCustomizers != null) { - configurationCustomizers - .forEach((configurationCustomizer) -> configurationCustomizer - .customize(configurer)); - } + .stream().collect(Collectors.toList()); + configurationCustomizers + .forEach((configurationCustomizer) -> configurationCustomizer + .customize(configurer)); return configurer; } @@ -94,17 +93,15 @@ static class RestDocsRestAssuredConfiguration { @Bean @ConditionalOnMissingBean public RequestSpecification restDocsRestAssuredConfigurer( - ObjectProvider> configurationCustomizerProvider, + ObjectProvider configurationCustomizerProvider, RestDocumentationContextProvider contextProvider) { RestAssuredRestDocumentationConfigurer configurer = RestAssuredRestDocumentation .documentationConfiguration(contextProvider); List configurationCustomizers = configurationCustomizerProvider - .getIfAvailable(); - if (configurationCustomizers != null) { - configurationCustomizers - .forEach((configurationCustomizer) -> configurationCustomizer - .customize(configurer)); - } + .stream().collect(Collectors.toList()); + configurationCustomizers + .forEach((configurationCustomizer) -> configurationCustomizer + .customize(configurer)); return new RequestSpecBuilder().addFilter(configurer).build(); } @@ -125,17 +122,15 @@ static class RestDocsWebTestClientConfiguration { @Bean @ConditionalOnMissingBean public WebTestClientRestDocumentationConfigurer restDocsWebTestClientConfigurer( - ObjectProvider> configurationCustomizerProvider, + ObjectProvider configurationCustomizerProvider, RestDocumentationContextProvider contextProvider) { WebTestClientRestDocumentationConfigurer configurer = WebTestClientRestDocumentation .documentationConfiguration(contextProvider); List configurationCustomizers = configurationCustomizerProvider - .getIfAvailable(); - if (configurationCustomizers != null) { - configurationCustomizers - .forEach((configurationCustomizer) -> configurationCustomizer - .customize(configurer)); - } + .stream().collect(Collectors.toList()); + configurationCustomizers + .forEach((configurationCustomizer) -> configurationCustomizer + .customize(configurer)); return configurer; }