Skip to content

Commit 5a675e9

Browse files
author
bnasslahsen
committed
Merge branch 'conditional1' of https://github.com/ptahchiev/springdoc-openapi into ptahchiev-conditional1
2 parents 88b8e3b + bfe5027 commit 5a675e9

File tree

19 files changed

+51
-41
lines changed

19 files changed

+51
-41
lines changed

springdoc-openapi-kotlin/src/test/java/test/org/springdoc/api/app1/SpringDocTestApp.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@
2828
import org.springframework.context.annotation.ComponentScan;
2929

3030
@SpringBootApplication
31-
@ComponentScan(basePackages = { "org.springdoc", "test.org.springdoc.api.app1" })
31+
@ComponentScan(basePackages = { "org.springdoc.core", "test.org.springdoc.api.app1" })
3232
public class SpringDocTestApp {
3333
public static void main(String[] args) {
3434
SpringApplication.run(SpringDocTestApp.class, args);

springdoc-openapi-kotlin/src/test/kotlin/test/org/springdoc/api/app2/SpringDocApp2Test.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,10 +22,10 @@ import org.springframework.boot.autoconfigure.SpringBootApplication
2222
import org.springframework.context.annotation.ComponentScan
2323
import test.org.springdoc.api.AbstractKotlinSpringDocTest
2424

25-
@ComponentScan(basePackages = ["org.springdoc", "test.org.springdoc.api.app2"])
25+
@ComponentScan(basePackages = ["org.springdoc.core", "test.org.springdoc.api.app2"])
2626
class SpringDocApp2Test : AbstractKotlinSpringDocTest() {
2727

2828
@SpringBootApplication
2929
open class DemoApplication
3030

31-
}
31+
}

springdoc-openapi-kotlin/src/test/kotlin/test/org/springdoc/api/app3/SpringDocApp3Test.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,10 +22,10 @@ import org.springframework.boot.autoconfigure.SpringBootApplication
2222
import org.springframework.context.annotation.ComponentScan
2323
import test.org.springdoc.api.AbstractKotlinSpringDocTest
2424

25-
@ComponentScan(basePackages = ["org.springdoc", "test.org.springdoc.api.app3"])
25+
@ComponentScan(basePackages = ["org.springdoc.core", "test.org.springdoc.api.app3"])
2626
class SpringDocApp3Test : AbstractKotlinSpringDocTest() {
2727

2828
@SpringBootApplication
2929
open class DemoApplication
3030

31-
}
31+
}

springdoc-openapi-kotlin/src/test/kotlin/test/org/springdoc/api/app4/SpringDocApp4Test.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,10 +22,10 @@ import org.springframework.boot.autoconfigure.SpringBootApplication
2222
import org.springframework.context.annotation.ComponentScan
2323
import test.org.springdoc.api.AbstractKotlinSpringDocTest
2424

25-
@ComponentScan(basePackages = ["org.springdoc", "test.org.springdoc.api.app4"])
25+
@ComponentScan(basePackages = ["org.springdoc.core", "test.org.springdoc.api.app4"])
2626
class SpringDocApp4Test : AbstractKotlinSpringDocTest() {
2727

2828
@SpringBootApplication
2929
open class DemoApplication
3030

31-
}
31+
}

springdoc-openapi-webflux-core/src/main/java/org/springdoc/core/MultipleOpenApiWebFluxConfiguration.java

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@
2424

2525
import org.springframework.beans.factory.ObjectFactory;
2626
import org.springframework.boot.autoconfigure.condition.ConditionalOnBean;
27+
import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
2728
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
2829
import org.springframework.boot.autoconfigure.condition.ConditionalOnWebApplication;
2930
import org.springframework.context.annotation.Bean;
@@ -35,11 +36,11 @@
3536

3637
@Configuration
3738
@ConditionalOnWebApplication(type = ConditionalOnWebApplication.Type.REACTIVE)
38-
@ConditionalOnBean(GroupedOpenApi.class)
3939
@ConditionalOnProperty(name = SPRINGDOC_ENABLED, matchIfMissing = true)
4040
public class MultipleOpenApiWebFluxConfiguration {
4141

42-
@Bean
42+
@Bean(name = "multipleWebfluxOpenApiResource")
43+
@ConditionalOnMissingBean(name = "multipleWebfluxOpenApiResource")
4344
public MultipleOpenApiResource multipleOpenApiResource(List<GroupedOpenApi> groupedOpenApis,
4445
ObjectFactory<OpenAPIBuilder> defaultOpenAPIBuilder, AbstractRequestBuilder requestBuilder,
4546
GenericResponseBuilder responseBuilder, OperationBuilder operationParser,
@@ -49,4 +50,4 @@ public MultipleOpenApiResource multipleOpenApiResource(List<GroupedOpenApi> grou
4950
responseBuilder, operationParser,
5051
requestMappingHandlerMapping,springDocConfigProperties);
5152
}
52-
}
53+
}

