diff --git a/README.md b/README.md index 78746f131..a967307c9 100644 --- a/README.md +++ b/README.md @@ -18,6 +18,12 @@ 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.10 +* *Boat Scaffold* + * Makes sure to URLDecode paths while dereferencing examples +## 0.14.9 +* *Boat Scaffold* + * Resolve references to other path operations' examples ## 0.14.8 * *Boat Marina* diff --git a/boat-engine/pom.xml b/boat-engine/pom.xml index ecc9c13fb..da31d6f83 100644 --- a/boat-engine/pom.xml +++ b/boat-engine/pom.xml @@ -5,7 +5,7 @@ com.backbase.oss backbase-openapi-tools - 0.14.9 + 0.14.10-SNAPSHOT boat-engine jar diff --git a/boat-maven-plugin/pom.xml b/boat-maven-plugin/pom.xml index 9e9dfec35..153d34609 100644 --- a/boat-maven-plugin/pom.xml +++ b/boat-maven-plugin/pom.xml @@ -5,7 +5,7 @@ com.backbase.oss backbase-openapi-tools - 0.14.9 + 0.14.10-SNAPSHOT boat-maven-plugin diff --git a/boat-quay/boat-quay-lint/pom.xml b/boat-quay/boat-quay-lint/pom.xml index c1388538c..90bda5867 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.9 + 0.14.10-SNAPSHOT boat-quay-lint jar diff --git a/boat-quay/boat-quay-rules/pom.xml b/boat-quay/boat-quay-rules/pom.xml index b32689da5..9839b63fe 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.9 + 0.14.10-SNAPSHOT boat-quay-rules jar diff --git a/boat-quay/pom.xml b/boat-quay/pom.xml index 264ac03ab..fa03ac68e 100644 --- a/boat-quay/pom.xml +++ b/boat-quay/pom.xml @@ -5,7 +5,7 @@ com.backbase.oss backbase-openapi-tools - 0.14.9 + 0.14.10-SNAPSHOT diff --git a/boat-scaffold/pom.xml b/boat-scaffold/pom.xml index c5c5ea84a..22c4d6928 100644 --- a/boat-scaffold/pom.xml +++ b/boat-scaffold/pom.xml @@ -5,7 +5,7 @@ com.backbase.oss backbase-openapi-tools - 0.14.9 + 0.14.10-SNAPSHOT boat-scaffold @@ -86,7 +86,7 @@ com.backbase.oss boat-trail-resources - 0.14.9 + 0.14.10-SNAPSHOT test diff --git a/boat-scaffold/src/main/java/com/backbase/oss/codegen/doc/BoatExampleUtils.java b/boat-scaffold/src/main/java/com/backbase/oss/codegen/doc/BoatExampleUtils.java index 40a4b6b25..0998c5c04 100644 --- a/boat-scaffold/src/main/java/com/backbase/oss/codegen/doc/BoatExampleUtils.java +++ b/boat-scaffold/src/main/java/com/backbase/oss/codegen/doc/BoatExampleUtils.java @@ -14,6 +14,8 @@ import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.StringUtils; +import java.net.URLDecoder; +import java.nio.charset.StandardCharsets; import java.util.ArrayList; import java.util.Arrays; import java.util.List; @@ -129,8 +131,9 @@ private static void resolvePathsExamples( log.warn("Example ref: {} refers to '/paths' but it is not there.", ref); return; } + String[] refParts = Arrays.stream(ref.replace(PATHS_REF_PREFIX, "").split("/")) - .map(s -> s.replace("~1", "/")) + .map(s -> URLDecoder.decode(s.replace("~1", "/").replace("~0", "~"), StandardCharsets.UTF_8)) .toArray(String[]::new); String pathName = refParts[1]; diff --git a/boat-scaffold/src/test/resources/oas-examples/petstore-example-refs.yaml b/boat-scaffold/src/test/resources/oas-examples/petstore-example-refs.yaml index e3f1cbe80..cf14df2f8 100644 --- a/boat-scaffold/src/test/resources/oas-examples/petstore-example-refs.yaml +++ b/boat-scaffold/src/test/resources/oas-examples/petstore-example-refs.yaml @@ -68,6 +68,14 @@ paths: $ref: "#/components/schemas/Error" example: $ref: "#/components/examples/InternalServerError" + '400': + description: InternalServerError + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + example: + $ref: "#/paths/~1pets~1%7BpetId%7D/get/responses/default/content/application~1json/example" default: description: unexpected error content: diff --git a/boat-terminal/pom.xml b/boat-terminal/pom.xml index 660481e05..51d2a3772 100644 --- a/boat-terminal/pom.xml +++ b/boat-terminal/pom.xml @@ -5,7 +5,7 @@ com.backbase.oss backbase-openapi-tools - 0.14.9 + 0.14.10-SNAPSHOT boat-terminal diff --git a/boat-trail-resources/pom.xml b/boat-trail-resources/pom.xml index ac9c2332c..491981f36 100644 --- a/boat-trail-resources/pom.xml +++ b/boat-trail-resources/pom.xml @@ -5,7 +5,7 @@ com.backbase.oss backbase-openapi-tools - 0.14.9 + 0.14.10-SNAPSHOT boat-trail-resources diff --git a/pom.xml b/pom.xml index 0bf266126..7c8049ef5 100644 --- a/pom.xml +++ b/pom.xml @@ -4,7 +4,8 @@ com.backbase.oss backbase-openapi-tools - 0.14.9 + 0.14.10-SNAPSHOT + pom Backbase Open Api Tools will help you converting RAML to OpenAPI plus many more diff --git a/tests/pom.xml b/tests/pom.xml index 6145e12a4..b17d4ddca 100644 --- a/tests/pom.xml +++ b/tests/pom.xml @@ -5,7 +5,7 @@ com.backbase.oss backbase-openapi-tools - 0.14.9 + 0.14.10-SNAPSHOT tests