From 415e45d2dcb148fe342d86f5f2cd8f48a9902cba Mon Sep 17 00:00:00 2001 From: Robert Varga Date: Thu, 29 Oct 2020 14:13:12 +0100 Subject: [PATCH] Add BaseSchemaTreeStatementSupport.parseArgumentValue() Almost all subclasses of BaseSchemaTreeStatementSupport do the same thing for parseArgumentValue(). Centralize the default behaviour there, while allowing input/output statements to do their own thing. JIRA: YANGTOOLS-1154 Change-Id: I7a3daf3a9c90eefadc1cad8043af3a2e7b9065e0 Signed-off-by: Robert Varga (cherry picked from commit 2ecfbbbba0d6add3664d998cbff940645bbb1428) --- .../rfc7950/stmt/BaseSchemaTreeStatementSupport.java | 7 +++++++ .../parser/rfc7950/stmt/action/ActionStatementSupport.java | 5 ----- .../rfc7950/stmt/anydata/AnydataStatementSupport.java | 6 ------ .../parser/rfc7950/stmt/anyxml/AnyxmlStatementSupport.java | 6 ------ .../rfc7950/stmt/case_/AbstractCaseStatementSupport.java | 6 ------ .../stmt/choice/AbstractChoiceStatementSupport.java | 6 ------ .../stmt/container/AbstractContainerStatementSupport.java | 6 ------ .../parser/rfc7950/stmt/leaf/LeafStatementSupport.java | 5 ----- .../stmt/leaf_list/AbstractLeafListStatementSupport.java | 6 ------ .../rfc7950/stmt/list/AbstractListStatementSupport.java | 6 ------ .../notification/AbstractNotificationStatementSupport.java | 6 ------ .../rfc7950/stmt/rpc/AbstractRpcStatementSupport.java | 5 ----- 12 files changed, 7 insertions(+), 63 deletions(-) diff --git a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/BaseSchemaTreeStatementSupport.java b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/BaseSchemaTreeStatementSupport.java index 023dc921c1..0d180264f3 100644 --- a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/BaseSchemaTreeStatementSupport.java +++ b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/BaseSchemaTreeStatementSupport.java @@ -12,7 +12,9 @@ import org.opendaylight.yangtools.yang.model.api.meta.DeclaredStatement; import org.opendaylight.yangtools.yang.model.api.meta.StatementDefinition; import org.opendaylight.yangtools.yang.model.api.stmt.SchemaTreeEffectiveStatement; import org.opendaylight.yangtools.yang.parser.rfc7950.namespace.ChildSchemaNodeNamespace; +import org.opendaylight.yangtools.yang.parser.spi.meta.StmtContext; import org.opendaylight.yangtools.yang.parser.spi.meta.StmtContext.Mutable; +import org.opendaylight.yangtools.yang.parser.spi.meta.StmtContextUtils; /** * Specialization of {@link BaseQNameStatementSupport} for stating the onStatementAdded method. @@ -35,4 +37,9 @@ public abstract class BaseSchemaTreeStatementSupport ctx, final String value) { + return StmtContextUtils.parseIdentifier(ctx, value); + } } diff --git a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/action/ActionStatementSupport.java b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/action/ActionStatementSupport.java index 0e0ad7dbb2..8fcd5c2c8e 100644 --- a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/action/ActionStatementSupport.java +++ b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/action/ActionStatementSupport.java @@ -56,11 +56,6 @@ public final class ActionStatementSupport extends return INSTANCE; } - @Override - public QName parseArgumentValue(final StmtContext ctx, final String value) { - return StmtContextUtils.parseIdentifier(ctx, value); - } - @Override public void onFullDefinitionDeclared(final Mutable stmt) { super.onFullDefinitionDeclared(stmt); diff --git a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/anydata/AnydataStatementSupport.java b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/anydata/AnydataStatementSupport.java index 6df1db5001..aeef091446 100644 --- a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/anydata/AnydataStatementSupport.java +++ b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/anydata/AnydataStatementSupport.java @@ -22,7 +22,6 @@ import org.opendaylight.yangtools.yang.model.api.stmt.StatusEffectiveStatement; import org.opendaylight.yangtools.yang.parser.rfc7950.stmt.BaseSchemaTreeStatementSupport; import org.opendaylight.yangtools.yang.parser.rfc7950.stmt.EffectiveStatementMixins.EffectiveStatementWithFlags.FlagsBuilder; import org.opendaylight.yangtools.yang.parser.spi.meta.StmtContext; -import org.opendaylight.yangtools.yang.parser.spi.meta.StmtContextUtils; import org.opendaylight.yangtools.yang.parser.spi.meta.SubstatementValidator; public final class AnydataStatementSupport @@ -48,11 +47,6 @@ public final class AnydataStatementSupport return INSTANCE; } - @Override - public QName parseArgumentValue(final StmtContext ctx, final String value) { - return StmtContextUtils.parseIdentifier(ctx, value); - } - @Override protected SubstatementValidator getSubstatementValidator() { return SUBSTATEMENT_VALIDATOR; diff --git a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/anyxml/AnyxmlStatementSupport.java b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/anyxml/AnyxmlStatementSupport.java index 39ceab02da..00500eaf23 100644 --- a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/anyxml/AnyxmlStatementSupport.java +++ b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/anyxml/AnyxmlStatementSupport.java @@ -22,7 +22,6 @@ import org.opendaylight.yangtools.yang.model.api.stmt.StatusEffectiveStatement; import org.opendaylight.yangtools.yang.parser.rfc7950.stmt.BaseSchemaTreeStatementSupport; import org.opendaylight.yangtools.yang.parser.rfc7950.stmt.EffectiveStatementMixins.EffectiveStatementWithFlags.FlagsBuilder; import org.opendaylight.yangtools.yang.parser.spi.meta.StmtContext; -import org.opendaylight.yangtools.yang.parser.spi.meta.StmtContextUtils; import org.opendaylight.yangtools.yang.parser.spi.meta.SubstatementValidator; public final class AnyxmlStatementSupport @@ -48,11 +47,6 @@ public final class AnyxmlStatementSupport return INSTANCE; } - @Override - public QName parseArgumentValue(final StmtContext ctx, final String value) { - return StmtContextUtils.parseIdentifier(ctx, value); - } - @Override protected SubstatementValidator getSubstatementValidator() { return SUBSTATEMENT_VALIDATOR; diff --git a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/case_/AbstractCaseStatementSupport.java b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/case_/AbstractCaseStatementSupport.java index 6b5881e9b3..d927160149 100644 --- a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/case_/AbstractCaseStatementSupport.java +++ b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/case_/AbstractCaseStatementSupport.java @@ -22,7 +22,6 @@ import org.opendaylight.yangtools.yang.model.api.stmt.StatusEffectiveStatement; import org.opendaylight.yangtools.yang.parser.rfc7950.stmt.BaseImplicitStatementSupport; import org.opendaylight.yangtools.yang.parser.rfc7950.stmt.EffectiveStatementMixins.EffectiveStatementWithFlags.FlagsBuilder; import org.opendaylight.yangtools.yang.parser.spi.meta.StmtContext; -import org.opendaylight.yangtools.yang.parser.spi.meta.StmtContextUtils; abstract class AbstractCaseStatementSupport extends BaseImplicitStatementSupport { @@ -30,11 +29,6 @@ abstract class AbstractCaseStatementSupport super(YangStmtMapping.CASE); } - @Override - public final QName parseArgumentValue(final StmtContext ctx, final String value) { - return StmtContextUtils.parseIdentifier(ctx, value); - } - @Override protected final CaseStatement createDeclared(final StmtContext ctx, final ImmutableList> substatements) { diff --git a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/choice/AbstractChoiceStatementSupport.java b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/choice/AbstractChoiceStatementSupport.java index 35dc8d5132..9b95f1389c 100644 --- a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/choice/AbstractChoiceStatementSupport.java +++ b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/choice/AbstractChoiceStatementSupport.java @@ -30,7 +30,6 @@ import org.opendaylight.yangtools.yang.parser.spi.meta.ImplicitParentAwareStatem import org.opendaylight.yangtools.yang.parser.spi.meta.InferenceException; import org.opendaylight.yangtools.yang.parser.spi.meta.StatementSupport; import org.opendaylight.yangtools.yang.parser.spi.meta.StmtContext; -import org.opendaylight.yangtools.yang.parser.spi.meta.StmtContextUtils; import org.opendaylight.yangtools.yang.parser.spi.source.SourceException; abstract class AbstractChoiceStatementSupport @@ -40,11 +39,6 @@ abstract class AbstractChoiceStatementSupport super(YangStmtMapping.CHOICE); } - @Override - public final QName parseArgumentValue(final StmtContext ctx, final String value) { - return StmtContextUtils.parseIdentifier(ctx, value); - } - @Override public final Optional> getImplicitParentFor(final StatementDefinition stmtDef) { return YangValidationBundles.SUPPORTED_CASE_SHORTHANDS.contains(stmtDef) ? Optional.of(implictCase()) diff --git a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/container/AbstractContainerStatementSupport.java b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/container/AbstractContainerStatementSupport.java index ea952cf101..539645446f 100644 --- a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/container/AbstractContainerStatementSupport.java +++ b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/container/AbstractContainerStatementSupport.java @@ -22,7 +22,6 @@ import org.opendaylight.yangtools.yang.model.api.stmt.StatusEffectiveStatement; import org.opendaylight.yangtools.yang.parser.rfc7950.stmt.BaseSchemaTreeStatementSupport; import org.opendaylight.yangtools.yang.parser.rfc7950.stmt.EffectiveStatementMixins.EffectiveStatementWithFlags.FlagsBuilder; import org.opendaylight.yangtools.yang.parser.spi.meta.StmtContext; -import org.opendaylight.yangtools.yang.parser.spi.meta.StmtContextUtils; abstract class AbstractContainerStatementSupport extends BaseSchemaTreeStatementSupport { @@ -30,11 +29,6 @@ abstract class AbstractContainerStatementSupport super(YangStmtMapping.CONTAINER); } - @Override - public final QName parseArgumentValue(final StmtContext ctx, final String value) { - return StmtContextUtils.parseIdentifier(ctx, value); - } - @Override protected final ContainerStatement createDeclared(final StmtContext ctx, final ImmutableList> substatements) { diff --git a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/leaf/LeafStatementSupport.java b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/leaf/LeafStatementSupport.java index 567c5355da..0eb9f63f65 100644 --- a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/leaf/LeafStatementSupport.java +++ b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/leaf/LeafStatementSupport.java @@ -55,11 +55,6 @@ public final class LeafStatementSupport extends BaseSchemaTreeStatementSupport ctx, final String value) { - return StmtContextUtils.parseIdentifier(ctx,value); - } - @Override public void onFullDefinitionDeclared(final Mutable ctx) { super.onFullDefinitionDeclared(ctx); diff --git a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/leaf_list/AbstractLeafListStatementSupport.java b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/leaf_list/AbstractLeafListStatementSupport.java index c05f4a1db9..c5bfcc982f 100644 --- a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/leaf_list/AbstractLeafListStatementSupport.java +++ b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/leaf_list/AbstractLeafListStatementSupport.java @@ -29,7 +29,6 @@ import org.opendaylight.yangtools.yang.parser.rfc7950.stmt.BaseSchemaTreeStateme import org.opendaylight.yangtools.yang.parser.rfc7950.stmt.EffectiveStatementMixins.EffectiveStatementWithFlags.FlagsBuilder; import org.opendaylight.yangtools.yang.parser.rfc7950.stmt.EffectiveStmtUtils; import org.opendaylight.yangtools.yang.parser.spi.meta.StmtContext; -import org.opendaylight.yangtools.yang.parser.spi.meta.StmtContextUtils; import org.opendaylight.yangtools.yang.parser.spi.source.SourceException; abstract class AbstractLeafListStatementSupport @@ -38,11 +37,6 @@ abstract class AbstractLeafListStatementSupport super(YangStmtMapping.LEAF_LIST); } - @Override - public final QName parseArgumentValue(final StmtContext ctx, final String value) { - return StmtContextUtils.parseIdentifier(ctx, value); - } - @Override protected final LeafListStatement createDeclared(final StmtContext ctx, final ImmutableList> substatements) { diff --git a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/list/AbstractListStatementSupport.java b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/list/AbstractListStatementSupport.java index 680d9c866c..a3532cd6bb 100644 --- a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/list/AbstractListStatementSupport.java +++ b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/list/AbstractListStatementSupport.java @@ -39,7 +39,6 @@ import org.opendaylight.yangtools.yang.parser.rfc7950.stmt.EffectiveStmtUtils; import org.opendaylight.yangtools.yang.parser.spi.meta.InferenceException; import org.opendaylight.yangtools.yang.parser.spi.meta.StmtContext; import org.opendaylight.yangtools.yang.parser.spi.meta.StmtContext.Mutable; -import org.opendaylight.yangtools.yang.parser.spi.meta.StmtContextUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -54,11 +53,6 @@ abstract class AbstractListStatementSupport extends super(YangStmtMapping.LIST); } - @Override - public final QName parseArgumentValue(final StmtContext ctx, final String value) { - return StmtContextUtils.parseIdentifier(ctx, value); - } - @Override protected final ListStatement createDeclared(final StmtContext ctx, final ImmutableList> substatements) { diff --git a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/notification/AbstractNotificationStatementSupport.java b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/notification/AbstractNotificationStatementSupport.java index b9f86e85f4..1436ae350f 100644 --- a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/notification/AbstractNotificationStatementSupport.java +++ b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/notification/AbstractNotificationStatementSupport.java @@ -16,7 +16,6 @@ import org.opendaylight.yangtools.yang.model.api.stmt.NotificationEffectiveState import org.opendaylight.yangtools.yang.model.api.stmt.NotificationStatement; import org.opendaylight.yangtools.yang.parser.rfc7950.stmt.BaseSchemaTreeStatementSupport; import org.opendaylight.yangtools.yang.parser.spi.meta.StmtContext; -import org.opendaylight.yangtools.yang.parser.spi.meta.StmtContextUtils; abstract class AbstractNotificationStatementSupport extends BaseSchemaTreeStatementSupport { @@ -24,11 +23,6 @@ abstract class AbstractNotificationStatementSupport super(YangStmtMapping.NOTIFICATION); } - @Override - public final QName parseArgumentValue(final StmtContext ctx, final String value) { - return StmtContextUtils.parseIdentifier(ctx, value); - } - @Override protected final NotificationStatement createDeclared(final StmtContext ctx, final ImmutableList> substatements) { diff --git a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/rpc/AbstractRpcStatementSupport.java b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/rpc/AbstractRpcStatementSupport.java index 5bcf4b066c..3d1e3a650e 100644 --- a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/rpc/AbstractRpcStatementSupport.java +++ b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/rpc/AbstractRpcStatementSupport.java @@ -44,11 +44,6 @@ abstract class AbstractRpcStatementSupport extends BaseSchemaTreeStatementSuppor super(YangStmtMapping.RPC); } - @Override - public final QName parseArgumentValue(final StmtContext ctx, final String value) { - return StmtContextUtils.parseIdentifier(ctx, value); - } - @Override public final void onFullDefinitionDeclared(final Mutable stmt) { super.onFullDefinitionDeclared(stmt); -- 2.36.6