X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=yang%2Fyang-parser-impl%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fyangtools%2Fyang%2Fparser%2Fstmt%2Frfc6020%2FPathStatementImpl.java;h=334b93836eac0cf71bacef8ba57f165e508c05b8;hb=b058133f098897de2b4b928d9474c80b520f0a74;hp=2fc61b472702e9064cf3187f40251b788148a42d;hpb=d1f606bf178d536ab6681bc9dbf8205906bcf40d;p=yangtools.git diff --git a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/PathStatementImpl.java b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/PathStatementImpl.java index 2fc61b4727..334b93836e 100644 --- a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/PathStatementImpl.java +++ b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/PathStatementImpl.java @@ -8,47 +8,53 @@ package org.opendaylight.yangtools.yang.parser.stmt.rfc6020; import javax.annotation.Nonnull; - import org.opendaylight.yangtools.yang.model.api.RevisionAwareXPath; -import org.opendaylight.yangtools.yang.model.api.Rfc6020Mapping; +import org.opendaylight.yangtools.yang.model.api.YangStmtMapping; import org.opendaylight.yangtools.yang.model.api.meta.EffectiveStatement; import org.opendaylight.yangtools.yang.model.api.stmt.PathStatement; -import org.opendaylight.yangtools.yang.model.util.RevisionAwareXPathImpl; 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.source.SourceException; +import org.opendaylight.yangtools.yang.parser.spi.meta.SubstatementValidator; import org.opendaylight.yangtools.yang.parser.stmt.rfc6020.effective.PathEffectiveStatementImpl; public class PathStatementImpl extends AbstractDeclaredStatement implements PathStatement { + private static final SubstatementValidator SUBSTATEMENT_VALIDATOR = SubstatementValidator.builder(YangStmtMapping + .PATH) + .build(); - protected PathStatementImpl(StmtContext context) { + protected PathStatementImpl(final StmtContext context) { super(context); } - public static class Definition - extends - AbstractStatementSupport> { + public static class Definition extends AbstractStatementSupport> { public Definition() { - super(Rfc6020Mapping.PATH); + super(YangStmtMapping.PATH); } @Override - public RevisionAwareXPath parseArgumentValue(StmtContext ctx, String value) throws SourceException { - return new RevisionAwareXPathImpl(value, Utils.isXPathAbsolute(ctx, value)); + public RevisionAwareXPath parseArgumentValue(final StmtContext ctx, final String value) { + return Utils.parseXPath(ctx, value); } @Override - public PathStatement createDeclared(StmtContext ctx) { + public PathStatement createDeclared(final StmtContext ctx) { return new PathStatementImpl(ctx); } @Override public EffectiveStatement createEffective( - StmtContext> ctx) { + final StmtContext> ctx) { return new PathEffectiveStatementImpl(ctx); } + + @Override + protected SubstatementValidator getSubstatementValidator() { + return SUBSTATEMENT_VALIDATOR; + } } @Nonnull @@ -56,5 +62,4 @@ public class PathStatementImpl extends AbstractDeclaredStatement