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.YangVersionStatement;
-import org.opendaylight.yangtools.yang.parser.spi.SubstatementValidator;
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.spi.source.SourceException;
import org.opendaylight.yangtools.yang.parser.stmt.rfc6020.effective.YangVersionEffectiveStatementImpl;
@Override
public YangVersion parseArgumentValue(final StmtContext<?, ?, ?> ctx, final String value) {
- try {
- return YangVersion.parse(value);
- } catch (IllegalArgumentException e) {
- throw new SourceException("Unsupported YANG version " + value, ctx.getStatementSourceReference(), e);
- }
+ return SourceException.unwrap(YangVersion.parse(value), ctx.getStatementSourceReference(),
+ "Unsupported YANG version %s", value);
}
@Override
return new YangVersionEffectiveStatementImpl(ctx);
}
- @Override
- public void onFullDefinitionDeclared(final StmtContext.Mutable<YangVersion, YangVersionStatement,
- EffectiveStatement<YangVersion, YangVersionStatement>> stmt) {
- super.onFullDefinitionDeclared(stmt);
- getSubstatementValidator().validate(stmt);
- }
-
@Override
protected SubstatementValidator getSubstatementValidator() {
return SUBSTATEMENT_VALIDATOR;