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%2FValueStatementImpl.java;h=de57f4c946353ffadeff709684b153929d3dcc18;hb=30c67c4d780e897d972d60bb79d546b512516f90;hp=558f4c079622ff232503768eda1289595a6df00b;hpb=1f53275ab208027b01a60c697f576ce9fca7db22;p=yangtools.git diff --git a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/ValueStatementImpl.java b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/ValueStatementImpl.java index 558f4c0796..de57f4c946 100644 --- a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/ValueStatementImpl.java +++ b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/ValueStatementImpl.java @@ -7,51 +7,58 @@ */ package org.opendaylight.yangtools.yang.parser.stmt.rfc6020; -import org.opendaylight.yangtools.yang.parser.stmt.rfc6020.effective.ValueEffectiveStatementImpl; - import org.opendaylight.yangtools.yang.model.api.Rfc6020Mapping; import org.opendaylight.yangtools.yang.model.api.meta.EffectiveStatement; import org.opendaylight.yangtools.yang.model.api.stmt.ValueStatement; 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.stmt.rfc6020.effective.ValueEffectiveStatementImpl; -public class ValueStatementImpl extends AbstractDeclaredStatement - implements ValueStatement { +public class ValueStatementImpl extends AbstractDeclaredStatement implements ValueStatement { - protected ValueStatementImpl(StmtContext context) { + protected ValueStatementImpl(StmtContext context) { super(context); } - public static class Definition - extends - AbstractStatementSupport> { + public static class Definition extends + AbstractStatementSupport> { public Definition() { super(Rfc6020Mapping.VALUE); } @Override - public String parseArgumentValue(StmtContext ctx, String value) { - return value; + public Integer parseArgumentValue(StmtContext ctx, String value) { + int valueNum; + + try { + valueNum = Integer.parseInt(value); + } catch (NumberFormatException e) { + throw new IllegalArgumentException( + String.format( + "%s is not valid value statement integer argument in a range of -2147483648..2147483647", + value), e); + } + + return valueNum; } @Override - public ValueStatement createDeclared( - StmtContext ctx) { + public ValueStatement createDeclared(StmtContext ctx) { return new ValueStatementImpl(ctx); } @Override - public EffectiveStatement createEffective( - StmtContext> ctx) { + public EffectiveStatement createEffective( + StmtContext> ctx) { return new ValueEffectiveStatementImpl(ctx); } } @Override - public String getValue() { + public Integer getValue() { return argument(); }