Skip to content

Commit 31a9842

Browse files
author
springdoc
committed
project review
1 parent c9491bf commit 31a9842

File tree

4 files changed

+16
-19
lines changed

4 files changed

+16
-19
lines changed

springdoc-openapi-common/src/main/java/org/springdoc/api/AbstractOpenApiResource.java

Lines changed: 5 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -26,10 +26,7 @@
2626
import java.lang.reflect.Method;
2727
import java.time.Duration;
2828
import java.time.Instant;
29-
import java.util.Arrays;
30-
import java.util.List;
31-
import java.util.Map;
32-
import java.util.Set;
29+
import java.util.*;
3330
import java.util.stream.Collectors;
3431
import java.util.stream.Stream;
3532

@@ -40,12 +37,12 @@ public abstract class AbstractOpenApiResource {
4037
private final AbstractRequestBuilder requestBuilder;
4138
private final AbstractResponseBuilder responseBuilder;
4239
private final OperationBuilder operationParser;
43-
private final List<OpenApiCustomiser> openApiCustomisers;
40+
private final Optional<List<OpenApiCustomiser>> openApiCustomisers;
4441
private boolean computeDone;
4542

4643
protected AbstractOpenApiResource(OpenAPIBuilder openAPIBuilder, AbstractRequestBuilder requestBuilder,
4744
AbstractResponseBuilder responseBuilder, OperationBuilder operationParser,
48-
List<OpenApiCustomiser> openApiCustomisers) {
45+
Optional<List<OpenApiCustomiser>> openApiCustomisers) {
4946
super();
5047
this.openAPIBuilder = openAPIBuilder;
5148
this.requestBuilder = requestBuilder;
@@ -75,8 +72,8 @@ protected OpenAPI getOpenApi() {
7572
openApi = openAPIBuilder.getOpenAPI();
7673

7774
// run the optional customisers
78-
if (openApiCustomisers != null) {
79-
openApiCustomisers.forEach(openApiCustomiser -> openApiCustomiser.customise(openApi));
75+
if (openApiCustomisers.isPresent()) {
76+
openApiCustomisers.get().forEach(openApiCustomiser -> openApiCustomiser.customise(openApi));
8077
}
8178
LOGGER.info("Init duration for springdoc-openapi is: {} ms",
8279
Duration.between(start, Instant.now()).toMillis());

springdoc-openapi-common/src/test/java/org/springdoc/subclass/OpenApiResource.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010

1111
import java.util.List;
1212
import java.util.Map;
13+
import java.util.Optional;
1314

1415
/**
1516
* Class which sub class AbstractOpenApiResource in a different package and makes sure base class access is not changed.
@@ -20,7 +21,7 @@ public OpenApiResource(OpenAPIBuilder openAPIBuilder,
2021
AbstractRequestBuilder requestBuilder,
2122
AbstractResponseBuilder responseBuilder,
2223
OperationBuilder operationParser,
23-
List<OpenApiCustomiser> openApiCustomisers) {
24+
Optional<List<OpenApiCustomiser>> openApiCustomisers) {
2425
super(openAPIBuilder, requestBuilder, responseBuilder, operationParser, openApiCustomisers);
2526
}
2627

springdoc-openapi-webflux-core/src/main/java/org/springdoc/api/OpenApiResource.java

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -24,10 +24,7 @@
2424
import org.springframework.web.util.pattern.PathPattern;
2525
import reactor.core.publisher.Mono;
2626

27-
import java.util.LinkedHashMap;
28-
import java.util.List;
29-
import java.util.Map;
30-
import java.util.Set;
27+
import java.util.*;
3128

3229
import static org.springdoc.core.Constants.*;
3330
import static org.springframework.util.AntPathMatcher.DEFAULT_PATH_SEPARATOR;
@@ -41,7 +38,7 @@ public class OpenApiResource extends AbstractOpenApiResource {
4138
public OpenApiResource(OpenAPIBuilder openAPIBuilder, AbstractRequestBuilder requestBuilder,
4239
AbstractResponseBuilder responseBuilder, OperationBuilder operationParser,
4340
RequestMappingInfoHandlerMapping requestMappingHandlerMapping,
44-
List<OpenApiCustomiser> openApiCustomisers) {
41+
Optional<List<OpenApiCustomiser>> openApiCustomisers) {
4542
super(openAPIBuilder, requestBuilder, responseBuilder, operationParser, openApiCustomisers);
4643
this.requestMappingHandlerMapping = requestMappingHandlerMapping;
4744
}

springdoc-openapi-webmvc-core/src/main/java/org/springdoc/api/OpenApiResource.java

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111
import org.springdoc.core.AbstractResponseBuilder;
1212
import org.springdoc.core.OpenAPIBuilder;
1313
import org.springdoc.core.OperationBuilder;
14+
import org.springframework.beans.factory.annotation.Autowired;
1415
import org.springframework.beans.factory.annotation.Value;
1516
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
1617
import org.springframework.http.MediaType;
@@ -26,6 +27,7 @@
2627
import org.springframework.web.servlet.mvc.method.RequestMappingInfoHandlerMapping;
2728

2829
import javax.servlet.http.HttpServletRequest;
30+
import javax.swing.text.html.Option;
2931
import java.util.*;
3032

3133
import static org.springdoc.core.Constants.*;
@@ -37,15 +39,15 @@ public class OpenApiResource extends AbstractOpenApiResource {
3739

3840
private final RequestMappingInfoHandlerMapping requestMappingHandlerMapping;
3941

40-
private final ActuatorProvider servletContextProvider;
42+
private final Optional<ActuatorProvider> servletContextProvider;
4143

4244
@Value(SPRINGDOC_SHOW_ACTUATOR_VALUE)
4345
private boolean showActuator;
4446

4547
public OpenApiResource(OpenAPIBuilder openAPIBuilder, AbstractRequestBuilder requestBuilder,
4648
AbstractResponseBuilder responseBuilder, OperationBuilder operationParser,
47-
RequestMappingInfoHandlerMapping requestMappingHandlerMapping, @Nullable ActuatorProvider servletContextProvider,
48-
List<OpenApiCustomiser> openApiCustomisers) {
49+
RequestMappingInfoHandlerMapping requestMappingHandlerMapping, Optional<ActuatorProvider> servletContextProvider,
50+
Optional<List<OpenApiCustomiser>> openApiCustomisers) {
4951
super(openAPIBuilder, requestBuilder, responseBuilder, operationParser, openApiCustomisers);
5052
this.requestMappingHandlerMapping = requestMappingHandlerMapping;
5153
this.servletContextProvider = servletContextProvider;
@@ -73,8 +75,8 @@ public String openapiYaml(HttpServletRequest request, @Value(DEFAULT_API_DOCS_UR
7375
protected void getPaths(Map<String, Object> restControllers) {
7476
Map<RequestMappingInfo, HandlerMethod> map = requestMappingHandlerMapping.getHandlerMethods();
7577
calculatePath(restControllers, map);
76-
if (showActuator) {
77-
map = servletContextProvider.getWebMvcHandlerMapping().getHandlerMethods();
78+
if (showActuator && servletContextProvider.isPresent()) {
79+
map = servletContextProvider.get().getWebMvcHandlerMapping().getHandlerMethods();
7880
Set<HandlerMethod> handlerMethods = new HashSet<>(map.values());
7981
this.openAPIBuilder.addTag(handlerMethods, SPRINGDOC_ACTUATOR_TAG);
8082
calculatePath(restControllers, map);

0 commit comments

Comments
 (0)