Skip to content

Commit

Permalink
code review
Browse files Browse the repository at this point in the history
  • Loading branch information
bnasslahsen committed Mar 12, 2024
1 parent 0659912 commit 370d668
Show file tree
Hide file tree
Showing 4 changed files with 76 additions and 80 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -1247,7 +1247,7 @@ List<String> getEffectiveProperties() {
}
return p + ',' + direction.name();
})
.collect(Collectors.toList());
.toList();
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -66,15 +66,6 @@ public record JavadocPropertyCustomizer(JavadocProvider javadocProvider,

private static final Logger LOGGER = LoggerFactory.getLogger(DelegatingMethodParameter.class);

/**
* Instantiates a new Javadoc property customizer.
*
* @param javadocProvider the javadoc provider
* @param objectMapperProvider the object mapper provider
*/
public JavadocPropertyCustomizer {
}

/**
* Resolve schema.
*
Expand Down Expand Up @@ -197,7 +188,7 @@ private boolean findFields(Entry<String, Schema> stringSchemaEntry, Field field)
return true;
}
}
else if (field.getName().equalsIgnoreCase(stringSchemaEntry.getKey().replaceAll("_", ""))) {
else if (field.getName().equalsIgnoreCase(stringSchemaEntry.getKey().replace("_", ""))) {
return true;
}
return false;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -84,6 +84,11 @@
*/
public class SpecPropertiesCustomizer implements GlobalOpenApiCustomizer {

/**
* The constant DESCRIPTION.
*/
private static final String DESCRIPTION = ".description";

/**
* The Property resolver.
*/
Expand All @@ -100,9 +105,9 @@ public class SpecPropertiesCustomizer implements GlobalOpenApiCustomizer {
* @param resolverUtils the resolver utils
*/
public SpecPropertiesCustomizer(PropertyResolver resolverUtils) {
this.propertyResolver = resolverUtils;
this.propertyPrefix = SPRINGDOC_SPEC_PROPERTIES_PREFIX;
}
this.propertyResolver = resolverUtils;
this.propertyPrefix = SPRINGDOC_SPEC_PROPERTIES_PREFIX;
}

/**
* Instantiates a new Spec properties customizer.
Expand All @@ -111,85 +116,85 @@ public SpecPropertiesCustomizer(PropertyResolver resolverUtils) {
* @param groupName the group name
*/
public SpecPropertiesCustomizer(PropertyResolver propertyResolver, String groupName) {
this.propertyResolver = propertyResolver;
this.propertyPrefix = SPRINGDOC_SPEC_PROPERTIES_PREFIX + groupName + ".";
}
this.propertyResolver = propertyResolver;
this.propertyPrefix = SPRINGDOC_SPEC_PROPERTIES_PREFIX + groupName + ".";
}

@Override
public void customise(OpenAPI openApi) {
setOperationInfoProperties(openApi);
setComponentsProperties(openApi);
setPathsProperties(openApi);
}
@Override
public void customise(OpenAPI openApi) {
setOperationInfoProperties(openApi);
setComponentsProperties(openApi);
setPathsProperties(openApi);
}

/**
* Sets operation info properties.
*
* @param openApi the open api
*/
private void setOperationInfoProperties(OpenAPI openApi) {
if (openApi.getInfo() == null) {
openApi.setInfo(new Info());
}
Info info = openApi.getInfo();
resolveString(info::setTitle, "info.title");
resolveString(info::setDescription, "info.description");
resolveString(info::setVersion, "info.version");
resolveString(info::setTermsOfService, "info.termsOfService");
}
if (openApi.getInfo() == null) {
openApi.setInfo(new Info());
}
Info info = openApi.getInfo();
resolveString(info::setTitle, "info.title");
resolveString(info::setDescription, "info.description");
resolveString(info::setVersion, "info.version");
resolveString(info::setTermsOfService, "info.termsOfService");
}

