From e2815c6d9b73cc29ec2c186c22cb4cdcee269e39 Mon Sep 17 00:00:00 2001 From: Robert Varga Date: Sat, 28 Oct 2017 01:03:10 +0200 Subject: [PATCH] Clean up PatternConstraint's String confusion Make getRawRegularExpression() non-default and make sure we use descriptive names for the two strings -- one is a XSD RegEx String, the other a Pattern-compatible String. Change-Id: I6a8be40aa172cdd2c4b0c461836245bc5a63a83b Signed-off-by: Robert Varga --- .../impl/codec/CompiledPatternContext.java | 7 ++--- .../model/api/type/PatternConstraint.java | 27 ++++++++++--------- .../model/export/SchemaContextEmitter.java | 2 +- .../model/util/PatternConstraintImpl.java | 7 ++++- .../model/util/PatternConstraintImplTest.java | 2 +- .../type/PatternConstraintEffectiveImpl.java | 4 +-- .../type/PatternEffectiveStatementImpl.java | 3 ++- .../yang/parser/stmt/rfc6020/Bug5410Test.java | 4 +-- .../yangtools/yang/stmt/Bug4623Test.java | 6 ++--- .../yangtools/yang/stmt/Bug5396Test.java | 8 +++--- .../yangtools/yang/stmt/Bug6180Test.java | 8 +++--- .../yang/stmt/EffectiveStatementTypeTest.java | 2 +- .../yang/stmt/TypesResolutionTest.java | 12 ++++----- .../yangtools/yang/stmt/YangParserTest.java | 14 +++++----- 14 files changed, 58 insertions(+), 48 deletions(-) diff --git a/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/codec/CompiledPatternContext.java b/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/codec/CompiledPatternContext.java index a42b2a46f2..cf1a35c1c6 100644 --- a/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/codec/CompiledPatternContext.java +++ b/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/codec/CompiledPatternContext.java @@ -14,10 +14,12 @@ class CompiledPatternContext { private final Pattern pattern; private final String errorMessage; + private final String regEx; CompiledPatternContext(final PatternConstraint yangConstraint) { - pattern = Pattern.compile("^" + yangConstraint.getRegularExpression() + "$"); + pattern = Pattern.compile(yangConstraint.getJavaPatternString()); errorMessage = yangConstraint.getErrorMessage().orElse(null); + regEx = errorMessage == null ? yangConstraint.getRegularExpressionString() : null; } void validate(final String str) { @@ -26,8 +28,7 @@ class CompiledPatternContext { throw new IllegalArgumentException(errorMessage); } - throw new IllegalArgumentException("Value " + str + "does not match regular expression '" - + pattern.pattern() + "'"); + throw new IllegalArgumentException("Value " + str + "does not match regular expression '" + regEx + "'"); } } } diff --git a/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/type/PatternConstraint.java b/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/type/PatternConstraint.java index b2d9cfc80c..5bf8762e83 100644 --- a/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/type/PatternConstraint.java +++ b/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/type/PatternConstraint.java @@ -8,31 +8,34 @@ package org.opendaylight.yangtools.yang.model.api.type; import java.util.Optional; +import java.util.regex.Pattern; import org.opendaylight.yangtools.yang.model.api.ConstraintMetaDefinition; /** - * Contains the method for getting the data from the YANG pattern which is substatement of - * type statement. + * Contains the method for getting the data from the YANG pattern which is substatement + * of type statement. */ public interface PatternConstraint extends ConstraintMetaDefinition { /** - * Returns a java regular expression (pattern). + * Returns a Java {@link Pattern}-compatible regular expression (pattern). Returned string performs equivalent + * matching in terms of enforcement, but it may have a structure completely different from the one in YANG model. + * This string DOES NOT include the effects of the modifier (if present, as indicated by {@link #getModifier()}. * - * @return string with java regular expression which is equal to the argument of - * the YANG pattern substatement + * @return string Java Pattern regular expression */ - String getRegularExpression(); + // FIXME: should we be providing a Pattern instance? This, along with the other method is treading the fine + // balance between usability of the effective model, the purity of effective view model and memory + // overhead. We pick usability and memory footprint and expose both methods from effective model. + String getJavaPatternString(); /** - * Returns a raw regular expression as it was declared in a source. + * Returns a raw regular expression as it was declared in a source. This string conforms to XSD regular expression + * syntax, which is notably different from Java's Pattern string. * - * @return argument of pattern statement as it was declared in a source. + * @return argument of pattern statement as it was declared in YANG model. */ - // FIXME: version 2.0.0: make this method non-default - default String getRawRegularExpression() { - return getRegularExpression(); - } + String getRegularExpressionString(); /** * RFC7950 allows a pattern constraint to be inverted. For this purpose a general modifier concept has been diff --git a/yang/yang-model-export/src/main/java/org/opendaylight/yangtools/yang/model/export/SchemaContextEmitter.java b/yang/yang-model-export/src/main/java/org/opendaylight/yangtools/yang/model/export/SchemaContextEmitter.java index 3c3850bb9b..63b2e2e115 100644 --- a/yang/yang-model-export/src/main/java/org/opendaylight/yangtools/yang/model/export/SchemaContextEmitter.java +++ b/yang/yang-model-export/src/main/java/org/opendaylight/yangtools/yang/model/export/SchemaContextEmitter.java @@ -1578,7 +1578,7 @@ abstract class SchemaContextEmitter { } private void emitPatternNode(final PatternConstraint pattern) { - super.writer.startPatternNode(pattern.getRawRegularExpression()); + super.writer.startPatternNode(pattern.getRegularExpressionString()); pattern.getErrorMessage().ifPresent(this::emitErrorMessageNode); pattern.getErrorAppTag().ifPresent(this::emitErrorAppTagNode); emitDocumentedNode(pattern); diff --git a/yang/yang-model-util/src/main/java/org/opendaylight/yangtools/yang/model/util/PatternConstraintImpl.java b/yang/yang-model-util/src/main/java/org/opendaylight/yangtools/yang/model/util/PatternConstraintImpl.java index 3999853ac9..19bc54c1b1 100644 --- a/yang/yang-model-util/src/main/java/org/opendaylight/yangtools/yang/model/util/PatternConstraintImpl.java +++ b/yang/yang-model-util/src/main/java/org/opendaylight/yangtools/yang/model/util/PatternConstraintImpl.java @@ -72,10 +72,15 @@ final class PatternConstraintImpl implements PatternConstraint, Immutable { } @Override - public String getRegularExpression() { + public String getJavaPatternString() { return regex; } + @Override + public String getRegularExpressionString() { + throw new UnsupportedOperationException(); + } + @Override public Optional getModifier() { return Optional.ofNullable(modifier); diff --git a/yang/yang-model-util/src/test/java/org/opendaylight/yangtools/yang/model/util/PatternConstraintImplTest.java b/yang/yang-model-util/src/test/java/org/opendaylight/yangtools/yang/model/util/PatternConstraintImplTest.java index de067db4a9..b475e8243c 100644 --- a/yang/yang-model-util/src/test/java/org/opendaylight/yangtools/yang/model/util/PatternConstraintImplTest.java +++ b/yang/yang-model-util/src/test/java/org/opendaylight/yangtools/yang/model/util/PatternConstraintImplTest.java @@ -38,7 +38,7 @@ public class PatternConstraintImplTest { assertEquals(Optional.of("invalid-regular-expression"), patternConstraint.getErrorAppTag()); assertTrue(patternConstraint.getErrorMessage().isPresent()); assertEquals(Optional.of("RFC 6020"), patternConstraint.getReference()); - assertEquals("Regular expression should be equls '\\D'.", "\\D", patternConstraint.getRegularExpression()); + assertEquals("Regular expression should be equls '\\D'.", "\\D", patternConstraint.getJavaPatternString()); assertNotEquals("Hash codes shouldn't be equals.", patternConstraint.hashCode(), patternConstraint2.hashCode()); assertFalse("String representation shouldn't be empty.", patternConstraint.toString().isEmpty()); diff --git a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/effective/type/PatternConstraintEffectiveImpl.java b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/effective/type/PatternConstraintEffectiveImpl.java index f9b54c89bd..243541b52a 100644 --- a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/effective/type/PatternConstraintEffectiveImpl.java +++ b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/effective/type/PatternConstraintEffectiveImpl.java @@ -43,12 +43,12 @@ public class PatternConstraintEffectiveImpl implements PatternConstraint { } @Override - public String getRegularExpression() { + public String getJavaPatternString() { return regEx; } @Override - public String getRawRegularExpression() { + public String getRegularExpressionString() { return rawRegEx; } diff --git a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/effective/type/PatternEffectiveStatementImpl.java b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/effective/type/PatternEffectiveStatementImpl.java index 14a5aad109..8eafcf2204 100644 --- a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/effective/type/PatternEffectiveStatementImpl.java +++ b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/effective/type/PatternEffectiveStatementImpl.java @@ -23,7 +23,8 @@ public class PatternEffectiveStatementImpl extends return argument; } - return new PatternConstraintEffectiveImpl(argument.getRegularExpression(), argument.getRawRegularExpression(), + return new PatternConstraintEffectiveImpl(argument.getJavaPatternString(), + argument.getRegularExpressionString(), getDescription().orElse(null), getReference().orElse(null), getErrorAppTag().orElse(null), getErrorMessage().orElse(null), getModifier()); } diff --git a/yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/Bug5410Test.java b/yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/Bug5410Test.java index d81fa6a637..dd63023747 100644 --- a/yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/Bug5410Test.java +++ b/yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/Bug5410Test.java @@ -75,12 +75,12 @@ public class Bug5410Test { final PatternConstraint pattern = getPatternConstraintOf(context, "leaf-with-pattern"); - final String rawRegex = pattern.getRawRegularExpression(); + final String rawRegex = pattern.getRegularExpressionString(); final String expectedYangRegex = "$0$.*|$1$[a-zA-Z0-9./]{1,8}$[a-zA-Z0-9./]{22}|$5$(rounds=\\d+$)?" + "[a-zA-Z0-9./]{1,16}$[a-zA-Z0-9./]{43}|$6$(rounds=\\d+$)?[a-zA-Z0-9./]{1,16}$[a-zA-Z0-9./]{86}"; assertEquals(expectedYangRegex, rawRegex); - final String javaRegexFromYang = pattern.getRegularExpression(); + final String javaRegexFromYang = pattern.getJavaPatternString(); final String expectedJavaRegex = "^\\$0\\$.*|\\$1\\$[a-zA-Z0-9./]{1,8}\\$[a-zA-Z0-9./]{22}|\\$5\\$" + "(rounds=\\d+\\$)?[a-zA-Z0-9./]{1,16}\\$[a-zA-Z0-9./]{43}|\\$6\\$(rounds=\\d+\\$)?" + "[a-zA-Z0-9./]{1,16}\\$[a-zA-Z0-9./]{86}$"; diff --git a/yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/stmt/Bug4623Test.java b/yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/stmt/Bug4623Test.java index 6cd3d2547c..a5fb57d3dc 100644 --- a/yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/stmt/Bug4623Test.java +++ b/yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/stmt/Bug4623Test.java @@ -65,7 +65,7 @@ public class Bug4623Test { Assert.assertEquals(Integer.valueOf(10), span.upperEndpoint()); final PatternConstraint patternConstraint = patternConstraints.get(0); - Assert.assertEquals(patternConstraint.getRegularExpression(), "^[0-9a-fA-F]$"); + Assert.assertEquals(patternConstraint.getJavaPatternString(), "^[0-9a-fA-F]$"); } @Test @@ -107,7 +107,7 @@ public class Bug4623Test { Assert.assertEquals(Integer.valueOf(10), lengthConstraint.upperEndpoint()); final PatternConstraint patternConstraint = patternConstraints.get(0); - Assert.assertEquals(patternConstraint.getRegularExpression(), "^[0-9a-fA-F]$"); + Assert.assertEquals(patternConstraint.getJavaPatternString(), "^[0-9a-fA-F]$"); } @Test @@ -150,7 +150,7 @@ public class Bug4623Test { Assert.assertEquals(Integer.valueOf(10), lengthConstraint.upperEndpoint()); final PatternConstraint patternConstraint = patternConstraints.get(0); - Assert.assertEquals(patternConstraint.getRegularExpression(), "^[0-9a-fA-F]$"); + Assert.assertEquals(patternConstraint.getJavaPatternString(), "^[0-9a-fA-F]$"); } private static Module typesModule(final SchemaContext context) { diff --git a/yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/stmt/Bug5396Test.java b/yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/stmt/Bug5396Test.java index 837fbb24e5..0e287e19fa 100644 --- a/yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/stmt/Bug5396Test.java +++ b/yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/stmt/Bug5396Test.java @@ -82,10 +82,10 @@ public class Bug5396Test { final PatternConstraint patternConstraint2 = patternConstraints2.get(0); final PatternConstraint patternConstraint3 = patternConstraints3.get(0); - assertEquals("^dp[0-9]+o[0-9]+(d[0-9]+)?$", patternConstraint0.getRegularExpression()); - assertEquals("^dp[0-9]+s[0-9]+(f[0-9]+)?(d[0-9]+)?$", patternConstraint1.getRegularExpression()); + assertEquals("^dp[0-9]+o[0-9]+(d[0-9]+)?$", patternConstraint0.getJavaPatternString()); + assertEquals("^dp[0-9]+s[0-9]+(f[0-9]+)?(d[0-9]+)?$", patternConstraint1.getJavaPatternString()); assertEquals("^dp[0-9]+(P[0-9]+)?p[0-9]{1,3}s[0-9]{1,3}(f[0-9]+)?(d[0-9]+)?$", - patternConstraint2.getRegularExpression()); - assertEquals("^dp[0-9]+p[0-9]+p[0-9]+$", patternConstraint3.getRegularExpression()); + patternConstraint2.getJavaPatternString()); + assertEquals("^dp[0-9]+p[0-9]+p[0-9]+$", patternConstraint3.getJavaPatternString()); } } diff --git a/yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/stmt/Bug6180Test.java b/yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/stmt/Bug6180Test.java index a3a4080e0f..a9636426af 100644 --- a/yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/stmt/Bug6180Test.java +++ b/yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/stmt/Bug6180Test.java @@ -81,8 +81,8 @@ public class Bug6180Test { final List patternConstraints = ((StringTypeDefinition) type).getPatternConstraints(); assertEquals(1, patternConstraints.size()); final PatternConstraint pattern = patternConstraints.iterator().next(); - assertEquals("^\".*\"$", pattern.getRegularExpression()); - assertTrue(Pattern.compile(pattern.getRegularExpression()).matcher("\"enclosed string in quotes\"").matches()); + assertEquals("^\".*\"$", pattern.getJavaPatternString()); + assertTrue(Pattern.compile(pattern.getJavaPatternString()).matcher("\"enclosed string in quotes\"").matches()); } private static void verifySingleQuotesExpression(final SchemaContext schemaContext) { @@ -99,7 +99,7 @@ public class Bug6180Test { final List patternConstraints = ((StringTypeDefinition) type).getPatternConstraints(); assertEquals(1, patternConstraints.size()); final PatternConstraint pattern = patternConstraints.iterator().next(); - assertEquals("^'.*'$", pattern.getRegularExpression()); - assertTrue(Pattern.compile(pattern.getRegularExpression()).matcher("'enclosed string in quotes'").matches()); + assertEquals("^'.*'$", pattern.getJavaPatternString()); + assertTrue(Pattern.compile(pattern.getJavaPatternString()).matcher("'enclosed string in quotes'").matches()); } } \ No newline at end of file diff --git a/yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/stmt/EffectiveStatementTypeTest.java b/yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/stmt/EffectiveStatementTypeTest.java index dc9072d5f7..78d098ecc5 100644 --- a/yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/stmt/EffectiveStatementTypeTest.java +++ b/yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/stmt/EffectiveStatementTypeTest.java @@ -438,7 +438,7 @@ public class EffectiveStatementTypeTest { final PatternConstraintEffectiveImpl patternConstraintSecond = (PatternConstraintEffectiveImpl) ((StringTypeDefinition) currentLeaf.getType()).getPatternConstraints().get(0); - assertEquals("^[0-9a-fA-F]*$", patternConstraint.getRegularExpression()); + assertEquals("^[0-9a-fA-F]*$", patternConstraint.getJavaPatternString()); assertFalse(patternConstraint.getReference().isPresent()); assertFalse(patternConstraint.getDescription().isPresent()); assertEquals(Optional.of("Supplied value does not match the regular expression ^[0-9a-fA-F]*$."), diff --git a/yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/stmt/TypesResolutionTest.java b/yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/stmt/TypesResolutionTest.java index 444ad56848..4588fc2962 100644 --- a/yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/stmt/TypesResolutionTest.java +++ b/yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/stmt/TypesResolutionTest.java @@ -135,7 +135,7 @@ public class TypesResolutionTest { assertNotNull(ipv4.getBaseType()); String expectedPattern = "^(([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\\.){3}" + "([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])" + "(%[\\p{N}\\p{L}]+)?$"; - assertEquals(expectedPattern, ipv4.getPatternConstraints().get(0).getRegularExpression()); + assertEquals(expectedPattern, ipv4.getPatternConstraints().get(0).getJavaPatternString()); StringTypeDefinition ipv6 = (StringTypeDefinition) unionTypes.get(1); assertNotNull(ipv6.getBaseType()); @@ -143,11 +143,11 @@ public class TypesResolutionTest { expectedPattern = "^((:|[0-9a-fA-F]{0,4}):)([0-9a-fA-F]{0,4}:){0,5}" + "((([0-9a-fA-F]{0,4}:)?(:|[0-9a-fA-F]{0,4}))|" + "(((25[0-5]|2[0-4][0-9]|[01]?[0-9]?[0-9])\\.){3}" + "(25[0-5]|2[0-4][0-9]|[01]?[0-9]?[0-9])))" + "(%[\\p{N}\\p{L}]+)?$"; - assertEquals(expectedPattern, ipv6Patterns.get(0).getRegularExpression()); + assertEquals(expectedPattern, ipv6Patterns.get(0).getJavaPatternString()); expectedPattern = "^(([^:]+:){6}(([^:]+:[^:]+)|(.*\\..*)))|" + "((([^:]+:)*[^:]+)?::(([^:]+:)*[^:]+)?)" + "(%.+)?$"; - assertEquals(expectedPattern, ipv6Patterns.get(1).getRegularExpression()); + assertEquals(expectedPattern, ipv6Patterns.get(1).getJavaPatternString()); } @Test @@ -160,7 +160,7 @@ public class TypesResolutionTest { assertEquals(1, patterns.size()); String expectedPattern = "^((([a-zA-Z0-9_]([a-zA-Z0-9\\-_]){0,61})?[a-zA-Z0-9]\\.)*" + "([a-zA-Z0-9_]([a-zA-Z0-9\\-_]){0,61})?[a-zA-Z0-9]\\.?)" + "|\\.$"; - assertEquals(expectedPattern, patterns.get(0).getRegularExpression()); + assertEquals(expectedPattern, patterns.get(0).getJavaPatternString()); LengthConstraint lengths = type.getLengthConstraint().get(); assertEquals(1, lengths.getAllowedRanges().asRanges().size()); @@ -313,7 +313,7 @@ public class TypesResolutionTest { List patterns = testedType.getPatternConstraints(); assertEquals(1, patterns.size()); PatternConstraint pattern = patterns.get(0); - assertEquals("^\\d*(\\.\\d*){1,127}$", pattern.getRegularExpression()); + assertEquals("^\\d*(\\.\\d*){1,127}$", pattern.getJavaPatternString()); QName testedTypeQName = testedType.getQName(); assertEquals(URI.create("urn:ietf:params:xml:ns:yang:ietf-yang-types"), testedTypeQName.getNamespace()); @@ -326,7 +326,7 @@ public class TypesResolutionTest { pattern = patterns.get(0); assertEquals("^(([0-1](\\.[1-3]?[0-9]))|(2\\.(0|([1-9]\\d*))))(\\.(0|([1-9]\\d*)))*$", - pattern.getRegularExpression()); + pattern.getJavaPatternString()); QName testedTypeBaseQName = testedTypeBase.getQName(); assertEquals(URI.create("urn:ietf:params:xml:ns:yang:ietf-yang-types"), testedTypeBaseQName.getNamespace()); diff --git a/yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/stmt/YangParserTest.java b/yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/stmt/YangParserTest.java index 85439e2f36..1694b84846 100644 --- a/yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/stmt/YangParserTest.java +++ b/yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/stmt/YangParserTest.java @@ -226,7 +226,7 @@ public class YangParserTest { List patterns = type.getPatternConstraints(); assertEquals(1, patterns.size()); PatternConstraint pattern = patterns.iterator().next(); - assertEquals("^[e-z]*$", pattern.getRegularExpression()); + assertEquals("^[e-z]*$", pattern.getJavaPatternString()); assertEquals(1, type.getLengthConstraint().get().getAllowedRanges().asRanges().size()); final StringTypeDefinition baseType1 = type.getBaseType(); @@ -238,7 +238,7 @@ public class YangParserTest { patterns = baseType1.getPatternConstraints(); assertEquals(1, patterns.size()); pattern = patterns.iterator().next(); - assertEquals("^[b-u]*$", pattern.getRegularExpression()); + assertEquals("^[b-u]*$", pattern.getJavaPatternString()); assertEquals(1, baseType1.getLengthConstraint().get().getAllowedRanges().asRanges().size()); final StringTypeDefinition baseType2 = baseType1.getBaseType(); @@ -261,7 +261,7 @@ public class YangParserTest { patterns = baseType3.getPatternConstraints(); assertEquals(1, patterns.size()); pattern = patterns.iterator().next(); - assertEquals("^[a-k]*$", pattern.getRegularExpression()); + assertEquals("^[a-k]*$", pattern.getJavaPatternString()); final RangeSet baseType3Lengths = baseType3.getLengthConstraint().get().getAllowedRanges(); assertEquals(1, baseType3Lengths.asRanges().size()); length = baseType3Lengths.span(); @@ -302,7 +302,7 @@ public class YangParserTest { assertTrue(!patterns.isEmpty()); assertEquals(1, patterns.size()); final PatternConstraint pattern = patterns.iterator().next(); - assertEquals("^[e-z]*$", pattern.getRegularExpression()); + assertEquals("^[e-z]*$", pattern.getJavaPatternString()); assertEquals(1, type.getLengthConstraint().get().getAllowedRanges().asRanges().size()); final LeafSchemaNode multiplePatternDirectStringDefLeaf = (LeafSchemaNode) foo @@ -318,9 +318,9 @@ public class YangParserTest { boolean isEZPattern = false; boolean isADPattern = false; for (final PatternConstraint patternConstraint : patterns) { - if (patternConstraint.getRegularExpression().equals("^[e-z]*$")) { + if (patternConstraint.getJavaPatternString().equals("^[e-z]*$")) { isEZPattern = true; - } else if (patternConstraint.getRegularExpression().equals("^[a-d]*$")) { + } else if (patternConstraint.getJavaPatternString().equals("^[a-d]*$")) { isADPattern = true; } } @@ -362,7 +362,7 @@ public class YangParserTest { final List patterns = baseType2.getPatternConstraints(); assertEquals(1, patterns.size()); final PatternConstraint pattern = patterns.iterator().next(); - assertEquals("^[a-k]*$", pattern.getRegularExpression()); + assertEquals("^[a-k]*$", pattern.getJavaPatternString()); final RangeSet baseType3Lengths = baseType2.getLengthConstraint().get().getAllowedRanges(); assertEquals(1, baseType3Lengths.asRanges().size()); length = baseType3Lengths.span(); -- 2.36.6