From 33129ca104037c012c2edc56ca596be814e0fbad Mon Sep 17 00:00:00 2001 From: Daniel Klessing Date: Wed, 4 Mar 2020 03:21:46 +0100 Subject: [PATCH] [Java][Spring][Spring-Cloud] Fix #5144 - Use conditional package declaration to avoid unnecessary dependencies (#5145) * FIX: Use conditional package declaration to avoid unnecessary dependencies * DEV: Adjusted sample ClientConfiguration.java for async spring-cloud --- .../spring-cloud/clientConfiguration.mustache | 28 ++++++++++++++++--- .../configuration/ClientConfiguration.java | 8 ------ .../configuration/ClientConfiguration.java | 8 ------ 3 files changed, 24 insertions(+), 20 deletions(-) diff --git a/modules/openapi-generator/src/main/resources/JavaSpring/libraries/spring-cloud/clientConfiguration.mustache b/modules/openapi-generator/src/main/resources/JavaSpring/libraries/spring-cloud/clientConfiguration.mustache index 99d82b2c7d5b..c1feeb515990 100644 --- a/modules/openapi-generator/src/main/resources/JavaSpring/libraries/spring-cloud/clientConfiguration.mustache +++ b/modules/openapi-generator/src/main/resources/JavaSpring/libraries/spring-cloud/clientConfiguration.mustache @@ -1,22 +1,42 @@ package {{configPackage}}; -import feign.Logger; +{{#authMethods}} +{{#isBasic}} import feign.auth.BasicAuthRequestInterceptor; +{{/isBasic}} +{{#-first}} import org.springframework.beans.factory.annotation.Value; import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; +{{/-first}} +{{#isOAuth}} import org.springframework.boot.context.properties.ConfigurationProperties; +{{/isOAuth}} +{{/authMethods}} import org.springframework.boot.context.properties.EnableConfigurationProperties; +{{#authMethods}} +{{#-first}} import org.springframework.context.annotation.Bean; +{{/-first}} +{{/authMethods}} import org.springframework.context.annotation.Configuration; +{{#authMethods}} +{{#isOAuth}} import org.springframework.cloud.security.oauth2.client.feign.OAuth2FeignRequestInterceptor; import org.springframework.security.oauth2.client.DefaultOAuth2ClientContext; -import org.springframework.security.oauth2.client.resource.BaseOAuth2ProtectedResourceDetails; +{{#isApplication}} import org.springframework.security.oauth2.client.token.grant.client.ClientCredentialsResourceDetails; +{{/isApplication}} +{{#isCode}} import org.springframework.security.oauth2.client.token.grant.code.AuthorizationCodeResourceDetails; +{{/isCode}} +{{#isImplicit}} import org.springframework.security.oauth2.client.token.grant.implicit.ImplicitResourceDetails; +{{/isImplicit}} +{{#isPassword}} import org.springframework.security.oauth2.client.token.grant.password.ResourceOwnerPasswordResourceDetails; -import org.springframework.security.oauth2.common.exceptions.InvalidGrantException; -import org.springframework.security.oauth2.common.exceptions.OAuth2Exception; +{{/isPassword}} +{{/isOAuth}} +{{/authMethods}} @Configuration @EnableConfigurationProperties diff --git a/samples/client/petstore/spring-cloud-async/src/main/java/org/openapitools/configuration/ClientConfiguration.java b/samples/client/petstore/spring-cloud-async/src/main/java/org/openapitools/configuration/ClientConfiguration.java index 3a24985dcd24..ae8ce0ea3f6b 100644 --- a/samples/client/petstore/spring-cloud-async/src/main/java/org/openapitools/configuration/ClientConfiguration.java +++ b/samples/client/petstore/spring-cloud-async/src/main/java/org/openapitools/configuration/ClientConfiguration.java @@ -1,7 +1,5 @@ package org.openapitools.configuration; -import feign.Logger; -import feign.auth.BasicAuthRequestInterceptor; import org.springframework.beans.factory.annotation.Value; import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; import org.springframework.boot.context.properties.ConfigurationProperties; @@ -10,13 +8,7 @@ import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.cloud.security.oauth2.client.feign.OAuth2FeignRequestInterceptor; import org.springframework.security.oauth2.client.DefaultOAuth2ClientContext; -import org.springframework.security.oauth2.client.resource.BaseOAuth2ProtectedResourceDetails; -import org.springframework.security.oauth2.client.token.grant.client.ClientCredentialsResourceDetails; -import org.springframework.security.oauth2.client.token.grant.code.AuthorizationCodeResourceDetails; import org.springframework.security.oauth2.client.token.grant.implicit.ImplicitResourceDetails; -import org.springframework.security.oauth2.client.token.grant.password.ResourceOwnerPasswordResourceDetails; -import org.springframework.security.oauth2.common.exceptions.InvalidGrantException; -import org.springframework.security.oauth2.common.exceptions.OAuth2Exception; @Configuration @EnableConfigurationProperties diff --git a/samples/client/petstore/spring-cloud/src/main/java/org/openapitools/configuration/ClientConfiguration.java b/samples/client/petstore/spring-cloud/src/main/java/org/openapitools/configuration/ClientConfiguration.java index 3a24985dcd24..ae8ce0ea3f6b 100644 --- a/samples/client/petstore/spring-cloud/src/main/java/org/openapitools/configuration/ClientConfiguration.java +++ b/samples/client/petstore/spring-cloud/src/main/java/org/openapitools/configuration/ClientConfiguration.java @@ -1,7 +1,5 @@ package org.openapitools.configuration; -import feign.Logger; -import feign.auth.BasicAuthRequestInterceptor; import org.springframework.beans.factory.annotation.Value; import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; import org.springframework.boot.context.properties.ConfigurationProperties; @@ -10,13 +8,7 @@ import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.cloud.security.oauth2.client.feign.OAuth2FeignRequestInterceptor; import org.springframework.security.oauth2.client.DefaultOAuth2ClientContext; -import org.springframework.security.oauth2.client.resource.BaseOAuth2ProtectedResourceDetails; -import org.springframework.security.oauth2.client.token.grant.client.ClientCredentialsResourceDetails; -import org.springframework.security.oauth2.client.token.grant.code.AuthorizationCodeResourceDetails; import org.springframework.security.oauth2.client.token.grant.implicit.ImplicitResourceDetails; -import org.springframework.security.oauth2.client.token.grant.password.ResourceOwnerPasswordResourceDetails; -import org.springframework.security.oauth2.common.exceptions.InvalidGrantException; -import org.springframework.security.oauth2.common.exceptions.OAuth2Exception; @Configuration @EnableConfigurationProperties