/**
* Sets paths properties.
*
* @param openApi the open api
*/
private void setPathsProperties(OpenAPI openApi) {
Paths paths = openApi.getPaths();
if (CollectionUtils.isEmpty(paths.values())) {
return;
}
for (PathItem pathItem : paths.values()) {
List<Operation> operations = pathItem.readOperations();
for (Operation operation : operations) {
String operationId = operation.getOperationId();
String operationNode = MessageFormat.format("paths.{0}", operationId);
resolveString(operation::setDescription, operationNode + ".description");

resolveString(operation::setSummary, operationNode + ".summary");
}
}
}
Paths paths = openApi.getPaths();
if (CollectionUtils.isEmpty(paths.values())) {
return;
}
for (PathItem pathItem : paths.values()) {
List<Operation> operations = pathItem.readOperations();
for (Operation operation : operations) {
String operationId = operation.getOperationId();
String operationNode = MessageFormat.format("paths.{0}", operationId);
resolveString(operation::setDescription, operationNode + DESCRIPTION);

resolveString(operation::setSummary, operationNode + ".summary");
}
}
}

/**
* Sets components properties.
*
* @param openApi the open api
*/
private void setComponentsProperties(OpenAPI openApi) {
Components components = openApi.getComponents();
if (components == null || CollectionUtils.isEmpty(components.getSchemas())) {
return;
}

for (Schema componentSchema : components.getSchemas().values()) {
// set component description
String schemaPropertyPrefix = MessageFormat.format("components.schemas.{0}", componentSchema.getName());
resolveString(componentSchema::setDescription, schemaPropertyPrefix + ".description");
Map<String, Schema> properties = componentSchema.getProperties();

if (CollectionUtils.isEmpty(properties)) {
continue;
}

for (Schema propSchema : properties.values()) {
String propertyNode = MessageFormat.format("components.schemas.{0}.properties.{1}",
componentSchema.getName(), propSchema.getName());

resolveString(propSchema::setDescription, propertyNode + ".description");
resolveString(propSchema::setExample, propertyNode + ".example");
}
}
}
Components components = openApi.getComponents();
if (components == null || CollectionUtils.isEmpty(components.getSchemas())) {
return;
}

for (Schema componentSchema : components.getSchemas().values()) {
// set component description
String schemaPropertyPrefix = MessageFormat.format("components.schemas.{0}", componentSchema.getName());
resolveString(componentSchema::setDescription, schemaPropertyPrefix + ".description");
Map<String, Schema> properties = componentSchema.getProperties();

if (CollectionUtils.isEmpty(properties)) {
continue;
}

for (Schema propSchema : properties.values()) {
String propertyNode = MessageFormat.format("components.schemas.{0}.properties.{1}",
componentSchema.getName(), propSchema.getName());

resolveString(propSchema::setDescription, propertyNode + ".description");
resolveString(propSchema::setExample, propertyNode + ".example");
}
}
}

/**
* Resolve string.
Expand All @@ -198,13 +203,13 @@ private void setComponentsProperties(OpenAPI openApi) {
* @param node the node
*/
private void resolveString(
Consumer<String> setter, String node
) {
String nodeWithPrefix = propertyPrefix + node;
String value = propertyResolver.getProperty(nodeWithPrefix);
if (StringUtils.isNotBlank(value)) {
setter.accept(value);
}
}
Consumer<String> setter, String node
) {
String nodeWithPrefix = propertyPrefix + node;
String value = propertyResolver.getProperty(nodeWithPrefix);
if (StringUtils.isNotBlank(value)) {
setter.accept(value);
}
}

}
Original file line number Diff line number Diff line change
Expand Up @@ -223,7 +223,7 @@ public List<RouterOperation> getRouterOperations(OpenAPI openAPI, Locale locale)
final JacksonMetadata jackson = new JacksonMetadata(mapper, domainType);
boolean hiddenRepository = (AnnotationUtils.findAnnotation(repository, Hidden.class) != null);
if (!hiddenRepository) {
if (resourceMetadata.isExported()) {
if (resourceMetadata!=null && resourceMetadata.isExported()) {
for (HandlerMapping handlerMapping : handlerMappingList) {
if (handlerMapping instanceof RepositoryRestHandlerMapping) {
RepositoryRestHandlerMapping repositoryRestHandlerMapping = (RepositoryRestHandlerMapping) handlerMapping;
Expand Down

0 comments on commit 370d668

Please sign in to comment.