springdoc-openapi-webflux-core/src/main/java/org/springdoc/core/SpringDocWebFluxConfiguration.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,8 @@
4242
@ConditionalOnProperty(name = SPRINGDOC_ENABLED, matchIfMissing = true)
4343
public class SpringDocWebFluxConfiguration {
4444

45-
@Bean
45+
@Bean(name = "webfluxOpenApiResource")
46+
@ConditionalOnMissingBean(name = "webfluxOpenApiResource")
4647
public OpenApiResource openApiResource(OpenAPIBuilder openAPIBuilder, AbstractRequestBuilder requestBuilder,
4748
GenericResponseBuilder responseBuilder, OperationBuilder operationParser,
4849
RequestMappingInfoHandlerMapping requestMappingHandlerMapping,

springdoc-openapi-webflux-core/src/test/java/test/org/springdoc/api/app3/SpringDocTestApp.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@
3030
import org.springframework.context.annotation.ComponentScan;
3131

3232
@SpringBootApplication
33-
@ComponentScan(basePackages = { "org.springdoc", "test.org.springdoc.api.app3" })
33+
@ComponentScan(basePackages = { "org.springdoc.core", "test.org.springdoc.api.app3" })
3434
public class SpringDocTestApp {
3535
public static void main(String[] args) {
3636
SpringApplication.run(SpringDocTestApp.class, args);

springdoc-openapi-webflux-core/src/test/java/test/org/springdoc/api/app39/SpringDocTestApp.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@
3030
import org.springframework.context.annotation.ComponentScan;
3131

3232
@SpringBootApplication
33-
@ComponentScan(basePackages = { "org.springdoc", "test.org.springdoc.api.app39" })
33+
@ComponentScan(basePackages = { "org.springdoc.core", "test.org.springdoc.api.app39" })
3434
public class SpringDocTestApp {
3535

3636
public static void main(String[] args) {

springdoc-openapi-webflux-core/src/test/java/test/org/springdoc/api/app4/SpringDocTestApp.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@
3030
import org.springframework.context.annotation.ComponentScan;
3131

3232
@SpringBootApplication
33-
@ComponentScan(basePackages = { "org.springdoc", "test.org.springdoc.api.app4" })
33+
@ComponentScan(basePackages = { "org.springdoc.core", "test.org.springdoc.api.app4" })
3434
public class SpringDocTestApp {
3535
public static void main(String[] args) {
3636
SpringApplication.run(SpringDocTestApp.class, args);

springdoc-openapi-webflux-core/src/test/java/test/org/springdoc/api/app5/SpringDocTestApp.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@
3030
import org.springframework.context.annotation.ComponentScan;
3131

3232
@SpringBootApplication
33-
@ComponentScan(basePackages = { "org.springdoc", "test.org.springdoc.api.app5" })
33+
@ComponentScan(basePackages = { "org.springdoc.core", "test.org.springdoc.api.app5" })
3434
public class SpringDocTestApp {
3535
public static void main(String[] args) {
3636
SpringApplication.run(SpringDocTestApp.class, args);

springdoc-openapi-webflux-core/src/test/java/test/org/springdoc/api/app63/SpringDocApp63Test.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,6 @@ public static void afterClass() {
3838
}
3939

4040
@SpringBootApplication
41-
@ComponentScan(basePackages = { "org.springdoc", "test.org.springdoc.api.app63" })
41+
@ComponentScan(basePackages = { "org.springdoc.core", "test.org.springdoc.api.app63" })
4242
static class SpringDocTestApp {}
43-
}
43+
}

springdoc-openapi-webflux-core/src/test/java/test/org/springdoc/api/app64/SpringDocApp64Test.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,6 @@ public static void afterClass() {
3838
}
3939

4040
@SpringBootApplication
41-
@ComponentScan(basePackages = { "org.springdoc", "test.org.springdoc.api.app64" })
41+
@ComponentScan(basePackages = { "org.springdoc.core", "test.org.springdoc.api.app64" })
4242
static class SpringDocTestApp {}
4343
}

springdoc-openapi-webflux-core/src/test/java/test/org/springdoc/api/app65/SpringDocApp65Test.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,6 @@
2626
public class SpringDocApp65Test extends AbstractSpringDocTest {
2727

2828
@SpringBootApplication
29-
@ComponentScan(basePackages = { "org.springdoc", "test.org.springdoc.api.app65" })
29+
@ComponentScan(basePackages = { "org.springdoc.core", "test.org.springdoc.api.app65" })
3030
static class SpringDocTestApp {}
3131
}

springdoc-openapi-webflux-core/src/test/java/test/org/springdoc/api/app66/SpringDocTestApp.java

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,13 +25,17 @@
2525
import io.swagger.v3.oas.models.security.SecurityScheme;
2626
import org.springdoc.core.GroupedOpenApi;
2727

28+
import org.springdoc.core.MultipleOpenApiWebFluxConfiguration;
2829
import org.springframework.boot.SpringApplication;
30+
import org.springframework.boot.autoconfigure.AutoConfigureBefore;
2931
import org.springframework.boot.autoconfigure.SpringBootApplication;
3032
import org.springframework.context.annotation.Bean;
3133
import org.springframework.context.annotation.ComponentScan;
34+
import org.springframework.core.Ordered;
35+
import org.springframework.core.annotation.Order;
3236

3337
@SpringBootApplication
34-
@ComponentScan(basePackages = { "org.springdoc", "test.org.springdoc.api.app66" })
38+
@ComponentScan(basePackages = { "org.springdoc.core", "test.org.springdoc.api.app66" })
3539
public class SpringDocTestApp {
3640
public static void main(String[] args) {
3741
SpringApplication.run(SpringDocTestApp.class, args);
@@ -47,7 +51,8 @@ public OpenAPI customOpenAPI() {
4751
}
4852

4953
@Bean
50-
public GroupedOpenApi stramOpenApi() {
54+
@Order(Ordered.HIGHEST_PRECEDENCE)
55+
public GroupedOpenApi streamOpenApi() {
5156
String[] paths = { "/stream/**" };
5257
String[] packagedToMatch = { "test.org.springdoc.api.app66" };
5358
return GroupedOpenApi.builder().setGroup("stream").pathsToMatch(paths)

springdoc-openapi-webflux-core/src/test/java/test/org/springdoc/api/app67/SpringDocApp67Test.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@
2828
public class SpringDocApp67Test extends AbstractSpringDocTest {
2929

3030
@SpringBootApplication
31-
@ComponentScan(basePackages = { "org.springdoc", "test.org.springdoc.api.app67" })
31+
@ComponentScan(basePackages = { "org.springdoc.core", "test.org.springdoc.api.app67" })
3232
static class SpringDocTestApp {}
3333

3434
@Test

springdoc-openapi-webflux-core/src/test/java/test/org/springdoc/api/core/ReactiveAutoConfigurationTest.java

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ public void configurations_successfully_loaded() {
3737
contextRunner
3838
.run(context -> assertThat(context)
3939
.hasNotFailed()
40-
.hasBean("openApiResource"));
40+
.hasBean("webfluxOpenApiResource"));
4141
}
4242

4343
@Test
@@ -46,7 +46,7 @@ public void configurations_not_loaded_when_application_is_not_web() {
4646
.withUserConfiguration(TestApp.class)
4747
.run(context -> assertThat(context)
4848
.hasNotFailed()
49-
.doesNotHaveBean("openApiResource"));
49+
.doesNotHaveBean("webfluxOpenApiResource"));
5050
}
5151

5252
@Test
@@ -55,7 +55,7 @@ public void configurations_not_loaded_when_disabled() {
5555
.withPropertyValues("springdoc.api-docs.enabled=false")
5656
.run(context -> assertThat(context)
5757
.hasNotFailed()
58-
.doesNotHaveBean("openApiResource"));
58+
.doesNotHaveBean("webfluxOpenApiResource"));
5959
}
6060

6161
@Test
@@ -64,11 +64,11 @@ public void configurations_not_loaded_when_reactor_is_not_on_class_path() {
6464
.withClassLoader(new FilteredClassLoader("org.springframework.web.reactive.HandlerResult"))
6565
.run(context -> assertThat(context)
6666
.hasNotFailed()
67-
.doesNotHaveBean("openApiResource"));
67+
.doesNotHaveBean("webfluxOpenApiResource"));
6868

6969
}
7070

7171
@SpringBootApplication
7272
static class TestApp {
7373
}
74-
}
74+
}

springdoc-openapi-webmvc-core/src/main/java/org/springdoc/core/MultipleOpenApiSupportConfiguration.java

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@
2626

2727
import org.springframework.beans.factory.ObjectFactory;
2828
import org.springframework.boot.autoconfigure.condition.ConditionalOnBean;
29+
import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
2930
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
3031
import org.springframework.boot.autoconfigure.condition.ConditionalOnWebApplication;
3132
import org.springframework.context.annotation.Bean;
@@ -41,7 +42,8 @@
4142
@ConditionalOnProperty(name = SPRINGDOC_ENABLED, matchIfMissing = true)
4243
public class MultipleOpenApiSupportConfiguration {
4344

44-
@Bean
45+
@Bean(name = "multipleMvcOpenApiResource")
46+
@ConditionalOnMissingBean(name = "multipleMvcOpenApiResource")
4547
public MultipleOpenApiResource multipleOpenApiResource(List<GroupedOpenApi> groupedOpenApis,
4648
ObjectFactory<OpenAPIBuilder> defaultOpenAPIBuilder, AbstractRequestBuilder requestBuilder,
4749
GenericResponseBuilder responseBuilder, OperationBuilder operationParser,
@@ -52,4 +54,4 @@ public MultipleOpenApiResource multipleOpenApiResource(List<GroupedOpenApi> grou
5254
responseBuilder, operationParser,
5355
requestMappingHandlerMapping, servletContextProvider,springDocConfigProperties);
5456
}
55-
}
57+
}

springdoc-openapi-webmvc-core/src/main/java/org/springdoc/core/SpringDocWebMvcConfiguration.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,8 @@
4747
@ConditionalOnProperty(name = SPRINGDOC_ENABLED, matchIfMissing = true)
4848
public class SpringDocWebMvcConfiguration {
4949

50-
@Bean
50+
@Bean(name = "mvcOpenApiResource")
51+
@ConditionalOnMissingBean(name = "mvcOpenApiResource")
5152
public OpenApiResource openApiResource(OpenAPIBuilder openAPIBuilder, AbstractRequestBuilder requestBuilder,
5253
GenericResponseBuilder responseBuilder, OperationBuilder operationParser,
5354
RequestMappingInfoHandlerMapping requestMappingHandlerMapping, Optional<ActuatorProvider> servletContextProvider,

springdoc-openapi-webmvc-core/src/test/java/test/org/springdoc/api/app72/BlockingAutoConfigurationTest.java

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -40,9 +40,9 @@ public void configurations_successfully_loaded() {
4040
.withPropertyValues("springdoc.show-actuator=true")
4141
.run(context -> assertThat(context)
4242
.hasNotFailed()
43-
.hasBean("openApiResource")
43+
.hasBean("mvcOpenApiResource")
4444
.hasBean("actuatorProvider")
45-
.hasBean("multipleOpenApiResource")
45+
.hasBean("multipleMvcOpenApiResource")
4646
);
4747
}
4848

@@ -52,9 +52,9 @@ public void configurations_not_loaded_when_application_is_not_web() {
5252
.withUserConfiguration(TestApp.class)
5353
.run(context -> assertThat(context)
5454
.hasNotFailed()
55-
.doesNotHaveBean("openApiResource")
55+
.doesNotHaveBean("mvcOpenApiResource")
5656
.doesNotHaveBean("actuatorProvider")
57-
.doesNotHaveBean("multipleOpenApiResource")
57+
.doesNotHaveBean("multipleMvcOpenApiResource")
5858
);
5959
}
6060

@@ -63,9 +63,9 @@ public void actuator_configuration_not_loaded_when_not_enabled_explicitly() {
6363
contextRunner
6464
.run(context -> assertThat(context)
6565
.hasNotFailed()
66-
.hasBean("openApiResource")
66+
.hasBean("mvcOpenApiResource")
6767
.doesNotHaveBean("actuatorPprrovider")
68-
.hasBean("multipleOpenApiResource")
68+
.hasBean("multipleMvcOpenApiResource")
6969
);
7070
}
7171

@@ -75,9 +75,9 @@ public void configurations_not_loaded_when_disabled() {
7575
.withPropertyValues("springdoc.api-docs.enabled=false")
7676
.run(context -> assertThat(context)
7777
.hasNotFailed()
78-
.doesNotHaveBean("openApiResource")
78+
.doesNotHaveBean("mvcOpenApiResource")
7979
.doesNotHaveBean("actuatorProvider")
80-
.doesNotHaveBean("multipleOpenApiResource")
80+
.doesNotHaveBean("multipleMvcOpenApiResource")
8181
);
8282
}
8383

@@ -87,9 +87,9 @@ public void configurations_not_loaded_when_mvc_is_not_on_class_path() {
8787
.withClassLoader(new FilteredClassLoader("org.springframework.web.context.support.GenericWebApplicationContext"))
8888
.run(context -> assertThat(context)
8989
.hasNotFailed()
90-
.doesNotHaveBean("openApiResource")
90+
.doesNotHaveBean("mvcOpenApiResource")
9191
.doesNotHaveBean("actuatorProvider")
92-
.doesNotHaveBean("multipleOpenApiResource")
92+
.doesNotHaveBean("multipleMvcOpenApiResource")
9393
);
9494

9595
}
@@ -104,4 +104,4 @@ GroupedOpenApi testGroupedOpenApi() {
104104
.build();
105105
}
106106
}
107-
}
107+
}

0 commit comments

Comments
 (0)