diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AbstractJuliaCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AbstractJuliaCodegen.java index a4eab1f20e5..ea5a868b2fa 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AbstractJuliaCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AbstractJuliaCodegen.java @@ -454,29 +454,6 @@ public abstract class AbstractJuliaCodegen extends DefaultCodegen { return input.replace("\"", "\\\""); } - protected String escapeRegex(String pattern) { - pattern = pattern.replaceAll("\\\\\\\\", "\\\\"); - pattern = pattern.replaceAll("^/", ""); - pattern = pattern.replaceAll("/$", ""); - return pattern; - } - - /** - * Convert OpenAPI Parameter object to Codegen Parameter object - * - * @param imports set of imports for library/package/module - * @param param OpenAPI parameter object - * @return Codegen Parameter object - */ - @Override - public CodegenParameter fromParameter(Parameter param, Set imports) { - CodegenParameter parameter = super.fromParameter(param, imports); - if (parameter.pattern != null) { - parameter.pattern = escapeRegex(parameter.pattern); - } - return parameter; - } - /** * Convert OAS Property schema to Codegen Property object. *

@@ -498,9 +475,6 @@ public abstract class AbstractJuliaCodegen extends DefaultCodegen { if (needsVarEscape(property.name)) { property.name = "var\"" + property.name + "\""; } - if (property.pattern != null) { - property.pattern = escapeRegex(property.pattern); - } return property; } @@ -531,6 +505,19 @@ public abstract class AbstractJuliaCodegen extends DefaultCodegen { } } + @Override + public String toRegularExpression(String pattern) { + if (pattern == null) { + return pattern; + } + + pattern = escapeText(pattern); + // escapeText unnecessarily escapes `\` such that `\.` in the regex ends up as `\\.` for example. + // we need to restore it back by converting `\\` to `\` + pattern = pattern.replaceAll("\\\\\\\\", "\\\\"); + return pattern; + } + /** * Convert OAS Operation object to Codegen Operation object *