diff --git a/README.md b/README.md index 4fae6e8d5..78746f131 100644 --- a/README.md +++ b/README.md @@ -19,6 +19,11 @@ The project is very much Work In Progress and will be published on maven central # Release Notes BOAT is still under development and subject to change. +## 0.14.8 +* *Boat Marina* + * Removes flatObjects as they are no longer needed + * response.message was wrongfully escaped, escaping in the docs template instead + * We no longer need to generate model aliases in boat marina ## 0.14.7 * *Boat Marina* * Exports flatObjects as a model to prevent errors with references diff --git a/boat-scaffold/src/main/java/com/backbase/oss/codegen/BoatStaticDocsGenerator.java b/boat-scaffold/src/main/java/com/backbase/oss/codegen/BoatStaticDocsGenerator.java index 7584cd0a6..d01dee9c8 100644 --- a/boat-scaffold/src/main/java/com/backbase/oss/codegen/BoatStaticDocsGenerator.java +++ b/boat-scaffold/src/main/java/com/backbase/oss/codegen/BoatStaticDocsGenerator.java @@ -20,7 +20,6 @@ import org.openapitools.codegen.CodegenModel; import org.openapitools.codegen.CodegenParameter; import org.openapitools.codegen.CodegenResponse; -import org.openapitools.codegen.utils.ModelUtils; import java.io.IOException; import java.nio.charset.Charset; @@ -71,14 +70,6 @@ public void preprocessOpenAPI(OpenAPI openAPI) { .collect(Collectors.toList())); } - // We need freeForm objects as models as well, since they are being referenced with $ref - if (openAPI.getComponents().getSchemas() != null) { - additionalProperties.put("freeFormModels", openAPI.getComponents().getSchemas().entrySet().stream() - .filter(freeFormModel -> ModelUtils.isFreeFormObject(freeFormModel.getValue())) - .map(this::mapFreeFormObject) - .collect(Collectors.toList())); - } - if (openAPI.getPaths() != null) // Ensure single tags for operations openAPI.getPaths().forEach((path, pathItem) -> @@ -104,10 +95,6 @@ private BoatExample mapComponentExample( Map.Entry namedExample return new BoatExample(key,"", example , false); } - private Object mapFreeFormObject(Map.Entry freeFormObject) {//NOSONAR - String name = freeFormObject.getKey(); - return fromModel(name, freeFormObject.getValue()); - } private CodegenParameter mapComponentParameter(Set imports, java.util.Map.Entry nameParameter) { Parameter parameter = nameParameter.getValue(); @@ -178,8 +165,6 @@ public CodegenParameter fromRequestBody(RequestBody body, Set imports, S @Override public CodegenResponse fromResponse(String responseCode, ApiResponse response) { CodegenResponse r = super.fromResponse(responseCode, response); - r.message = StringUtils.replace(r.message, "`", "\\`"); - return new BoatCodegenResponse(r, responseCode, response, openAPI); } diff --git a/boat-scaffold/src/main/java/com/backbase/oss/codegen/doc/BoatCodegenResponse.java b/boat-scaffold/src/main/java/com/backbase/oss/codegen/doc/BoatCodegenResponse.java index a937f0b90..45fd5bf97 100644 --- a/boat-scaffold/src/main/java/com/backbase/oss/codegen/doc/BoatCodegenResponse.java +++ b/boat-scaffold/src/main/java/com/backbase/oss/codegen/doc/BoatCodegenResponse.java @@ -1,5 +1,6 @@ package com.backbase.oss.codegen.doc; +import com.samskivert.mustache.Mustache; import io.swagger.v3.oas.models.OpenAPI; import io.swagger.v3.oas.models.responses.ApiResponse; import java.util.ArrayList; @@ -7,6 +8,7 @@ import lombok.EqualsAndHashCode; import lombok.ToString; import lombok.extern.slf4j.Slf4j; +import org.apache.commons.lang3.StringUtils; import org.openapitools.codegen.CodegenResponse; @Slf4j @@ -15,6 +17,11 @@ @SuppressWarnings("java:S2387") public class BoatCodegenResponse extends CodegenResponse { + public static final Mustache.Lambda escapeBackTicks = (fragment, writer) -> { + String text = fragment.execute(); + writer.write(StringUtils.replace(text, "`", "\\`")); + }; + private final List examples = new ArrayList<>(); public boolean hasExamples() { diff --git a/boat-scaffold/src/main/java/com/backbase/oss/codegen/marina/BoatMarinaGenerator.java b/boat-scaffold/src/main/java/com/backbase/oss/codegen/marina/BoatMarinaGenerator.java index 80c280ba2..7f3708e5e 100644 --- a/boat-scaffold/src/main/java/com/backbase/oss/codegen/marina/BoatMarinaGenerator.java +++ b/boat-scaffold/src/main/java/com/backbase/oss/codegen/marina/BoatMarinaGenerator.java @@ -21,7 +21,7 @@ public BoatMarinaGenerator() { embeddedTemplateDir = templateDir = NAME; cliOptions.add(new CliOption(CodegenConstants.GENERATE_ALIAS_AS_MODEL, CodegenConstants.GENERATE_ALIAS_AS_MODEL)); - additionalProperties.put(CodegenConstants.GENERATE_ALIAS_AS_MODEL, true); + additionalProperties.put(CodegenConstants.GENERATE_ALIAS_AS_MODEL, false); additionalProperties.put("appName", "BOAT Marina Documentation"); additionalProperties.put("appDescription", "For a collection of doc(k)s"); additionalProperties.put("infoUrl", "https://backbase.github.io/backbase-openapi-tools/"); diff --git a/boat-scaffold/src/main/templates/boat-docs/response.mustache b/boat-scaffold/src/main/templates/boat-docs/response.mustache index 394b73e2a..5a198b475 100644 --- a/boat-scaffold/src/main/templates/boat-docs/response.mustache +++ b/boat-scaffold/src/main/templates/boat-docs/response.mustache @@ -105,7 +105,7 @@