From 4fea26123bf11c02f623a42f5515ad04a994cf22 Mon Sep 17 00:00:00 2001 From: Scott Frederick Date: Tue, 24 May 2022 18:03:58 -0500 Subject: [PATCH] Adapt to Spring Boot 2.7 AutoConfiguration and FailureAnalyzer changes --- .../autoconfig/CredHubAutoConfiguration.java | 4 ++-- .../CredHubOAuth2AutoConfiguration.java | 6 ++---- .../CredHubTemplateAutoConfiguration.java | 6 ++---- .../ClientNotConfiguredFailureAnalyzer.java | 16 ++++++---------- .../src/main/resources/META-INF/spring.factories | 5 ----- ....boot.autoconfigure.AutoConfiguration.imports | 3 +++ 6 files changed, 15 insertions(+), 25 deletions(-) create mode 100644 spring-credhub-starter/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports diff --git a/spring-credhub-starter/src/main/java/org/springframework/credhub/autoconfig/CredHubAutoConfiguration.java b/spring-credhub-starter/src/main/java/org/springframework/credhub/autoconfig/CredHubAutoConfiguration.java index d53d4a8..4906f79 100644 --- a/spring-credhub-starter/src/main/java/org/springframework/credhub/autoconfig/CredHubAutoConfiguration.java +++ b/spring-credhub-starter/src/main/java/org/springframework/credhub/autoconfig/CredHubAutoConfiguration.java @@ -16,13 +16,13 @@ package org.springframework.credhub.autoconfig; +import org.springframework.boot.autoconfigure.AutoConfiguration; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean; import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; import org.springframework.boot.context.properties.ConfigurationProperties; import org.springframework.boot.context.properties.EnableConfigurationProperties; import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; import org.springframework.credhub.core.CredHubProperties; import org.springframework.credhub.support.ClientOptions; @@ -32,7 +32,7 @@ import org.springframework.credhub.support.ClientOptions; * @author Scott Frederick * @author Daniel Lavoie */ -@Configuration(proxyBeanMethods = false) +@AutoConfiguration @EnableConfigurationProperties public class CredHubAutoConfiguration { diff --git a/spring-credhub-starter/src/main/java/org/springframework/credhub/autoconfig/CredHubOAuth2AutoConfiguration.java b/spring-credhub-starter/src/main/java/org/springframework/credhub/autoconfig/CredHubOAuth2AutoConfiguration.java index a59023a..8c12b19 100644 --- a/spring-credhub-starter/src/main/java/org/springframework/credhub/autoconfig/CredHubOAuth2AutoConfiguration.java +++ b/spring-credhub-starter/src/main/java/org/springframework/credhub/autoconfig/CredHubOAuth2AutoConfiguration.java @@ -19,7 +19,7 @@ package org.springframework.credhub.autoconfig; import java.util.ArrayList; import java.util.List; -import org.springframework.boot.autoconfigure.AutoConfigureAfter; +import org.springframework.boot.autoconfigure.AutoConfiguration; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; import org.springframework.boot.autoconfigure.condition.ConditionalOnClass; import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean; @@ -32,7 +32,6 @@ import org.springframework.boot.autoconfigure.security.oauth2.client.servlet.OAu import org.springframework.boot.context.properties.EnableConfigurationProperties; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Conditional; -import org.springframework.context.annotation.Configuration; import org.springframework.security.oauth2.client.AuthorizedClientServiceReactiveOAuth2AuthorizedClientManager; import org.springframework.security.oauth2.client.InMemoryOAuth2AuthorizedClientService; import org.springframework.security.oauth2.client.InMemoryReactiveOAuth2AuthorizedClientService; @@ -52,9 +51,8 @@ import org.springframework.security.oauth2.client.web.OAuth2AuthorizedClientRepo * * @author Scott Frederick */ -@Configuration(proxyBeanMethods = false) +@AutoConfiguration(after = { OAuth2ClientAutoConfiguration.class, ReactiveOAuth2ClientAutoConfiguration.class }) @EnableConfigurationProperties(OAuth2ClientProperties.class) -@AutoConfigureAfter({ OAuth2ClientAutoConfiguration.class, ReactiveOAuth2ClientAutoConfiguration.class }) @ConditionalOnClass(name = "org.springframework.security.oauth2.client.registration.ClientRegistration") @ConditionalOnProperty("spring.credhub.oauth2.registration-id") @Conditional(ClientsConfiguredCondition.class) diff --git a/spring-credhub-starter/src/main/java/org/springframework/credhub/autoconfig/CredHubTemplateAutoConfiguration.java b/spring-credhub-starter/src/main/java/org/springframework/credhub/autoconfig/CredHubTemplateAutoConfiguration.java index 0f9b1aa..e898c9d 100644 --- a/spring-credhub-starter/src/main/java/org/springframework/credhub/autoconfig/CredHubTemplateAutoConfiguration.java +++ b/spring-credhub-starter/src/main/java/org/springframework/credhub/autoconfig/CredHubTemplateAutoConfiguration.java @@ -16,12 +16,11 @@ package org.springframework.credhub.autoconfig; -import org.springframework.boot.autoconfigure.AutoConfigureAfter; +import org.springframework.boot.autoconfigure.AutoConfiguration; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; import org.springframework.boot.autoconfigure.condition.ConditionalOnBean; import org.springframework.boot.autoconfigure.security.oauth2.client.reactive.ReactiveOAuth2ClientAutoConfiguration; import org.springframework.boot.autoconfigure.security.oauth2.client.servlet.OAuth2ClientAutoConfiguration; -import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.Import; import org.springframework.credhub.core.CredHubProperties; import org.springframework.credhub.core.CredHubTemplate; @@ -31,8 +30,7 @@ import org.springframework.credhub.core.CredHubTemplate; * * @author Scott Frederick */ -@Configuration(proxyBeanMethods = false) -@AutoConfigureAfter({ CredHubAutoConfiguration.class, CredHubOAuth2AutoConfiguration.class, +@AutoConfiguration(after = { CredHubAutoConfiguration.class, CredHubOAuth2AutoConfiguration.class, OAuth2ClientAutoConfiguration.class, ReactiveOAuth2ClientAutoConfiguration.class }) @ConditionalOnBean(CredHubProperties.class) @Import({ CredHubTemplateConfiguration.class, ReactiveCredHubTemplateConfiguration.class }) diff --git a/spring-credhub-starter/src/main/java/org/springframework/credhub/diagnostics/ClientNotConfiguredFailureAnalyzer.java b/spring-credhub-starter/src/main/java/org/springframework/credhub/diagnostics/ClientNotConfiguredFailureAnalyzer.java index af2b9a0..edba294 100644 --- a/spring-credhub-starter/src/main/java/org/springframework/credhub/diagnostics/ClientNotConfiguredFailureAnalyzer.java +++ b/spring-credhub-starter/src/main/java/org/springframework/credhub/diagnostics/ClientNotConfiguredFailureAnalyzer.java @@ -16,9 +16,7 @@ package org.springframework.credhub.diagnostics; -import org.springframework.beans.BeansException; import org.springframework.beans.factory.BeanFactory; -import org.springframework.beans.factory.BeanFactoryAware; import org.springframework.beans.factory.NoSuchBeanDefinitionException; import org.springframework.boot.diagnostics.AbstractFailureAnalyzer; import org.springframework.boot.diagnostics.FailureAnalysis; @@ -30,10 +28,13 @@ import org.springframework.boot.diagnostics.FailureAnalyzer; * * @author Scott Frederick */ -class ClientNotConfiguredFailureAnalyzer extends AbstractFailureAnalyzer - implements BeanFactoryAware { +class ClientNotConfiguredFailureAnalyzer extends AbstractFailureAnalyzer { - private BeanFactory beanFactory; + private final BeanFactory beanFactory; + + ClientNotConfiguredFailureAnalyzer(BeanFactory beanFactory) { + this.beanFactory = beanFactory; + } @Override protected FailureAnalysis analyze(Throwable rootFailure, NoSuchBeanDefinitionException cause) { @@ -63,9 +64,4 @@ class ClientNotConfiguredFailureAnalyzer extends AbstractFailureAnalyzer