From 2f76017dd3ddfa2eeaceb5e9c014dc9859a4d53c Mon Sep 17 00:00:00 2001 From: Tony Tkacik Date: Wed, 30 Sep 2015 15:40:20 +0200 Subject: [PATCH] Fixed Enum statement not accepting allowed symbols. Change-Id: I267e4f70d96d459f068553a7c265c9bc24d43006 Signed-off-by: Tony Tkacik --- .../yang/model/api/stmt/EnumStatement.java | 2 +- .../stmt/rfc6020/EnumStatementImpl.java | 19 ++++++++++--------- .../type/EnumEffectiveStatementImpl.java | 10 ++++------ 3 files changed, 15 insertions(+), 16 deletions(-) diff --git a/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/EnumStatement.java b/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/EnumStatement.java index 28373caadf..b81b1dcacd 100644 --- a/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/EnumStatement.java +++ b/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/EnumStatement.java @@ -13,7 +13,7 @@ import javax.annotation.Nullable; import org.opendaylight.yangtools.yang.common.QName; import org.opendaylight.yangtools.yang.model.api.meta.DeclaredStatement; -public interface EnumStatement extends DeclaredStatement, DocumentationGroup.WithStatus { +public interface EnumStatement extends DeclaredStatement, DocumentationGroup.WithStatus { @Nonnull String getName(); diff --git a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/EnumStatementImpl.java b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/EnumStatementImpl.java index 40f8454b19..2e96a0f833 100644 --- a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/EnumStatementImpl.java +++ b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/EnumStatementImpl.java @@ -20,32 +20,33 @@ 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.type.EnumEffectiveStatementImpl; -public class EnumStatementImpl extends AbstractDeclaredStatement implements EnumStatement { +public class EnumStatementImpl extends AbstractDeclaredStatement implements EnumStatement { - protected EnumStatementImpl(StmtContext context) { + protected EnumStatementImpl(StmtContext context) { super(context); } public static class Definition extends - AbstractStatementSupport> { + AbstractStatementSupport> { public Definition() { super(Rfc6020Mapping.ENUM); } @Override - public QName parseArgumentValue(StmtContext ctx, String value) { - return Utils.qNameFromArgument(ctx, value); + public String parseArgumentValue(StmtContext ctx, String value) { + // FIXME: Checks for real value + return value; } @Override - public EnumStatement createDeclared(StmtContext ctx) { + public EnumStatement createDeclared(StmtContext ctx) { return new EnumStatementImpl(ctx); } @Override - public EffectiveStatement createEffective( - StmtContext> ctx) { + public EffectiveStatement createEffective( + StmtContext> ctx) { return new EnumEffectiveStatementImpl(ctx); } @@ -68,7 +69,7 @@ public class EnumStatementImpl extends AbstractDeclaredStatement implemen @Override public String getName() { - return argument().getLocalName(); + return argument(); } @Override diff --git a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/effective/type/EnumEffectiveStatementImpl.java b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/effective/type/EnumEffectiveStatementImpl.java index a3d5feddbc..87c275b092 100644 --- a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/effective/type/EnumEffectiveStatementImpl.java +++ b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/effective/type/EnumEffectiveStatementImpl.java @@ -24,18 +24,16 @@ import org.opendaylight.yangtools.yang.parser.stmt.rfc6020.effective.ReferenceEf import org.opendaylight.yangtools.yang.parser.stmt.rfc6020.effective.StatusEffectiveStatementImpl; import org.opendaylight.yangtools.yang.parser.stmt.rfc6020.effective.ValueEffectiveStatementImpl; -public class EnumEffectiveStatementImpl extends EffectiveStatementBase implements EnumPair { - private final QName qName; +public class EnumEffectiveStatementImpl extends EffectiveStatementBase implements EnumPair { private final SchemaPath path; private String description; private String reference; private Status status; private Integer value; - public EnumEffectiveStatementImpl(final StmtContext ctx) { + public EnumEffectiveStatementImpl(final StmtContext ctx) { super(ctx); - qName = ctx.getStatementArgument(); path = Utils.getSchemaPath(ctx); for (final EffectiveStatement effectiveStatement : effectiveSubstatements()) { @@ -56,7 +54,7 @@ public class EnumEffectiveStatementImpl extends EffectiveStatementBase