Skip to content

Commit e9bdd0e

Browse files
author
bnasslahsen
committed
project review
1 parent 778e2aa commit e9bdd0e

File tree

4 files changed

+17
-12
lines changed

4 files changed

+17
-12
lines changed

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

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -78,7 +78,7 @@ public abstract class AbstractOpenApiResource extends SpecFilter {
7878

7979
private static final List<Class<?>> HIDDEN_REST_CONTROLLERS = new ArrayList<>();
8080

81-
private static final List<Class<? extends Annotation>> DEPRECATED_ANNOTATIONS = new ArrayList<>();
81+
public static final List<Class<? extends Annotation>> DEPRECATED_ANNOTATIONS = new ArrayList<>();
8282

8383
static {
8484
DEPRECATED_ANNOTATIONS.add(Deprecated.class);
@@ -415,11 +415,7 @@ protected Operation customiseOperation(Operation operation, HandlerMethod handle
415415
return operation;
416416
}
417417

418-
private static boolean isDeprecated(AnnotatedElement annotatedElement) {
418+
private boolean isDeprecated(AnnotatedElement annotatedElement) {
419419
return DEPRECATED_ANNOTATIONS.stream().anyMatch(annoClass -> AnnotatedElementUtils.findMergedAnnotation(annotatedElement, annoClass) != null);
420420
}
421-
422-
public static boolean containsDeprecatedAnnotation(Annotation[] annotations) {
423-
return annotations != null && Stream.of(annotations).map(Annotation::annotationType).anyMatch(DEPRECATED_ANNOTATIONS::contains);
424-
}
425421
}

springdoc-openapi-common/src/main/java/org/springdoc/core/AbstractRequestBuilder.java

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,6 @@
5353
import io.swagger.v3.oas.models.parameters.Parameter;
5454
import io.swagger.v3.oas.models.parameters.RequestBody;
5555
import org.apache.commons.lang3.StringUtils;
56-
import org.springdoc.api.AbstractOpenApiResource;
5756
import org.springdoc.core.customizers.ParameterCustomizer;
5857

5958
import org.springframework.core.LocalVariableTableParameterNameDiscoverer;
@@ -79,6 +78,7 @@
7978
import static org.springdoc.core.Constants.OPENAPI_ARRAY_TYPE;
8079
import static org.springdoc.core.Constants.OPENAPI_STRING_TYPE;
8180
import static org.springdoc.core.Constants.QUERY_PARAM;
81+
import static org.springdoc.core.converters.SchemaPropertyDeprecatingConverter.containsDeprecatedAnnotation;
8282

8383
public abstract class AbstractRequestBuilder {
8484

@@ -339,9 +339,8 @@ private Parameter buildParam(String in, Components components, ParameterInfo par
339339
if (required != null && parameter.getRequired() == null)
340340
parameter.setRequired(required);
341341

342-
if (AbstractOpenApiResource.containsDeprecatedAnnotation(parameterInfo.getMethodParameter().getParameterAnnotations())) {
342+
if (containsDeprecatedAnnotation(parameterInfo.getMethodParameter().getParameterAnnotations()))
343343
parameter.setDeprecated(true);
344-
}
345344

346345
if (parameter.getSchema() == null) {
347346
Schema<?> schema = parameterBuilder.calculateSchema(components, parameterInfo, null,
Original file line numberDiff line numberDiff line change
@@ -1,23 +1,30 @@
11
package org.springdoc.core.converters;
22

3+
import java.lang.annotation.Annotation;
34
import java.util.Iterator;
5+
import java.util.stream.Stream;
46

57
import io.swagger.v3.core.converter.AnnotatedType;
68
import io.swagger.v3.core.converter.ModelConverter;
79
import io.swagger.v3.core.converter.ModelConverterContext;
810
import io.swagger.v3.oas.models.media.Schema;
9-
import org.springdoc.api.AbstractOpenApiResource;
11+
12+
import static org.springdoc.api.AbstractOpenApiResource.DEPRECATED_ANNOTATIONS;
1013

1114
public class SchemaPropertyDeprecatingConverter implements ModelConverter {
15+
1216
@Override
1317
public Schema resolve(AnnotatedType type, ModelConverterContext context, Iterator<ModelConverter> chain) {
1418
if (chain.hasNext()) {
1519
Schema<?> resolvedSchema = chain.next().resolve(type, context, chain);
16-
if (type.isSchemaProperty() && AbstractOpenApiResource.containsDeprecatedAnnotation(type.getCtxAnnotations())) {
20+
if (type.isSchemaProperty() && containsDeprecatedAnnotation(type.getCtxAnnotations()))
1721
resolvedSchema.setDeprecated(true);
18-
}
1922
return resolvedSchema;
2023
}
2124
return null;
2225
}
26+
27+
public static boolean containsDeprecatedAnnotation(Annotation[] annotations) {
28+
return annotations != null && Stream.of(annotations).map(Annotation::annotationType).anyMatch(DEPRECATED_ANNOTATIONS::contains);
29+
}
2330
}

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

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,8 @@
3838
import org.springdoc.webmvc.api.ActuatorProvider;
3939
import org.springdoc.webmvc.api.OpenApiResource;
4040

41+
import org.springframework.boot.actuate.autoconfigure.web.server.ConditionalOnManagementPort;
42+
import org.springframework.boot.actuate.autoconfigure.web.server.ManagementPortType;
4143
import org.springframework.boot.actuate.endpoint.web.servlet.WebMvcEndpointHandlerMapping;
4244
import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
4345
import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
@@ -92,6 +94,7 @@ GenericResponseBuilder responseBuilder(OperationBuilder operationBuilder, List<R
9294

9395
@ConditionalOnProperty(SPRINGDOC_SHOW_ACTUATOR)
9496
@ConditionalOnClass(WebMvcEndpointHandlerMapping.class)
97+
@ConditionalOnManagementPort(ManagementPortType.SAME)
9598
class SpringDocWebMvcActuatorConfiguration {
9699

97100
@Bean

0 commit comments

Comments
 (0)