X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=yang%2Fyang-parser-rfc7950%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fyangtools%2Fyang%2Fparser%2Frfc7950%2Fstmt%2Funits%2FUnitsStatementSupport.java;h=29713699e8c263432f3067e4b47df48f09eaecab;hb=88aeb1cd912d37fcadf671b622fece9a01297e90;hp=fcf4914498b6fafb670f345645d4fa72d0ad0cc9;hpb=312068b3e5eca1b3c336fa029a5a81c7b6a031c0;p=yangtools.git diff --git a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/units/UnitsStatementSupport.java b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/units/UnitsStatementSupport.java index fcf4914498..29713699e8 100644 --- a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/units/UnitsStatementSupport.java +++ b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/units/UnitsStatementSupport.java @@ -9,10 +9,12 @@ package org.opendaylight.yangtools.yang.parser.rfc7950.stmt.units; import com.google.common.collect.ImmutableList; import org.opendaylight.yangtools.yang.model.api.YangStmtMapping; +import org.opendaylight.yangtools.yang.model.api.meta.DeclaredStatement; import org.opendaylight.yangtools.yang.model.api.meta.EffectiveStatement; import org.opendaylight.yangtools.yang.model.api.stmt.UnitsEffectiveStatement; import org.opendaylight.yangtools.yang.model.api.stmt.UnitsStatement; import org.opendaylight.yangtools.yang.parser.rfc7950.stmt.BaseStringStatementSupport; +import org.opendaylight.yangtools.yang.parser.spi.meta.EffectiveStmtCtx.Current; import org.opendaylight.yangtools.yang.parser.spi.meta.StmtContext; import org.opendaylight.yangtools.yang.parser.spi.meta.SubstatementValidator; @@ -32,31 +34,25 @@ public final class UnitsStatementSupport } @Override - public String parseArgumentValue(final StmtContext ctx, final String value) { - return value; - } - - @Override - public UnitsStatement createDeclared(final StmtContext ctx) { - return new UnitsStatementImpl(ctx); + protected SubstatementValidator getSubstatementValidator() { + return SUBSTATEMENT_VALIDATOR; } @Override - protected SubstatementValidator getSubstatementValidator() { - return SUBSTATEMENT_VALIDATOR; + protected UnitsStatement createDeclared(final StmtContext ctx, + final ImmutableList> substatements) { + return new RegularUnitsStatement(ctx.coerceRawStatementArgument(), substatements); } @Override - protected UnitsEffectiveStatement createEffective( - final StmtContext ctx, - final UnitsStatement declared, final ImmutableList> substatements) { - return new RegularUnitsEffectiveStatement(declared, substatements); + protected UnitsStatement createEmptyDeclared(final StmtContext ctx) { + return new EmptyUnitsStatement(ctx.coerceRawStatementArgument()); } @Override - protected UnitsEffectiveStatement createEmptyEffective( - final StmtContext ctx, - final UnitsStatement declared) { - return new EmptyUnitsEffectiveStatement(declared); + protected UnitsEffectiveStatement createEffective(final Current stmt, + final ImmutableList> substatements) { + return substatements.isEmpty() ? new EmptyUnitsEffectiveStatement(stmt.declared()) + : new RegularUnitsEffectiveStatement(stmt.declared(), substatements); } -} \ No newline at end of file +}