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