Skip to content

Commit 84aad1a

Browse files
author
bnasslahsen
committed
code review
1 parent cab0bdd commit 84aad1a

File tree

62 files changed

+784
-718
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

62 files changed

+784
-718
lines changed

pom.xml

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,6 @@
1-
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
1+
<project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
2+
xmlns="http://maven.apache.org/POM/4.0.0"
3+
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
24
<modelVersion>4.0.0</modelVersion>
35
<groupId>org.springdoc</groupId>
46
<artifactId>springdoc-openapi</artifactId>

springdoc-openapi-common/pom.xml

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,6 @@
1-
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
1+
<project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
2+
xmlns="http://maven.apache.org/POM/4.0.0"
3+
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
24
<modelVersion>4.0.0</modelVersion>
35
<artifactId>springdoc-openapi-common</artifactId>
46
<name>${project.artifactId}</name>

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

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -151,6 +151,10 @@ public static void removeRequestWrapperToIgnore(Class<?>... classes) {
151151
PARAM_TYPES_TO_IGNORE.removeAll(Arrays.asList(classes));
152152
}
153153

154+
public static boolean isRequestTypeToIgnore(Class<?> rawClass) {
155+
return PARAM_TYPES_TO_IGNORE.stream().anyMatch(clazz -> clazz.isAssignableFrom(rawClass));
156+
}
157+
154158
public Operation build(HandlerMethod handlerMethod, RequestMethod requestMethod,
155159
Operation operation, MethodAttributes methodAttributes, OpenAPI openAPI) {
156160
// Documentation
@@ -262,11 +266,6 @@ protected boolean isParamToIgnore(MethodParameter parameter) {
262266
return isRequestTypeToIgnore(parameter.getParameterType());
263267
}
264268

265-
public static boolean isRequestTypeToIgnore(Class<?> rawClass) {
266-
return PARAM_TYPES_TO_IGNORE.stream().anyMatch(clazz -> clazz.isAssignableFrom(rawClass));
267-
}
268-
269-
270269
private void setParams(Operation operation, List<Parameter> operationParameters, RequestBodyInfo requestBodyInfo) {
271270
if (!CollectionUtils.isEmpty(operationParameters))
272271
operation.setParameters(operationParameters);

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

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

2525
public final class Constants {
2626

27-
public static final String SPRINGDOC_PREFIX="springdoc";
27+
public static final String SPRINGDOC_PREFIX = "springdoc";
2828

2929
public static final String DEFAULT_API_DOCS_URL = "/v3/api-docs";
3030

@@ -48,6 +48,8 @@ public final class Constants {
4848

4949
public static final String NULL = ":#{null}";
5050

51+
public static final String MVC_SERVLET_PATH = "${spring.mvc.servlet.path" + NULL + "}";
52+
5153
public static final String SPRINGDOC_SHOW_ACTUATOR = "springdoc.show-actuator";
5254

5355
public static final String SPRINGDOC_ACTUATOR_TAG = "Actuator";
@@ -74,7 +76,7 @@ public final class Constants {
7476

7577
public static final String DEFAULT_GROUP_NAME = "springdocDefault";
7678

77-
public static final String GROUP_CONFIG_FIRST_PROPERTY ="springdoc.group-configs[0].group";
79+
public static final String GROUP_CONFIG_FIRST_PROPERTY = "springdoc.group-configs[0].group";
7880

7981
public static final String GROUP_NAME_NOT_NULL = "Group name can not be null";
8082

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

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -87,6 +87,10 @@ public static void removeAnnotationsToIgnore(Class<?>... classes) {
8787
ANNOTATIOSN_TO_IGNORE.removeAll(Arrays.asList(classes));
8888
}
8989

90+
public static boolean isFile(Class type) {
91+
return FILE_TYPES.stream().anyMatch(clazz -> clazz.isAssignableFrom(type));
92+
}
93+
9094
Parameter mergeParameter(List<Parameter> existingParamDoc, Parameter paramCalcul) {
9195
Parameter result = paramCalcul;
9296
if (paramCalcul != null && paramCalcul.getName() != null) {
@@ -310,8 +314,4 @@ else if (type instanceof WildcardType) {
310314
}
311315
return false;
312316
}
313-
314-
public static boolean isFile(Class type) {
315-
return FILE_TYPES.stream().anyMatch(clazz -> clazz.isAssignableFrom(type));
316-
}
317317
}

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

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -60,8 +60,6 @@
6060
@SuppressWarnings("rawtypes")
6161
public class GenericResponseBuilder {
6262

63-
private List<ControllerAdviceInfo> controllerAdviceInfos = new ArrayList<>();
64-
6563
private final OperationBuilder operationBuilder;
6664

6765
private final List<ReturnTypeParser> returnTypeParsers;
@@ -70,6 +68,8 @@ public class GenericResponseBuilder {
7068

7169
private final PropertyResolverUtils propertyResolverUtils;
7270

71+
private List<ControllerAdviceInfo> controllerAdviceInfos = new ArrayList<>();
72+
7373
public GenericResponseBuilder(OperationBuilder operationBuilder, List<ReturnTypeParser> returnTypeParsers,
7474
SpringDocConfigProperties springDocConfigProperties,
7575
PropertyResolverUtils propertyResolverUtils) {

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

Lines changed: 28 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,33 @@
4444
import org.springframework.lang.Nullable;
4545

4646
class MethodParameterPojoExtractor {
47+
private static final Nullable NULLABLE_ANNOTATION = new Nullable() {
48+
@Override
49+
public Class<? extends Annotation> annotationType() {
50+
return Nullable.class;
51+
}
52+
};
53+
54+
private static final List<Predicate<Class<?>>> SIMPLE_TYPE_PREDICATES = new ArrayList<>();
55+
56+
private static final Set<Class<?>> SIMPLE_TYPES = new HashSet<>();
57+
58+
static {
59+
SIMPLE_TYPES.add(CharSequence.class);
60+
SIMPLE_TYPES.add(Optional.class);
61+
SIMPLE_TYPES.add(OptionalInt.class);
62+
SIMPLE_TYPES.add(OptionalLong.class);
63+
SIMPLE_TYPES.add(OptionalDouble.class);
64+
65+
SIMPLE_TYPES.add(Map.class);
66+
SIMPLE_TYPES.add(Iterable.class);
67+
68+
SIMPLE_TYPE_PREDICATES.add(Class::isPrimitive);
69+
SIMPLE_TYPE_PREDICATES.add(Class::isEnum);
70+
SIMPLE_TYPE_PREDICATES.add(Class::isArray);
71+
SIMPLE_TYPE_PREDICATES.add(MethodParameterPojoExtractor::isSwaggerPrimitiveType);
72+
}
73+
4774
static Stream<MethodParameter> extractFrom(Class<?> clazz) {
4875
return extractFrom(clazz, "");
4976
}
@@ -100,20 +127,9 @@ private static boolean isSimpleType(Class<?> clazz) {
100127

101128
private static boolean isSwaggerPrimitiveType(Class<?> clazz) {
102129
PrimitiveType primitiveType = PrimitiveType.fromType(clazz);
103-
return primitiveType != null;
130+
return primitiveType != null;
104131
}
105132

106-
private static final Nullable NULLABLE_ANNOTATION = new Nullable() {
107-
@Override
108-
public Class<? extends Annotation> annotationType() {
109-
return Nullable.class;
110-
}
111-
};
112-
113-
private static final List<Predicate<Class<?>>> SIMPLE_TYPE_PREDICATES = new ArrayList<>();
114-
115-
private static final Set<Class<?>> SIMPLE_TYPES = new HashSet<>();
116-
117133
static void addSimpleTypePredicate(Predicate<Class<?>> predicate) {
118134
SIMPLE_TYPE_PREDICATES.add(predicate);
119135
}
@@ -125,20 +141,4 @@ static void addSimpleTypes(Class<?>... classes) {
125141
static void removeSimpleTypes(Class<?>... classes) {
126142
SIMPLE_TYPES.removeAll(Arrays.asList(classes));
127143
}
128-
129-
static {
130-
SIMPLE_TYPES.add(CharSequence.class);
131-
SIMPLE_TYPES.add(Optional.class);
132-
SIMPLE_TYPES.add(OptionalInt.class);
133-
SIMPLE_TYPES.add(OptionalLong.class);
134-
SIMPLE_TYPES.add(OptionalDouble.class);
135-
136-
SIMPLE_TYPES.add(Map.class);
137-
SIMPLE_TYPES.add(Iterable.class);
138-
139-
SIMPLE_TYPE_PREDICATES.add(Class::isPrimitive);
140-
SIMPLE_TYPE_PREDICATES.add(Class::isEnum);
141-
SIMPLE_TYPE_PREDICATES.add(Class::isArray);
142-
SIMPLE_TYPE_PREDICATES.add(MethodParameterPojoExtractor::isSwaggerPrimitiveType);
143-
}
144144
}

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

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -447,14 +447,14 @@ public OpenAPI calculateCachedOpenAPI() {
447447
return cachedOpenAPI;
448448
}
449449

450-
public void setCachedOpenAPI(OpenAPI cachedOpenAPI) {
451-
this.cachedOpenAPI = cachedOpenAPI;
452-
}
453-
454450
public OpenAPI getCachedOpenAPI() {
455451
return cachedOpenAPI;
456452
}
457453

454+
public void setCachedOpenAPI(OpenAPI cachedOpenAPI) {
455+
this.cachedOpenAPI = cachedOpenAPI;
456+
}
457+
458458
public OpenAPI getCalculatedOpenAPI() {
459459
return calculatedOpenAPI;
460460
}

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

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -28,12 +28,6 @@
2828

2929
public interface ReturnTypeParser {
3030

31-
default Type getReturnType(MethodParameter methodParameter) {
32-
if (methodParameter.getGenericParameterType() instanceof ParameterizedType)
33-
return ReturnTypeParser.resolveType(methodParameter.getGenericParameterType(), methodParameter.getContainingClass());
34-
return methodParameter.getParameterType();
35-
}
36-
3731
/**
3832
* This is a copy of GenericTypeResolver.resolveType which is not available on spring 4.
3933
* This also keeps compatibility with spring-boot 1 applications.
@@ -114,5 +108,11 @@ static ResolvableType resolveVariable(TypeVariable<?> typeVariable, ResolvableTy
114108
}
115109
return ResolvableType.NONE;
116110
}
111+
112+
default Type getReturnType(MethodParameter methodParameter) {
113+
if (methodParameter.getGenericParameterType() instanceof ParameterizedType)
114+
return ReturnTypeParser.resolveType(methodParameter.getGenericParameterType(), methodParameter.getContainingClass());
115+
return methodParameter.getParameterType();
116+
}
117117
}
118118

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

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -136,7 +136,9 @@ public void setPathsToMatch(List<String> pathsToMatch) {
136136
this.pathsToMatch = pathsToMatch;
137137
}
138138

139-
public Cache getCache() { return cache; }
139+
public Cache getCache() {
140+
return cache;
141+
}
140142

141143
public void setCache(Cache cache) {
142144
this.cache = cache;

0 commit comments

Comments
 (0)