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-engine/pom.xml b/boat-engine/pom.xml index 337559a80..57e380a20 100644 --- a/boat-engine/pom.xml +++ b/boat-engine/pom.xml @@ -5,7 +5,7 @@ com.backbase.oss backbase-openapi-tools - 0.14.7 + 0.14.8 boat-engine jar diff --git a/boat-maven-plugin/pom.xml b/boat-maven-plugin/pom.xml index 5c1378018..ca236fccd 100644 --- a/boat-maven-plugin/pom.xml +++ b/boat-maven-plugin/pom.xml @@ -6,7 +6,7 @@ com.backbase.oss backbase-openapi-tools - 0.14.7 + 0.14.8 boat-maven-plugin diff --git a/boat-quay/boat-quay-lint/pom.xml b/boat-quay/boat-quay-lint/pom.xml index 951894c05..d8517b06c 100644 --- a/boat-quay/boat-quay-lint/pom.xml +++ b/boat-quay/boat-quay-lint/pom.xml @@ -5,7 +5,7 @@ com.backbase.oss boat-quay - 0.14.7 + 0.14.8 boat-quay-lint jar diff --git a/boat-quay/boat-quay-rules/pom.xml b/boat-quay/boat-quay-rules/pom.xml index 4bb273704..4644a4424 100644 --- a/boat-quay/boat-quay-rules/pom.xml +++ b/boat-quay/boat-quay-rules/pom.xml @@ -5,7 +5,7 @@ com.backbase.oss boat-quay - 0.14.7 + 0.14.8 boat-quay-rules jar diff --git a/boat-quay/pom.xml b/boat-quay/pom.xml index 6494bfaeb..3323a6ad3 100644 --- a/boat-quay/pom.xml +++ b/boat-quay/pom.xml @@ -5,7 +5,7 @@ com.backbase.oss backbase-openapi-tools - 0.14.7 + 0.14.8 diff --git a/boat-scaffold/pom.xml b/boat-scaffold/pom.xml index 5a7f83bf2..c894496c7 100644 --- a/boat-scaffold/pom.xml +++ b/boat-scaffold/pom.xml @@ -5,7 +5,7 @@ com.backbase.oss backbase-openapi-tools - 0.14.7 + 0.14.8 boat-scaffold @@ -86,7 +86,7 @@ com.backbase.oss boat-trail-resources - 0.14.7 + 0.14.8 test 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 @@