Next round of checkstyle fixes in yang-parser-impl
[yangtools.git] / yang / yang-parser-impl / src / main / java / org / opendaylight / yangtools / yang / parser / stmt / rfc6020 / PatternStatementImpl.java
index 4b59ae72cee2bc5baf521110c1d9b604033046a0..e0b08470292bbbf59851aedf13af18aeb9467476 100644 (file)
@@ -20,10 +20,11 @@ import org.opendaylight.yangtools.yang.model.api.stmt.ModifierStatement;
 import org.opendaylight.yangtools.yang.model.api.stmt.PatternStatement;
 import org.opendaylight.yangtools.yang.model.api.stmt.ReferenceStatement;
 import org.opendaylight.yangtools.yang.model.api.type.PatternConstraint;
-import org.opendaylight.yangtools.yang.parser.spi.SubstatementValidator;
+import org.opendaylight.yangtools.yang.model.util.RegexUtils;
 import org.opendaylight.yangtools.yang.parser.spi.meta.AbstractDeclaredStatement;
 import org.opendaylight.yangtools.yang.parser.spi.meta.AbstractStatementSupport;
 import org.opendaylight.yangtools.yang.parser.spi.meta.StmtContext;
+import org.opendaylight.yangtools.yang.parser.spi.meta.SubstatementValidator;
 import org.opendaylight.yangtools.yang.parser.stmt.rfc6020.effective.type.PatternConstraintEffectiveImpl;
 import org.opendaylight.yangtools.yang.parser.stmt.rfc6020.effective.type.PatternEffectiveStatementImpl;
 import org.slf4j.Logger;
@@ -43,9 +44,8 @@ public class PatternStatementImpl extends AbstractDeclaredStatement<PatternConst
         super(context);
     }
 
-    public static class Definition
-            extends
-            AbstractStatementSupport<PatternConstraint, PatternStatement, EffectiveStatement<PatternConstraint, PatternStatement>> {
+    public static class Definition extends AbstractStatementSupport<PatternConstraint, PatternStatement,
+            EffectiveStatement<PatternConstraint, PatternStatement>> {
 
         public Definition() {
             super(YangStmtMapping.PATTERN);
@@ -53,7 +53,7 @@ public class PatternStatementImpl extends AbstractDeclaredStatement<PatternConst
 
         @Override
         public PatternConstraint parseArgumentValue(final StmtContext<?, ?, ?> ctx, final String value) {
-            final String pattern = "^" + Utils.fixUnicodeScriptPattern(value) + '$';
+            final String pattern = RegexUtils.getJavaRegexFromXSD(value);
 
             try {
                 Pattern.compile(pattern);
@@ -62,7 +62,7 @@ public class PatternStatementImpl extends AbstractDeclaredStatement<PatternConst
                 return null;
             }
 
-            return new PatternConstraintEffectiveImpl(pattern, Optional.absent(), Optional.absent());
+            return new PatternConstraintEffectiveImpl(pattern, value, Optional.absent(), Optional.absent());
         }
 
         @Override
@@ -72,17 +72,11 @@ public class PatternStatementImpl extends AbstractDeclaredStatement<PatternConst
 
         @Override
         public EffectiveStatement<PatternConstraint, PatternStatement> createEffective(
-                final StmtContext<PatternConstraint, PatternStatement, EffectiveStatement<PatternConstraint, PatternStatement>> ctx) {
+                final StmtContext<PatternConstraint, PatternStatement,
+                EffectiveStatement<PatternConstraint, PatternStatement>> ctx) {
             return new PatternEffectiveStatementImpl(ctx);
         }
 
-        @Override
-        public void onFullDefinitionDeclared(final StmtContext.Mutable<PatternConstraint, PatternStatement,
-                EffectiveStatement<PatternConstraint, PatternStatement>> stmt) {
-            super.onFullDefinitionDeclared(stmt);
-            getSubstatementValidator().validate(stmt);
-        }
-
         @Override
         protected SubstatementValidator getSubstatementValidator() {
             return SUBSTATEMENT_VALIDATOR;