Skip to content

Commit cc7b4b1

Browse files
author
bnasslahsen
committed
code review
1 parent be445d6 commit cc7b4b1

File tree

4 files changed

+22
-20
lines changed

4 files changed

+22
-20
lines changed

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

Lines changed: 2 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -19,8 +19,6 @@
1919
package org.springdoc.api;
2020

2121
import java.io.UnsupportedEncodingException;
22-
import java.lang.annotation.Annotation;
23-
import java.lang.reflect.AnnotatedElement;
2422
import java.lang.reflect.Method;
2523
import java.net.URLDecoder;
2624
import java.nio.charset.StandardCharsets;
@@ -35,7 +33,6 @@
3533
import java.util.Optional;
3634
import java.util.Set;
3735
import java.util.stream.Collectors;
38-
import java.util.stream.Stream;
3936

4037
import com.fasterxml.jackson.annotation.JsonView;
4138
import io.swagger.v3.core.filter.SpecFilter;
@@ -60,7 +57,6 @@
6057
import org.springdoc.core.customizers.OpenApiCustomiser;
6158
import org.springdoc.core.customizers.OperationCustomizer;
6259

63-
import org.springframework.core.MethodParameter;
6460
import org.springframework.core.annotation.AnnotatedElementUtils;
6561
import org.springframework.core.annotation.AnnotationUtils;
6662
import org.springframework.util.AntPathMatcher;
@@ -70,6 +66,8 @@
7066
import org.springframework.web.bind.annotation.RequestMethod;
7167
import org.springframework.web.method.HandlerMethod;
7268

69+
import static org.springdoc.core.converters.SchemaPropertyDeprecatingConverter.isDeprecated;
70+
7371
public abstract class AbstractOpenApiResource extends SpecFilter {
7472

7573
private static final Logger LOGGER = LoggerFactory.getLogger(AbstractOpenApiResource.class);
@@ -78,12 +76,6 @@ public abstract class AbstractOpenApiResource extends SpecFilter {
7876

7977
private static final List<Class<?>> HIDDEN_REST_CONTROLLERS = new ArrayList<>();
8078

81-
public static final List<Class<? extends Annotation>> DEPRECATED_ANNOTATIONS = new ArrayList<>();
82-
83-
static {
84-
DEPRECATED_ANNOTATIONS.add(Deprecated.class);
85-
}
86-
8779
protected final OpenAPIBuilder openAPIBuilder;
8880

8981
protected final SpringDocConfigProperties springDocConfigProperties;
@@ -129,10 +121,6 @@ public static void addHiddenRestControllers(Class<?>... classes) {
129121
HIDDEN_REST_CONTROLLERS.addAll(Arrays.asList(classes));
130122
}
131123

132-
public static void addDeprecatedType(Class<? extends Annotation> cls) {
133-
DEPRECATED_ANNOTATIONS.add(cls);
134-
}
135-
136124
protected synchronized OpenAPI getOpenApi() {
137125
OpenAPI openApi;
138126
if (openAPIBuilder.getCachedOpenAPI() == null || springDocConfigProperties.isCacheDisabled()) {
@@ -415,7 +403,4 @@ protected Operation customiseOperation(Operation operation, HandlerMethod handle
415403
return operation;
416404
}
417405

418-
private boolean isDeprecated(AnnotatedElement annotatedElement) {
419-
return DEPRECATED_ANNOTATIONS.stream().anyMatch(annoClass -> AnnotatedElementUtils.findMergedAnnotation(annotatedElement, annoClass) != null);
420-
}
421406
}

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,11 +31,11 @@
3131
import io.swagger.v3.oas.models.media.ObjectSchema;
3232
import io.swagger.v3.oas.models.media.Schema;
3333
import org.springdoc.core.converters.AdditionalModelsConverter;
34-
import org.springdoc.core.converters.SchemaPropertyDeprecatingConverter;
3534
import org.springdoc.core.converters.FileSupportConverter;
3635
import org.springdoc.core.converters.ModelConverterRegistrar;
3736
import org.springdoc.core.converters.PropertyCustomizingConverter;
3837
import org.springdoc.core.converters.ResponseSupportConverter;
38+
import org.springdoc.core.converters.SchemaPropertyDeprecatingConverter;
3939
import org.springdoc.core.customizers.OpenApiBuilderCustomiser;
4040
import org.springdoc.core.customizers.OpenApiCustomiser;
4141
import org.springdoc.core.customizers.PropertyCustomizer;

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

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

4040
public SpringDocUtils addDeprecatedType(Class<? extends Annotation> cls) {
41-
AbstractOpenApiResource.addDeprecatedType(cls);
41+
addDeprecatedType(cls);
4242
return this;
4343
}
4444

springdoc-openapi-common/src/main/java/org/springdoc/core/converters/SchemaPropertyDeprecatingConverter.java

Lines changed: 18 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,27 @@
11
package org.springdoc.core.converters;
22

33
import java.lang.annotation.Annotation;
4+
import java.lang.reflect.AnnotatedElement;
5+
import java.util.ArrayList;
46
import java.util.Iterator;
7+
import java.util.List;
58
import java.util.stream.Stream;
69

710
import io.swagger.v3.core.converter.AnnotatedType;
811
import io.swagger.v3.core.converter.ModelConverter;
912
import io.swagger.v3.core.converter.ModelConverterContext;
1013
import io.swagger.v3.oas.models.media.Schema;
1114

12-
import static org.springdoc.api.AbstractOpenApiResource.DEPRECATED_ANNOTATIONS;
15+
import org.springframework.core.annotation.AnnotatedElementUtils;
1316

1417
public class SchemaPropertyDeprecatingConverter implements ModelConverter {
1518

19+
private static final List<Class<? extends Annotation>> DEPRECATED_ANNOTATIONS = new ArrayList<>();
20+
21+
static {
22+
DEPRECATED_ANNOTATIONS.add(Deprecated.class);
23+
}
24+
1625
@Override
1726
public Schema resolve(AnnotatedType type, ModelConverterContext context, Iterator<ModelConverter> chain) {
1827
if (chain.hasNext()) {
@@ -27,4 +36,12 @@ public Schema resolve(AnnotatedType type, ModelConverterContext context, Iterato
2736
public static boolean containsDeprecatedAnnotation(Annotation[] annotations) {
2837
return annotations != null && Stream.of(annotations).map(Annotation::annotationType).anyMatch(DEPRECATED_ANNOTATIONS::contains);
2938
}
39+
40+
public static void addDeprecatedType(Class<? extends Annotation> cls) {
41+
DEPRECATED_ANNOTATIONS.add(cls);
42+
}
43+
44+
public static boolean isDeprecated(AnnotatedElement annotatedElement) {
45+
return DEPRECATED_ANNOTATIONS.stream().anyMatch(annoClass -> AnnotatedElementUtils.findMergedAnnotation(annotatedElement, annoClass) != null);
46+
}
3047
}

0 commit comments

Comments
 (0)