diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AbstractJavaCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AbstractJavaCodegen.java index bf4e138bcb93..7fd7c6a3de98 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AbstractJavaCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AbstractJavaCodegen.java @@ -1673,9 +1673,12 @@ public void setSupportJava6(boolean value) { this.supportJava6 = value; } + /* + * We don't want to run `escapeText` on the pattern + */ @Override public String toRegularExpression(String pattern) { - return escapeText(pattern); + return addRegularExpressionDelimiter(pattern); } /** diff --git a/modules/openapi-generator/src/test/java/org/openapitools/codegen/java/JavaModelTest.java b/modules/openapi-generator/src/test/java/org/openapitools/codegen/java/JavaModelTest.java index 74beee0159aa..f082ec2abc08 100644 --- a/modules/openapi-generator/src/test/java/org/openapitools/codegen/java/JavaModelTest.java +++ b/modules/openapi-generator/src/test/java/org/openapitools/codegen/java/JavaModelTest.java @@ -1053,7 +1053,7 @@ public void stringPropertyTest() { Assert.assertEquals(cp.getter, "getSomePropertyWithMinMaxAndPattern"); Assert.assertEquals(cp.minLength, Integer.valueOf(3)); Assert.assertEquals(cp.maxLength, Integer.valueOf(10)); - Assert.assertEquals(cp.pattern, "^[A-Z]+$"); + Assert.assertEquals(cp.pattern, "/^[A-Z]+$/"); } @Test(description = "convert string property in an object") @@ -1081,7 +1081,7 @@ public void stringPropertyInObjectTest() { Assert.assertEquals(cp.getter, "getSomePropertyWithMinMaxAndPattern"); Assert.assertEquals(cp.minLength, Integer.valueOf(3)); Assert.assertEquals(cp.maxLength, Integer.valueOf(10)); - Assert.assertEquals(cp.pattern, "^[A-Z]+$"); + Assert.assertEquals(cp.pattern, "/^[A-Z]+$/"); } @Test(description = "convert referenced string property in an object") @@ -1113,7 +1113,7 @@ public void stringPropertyReferencedInObjectTest() { Assert.assertEquals(cp.getter, "getSomePropertyWithMinMaxAndPattern"); Assert.assertEquals(cp.minLength, Integer.valueOf(3)); Assert.assertEquals(cp.maxLength, Integer.valueOf(10)); - Assert.assertEquals(cp.pattern, "^[A-Z]+$"); + Assert.assertEquals(cp.pattern, "/^[A-Z]+$/"); } @Test(description = "convert an array schema") diff --git a/samples/server/petstore/java-play-framework-fake-endpoints/app/apimodels/FormatTest.java b/samples/server/petstore/java-play-framework-fake-endpoints/app/apimodels/FormatTest.java index c202d9340e7b..d20cb525a02d 100644 --- a/samples/server/petstore/java-play-framework-fake-endpoints/app/apimodels/FormatTest.java +++ b/samples/server/petstore/java-play-framework-fake-endpoints/app/apimodels/FormatTest.java @@ -59,7 +59,7 @@ public class FormatTest { @JsonProperty("byte") @NotNull -@Pattern(regexp="^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$") +@Pattern(regexp="/^(?:[A-Za-z0-9+\/]{4})*(?:[A-Za-z0-9+\/]{2}==|[A-Za-z0-9+\/]{3}=)?$/") private byte[] _byte; diff --git a/samples/server/petstore/jaxrs-jersey/src/gen/java/org/openapitools/model/FormatTest.java b/samples/server/petstore/jaxrs-jersey/src/gen/java/org/openapitools/model/FormatTest.java index 614b54e17a7f..5a76cc4852a9 100644 --- a/samples/server/petstore/jaxrs-jersey/src/gen/java/org/openapitools/model/FormatTest.java +++ b/samples/server/petstore/jaxrs-jersey/src/gen/java/org/openapitools/model/FormatTest.java @@ -414,7 +414,7 @@ public FormatTest patternWithDigits(String patternWithDigits) { **/ @JsonProperty("pattern_with_digits") @ApiModelProperty(value = "A string that is a 10 digit number. Can have leading zeros.") - @Pattern(regexp="^\\d{10}$") + @Pattern(regexp="/^\d{10}$/") public String getPatternWithDigits() { return patternWithDigits; } @@ -434,7 +434,7 @@ public FormatTest patternWithDigitsAndDelimiter(String patternWithDigitsAndDelim **/ @JsonProperty("pattern_with_digits_and_delimiter") @ApiModelProperty(value = "A string starting with 'image_' (case insensitive) and one to three digits following i.e. Image_01.") - @Pattern(regexp="/^image_\\d{1,3}$/i") + @Pattern(regexp="/^image_\d{1,3}$/i") public String getPatternWithDigitsAndDelimiter() { return patternWithDigitsAndDelimiter; } diff --git a/samples/server/petstore/jaxrs-spec-interface/src/gen/java/org/openapitools/model/FormatTest.java b/samples/server/petstore/jaxrs-spec-interface/src/gen/java/org/openapitools/model/FormatTest.java index 70a7eed2fdd5..5dd3b1995019 100644 --- a/samples/server/petstore/jaxrs-spec-interface/src/gen/java/org/openapitools/model/FormatTest.java +++ b/samples/server/petstore/jaxrs-spec-interface/src/gen/java/org/openapitools/model/FormatTest.java @@ -186,7 +186,7 @@ public FormatTest _byte(byte[] _byte) { @ApiModelProperty(required = true, value = "") @JsonProperty("byte") @NotNull - @Pattern(regexp="^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$") public byte[] getByte() { + @Pattern(regexp="/^(?:[A-Za-z0-9+\/]{4})*(?:[A-Za-z0-9+\/]{2}==|[A-Za-z0-9+\/]{3}=)?$/") public byte[] getByte() { return _byte; } diff --git a/samples/server/petstore/jaxrs-spec/src/gen/java/org/openapitools/model/FormatTest.java b/samples/server/petstore/jaxrs-spec/src/gen/java/org/openapitools/model/FormatTest.java index 70a7eed2fdd5..5dd3b1995019 100644 --- a/samples/server/petstore/jaxrs-spec/src/gen/java/org/openapitools/model/FormatTest.java +++ b/samples/server/petstore/jaxrs-spec/src/gen/java/org/openapitools/model/FormatTest.java @@ -186,7 +186,7 @@ public FormatTest _byte(byte[] _byte) { @ApiModelProperty(required = true, value = "") @JsonProperty("byte") @NotNull - @Pattern(regexp="^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$") public byte[] getByte() { + @Pattern(regexp="/^(?:[A-Za-z0-9+\/]{4})*(?:[A-Za-z0-9+\/]{2}==|[A-Za-z0-9+\/]{3}=)?$/") public byte[] getByte() { return _byte; }