From 3e8140c9ea468c5d85c24b39dfeb7e7e0aaa4e82 Mon Sep 17 00:00:00 2001 From: TharmiganK Date: Mon, 25 Mar 2024 09:44:45 +0530 Subject: [PATCH 1/3] Update lang version --- gradle.properties | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gradle.properties b/gradle.properties index 37d664c33..f0d7f6d5e 100644 --- a/gradle.properties +++ b/gradle.properties @@ -3,7 +3,7 @@ group=io.ballerina version=1.9.0-SNAPSHOT #dependency -ballerinaLangVersion=2201.9.0-20240319-094400-0453ecf0 +ballerinaLangVersion=2201.9.0-20240321-151100-d7ddbc40 testngVersion=7.6.1 slf4jVersion=1.7.30 org.gradle.jvmargs=-Xmx4096M -Dfile.encoding=UTF-8 From 93613d36a8a8daaf98845e6ac3ae41c972656c28 Mon Sep 17 00:00:00 2001 From: TharmiganK Date: Mon, 25 Mar 2024 09:45:12 +0530 Subject: [PATCH 2/3] Fix removing escape character --- .../service/mapper/parameter/HeaderParameterMapper.java | 3 +-- .../openapi/service/mapper/parameter/PathParameterMapper.java | 3 +-- .../service/mapper/parameter/QueryParameterMapper.java | 3 +-- .../openapi/service/mapper/parameter/RequestBodyMapper.java | 3 +-- .../openapi/service/mapper/utils/MapperCommonUtils.java | 4 ---- 5 files changed, 4 insertions(+), 12 deletions(-) diff --git a/ballerina-to-openapi/src/main/java/io/ballerina/openapi/service/mapper/parameter/HeaderParameterMapper.java b/ballerina-to-openapi/src/main/java/io/ballerina/openapi/service/mapper/parameter/HeaderParameterMapper.java index bc7a1f94b..74a8a8d73 100644 --- a/ballerina-to-openapi/src/main/java/io/ballerina/openapi/service/mapper/parameter/HeaderParameterMapper.java +++ b/ballerina-to-openapi/src/main/java/io/ballerina/openapi/service/mapper/parameter/HeaderParameterMapper.java @@ -51,7 +51,6 @@ import java.util.stream.Collectors; import static io.ballerina.compiler.syntax.tree.SyntaxKind.STRING_LITERAL; -import static io.ballerina.openapi.service.mapper.utils.MapperCommonUtils.removeStartingSingleQuote; import static io.ballerina.openapi.service.mapper.utils.MapperCommonUtils.unescapeIdentifier; /** @@ -80,7 +79,7 @@ public HeaderParameterMapper(ParameterNode parameterNode, Map ap String paramName = unescapeIdentifier(parameterSymbol.getName().get()); this.name = getHeaderName(parameterNode, paramName); this.isRequired = headerParameter.paramKind().equals(ParameterKind.REQUIRED); - this.description = apiDocs.get(removeStartingSingleQuote(headerParameter.getName().get())); + this.description = apiDocs.get(headerParameter.getName().get()); this.treatNilableAsOptional = treatNilableAsOptional; if (parameterNode instanceof DefaultableParameterNode defaultableHeaderParam) { this.defaultValue = AbstractParameterMapper.getDefaultValue(defaultableHeaderParam); diff --git a/ballerina-to-openapi/src/main/java/io/ballerina/openapi/service/mapper/parameter/PathParameterMapper.java b/ballerina-to-openapi/src/main/java/io/ballerina/openapi/service/mapper/parameter/PathParameterMapper.java index 4d34e72a7..48a7a17d1 100644 --- a/ballerina-to-openapi/src/main/java/io/ballerina/openapi/service/mapper/parameter/PathParameterMapper.java +++ b/ballerina-to-openapi/src/main/java/io/ballerina/openapi/service/mapper/parameter/PathParameterMapper.java @@ -29,7 +29,6 @@ import java.util.Map; -import static io.ballerina.openapi.service.mapper.utils.MapperCommonUtils.removeStartingSingleQuote; import static io.ballerina.openapi.service.mapper.utils.MapperCommonUtils.unescapeIdentifier; /** @@ -55,7 +54,7 @@ public PathParameterMapper(PathParameterSymbol pathParameterSymbol, Map api this.type = queryParameter.typeDescriptor(); this.name = unescapeIdentifier(queryParameter.getName().get()); this.isRequired = queryParameter.paramKind().equals(ParameterKind.REQUIRED); - this.description = apiDocs.get(removeStartingSingleQuote(queryParameter.getName().get())); + this.description = apiDocs.get(queryParameter.getName().get()); this.treatNilableAsOptional = treatNilableAsOptional; this.semanticModel = additionalData.semanticModel(); this.typeMapper = typeMapper; diff --git a/ballerina-to-openapi/src/main/java/io/ballerina/openapi/service/mapper/parameter/RequestBodyMapper.java b/ballerina-to-openapi/src/main/java/io/ballerina/openapi/service/mapper/parameter/RequestBodyMapper.java index bf73e0d30..ca9b49fc2 100644 --- a/ballerina-to-openapi/src/main/java/io/ballerina/openapi/service/mapper/parameter/RequestBodyMapper.java +++ b/ballerina-to-openapi/src/main/java/io/ballerina/openapi/service/mapper/parameter/RequestBodyMapper.java @@ -42,7 +42,6 @@ import static io.ballerina.openapi.service.mapper.Constants.HTTP_PAYLOAD; import static io.ballerina.openapi.service.mapper.Constants.MEDIA_TYPE; import static io.ballerina.openapi.service.mapper.utils.MapperCommonUtils.extractAnnotationFieldDetails; -import static io.ballerina.openapi.service.mapper.utils.MapperCommonUtils.removeStartingSingleQuote; /** * This {@link RequestBodyMapper} class represents the request body mapper. @@ -65,7 +64,7 @@ public RequestBodyMapper(ParameterSymbol reqParameter, AnnotationNode annotation this.semanticModel = additionalData.semanticModel(); this.operationInventory = operationInventory; this.mediaTypeSubTypePrefix = MediaTypeUtils.extractCustomMediaType(resourceNode).orElse(""); - requestBody.description(apiDocs.get(removeStartingSingleQuote(reqParameter.getName().get()))); + requestBody.description(apiDocs.get(reqParameter.getName().get())); extractAnnotationDetails(annotation); createReqBodyMapping(reqParameter.typeDescriptor()); } diff --git a/ballerina-to-openapi/src/main/java/io/ballerina/openapi/service/mapper/utils/MapperCommonUtils.java b/ballerina-to-openapi/src/main/java/io/ballerina/openapi/service/mapper/utils/MapperCommonUtils.java index 1dd2dccf4..511624439 100644 --- a/ballerina-to-openapi/src/main/java/io/ballerina/openapi/service/mapper/utils/MapperCommonUtils.java +++ b/ballerina-to-openapi/src/main/java/io/ballerina/openapi/service/mapper/utils/MapperCommonUtils.java @@ -398,10 +398,6 @@ public static String unescapeIdentifier(String parameterName) { return unescapedParamName.replaceAll("\\\\", "").replaceAll("'", ""); } - public static String removeStartingSingleQuote(String parameterName) { - return parameterName.replaceAll("^'", ""); - } - public static String getTypeDescription(TypeReferenceTypeSymbol typeSymbol) { Symbol definition = typeSymbol.definition(); if (definition instanceof Documentable) { From 0b37847162e01d47b8ebac880296b09a5b3df3a5 Mon Sep 17 00:00:00 2001 From: TharmiganK Date: Mon, 25 Mar 2024 09:45:20 +0530 Subject: [PATCH 3/3] Re-enable test case --- .../generators/openapi/OpenApiConverterUtilsTest.java | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/openapi-cli/src/test/java/io/ballerina/openapi/generators/openapi/OpenApiConverterUtilsTest.java b/openapi-cli/src/test/java/io/ballerina/openapi/generators/openapi/OpenApiConverterUtilsTest.java index b07a13cd0..60cb46007 100644 --- a/openapi-cli/src/test/java/io/ballerina/openapi/generators/openapi/OpenApiConverterUtilsTest.java +++ b/openapi-cli/src/test/java/io/ballerina/openapi/generators/openapi/OpenApiConverterUtilsTest.java @@ -181,10 +181,7 @@ public void testForNonHttpServices() { Assert.assertTrue(!Files.exists(tempDir.resolve("query_openapi.yaml"))); } - // Disabling this test case because of a breaking change in ballerina lang: - // Lang change: https://github.com/ballerina-platform/ballerina-lang/pull/42342 - // Tracking issue: https://github.com/ballerina-platform/ballerina-library/issues/6217 - @Test(description = "Given ballerina service has escape character", enabled = false) + @Test(description = "Given ballerina service has escape character") public void testForRemovingEscapeIdentifier() throws IOException { Path ballerinaFilePath = RES_DIR.resolve("escape_identifier.bal"); Path tempDir = Files.createTempDirectory("bal-to-openapi-test-out-" + System.nanoTime());