diff --git a/springdoc-openapi-starter-common/src/main/java/org/springdoc/api/AbstractOpenApiResource.java b/springdoc-openapi-starter-common/src/main/java/org/springdoc/api/AbstractOpenApiResource.java index 753d2cd88..5767e01e8 100644 --- a/springdoc-openapi-starter-common/src/main/java/org/springdoc/api/AbstractOpenApiResource.java +++ b/springdoc-openapi-starter-common/src/main/java/org/springdoc/api/AbstractOpenApiResource.java @@ -82,6 +82,7 @@ import io.swagger.v3.oas.models.servers.Server; import org.apache.commons.lang3.ArrayUtils; import org.apache.commons.lang3.StringUtils; +import org.apache.commons.lang3.Strings; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springdoc.core.annotations.RouterOperations; @@ -556,8 +557,9 @@ protected void calculateWebhooks(OpenAPI calculatedOpenAPI, Locale locale) { .filter(clazz -> isPackageToScan(clazz.getPackage())) .toArray(Class[]::new); Webhooks[] webhooksAttr = openAPIService.getWebhooks(refinedClasses); - if (ArrayUtils.isEmpty(webhooksAttr)) + if (ArrayUtils.isEmpty(webhooksAttr)) { return; + } var webhooks = Arrays.stream(webhooksAttr).map(Webhooks::value).flatMap(Arrays::stream).toArray(Webhook[]::new); Arrays.stream(webhooks).forEach(webhook -> { io.swagger.v3.oas.annotations.Operation apiOperation = webhook.operation(); @@ -683,7 +685,7 @@ protected void calculatePath(HandlerMethod handlerMethod, RouterOperation router // allow for customisation operation = customizeOperation(operation, components, handlerMethod); - if (StringUtils.contains(operationPath, "*")) { + if (Strings.CS.contains(operationPath, "*")) { Matcher matcher = pathPattern.matcher(operationPath); while (matcher.find()) { String pathParam = matcher.group(1); @@ -1297,7 +1299,7 @@ private PathItem buildPathItem(RequestMethod requestMethod, Operation operation, if (ParameterIn.PATH.toString().equals(parameter.getIn())) { // check it's present in the path String name = parameter.getName(); - if (!StringUtils.containsAny(operationPath, "{" + name + "}", "{*" + name + "}")) + if (!Strings.CS.containsAny(operationPath, "{" + name + "}", "{*" + name + "}")) paramIt.remove(); } } diff --git a/springdoc-openapi-starter-common/src/main/java/org/springdoc/core/converters/AdditionalModelsConverter.java b/springdoc-openapi-starter-common/src/main/java/org/springdoc/core/converters/AdditionalModelsConverter.java index e9bf0adf8..888869562 100644 --- a/springdoc-openapi-starter-common/src/main/java/org/springdoc/core/converters/AdditionalModelsConverter.java +++ b/springdoc-openapi-starter-common/src/main/java/org/springdoc/core/converters/AdditionalModelsConverter.java @@ -36,8 +36,6 @@ import io.swagger.v3.core.converter.ModelConverter; import io.swagger.v3.core.converter.ModelConverterContext; import io.swagger.v3.oas.models.media.Schema; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; import org.springdoc.core.providers.ObjectMapperProvider; import static org.springdoc.core.utils.SpringDocUtils.cloneViaJson; @@ -65,11 +63,6 @@ public class AdditionalModelsConverter implements ModelConverter { */ private static final Map paramObjectReplacementMap = new HashMap<>(); - /** - * The constant LOGGER. - */ - private static final Logger LOGGER = LoggerFactory.getLogger(AdditionalModelsConverter.class); - /** * The Spring doc object mapper. */ diff --git a/springdoc-openapi-starter-common/src/main/java/org/springdoc/core/converters/PolymorphicModelConverter.java b/springdoc-openapi-starter-common/src/main/java/org/springdoc/core/converters/PolymorphicModelConverter.java index 46b069631..16c14fdc4 100644 --- a/springdoc-openapi-starter-common/src/main/java/org/springdoc/core/converters/PolymorphicModelConverter.java +++ b/springdoc-openapi-starter-common/src/main/java/org/springdoc/core/converters/PolymorphicModelConverter.java @@ -203,9 +203,13 @@ public Schema resolve(AnnotatedType type, ModelConverterContext context, Iterato private Schema composePolymorphicSchema(AnnotatedType type, Schema schema, Collection schemas) { String ref = schema.get$ref(); List composedSchemas = findComposedSchemas(ref, schemas); - if (composedSchemas.isEmpty()) return schema; + if (composedSchemas.isEmpty()) { + return schema; + } ComposedSchema result = new ComposedSchema(); - if (isConcreteClass(type)) result.addOneOfItem(schema); + if (isConcreteClass(type)) { + result.addOneOfItem(schema); + } JavaType javaType = springDocObjectMapper.jsonMapper().constructType(type.getType()); Class clazz = javaType.getRawClass(); if (TYPES_TO_SKIP.stream().noneMatch(typeToSkip -> typeToSkip.equals(clazz.getSimpleName()))) diff --git a/springdoc-openapi-starter-common/src/main/java/org/springdoc/core/customizers/QuerydslPredicateOperationCustomizer.java b/springdoc-openapi-starter-common/src/main/java/org/springdoc/core/customizers/QuerydslPredicateOperationCustomizer.java index dc79b4963..b75462f91 100644 --- a/springdoc-openapi-starter-common/src/main/java/org/springdoc/core/customizers/QuerydslPredicateOperationCustomizer.java +++ b/springdoc-openapi-starter-common/src/main/java/org/springdoc/core/customizers/QuerydslPredicateOperationCustomizer.java @@ -57,8 +57,6 @@ import org.springframework.data.querydsl.binding.QuerydslBindings; import org.springframework.data.querydsl.binding.QuerydslBindingsFactory; import org.springframework.data.querydsl.binding.QuerydslPredicate; -import org.springframework.data.util.CastUtils; -import org.springframework.data.util.ClassTypeInformation; import org.springframework.data.util.TypeInformation; import org.springframework.util.CollectionUtils; import org.springframework.web.method.HandlerMethod; @@ -174,12 +172,12 @@ private boolean getFieldValueOfBoolean(QuerydslBindings instance, String fieldNa * @return the querydsl bindings */ private QuerydslBindings extractQdslBindings(QuerydslPredicate predicate) { - ClassTypeInformation classTypeInformation = ClassTypeInformation.from(predicate.root()); - TypeInformation domainType = classTypeInformation.getRequiredActualType(); + TypeInformation typeInformation = TypeInformation.of(predicate.root()); + TypeInformation domainType = typeInformation.getRequiredActualType(); Optional>> bindingsAnnotation = Optional.of(predicate) .map(QuerydslPredicate::bindings) - .map(CastUtils::cast); + .map(binder -> (Class>) binder); return bindingsAnnotation .map(it -> querydslBindingsFactory.createBindingsFor(domainType, it)) diff --git a/springdoc-openapi-starter-common/src/main/java/org/springdoc/core/models/MethodAttributes.java b/springdoc-openapi-starter-common/src/main/java/org/springdoc/core/models/MethodAttributes.java index a057165ea..32682cc74 100644 --- a/springdoc-openapi-starter-common/src/main/java/org/springdoc/core/models/MethodAttributes.java +++ b/springdoc-openapi-starter-common/src/main/java/org/springdoc/core/models/MethodAttributes.java @@ -445,8 +445,7 @@ private void setHeaders(String[] headers) { } else { String key = header.substring(0, neqIdx); - if (!this.headers.containsKey(key)) - this.headers.put(key, StringUtils.EMPTY); + this.headers.putIfAbsent(key, StringUtils.EMPTY); } } } diff --git a/springdoc-openapi-starter-common/src/main/java/org/springdoc/core/service/GenericResponseService.java b/springdoc-openapi-starter-common/src/main/java/org/springdoc/core/service/GenericResponseService.java index 99bb2815a..edae2bf1d 100644 --- a/springdoc-openapi-starter-common/src/main/java/org/springdoc/core/service/GenericResponseService.java +++ b/springdoc-openapi-starter-common/src/main/java/org/springdoc/core/service/GenericResponseService.java @@ -760,8 +760,7 @@ private Map getGenericMapResponse(HandlerMethod handlerMeth } if (addToGenericMap || exceptions.isEmpty()) { - methodAdviceInfo.getApiResponses().forEach((key, apiResponse) -> - genericApiResponseMap.putIfAbsent(key, apiResponse)); + methodAdviceInfo.getApiResponses().forEach(genericApiResponseMap::putIfAbsent); } } } diff --git a/springdoc-openapi-starter-common/src/main/java/org/springdoc/core/service/RequestBodyService.java b/springdoc-openapi-starter-common/src/main/java/org/springdoc/core/service/RequestBodyService.java index fa7bdbe9c..c52b53e3d 100644 --- a/springdoc-openapi-starter-common/src/main/java/org/springdoc/core/service/RequestBodyService.java +++ b/springdoc-openapi-starter-common/src/main/java/org/springdoc/core/service/RequestBodyService.java @@ -26,7 +26,6 @@ package org.springdoc.core.service; -import java.util.Arrays; import java.util.Locale; import java.util.Map; import java.util.Optional; @@ -256,7 +255,7 @@ public Optional buildRequestBodyFromDoc( */ public void calculateRequestBodyInfo(Components components, MethodAttributes methodAttributes, ParameterInfo parameterInfo, RequestBodyInfo requestBodyInfo) { - RequestBody requestBody = requestBodyInfo.getRequestBody(); + RequestBody requestBody; MethodParameter methodParameter = parameterInfo.getMethodParameter(); diff --git a/springdoc-openapi-starter-common/src/main/java/org/springdoc/core/utils/SchemaUtils.java b/springdoc-openapi-starter-common/src/main/java/org/springdoc/core/utils/SchemaUtils.java index e34a98a40..c157f8869 100644 --- a/springdoc-openapi-starter-common/src/main/java/org/springdoc/core/utils/SchemaUtils.java +++ b/springdoc-openapi-starter-common/src/main/java/org/springdoc/core/utils/SchemaUtils.java @@ -492,7 +492,7 @@ private static boolean ctorParamHasAnyAnnotationSimpleName(Field f, Collection> getHeaders(io.swagger.v3.oas.annotat * @param javadocProvider the javadoc provider */ public static void clearCache(JavadocProvider javadocProvider) { - if (javadocProvider != null) + if (javadocProvider != null) { javadocProvider.clearCache(); - MODEL_CONVERTER_CONTEXT_MAP.remove();; + } + MODEL_CONVERTER_CONTEXT_MAP.remove(); } /** diff --git a/springdoc-openapi-starter-common/src/main/java/org/springdoc/core/utils/SpringDocKotlinUtils.java b/springdoc-openapi-starter-common/src/main/java/org/springdoc/core/utils/SpringDocKotlinUtils.java index ed4dfb3cc..a40cc5152 100644 --- a/springdoc-openapi-starter-common/src/main/java/org/springdoc/core/utils/SpringDocKotlinUtils.java +++ b/springdoc-openapi-starter-common/src/main/java/org/springdoc/core/utils/SpringDocKotlinUtils.java @@ -73,7 +73,9 @@ private static Boolean kotlinMarkedNullableFallback(Field f) { return p.getReturnType().isMarkedNullable(); } } - } catch (Throwable ignored) {} + } catch (Exception ignored) { + // best-effort only + } return null; } @@ -94,7 +96,9 @@ static Boolean kotlinConstructorParamIsOptional(Field f) { } } } - } catch (Throwable ignored) {} + } catch (Exception ignored) { + // best-effort only + } return null; } diff --git a/springdoc-openapi-starter-common/src/main/java/org/springdoc/core/utils/SpringDocUtils.java b/springdoc-openapi-starter-common/src/main/java/org/springdoc/core/utils/SpringDocUtils.java index e956f68b3..849aa3255 100644 --- a/springdoc-openapi-starter-common/src/main/java/org/springdoc/core/utils/SpringDocUtils.java +++ b/springdoc-openapi-starter-common/src/main/java/org/springdoc/core/utils/SpringDocUtils.java @@ -30,6 +30,7 @@ import java.lang.annotation.Annotation; import java.util.ArrayList; import java.util.List; +import java.util.Objects; import java.util.Set; import java.util.function.Predicate; @@ -231,7 +232,7 @@ public static void removeNullKeyProperties(Schema schema) { if (schema == null || schema.getProperties() == null) { return; } - schema.getProperties().keySet().removeIf(key -> key == null); + schema.getProperties().keySet().removeIf(Objects::isNull); schema.getProperties().values().forEach(SpringDocUtils::removeNullKeyProperties); } diff --git a/springdoc-openapi-starter-webflux-ui/src/main/java/org/springdoc/webflux/ui/SwaggerWelcomeCommon.java b/springdoc-openapi-starter-webflux-ui/src/main/java/org/springdoc/webflux/ui/SwaggerWelcomeCommon.java index a85ecd898..219f4aeeb 100644 --- a/springdoc-openapi-starter-webflux-ui/src/main/java/org/springdoc/webflux/ui/SwaggerWelcomeCommon.java +++ b/springdoc-openapi-starter-webflux-ui/src/main/java/org/springdoc/webflux/ui/SwaggerWelcomeCommon.java @@ -89,11 +89,6 @@ protected void calculateOauth2RedirectUrl(SwaggerUiConfigParameters swaggerUiCon } } - @Override - protected void calculateUiRootPath(SwaggerUiConfigParameters swaggerUiConfigParameters, StringBuilder... sbUrls) { - super.calculateUiRootPath(swaggerUiConfigParameters, sbUrls); - } - /** * Gets swagger ui config. * @@ -106,6 +101,11 @@ protected Map getSwaggerUiConfig(ServerWebExchange exchange) { return swaggerUiConfigParameters.getConfigParameters(); } + @Override + protected void calculateUiRootPath(SwaggerUiConfigParameters swaggerUiConfigParameters, StringBuilder... sbUrls) { + super.calculateUiRootPath(swaggerUiConfigParameters, sbUrls); + } + /** * From current context path string. *