raml-java-parser
raml-java-parser copied to clipboard
Parsing fails with PatternSyntaxException on invalid pattern (when example is present)
Tested with parser version 1.0.11
For the given raml file
#%RAML 1.0
title: "Invalid pattern"
version: "1.0.0"
protocols:
- "HTTP"
types:
stringType:
type: string
pattern: "\\X"
example: "abc"
Then parser fails with the following stacktrace (instead of providing a RamlValidationResult)
java.util.regex.PatternSyntaxException: Illegal/unsupported escape sequence near index 1
\X
^
at java.util.regex.Pattern.error(Pattern.java:1955)
at java.util.regex.Pattern.escape(Pattern.java:2471)
at java.util.regex.Pattern.atom(Pattern.java:2198)
at java.util.regex.Pattern.sequence(Pattern.java:2079)
at java.util.regex.Pattern.expr(Pattern.java:1996)
at java.util.regex.Pattern.compile(Pattern.java:1696)
at java.util.regex.Pattern.<init>(Pattern.java:1351)
at java.util.regex.Pattern.compile(Pattern.java:1028)
at org.raml.v2.internal.impl.v10.type.TypeToRuleVisitor.visitString(TypeToRuleVisitor.java:102)
at org.raml.v2.internal.impl.v10.type.TypeToRuleVisitor.visitString(TypeToRuleVisitor.java:67)
at org.raml.v2.internal.impl.v10.type.StringResolvedType.visit(StringResolvedType.java:175)
at org.raml.v2.internal.impl.v10.phase.ExampleValidationPhase.validate(ExampleValidationPhase.java:132)
at org.raml.v2.internal.impl.v10.phase.ExampleValidationPhase.apply(ExampleValidationPhase.java:82)
at org.raml.v2.internal.impl.v10.Raml10Builder.runPhases(Raml10Builder.java:114)
at org.raml.v2.internal.impl.v10.Raml10Builder.build(Raml10Builder.java:93)
at org.raml.v2.internal.impl.RamlBuilder.build(RamlBuilder.java:116)
at org.raml.v2.internal.impl.RamlBuilder.build(RamlBuilder.java:100)
at org.raml.v2.api.RamlModelBuilder.buildApi(RamlModelBuilder.java:125)
at org.raml.v2.api.RamlModelBuilder.buildApi(RamlModelBuilder.java:104)
Aha! Link: https://mulesoft-roadmap.aha.io/features/APIRAML-83