From 62e07b2cfd5a44e68de45c93d2cc08617631d051 Mon Sep 17 00:00:00 2001 From: Robert Varga Date: Tue, 9 Feb 2021 01:25:24 +0100 Subject: [PATCH] Promote more declared statements to yang-parser-spi Declared statements are extremely simplistic, move their RFC7950 implementations to yang-model-spi. This is the second batch of conversion, with more to follow. JIRA: YANGTOOLS-1226 Change-Id: I9ca7a8af5c4a98fc1a6afc09e5b8b65434f9f1c8 Signed-off-by: Robert Varga --- .../model/spi/stmt/DeclaredStatements.java | 156 ++++++++++++++++++ .../model/spi/stmt}/DeviateStatementImpl.java | 6 +- .../spi/stmt}/DeviationStatementImpl.java | 2 +- .../model/spi/stmt}/EmptyEnumStatement.java | 2 +- .../spi/stmt}/EmptyErrorAppTagStatement.java | 2 +- .../spi/stmt}/EmptyErrorMessageStatement.java | 2 +- .../spi/stmt}/EmptyExtensionStatement.java | 2 +- .../spi/stmt}/EmptyFeatureStatement.java | 2 +- .../stmt}/EmptyFractionDigitsStatement.java | 2 +- .../spi/stmt}/EmptyGroupingStatement.java | 2 +- .../spi/stmt}/EmptyIdentityStatement.java | 2 +- .../spi/stmt}/EmptyIfFeatureStatement.java | 2 +- .../spi/stmt}/EmptyIncludeStatement.java | 2 +- .../model/spi/stmt}/EmptyInputStatement.java | 2 +- .../stmt}/EmptyUndeclaredInputStatement.java | 2 +- .../model/spi/stmt}/ImportStatementImpl.java | 2 +- .../model/spi/stmt}/RegularEnumStatement.java | 2 +- .../stmt}/RegularErrorAppTagStatement.java | 2 +- .../stmt}/RegularErrorMessageStatement.java | 2 +- .../spi/stmt}/RegularExtensionStatement.java | 2 +- .../spi/stmt}/RegularFeatureStatement.java | 2 +- .../stmt}/RegularFractionDigitsStatement.java | 2 +- .../spi/stmt}/RegularGroupingStatement.java | 2 +- .../spi/stmt}/RegularIdentityStatement.java | 2 +- .../spi/stmt}/RegularIfFeatureStatement.java | 2 +- .../spi/stmt}/RegularIncludeStatement.java | 2 +- .../spi/stmt}/RegularInputStatement.java | 2 +- .../RegularUndeclaredInputStatement.java | 2 +- .../model/spi/stmt/UndeclaredStatements.java | 37 +++++ .../AbstractDeviateStatementSupport.java | 6 +- .../deviation/DeviationStatementSupport.java | 5 +- .../stmt/enum_/EnumStatementSupport.java | 5 +- .../ErrorAppTagStatementSupport.java | 5 +- .../ErrorMessageStatementSupport.java | 5 +- .../extension/ExtensionStatementSupport.java | 5 +- .../stmt/feature/FeatureStatementSupport.java | 5 +- .../FractionDigitsStatementSupport.java | 13 +- .../grouping/GroupingStatementSupport.java | 5 +- .../identity/IdentityStatementSupport.java | 5 +- .../AbstractIfFeatureStatementSupport.java | 5 +- .../stmt/import_/ImportStatementSupport.java | 5 +- .../stmt/include/IncludeStatementSupport.java | 5 +- .../stmt/input/InputStatementSupport.java | 10 +- 43 files changed, 271 insertions(+), 64 deletions(-) rename yang/{yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/deviate => yang-model-spi/src/main/java/org/opendaylight/yangtools/yang/model/spi/stmt}/DeviateStatementImpl.java (81%) rename yang/{yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/deviation => yang-model-spi/src/main/java/org/opendaylight/yangtools/yang/model/spi/stmt}/DeviationStatementImpl.java (93%) rename yang/{yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/enum_ => yang-model-spi/src/main/java/org/opendaylight/yangtools/yang/model/spi/stmt}/EmptyEnumStatement.java (91%) rename yang/{yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/error_app_tag => yang-model-spi/src/main/java/org/opendaylight/yangtools/yang/model/spi/stmt}/EmptyErrorAppTagStatement.java (90%) rename yang/{yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/error_message => yang-model-spi/src/main/java/org/opendaylight/yangtools/yang/model/spi/stmt}/EmptyErrorMessageStatement.java (90%) rename yang/{yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/extension => yang-model-spi/src/main/java/org/opendaylight/yangtools/yang/model/spi/stmt}/EmptyExtensionStatement.java (90%) rename yang/{yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/feature => yang-model-spi/src/main/java/org/opendaylight/yangtools/yang/model/spi/stmt}/EmptyFeatureStatement.java (91%) rename yang/{yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/fraction_digits => yang-model-spi/src/main/java/org/opendaylight/yangtools/yang/model/spi/stmt}/EmptyFractionDigitsStatement.java (90%) rename yang/{yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/grouping => yang-model-spi/src/main/java/org/opendaylight/yangtools/yang/model/spi/stmt}/EmptyGroupingStatement.java (91%) rename yang/{yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/identity => yang-model-spi/src/main/java/org/opendaylight/yangtools/yang/model/spi/stmt}/EmptyIdentityStatement.java (91%) rename yang/{yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/if_feature => yang-model-spi/src/main/java/org/opendaylight/yangtools/yang/model/spi/stmt}/EmptyIfFeatureStatement.java (92%) rename yang/{yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/include => yang-model-spi/src/main/java/org/opendaylight/yangtools/yang/model/spi/stmt}/EmptyIncludeStatement.java (90%) rename yang/{yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/input => yang-model-spi/src/main/java/org/opendaylight/yangtools/yang/model/spi/stmt}/EmptyInputStatement.java (91%) rename yang/{yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/input => yang-model-spi/src/main/java/org/opendaylight/yangtools/yang/model/spi/stmt}/EmptyUndeclaredInputStatement.java (91%) rename yang/{yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/import_ => yang-model-spi/src/main/java/org/opendaylight/yangtools/yang/model/spi/stmt}/ImportStatementImpl.java (92%) rename yang/{yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/enum_ => yang-model-spi/src/main/java/org/opendaylight/yangtools/yang/model/spi/stmt}/RegularEnumStatement.java (93%) rename yang/{yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/error_app_tag => yang-model-spi/src/main/java/org/opendaylight/yangtools/yang/model/spi/stmt}/RegularErrorAppTagStatement.java (92%) rename yang/{yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/error_message => yang-model-spi/src/main/java/org/opendaylight/yangtools/yang/model/spi/stmt}/RegularErrorMessageStatement.java (92%) rename yang/{yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/extension => yang-model-spi/src/main/java/org/opendaylight/yangtools/yang/model/spi/stmt}/RegularExtensionStatement.java (92%) rename yang/{yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/feature => yang-model-spi/src/main/java/org/opendaylight/yangtools/yang/model/spi/stmt}/RegularFeatureStatement.java (93%) rename yang/{yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/fraction_digits => yang-model-spi/src/main/java/org/opendaylight/yangtools/yang/model/spi/stmt}/RegularFractionDigitsStatement.java (92%) rename yang/{yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/grouping => yang-model-spi/src/main/java/org/opendaylight/yangtools/yang/model/spi/stmt}/RegularGroupingStatement.java (93%) rename yang/{yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/identity => yang-model-spi/src/main/java/org/opendaylight/yangtools/yang/model/spi/stmt}/RegularIdentityStatement.java (93%) rename yang/{yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/if_feature => yang-model-spi/src/main/java/org/opendaylight/yangtools/yang/model/spi/stmt}/RegularIfFeatureStatement.java (93%) rename yang/{yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/include => yang-model-spi/src/main/java/org/opendaylight/yangtools/yang/model/spi/stmt}/RegularIncludeStatement.java (93%) rename yang/{yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/input => yang-model-spi/src/main/java/org/opendaylight/yangtools/yang/model/spi/stmt}/RegularInputStatement.java (93%) rename yang/{yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/input => yang-model-spi/src/main/java/org/opendaylight/yangtools/yang/model/spi/stmt}/RegularUndeclaredInputStatement.java (93%) create mode 100644 yang/yang-model-spi/src/main/java/org/opendaylight/yangtools/yang/model/spi/stmt/UndeclaredStatements.java diff --git a/yang/yang-model-spi/src/main/java/org/opendaylight/yangtools/yang/model/spi/stmt/DeclaredStatements.java b/yang/yang-model-spi/src/main/java/org/opendaylight/yangtools/yang/model/spi/stmt/DeclaredStatements.java index 577de13213..fe9d6711d3 100644 --- a/yang/yang-model-spi/src/main/java/org/opendaylight/yangtools/yang/model/spi/stmt/DeclaredStatements.java +++ b/yang/yang-model-spi/src/main/java/org/opendaylight/yangtools/yang/model/spi/stmt/DeclaredStatements.java @@ -11,6 +11,7 @@ import com.google.common.annotations.Beta; import com.google.common.collect.ImmutableList; import org.eclipse.jdt.annotation.NonNullByDefault; import org.opendaylight.yangtools.yang.common.QName; +import org.opendaylight.yangtools.yang.model.api.DeviateKind; import org.opendaylight.yangtools.yang.model.api.Status; import org.opendaylight.yangtools.yang.model.api.meta.DeclaredStatement; import org.opendaylight.yangtools.yang.model.api.stmt.ActionStatement; @@ -26,7 +27,23 @@ import org.opendaylight.yangtools.yang.model.api.stmt.ConfigStatement; import org.opendaylight.yangtools.yang.model.api.stmt.ContainerStatement; import org.opendaylight.yangtools.yang.model.api.stmt.DefaultStatement; import org.opendaylight.yangtools.yang.model.api.stmt.DescriptionStatement; +import org.opendaylight.yangtools.yang.model.api.stmt.DeviateStatement; +import org.opendaylight.yangtools.yang.model.api.stmt.DeviationStatement; +import org.opendaylight.yangtools.yang.model.api.stmt.EnumStatement; +import org.opendaylight.yangtools.yang.model.api.stmt.ErrorAppTagStatement; +import org.opendaylight.yangtools.yang.model.api.stmt.ErrorMessageStatement; +import org.opendaylight.yangtools.yang.model.api.stmt.ExtensionStatement; +import org.opendaylight.yangtools.yang.model.api.stmt.FeatureStatement; +import org.opendaylight.yangtools.yang.model.api.stmt.FractionDigitsStatement; +import org.opendaylight.yangtools.yang.model.api.stmt.GroupingStatement; +import org.opendaylight.yangtools.yang.model.api.stmt.IdentityStatement; +import org.opendaylight.yangtools.yang.model.api.stmt.IfFeatureExpr; +import org.opendaylight.yangtools.yang.model.api.stmt.IfFeatureStatement; +import org.opendaylight.yangtools.yang.model.api.stmt.ImportStatement; +import org.opendaylight.yangtools.yang.model.api.stmt.IncludeStatement; +import org.opendaylight.yangtools.yang.model.api.stmt.InputStatement; import org.opendaylight.yangtools.yang.model.api.stmt.SchemaNodeIdentifier; +import org.opendaylight.yangtools.yang.model.api.stmt.SchemaNodeIdentifier.Absolute; import org.opendaylight.yangtools.yang.model.api.stmt.StatusStatement; /** @@ -161,6 +178,145 @@ public final class DeclaredStatements { : new RegularDescriptionStatement(argument, substatements); } + public static DeviateStatement createDeviate(final DeviateKind argument) { + // This is exceedingly unlikely, just reuse the implementation + return createDeviate(argument, ImmutableList.of()); + } + + public static DeviateStatement createDeviate(final DeviateKind argument, + final ImmutableList> substatements) { + return new DeviateStatementImpl(argument, substatements); + } + + public static DeviationStatement createDeviation(final String rawArgument, final Absolute argument) { + // This does not make really sense + return createDeviation(rawArgument, argument, ImmutableList.of()); + } + + public static DeviationStatement createDeviation(final String rawArgument, final Absolute argument, + final ImmutableList> substatements) { + return new DeviationStatementImpl(rawArgument, argument, substatements); + } + + // FIXME: what is the distinction between rawArgument and argument? + public static EnumStatement createEnum(final String rawArgument, final String argument) { + return new EmptyEnumStatement(rawArgument, argument); + } + + public static EnumStatement createEnum(final String rawArgument, final String argument, + final ImmutableList> substatements) { + return substatements.isEmpty() ? createEnum(rawArgument, argument) + : new RegularEnumStatement(rawArgument, argument, substatements); + } + + public static ErrorAppTagStatement createErrorAppTag(final String argument) { + return new EmptyErrorAppTagStatement(argument); + } + + public static ErrorAppTagStatement createErrorAppTag(final String argument, + final ImmutableList> substatements) { + return substatements.isEmpty() ? createErrorAppTag(argument) + : new RegularErrorAppTagStatement(argument, substatements); + } + + public static ErrorMessageStatement createErrorMessage(final String argument) { + return new EmptyErrorMessageStatement(argument); + } + + public static ErrorMessageStatement createErrorMessage(final String argument, + final ImmutableList> substatements) { + return substatements.isEmpty() ? createErrorMessage(argument) + : new RegularErrorMessageStatement(argument, substatements); + } + + public static ExtensionStatement createExtension(final QName argument) { + return new EmptyExtensionStatement(argument); + } + + public static ExtensionStatement createExtension(final QName argument, + final ImmutableList> substatements) { + return substatements.isEmpty() ? createExtension(argument) + : new RegularExtensionStatement(argument, substatements); + } + + public static FeatureStatement createFeature(final QName argument) { + return new EmptyFeatureStatement(argument); + } + + public static FeatureStatement createFeature(final QName argument, + final ImmutableList> substatements) { + return substatements.isEmpty() ? createFeature(argument) : new RegularFeatureStatement(argument, substatements); + } + + public static FractionDigitsStatement createFractionDigits(final Integer argument) { + return new EmptyFractionDigitsStatement(argument); + } + + public static FractionDigitsStatement createFractionDigits(final Integer argument, + final ImmutableList> substatements) { + return substatements.isEmpty() ? createFractionDigits(argument) + : new RegularFractionDigitsStatement(argument, substatements); + } + + public static GroupingStatement createGrouping(final QName argument) { + return new EmptyGroupingStatement(argument); + } + + public static GroupingStatement createGrouping(final QName argument, + final ImmutableList> substatements) { + return substatements.isEmpty() ? createGrouping(argument) + : new RegularGroupingStatement(argument, substatements); + } + + public static IdentityStatement createIdentity(final QName argument) { + return new EmptyIdentityStatement(argument); + } + + public static IdentityStatement createIdentity(final QName argument, + final ImmutableList> substatements) { + return substatements.isEmpty() ? createIdentity(argument) + : new RegularIdentityStatement(argument, substatements); + } + + public static IfFeatureStatement createIfFeature(final String rawArgument, final IfFeatureExpr argument) { + return new EmptyIfFeatureStatement(rawArgument, argument); + } + + public static IfFeatureStatement createIfFeature(final String rawArgument, final IfFeatureExpr argument, + final ImmutableList> substatements) { + return substatements.isEmpty() ? createIfFeature(rawArgument, argument) + : new RegularIfFeatureStatement(rawArgument, argument, substatements); + } + + public static ImportStatement createImport(final String argument) { + // This should never happen + return createImport(argument, ImmutableList.of()); + } + + public static ImportStatement createImport(final String argument, + final ImmutableList> substatements) { + return new ImportStatementImpl(argument, substatements); + } + + public static IncludeStatement createInclude(final String rawArgument, final String argument) { + return new EmptyIncludeStatement(rawArgument, argument); + } + + public static IncludeStatement createInclude(final String rawArgument, final String argument, + final ImmutableList> substatements) { + return substatements.isEmpty() ? createInclude(rawArgument, argument) + : new RegularIncludeStatement(rawArgument, argument, substatements); + } + + public static InputStatement createInput(final QName argument) { + return new EmptyInputStatement(argument); + } + + public static InputStatement createInput(final QName argument, + final ImmutableList> substatements) { + return substatements.isEmpty() ? createInput(argument) : new RegularInputStatement(argument, substatements); + } + public static StatusStatement createStatus(final Status argument) { return new EmptyStatusStatement(argument); } diff --git a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/deviate/DeviateStatementImpl.java b/yang/yang-model-spi/src/main/java/org/opendaylight/yangtools/yang/model/spi/stmt/DeviateStatementImpl.java similarity index 81% rename from yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/deviate/DeviateStatementImpl.java rename to yang/yang-model-spi/src/main/java/org/opendaylight/yangtools/yang/model/spi/stmt/DeviateStatementImpl.java index 00071ab934..423c2bb2b1 100644 --- a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/deviate/DeviateStatementImpl.java +++ b/yang/yang-model-spi/src/main/java/org/opendaylight/yangtools/yang/model/spi/stmt/DeviateStatementImpl.java @@ -5,7 +5,7 @@ * terms of the Eclipse Public License v1.0 which accompanies this distribution, * and is available at http://www.eclipse.org/legal/epl-v10.html */ -package org.opendaylight.yangtools.yang.parser.rfc7950.stmt.deviate; +package org.opendaylight.yangtools.yang.model.spi.stmt; import com.google.common.collect.ImmutableList; import org.opendaylight.yangtools.yang.model.api.DeviateKind; @@ -14,8 +14,8 @@ import org.opendaylight.yangtools.yang.model.api.stmt.DeviateStatement; import org.opendaylight.yangtools.yang.model.spi.meta.AbstractDeclaredStatement.WithArgument.WithSubstatements; final class DeviateStatementImpl extends WithSubstatements implements DeviateStatement { - DeviateStatementImpl(final String rawArgument, final DeviateKind argument, + DeviateStatementImpl(final DeviateKind argument, final ImmutableList> substatements) { - super(rawArgument, argument, substatements); + super(argument.getKeyword(), argument, substatements); } } diff --git a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/deviation/DeviationStatementImpl.java b/yang/yang-model-spi/src/main/java/org/opendaylight/yangtools/yang/model/spi/stmt/DeviationStatementImpl.java similarity index 93% rename from yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/deviation/DeviationStatementImpl.java rename to yang/yang-model-spi/src/main/java/org/opendaylight/yangtools/yang/model/spi/stmt/DeviationStatementImpl.java index 4bc153522e..11876970f7 100644 --- a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/deviation/DeviationStatementImpl.java +++ b/yang/yang-model-spi/src/main/java/org/opendaylight/yangtools/yang/model/spi/stmt/DeviationStatementImpl.java @@ -5,7 +5,7 @@ * terms of the Eclipse Public License v1.0 which accompanies this distribution, * and is available at http://www.eclipse.org/legal/epl-v10.html */ -package org.opendaylight.yangtools.yang.parser.rfc7950.stmt.deviation; +package org.opendaylight.yangtools.yang.model.spi.stmt; import com.google.common.collect.ImmutableList; import org.opendaylight.yangtools.yang.model.api.meta.DeclaredStatement; diff --git a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/enum_/EmptyEnumStatement.java b/yang/yang-model-spi/src/main/java/org/opendaylight/yangtools/yang/model/spi/stmt/EmptyEnumStatement.java similarity index 91% rename from yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/enum_/EmptyEnumStatement.java rename to yang/yang-model-spi/src/main/java/org/opendaylight/yangtools/yang/model/spi/stmt/EmptyEnumStatement.java index 246f8fba50..884a19c413 100644 --- a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/enum_/EmptyEnumStatement.java +++ b/yang/yang-model-spi/src/main/java/org/opendaylight/yangtools/yang/model/spi/stmt/EmptyEnumStatement.java @@ -5,7 +5,7 @@ * terms of the Eclipse Public License v1.0 which accompanies this distribution, * and is available at http://www.eclipse.org/legal/epl-v10.html */ -package org.opendaylight.yangtools.yang.parser.rfc7950.stmt.enum_; +package org.opendaylight.yangtools.yang.model.spi.stmt; import org.opendaylight.yangtools.yang.model.api.stmt.EnumStatement; import org.opendaylight.yangtools.yang.model.spi.meta.AbstractDeclaredStatement.WithArgument; diff --git a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/error_app_tag/EmptyErrorAppTagStatement.java b/yang/yang-model-spi/src/main/java/org/opendaylight/yangtools/yang/model/spi/stmt/EmptyErrorAppTagStatement.java similarity index 90% rename from yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/error_app_tag/EmptyErrorAppTagStatement.java rename to yang/yang-model-spi/src/main/java/org/opendaylight/yangtools/yang/model/spi/stmt/EmptyErrorAppTagStatement.java index d677f9a5ad..5d53f2306d 100644 --- a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/error_app_tag/EmptyErrorAppTagStatement.java +++ b/yang/yang-model-spi/src/main/java/org/opendaylight/yangtools/yang/model/spi/stmt/EmptyErrorAppTagStatement.java @@ -5,7 +5,7 @@ * terms of the Eclipse Public License v1.0 which accompanies this distribution, * and is available at http://www.eclipse.org/legal/epl-v10.html */ -package org.opendaylight.yangtools.yang.parser.rfc7950.stmt.error_app_tag; +package org.opendaylight.yangtools.yang.model.spi.stmt; import org.eclipse.jdt.annotation.NonNull; import org.opendaylight.yangtools.yang.model.api.stmt.ErrorAppTagStatement; diff --git a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/error_message/EmptyErrorMessageStatement.java b/yang/yang-model-spi/src/main/java/org/opendaylight/yangtools/yang/model/spi/stmt/EmptyErrorMessageStatement.java similarity index 90% rename from yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/error_message/EmptyErrorMessageStatement.java rename to yang/yang-model-spi/src/main/java/org/opendaylight/yangtools/yang/model/spi/stmt/EmptyErrorMessageStatement.java index 216b40b28c..ec912c3cad 100644 --- a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/error_message/EmptyErrorMessageStatement.java +++ b/yang/yang-model-spi/src/main/java/org/opendaylight/yangtools/yang/model/spi/stmt/EmptyErrorMessageStatement.java @@ -5,7 +5,7 @@ * terms of the Eclipse Public License v1.0 which accompanies this distribution, * and is available at http://www.eclipse.org/legal/epl-v10.html */ -package org.opendaylight.yangtools.yang.parser.rfc7950.stmt.error_message; +package org.opendaylight.yangtools.yang.model.spi.stmt; import org.eclipse.jdt.annotation.NonNull; import org.opendaylight.yangtools.yang.model.api.stmt.ErrorMessageStatement; diff --git a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/extension/EmptyExtensionStatement.java b/yang/yang-model-spi/src/main/java/org/opendaylight/yangtools/yang/model/spi/stmt/EmptyExtensionStatement.java similarity index 90% rename from yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/extension/EmptyExtensionStatement.java rename to yang/yang-model-spi/src/main/java/org/opendaylight/yangtools/yang/model/spi/stmt/EmptyExtensionStatement.java index 9884c5bc53..e42f2485c5 100644 --- a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/extension/EmptyExtensionStatement.java +++ b/yang/yang-model-spi/src/main/java/org/opendaylight/yangtools/yang/model/spi/stmt/EmptyExtensionStatement.java @@ -5,7 +5,7 @@ * terms of the Eclipse Public License v1.0 which accompanies this distribution, * and is available at http://www.eclipse.org/legal/epl-v10.html */ -package org.opendaylight.yangtools.yang.parser.rfc7950.stmt.extension; +package org.opendaylight.yangtools.yang.model.spi.stmt; import org.opendaylight.yangtools.yang.common.QName; import org.opendaylight.yangtools.yang.model.api.stmt.ExtensionStatement; diff --git a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/feature/EmptyFeatureStatement.java b/yang/yang-model-spi/src/main/java/org/opendaylight/yangtools/yang/model/spi/stmt/EmptyFeatureStatement.java similarity index 91% rename from yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/feature/EmptyFeatureStatement.java rename to yang/yang-model-spi/src/main/java/org/opendaylight/yangtools/yang/model/spi/stmt/EmptyFeatureStatement.java index a28e385f8d..849652514e 100644 --- a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/feature/EmptyFeatureStatement.java +++ b/yang/yang-model-spi/src/main/java/org/opendaylight/yangtools/yang/model/spi/stmt/EmptyFeatureStatement.java @@ -5,7 +5,7 @@ * terms of the Eclipse Public License v1.0 which accompanies this distribution, * and is available at http://www.eclipse.org/legal/epl-v10.html */ -package org.opendaylight.yangtools.yang.parser.rfc7950.stmt.feature; +package org.opendaylight.yangtools.yang.model.spi.stmt; import org.opendaylight.yangtools.yang.common.QName; import org.opendaylight.yangtools.yang.model.api.stmt.FeatureStatement; diff --git a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/fraction_digits/EmptyFractionDigitsStatement.java b/yang/yang-model-spi/src/main/java/org/opendaylight/yangtools/yang/model/spi/stmt/EmptyFractionDigitsStatement.java similarity index 90% rename from yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/fraction_digits/EmptyFractionDigitsStatement.java rename to yang/yang-model-spi/src/main/java/org/opendaylight/yangtools/yang/model/spi/stmt/EmptyFractionDigitsStatement.java index a931c1485f..2578ff5791 100644 --- a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/fraction_digits/EmptyFractionDigitsStatement.java +++ b/yang/yang-model-spi/src/main/java/org/opendaylight/yangtools/yang/model/spi/stmt/EmptyFractionDigitsStatement.java @@ -5,7 +5,7 @@ * terms of the Eclipse Public License v1.0 which accompanies this distribution, * and is available at http://www.eclipse.org/legal/epl-v10.html */ -package org.opendaylight.yangtools.yang.parser.rfc7950.stmt.fraction_digits; +package org.opendaylight.yangtools.yang.model.spi.stmt; import org.opendaylight.yangtools.yang.model.api.stmt.FractionDigitsStatement; import org.opendaylight.yangtools.yang.model.spi.meta.AbstractDeclaredStatement.ArgumentToString; diff --git a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/grouping/EmptyGroupingStatement.java b/yang/yang-model-spi/src/main/java/org/opendaylight/yangtools/yang/model/spi/stmt/EmptyGroupingStatement.java similarity index 91% rename from yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/grouping/EmptyGroupingStatement.java rename to yang/yang-model-spi/src/main/java/org/opendaylight/yangtools/yang/model/spi/stmt/EmptyGroupingStatement.java index 0c4fbd31da..625ab765d7 100644 --- a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/grouping/EmptyGroupingStatement.java +++ b/yang/yang-model-spi/src/main/java/org/opendaylight/yangtools/yang/model/spi/stmt/EmptyGroupingStatement.java @@ -5,7 +5,7 @@ * terms of the Eclipse Public License v1.0 which accompanies this distribution, * and is available at http://www.eclipse.org/legal/epl-v10.html */ -package org.opendaylight.yangtools.yang.parser.rfc7950.stmt.grouping; +package org.opendaylight.yangtools.yang.model.spi.stmt; import org.opendaylight.yangtools.yang.common.QName; import org.opendaylight.yangtools.yang.model.api.stmt.GroupingStatement; diff --git a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/identity/EmptyIdentityStatement.java b/yang/yang-model-spi/src/main/java/org/opendaylight/yangtools/yang/model/spi/stmt/EmptyIdentityStatement.java similarity index 91% rename from yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/identity/EmptyIdentityStatement.java rename to yang/yang-model-spi/src/main/java/org/opendaylight/yangtools/yang/model/spi/stmt/EmptyIdentityStatement.java index 0e49ed8d09..296e74b632 100644 --- a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/identity/EmptyIdentityStatement.java +++ b/yang/yang-model-spi/src/main/java/org/opendaylight/yangtools/yang/model/spi/stmt/EmptyIdentityStatement.java @@ -5,7 +5,7 @@ * terms of the Eclipse Public License v1.0 which accompanies this distribution, * and is available at http://www.eclipse.org/legal/epl-v10.html */ -package org.opendaylight.yangtools.yang.parser.rfc7950.stmt.identity; +package org.opendaylight.yangtools.yang.model.spi.stmt; import org.opendaylight.yangtools.yang.common.QName; import org.opendaylight.yangtools.yang.model.api.stmt.IdentityStatement; diff --git a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/if_feature/EmptyIfFeatureStatement.java b/yang/yang-model-spi/src/main/java/org/opendaylight/yangtools/yang/model/spi/stmt/EmptyIfFeatureStatement.java similarity index 92% rename from yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/if_feature/EmptyIfFeatureStatement.java rename to yang/yang-model-spi/src/main/java/org/opendaylight/yangtools/yang/model/spi/stmt/EmptyIfFeatureStatement.java index 6cc8180c19..5ef8f32ca5 100644 --- a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/if_feature/EmptyIfFeatureStatement.java +++ b/yang/yang-model-spi/src/main/java/org/opendaylight/yangtools/yang/model/spi/stmt/EmptyIfFeatureStatement.java @@ -5,7 +5,7 @@ * terms of the Eclipse Public License v1.0 which accompanies this distribution, * and is available at http://www.eclipse.org/legal/epl-v10.html */ -package org.opendaylight.yangtools.yang.parser.rfc7950.stmt.if_feature; +package org.opendaylight.yangtools.yang.model.spi.stmt; import org.eclipse.jdt.annotation.NonNull; import org.opendaylight.yangtools.yang.model.api.stmt.IfFeatureExpr; diff --git a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/include/EmptyIncludeStatement.java b/yang/yang-model-spi/src/main/java/org/opendaylight/yangtools/yang/model/spi/stmt/EmptyIncludeStatement.java similarity index 90% rename from yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/include/EmptyIncludeStatement.java rename to yang/yang-model-spi/src/main/java/org/opendaylight/yangtools/yang/model/spi/stmt/EmptyIncludeStatement.java index a55199bee6..bded01cea4 100644 --- a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/include/EmptyIncludeStatement.java +++ b/yang/yang-model-spi/src/main/java/org/opendaylight/yangtools/yang/model/spi/stmt/EmptyIncludeStatement.java @@ -5,7 +5,7 @@ * terms of the Eclipse Public License v1.0 which accompanies this distribution, * and is available at http://www.eclipse.org/legal/epl-v10.html */ -package org.opendaylight.yangtools.yang.parser.rfc7950.stmt.include; +package org.opendaylight.yangtools.yang.model.spi.stmt; import org.opendaylight.yangtools.yang.model.api.stmt.IncludeStatement; import org.opendaylight.yangtools.yang.model.spi.meta.AbstractDeclaredStatement.WithArgument; diff --git a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/input/EmptyInputStatement.java b/yang/yang-model-spi/src/main/java/org/opendaylight/yangtools/yang/model/spi/stmt/EmptyInputStatement.java similarity index 91% rename from yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/input/EmptyInputStatement.java rename to yang/yang-model-spi/src/main/java/org/opendaylight/yangtools/yang/model/spi/stmt/EmptyInputStatement.java index 6b64a31fb2..3d3f8c70de 100644 --- a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/input/EmptyInputStatement.java +++ b/yang/yang-model-spi/src/main/java/org/opendaylight/yangtools/yang/model/spi/stmt/EmptyInputStatement.java @@ -5,7 +5,7 @@ * terms of the Eclipse Public License v1.0 which accompanies this distribution, * and is available at http://www.eclipse.org/legal/epl-v10.html */ -package org.opendaylight.yangtools.yang.parser.rfc7950.stmt.input; +package org.opendaylight.yangtools.yang.model.spi.stmt; import org.opendaylight.yangtools.yang.common.QName; import org.opendaylight.yangtools.yang.model.api.stmt.InputStatement; diff --git a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/input/EmptyUndeclaredInputStatement.java b/yang/yang-model-spi/src/main/java/org/opendaylight/yangtools/yang/model/spi/stmt/EmptyUndeclaredInputStatement.java similarity index 91% rename from yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/input/EmptyUndeclaredInputStatement.java rename to yang/yang-model-spi/src/main/java/org/opendaylight/yangtools/yang/model/spi/stmt/EmptyUndeclaredInputStatement.java index 4e21f2fb37..068833e832 100644 --- a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/input/EmptyUndeclaredInputStatement.java +++ b/yang/yang-model-spi/src/main/java/org/opendaylight/yangtools/yang/model/spi/stmt/EmptyUndeclaredInputStatement.java @@ -5,7 +5,7 @@ * terms of the Eclipse Public License v1.0 which accompanies this distribution, * and is available at http://www.eclipse.org/legal/epl-v10.html */ -package org.opendaylight.yangtools.yang.parser.rfc7950.stmt.input; +package org.opendaylight.yangtools.yang.model.spi.stmt; import org.opendaylight.yangtools.yang.common.QName; import org.opendaylight.yangtools.yang.model.api.meta.StatementSource; diff --git a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/import_/ImportStatementImpl.java b/yang/yang-model-spi/src/main/java/org/opendaylight/yangtools/yang/model/spi/stmt/ImportStatementImpl.java similarity index 92% rename from yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/import_/ImportStatementImpl.java rename to yang/yang-model-spi/src/main/java/org/opendaylight/yangtools/yang/model/spi/stmt/ImportStatementImpl.java index ca083dc080..14423ac9d9 100644 --- a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/import_/ImportStatementImpl.java +++ b/yang/yang-model-spi/src/main/java/org/opendaylight/yangtools/yang/model/spi/stmt/ImportStatementImpl.java @@ -5,7 +5,7 @@ * terms of the Eclipse Public License v1.0 which accompanies this distribution, * and is available at http://www.eclipse.org/legal/epl-v10.html */ -package org.opendaylight.yangtools.yang.parser.rfc7950.stmt.import_; +package org.opendaylight.yangtools.yang.model.spi.stmt; import com.google.common.collect.ImmutableList; import org.opendaylight.yangtools.yang.model.api.meta.DeclaredStatement; diff --git a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/enum_/RegularEnumStatement.java b/yang/yang-model-spi/src/main/java/org/opendaylight/yangtools/yang/model/spi/stmt/RegularEnumStatement.java similarity index 93% rename from yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/enum_/RegularEnumStatement.java rename to yang/yang-model-spi/src/main/java/org/opendaylight/yangtools/yang/model/spi/stmt/RegularEnumStatement.java index cf526a79e6..3e6f89aed2 100644 --- a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/enum_/RegularEnumStatement.java +++ b/yang/yang-model-spi/src/main/java/org/opendaylight/yangtools/yang/model/spi/stmt/RegularEnumStatement.java @@ -5,7 +5,7 @@ * terms of the Eclipse Public License v1.0 which accompanies this distribution, * and is available at http://www.eclipse.org/legal/epl-v10.html */ -package org.opendaylight.yangtools.yang.parser.rfc7950.stmt.enum_; +package org.opendaylight.yangtools.yang.model.spi.stmt; import com.google.common.collect.ImmutableList; import org.opendaylight.yangtools.yang.model.api.meta.DeclaredStatement; diff --git a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/error_app_tag/RegularErrorAppTagStatement.java b/yang/yang-model-spi/src/main/java/org/opendaylight/yangtools/yang/model/spi/stmt/RegularErrorAppTagStatement.java similarity index 92% rename from yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/error_app_tag/RegularErrorAppTagStatement.java rename to yang/yang-model-spi/src/main/java/org/opendaylight/yangtools/yang/model/spi/stmt/RegularErrorAppTagStatement.java index 137aa707dd..4684d9adaa 100644 --- a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/error_app_tag/RegularErrorAppTagStatement.java +++ b/yang/yang-model-spi/src/main/java/org/opendaylight/yangtools/yang/model/spi/stmt/RegularErrorAppTagStatement.java @@ -5,7 +5,7 @@ * terms of the Eclipse Public License v1.0 which accompanies this distribution, * and is available at http://www.eclipse.org/legal/epl-v10.html */ -package org.opendaylight.yangtools.yang.parser.rfc7950.stmt.error_app_tag; +package org.opendaylight.yangtools.yang.model.spi.stmt; import com.google.common.collect.ImmutableList; import org.eclipse.jdt.annotation.NonNull; diff --git a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/error_message/RegularErrorMessageStatement.java b/yang/yang-model-spi/src/main/java/org/opendaylight/yangtools/yang/model/spi/stmt/RegularErrorMessageStatement.java similarity index 92% rename from yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/error_message/RegularErrorMessageStatement.java rename to yang/yang-model-spi/src/main/java/org/opendaylight/yangtools/yang/model/spi/stmt/RegularErrorMessageStatement.java index ad4886c4dd..e8e23c0365 100644 --- a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/error_message/RegularErrorMessageStatement.java +++ b/yang/yang-model-spi/src/main/java/org/opendaylight/yangtools/yang/model/spi/stmt/RegularErrorMessageStatement.java @@ -5,7 +5,7 @@ * terms of the Eclipse Public License v1.0 which accompanies this distribution, * and is available at http://www.eclipse.org/legal/epl-v10.html */ -package org.opendaylight.yangtools.yang.parser.rfc7950.stmt.error_message; +package org.opendaylight.yangtools.yang.model.spi.stmt; import com.google.common.collect.ImmutableList; import org.eclipse.jdt.annotation.NonNull; diff --git a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/extension/RegularExtensionStatement.java b/yang/yang-model-spi/src/main/java/org/opendaylight/yangtools/yang/model/spi/stmt/RegularExtensionStatement.java similarity index 92% rename from yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/extension/RegularExtensionStatement.java rename to yang/yang-model-spi/src/main/java/org/opendaylight/yangtools/yang/model/spi/stmt/RegularExtensionStatement.java index b9bba86c86..8df672e1b9 100644 --- a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/extension/RegularExtensionStatement.java +++ b/yang/yang-model-spi/src/main/java/org/opendaylight/yangtools/yang/model/spi/stmt/RegularExtensionStatement.java @@ -5,7 +5,7 @@ * terms of the Eclipse Public License v1.0 which accompanies this distribution, * and is available at http://www.eclipse.org/legal/epl-v10.html */ -package org.opendaylight.yangtools.yang.parser.rfc7950.stmt.extension; +package org.opendaylight.yangtools.yang.model.spi.stmt; import com.google.common.collect.ImmutableList; import org.opendaylight.yangtools.yang.common.QName; diff --git a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/feature/RegularFeatureStatement.java b/yang/yang-model-spi/src/main/java/org/opendaylight/yangtools/yang/model/spi/stmt/RegularFeatureStatement.java similarity index 93% rename from yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/feature/RegularFeatureStatement.java rename to yang/yang-model-spi/src/main/java/org/opendaylight/yangtools/yang/model/spi/stmt/RegularFeatureStatement.java index 1ca8a84c8f..ef3ef5dd12 100644 --- a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/feature/RegularFeatureStatement.java +++ b/yang/yang-model-spi/src/main/java/org/opendaylight/yangtools/yang/model/spi/stmt/RegularFeatureStatement.java @@ -5,7 +5,7 @@ * terms of the Eclipse Public License v1.0 which accompanies this distribution, * and is available at http://www.eclipse.org/legal/epl-v10.html */ -package org.opendaylight.yangtools.yang.parser.rfc7950.stmt.feature; +package org.opendaylight.yangtools.yang.model.spi.stmt; import com.google.common.collect.ImmutableList; import org.opendaylight.yangtools.yang.common.QName; diff --git a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/fraction_digits/RegularFractionDigitsStatement.java b/yang/yang-model-spi/src/main/java/org/opendaylight/yangtools/yang/model/spi/stmt/RegularFractionDigitsStatement.java similarity index 92% rename from yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/fraction_digits/RegularFractionDigitsStatement.java rename to yang/yang-model-spi/src/main/java/org/opendaylight/yangtools/yang/model/spi/stmt/RegularFractionDigitsStatement.java index 1dd593a908..6b9e78ef44 100644 --- a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/fraction_digits/RegularFractionDigitsStatement.java +++ b/yang/yang-model-spi/src/main/java/org/opendaylight/yangtools/yang/model/spi/stmt/RegularFractionDigitsStatement.java @@ -5,7 +5,7 @@ * terms of the Eclipse Public License v1.0 which accompanies this distribution, * and is available at http://www.eclipse.org/legal/epl-v10.html */ -package org.opendaylight.yangtools.yang.parser.rfc7950.stmt.fraction_digits; +package org.opendaylight.yangtools.yang.model.spi.stmt; import com.google.common.collect.ImmutableList; import org.opendaylight.yangtools.yang.model.api.meta.DeclaredStatement; diff --git a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/grouping/RegularGroupingStatement.java b/yang/yang-model-spi/src/main/java/org/opendaylight/yangtools/yang/model/spi/stmt/RegularGroupingStatement.java similarity index 93% rename from yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/grouping/RegularGroupingStatement.java rename to yang/yang-model-spi/src/main/java/org/opendaylight/yangtools/yang/model/spi/stmt/RegularGroupingStatement.java index ab36e452ba..31d2074cb4 100644 --- a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/grouping/RegularGroupingStatement.java +++ b/yang/yang-model-spi/src/main/java/org/opendaylight/yangtools/yang/model/spi/stmt/RegularGroupingStatement.java @@ -5,7 +5,7 @@ * terms of the Eclipse Public License v1.0 which accompanies this distribution, * and is available at http://www.eclipse.org/legal/epl-v10.html */ -package org.opendaylight.yangtools.yang.parser.rfc7950.stmt.grouping; +package org.opendaylight.yangtools.yang.model.spi.stmt; import com.google.common.collect.ImmutableList; import org.opendaylight.yangtools.yang.common.QName; diff --git a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/identity/RegularIdentityStatement.java b/yang/yang-model-spi/src/main/java/org/opendaylight/yangtools/yang/model/spi/stmt/RegularIdentityStatement.java similarity index 93% rename from yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/identity/RegularIdentityStatement.java rename to yang/yang-model-spi/src/main/java/org/opendaylight/yangtools/yang/model/spi/stmt/RegularIdentityStatement.java index 70182db620..d4631b6032 100644 --- a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/identity/RegularIdentityStatement.java +++ b/yang/yang-model-spi/src/main/java/org/opendaylight/yangtools/yang/model/spi/stmt/RegularIdentityStatement.java @@ -5,7 +5,7 @@ * terms of the Eclipse Public License v1.0 which accompanies this distribution, * and is available at http://www.eclipse.org/legal/epl-v10.html */ -package org.opendaylight.yangtools.yang.parser.rfc7950.stmt.identity; +package org.opendaylight.yangtools.yang.model.spi.stmt; import com.google.common.collect.ImmutableList; import org.opendaylight.yangtools.yang.common.QName; diff --git a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/if_feature/RegularIfFeatureStatement.java b/yang/yang-model-spi/src/main/java/org/opendaylight/yangtools/yang/model/spi/stmt/RegularIfFeatureStatement.java similarity index 93% rename from yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/if_feature/RegularIfFeatureStatement.java rename to yang/yang-model-spi/src/main/java/org/opendaylight/yangtools/yang/model/spi/stmt/RegularIfFeatureStatement.java index 6fde5fd0eb..578034a994 100644 --- a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/if_feature/RegularIfFeatureStatement.java +++ b/yang/yang-model-spi/src/main/java/org/opendaylight/yangtools/yang/model/spi/stmt/RegularIfFeatureStatement.java @@ -5,7 +5,7 @@ * terms of the Eclipse Public License v1.0 which accompanies this distribution, * and is available at http://www.eclipse.org/legal/epl-v10.html */ -package org.opendaylight.yangtools.yang.parser.rfc7950.stmt.if_feature; +package org.opendaylight.yangtools.yang.model.spi.stmt; import com.google.common.collect.ImmutableList; import org.eclipse.jdt.annotation.NonNull; diff --git a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/include/RegularIncludeStatement.java b/yang/yang-model-spi/src/main/java/org/opendaylight/yangtools/yang/model/spi/stmt/RegularIncludeStatement.java similarity index 93% rename from yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/include/RegularIncludeStatement.java rename to yang/yang-model-spi/src/main/java/org/opendaylight/yangtools/yang/model/spi/stmt/RegularIncludeStatement.java index ae8a7cda70..1fd91a5c64 100644 --- a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/include/RegularIncludeStatement.java +++ b/yang/yang-model-spi/src/main/java/org/opendaylight/yangtools/yang/model/spi/stmt/RegularIncludeStatement.java @@ -5,7 +5,7 @@ * terms of the Eclipse Public License v1.0 which accompanies this distribution, * and is available at http://www.eclipse.org/legal/epl-v10.html */ -package org.opendaylight.yangtools.yang.parser.rfc7950.stmt.include; +package org.opendaylight.yangtools.yang.model.spi.stmt; import com.google.common.collect.ImmutableList; import org.opendaylight.yangtools.yang.model.api.meta.DeclaredStatement; diff --git a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/input/RegularInputStatement.java b/yang/yang-model-spi/src/main/java/org/opendaylight/yangtools/yang/model/spi/stmt/RegularInputStatement.java similarity index 93% rename from yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/input/RegularInputStatement.java rename to yang/yang-model-spi/src/main/java/org/opendaylight/yangtools/yang/model/spi/stmt/RegularInputStatement.java index f531f6a910..dbb3827af5 100644 --- a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/input/RegularInputStatement.java +++ b/yang/yang-model-spi/src/main/java/org/opendaylight/yangtools/yang/model/spi/stmt/RegularInputStatement.java @@ -5,7 +5,7 @@ * terms of the Eclipse Public License v1.0 which accompanies this distribution, * and is available at http://www.eclipse.org/legal/epl-v10.html */ -package org.opendaylight.yangtools.yang.parser.rfc7950.stmt.input; +package org.opendaylight.yangtools.yang.model.spi.stmt; import com.google.common.collect.ImmutableList; import org.opendaylight.yangtools.yang.common.QName; diff --git a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/input/RegularUndeclaredInputStatement.java b/yang/yang-model-spi/src/main/java/org/opendaylight/yangtools/yang/model/spi/stmt/RegularUndeclaredInputStatement.java similarity index 93% rename from yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/input/RegularUndeclaredInputStatement.java rename to yang/yang-model-spi/src/main/java/org/opendaylight/yangtools/yang/model/spi/stmt/RegularUndeclaredInputStatement.java index 949d073f00..80c9821b5b 100644 --- a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/input/RegularUndeclaredInputStatement.java +++ b/yang/yang-model-spi/src/main/java/org/opendaylight/yangtools/yang/model/spi/stmt/RegularUndeclaredInputStatement.java @@ -5,7 +5,7 @@ * terms of the Eclipse Public License v1.0 which accompanies this distribution, * and is available at http://www.eclipse.org/legal/epl-v10.html */ -package org.opendaylight.yangtools.yang.parser.rfc7950.stmt.input; +package org.opendaylight.yangtools.yang.model.spi.stmt; import com.google.common.collect.ImmutableList; import org.opendaylight.yangtools.yang.common.QName; diff --git a/yang/yang-model-spi/src/main/java/org/opendaylight/yangtools/yang/model/spi/stmt/UndeclaredStatements.java b/yang/yang-model-spi/src/main/java/org/opendaylight/yangtools/yang/model/spi/stmt/UndeclaredStatements.java new file mode 100644 index 0000000000..d54871e0f2 --- /dev/null +++ b/yang/yang-model-spi/src/main/java/org/opendaylight/yangtools/yang/model/spi/stmt/UndeclaredStatements.java @@ -0,0 +1,37 @@ +/* + * Copyright (c) 2020 PANTHEON.tech, s.r.o. and others. All rights reserved. + * + * This program and the accompanying materials are made available under the + * terms of the Eclipse Public License v1.0 which accompanies this distribution, + * and is available at http://www.eclipse.org/legal/epl-v10.html + */ +package org.opendaylight.yangtools.yang.model.spi.stmt; + +import com.google.common.annotations.Beta; +import com.google.common.collect.ImmutableList; +import org.eclipse.jdt.annotation.NonNullByDefault; +import org.opendaylight.yangtools.yang.common.QName; +import org.opendaylight.yangtools.yang.model.api.meta.DeclaredStatement; +import org.opendaylight.yangtools.yang.model.api.stmt.InputStatement; + +/** + * Static entry point to instantiating {@link DeclaredStatements} covered in the {@code RFC7950} metamodel which are + * not really declared, i.e. inferred to exist. + */ +@Beta +@NonNullByDefault +public final class UndeclaredStatements { + private UndeclaredStatements() { + // Hidden on purpose + } + + public static InputStatement createInput(final QName argument) { + return new EmptyUndeclaredInputStatement(argument); + } + + public static InputStatement createInput(final QName argument, + final ImmutableList> substatements) { + return substatements.isEmpty() ? createInput(argument) + : new RegularUndeclaredInputStatement(argument, substatements); + } +} diff --git a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/deviate/AbstractDeviateStatementSupport.java b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/deviate/AbstractDeviateStatementSupport.java index d7c16ca7a7..3b394a12a5 100644 --- a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/deviate/AbstractDeviateStatementSupport.java +++ b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/deviate/AbstractDeviateStatementSupport.java @@ -28,6 +28,7 @@ import org.opendaylight.yangtools.yang.model.api.meta.StatementDefinition; import org.opendaylight.yangtools.yang.model.api.stmt.DeviateEffectiveStatement; import org.opendaylight.yangtools.yang.model.api.stmt.DeviateStatement; import org.opendaylight.yangtools.yang.model.api.stmt.SchemaNodeIdentifier; +import org.opendaylight.yangtools.yang.model.spi.stmt.DeclaredStatements; import org.opendaylight.yangtools.yang.parser.rfc7950.reactor.YangValidationBundles; import org.opendaylight.yangtools.yang.parser.spi.SchemaTreeNamespace; import org.opendaylight.yangtools.yang.parser.spi.meta.AbstractStatementSupport; @@ -191,13 +192,12 @@ abstract class AbstractDeviateStatementSupport @Override protected final DeviateStatement createDeclared(final StmtContext ctx, final ImmutableList> substatements) { - return new DeviateStatementImpl(ctx.getRawArgument(), ctx.getArgument(), substatements); + return DeclaredStatements.createDeviate(ctx.getArgument(), substatements); } @Override protected final DeviateStatement createEmptyDeclared(final StmtContext ctx) { - // This is exceedingly unlikely, just reuse the implementation - return createDeclared(ctx, ImmutableList.of()); + return DeclaredStatements.createDeviate(ctx.getArgument()); } @Override diff --git a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/deviation/DeviationStatementSupport.java b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/deviation/DeviationStatementSupport.java index 96833b667d..f492ff90d6 100644 --- a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/deviation/DeviationStatementSupport.java +++ b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/deviation/DeviationStatementSupport.java @@ -16,6 +16,7 @@ import org.opendaylight.yangtools.yang.model.api.meta.EffectiveStatement; import org.opendaylight.yangtools.yang.model.api.stmt.DeviationEffectiveStatement; import org.opendaylight.yangtools.yang.model.api.stmt.DeviationStatement; import org.opendaylight.yangtools.yang.model.api.stmt.SchemaNodeIdentifier.Absolute; +import org.opendaylight.yangtools.yang.model.spi.stmt.DeclaredStatements; import org.opendaylight.yangtools.yang.parser.rfc7950.stmt.ArgumentUtils; import org.opendaylight.yangtools.yang.parser.spi.meta.AbstractStatementSupport; import org.opendaylight.yangtools.yang.parser.spi.meta.EffectiveStmtCtx.Current; @@ -68,12 +69,12 @@ public final class DeviationStatementSupport @Override protected DeviationStatement createDeclared(final StmtContext ctx, final ImmutableList> substatements) { - return new DeviationStatementImpl(ctx.getRawArgument(), ctx.getArgument(), substatements); + return DeclaredStatements.createDeviation(ctx.getRawArgument(), ctx.getArgument(), substatements); } @Override protected DeviationStatement createEmptyDeclared(final StmtContext ctx) { - return createDeclared(ctx, ImmutableList.of()); + return DeclaredStatements.createDeviation(ctx.getRawArgument(), ctx.getArgument()); } @Override diff --git a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/enum_/EnumStatementSupport.java b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/enum_/EnumStatementSupport.java index ab99b8d630..ddb0c18919 100644 --- a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/enum_/EnumStatementSupport.java +++ b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/enum_/EnumStatementSupport.java @@ -17,6 +17,7 @@ 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.EnumEffectiveStatement; import org.opendaylight.yangtools.yang.model.api.stmt.EnumStatement; +import org.opendaylight.yangtools.yang.model.spi.stmt.DeclaredStatements; import org.opendaylight.yangtools.yang.parser.spi.meta.AbstractStatementSupport; import org.opendaylight.yangtools.yang.parser.spi.meta.EffectiveStmtCtx.Current; import org.opendaylight.yangtools.yang.parser.spi.meta.StmtContext; @@ -70,12 +71,12 @@ public final class EnumStatementSupport @Override protected EnumStatement createDeclared(final StmtContext ctx, final ImmutableList> substatements) { - return new RegularEnumStatement(ctx.getRawArgument(), ctx.getArgument(), substatements); + return DeclaredStatements.createEnum(ctx.getRawArgument(), ctx.getArgument(), substatements); } @Override protected EnumStatement createEmptyDeclared(final StmtContext ctx) { - return new EmptyEnumStatement(ctx.getRawArgument(), ctx.getArgument()); + return DeclaredStatements.createEnum(ctx.getRawArgument(), ctx.getArgument()); } @Override diff --git a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/error_app_tag/ErrorAppTagStatementSupport.java b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/error_app_tag/ErrorAppTagStatementSupport.java index 1602b7ce43..cf764bf6e8 100644 --- a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/error_app_tag/ErrorAppTagStatementSupport.java +++ b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/error_app_tag/ErrorAppTagStatementSupport.java @@ -13,6 +13,7 @@ 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.ErrorAppTagEffectiveStatement; import org.opendaylight.yangtools.yang.model.api.stmt.ErrorAppTagStatement; +import org.opendaylight.yangtools.yang.model.spi.stmt.DeclaredStatements; import org.opendaylight.yangtools.yang.parser.spi.meta.AbstractStringStatementSupport; import org.opendaylight.yangtools.yang.parser.spi.meta.EffectiveStmtCtx.Current; import org.opendaylight.yangtools.yang.parser.spi.meta.StmtContext; @@ -40,12 +41,12 @@ public final class ErrorAppTagStatementSupport @Override protected ErrorAppTagStatement createDeclared(final StmtContext ctx, final ImmutableList> substatements) { - return new RegularErrorAppTagStatement(ctx.getRawArgument(), substatements); + return DeclaredStatements.createErrorAppTag(ctx.getRawArgument(), substatements); } @Override protected ErrorAppTagStatement createEmptyDeclared(final StmtContext ctx) { - return new EmptyErrorAppTagStatement(ctx.getRawArgument()); + return DeclaredStatements.createErrorAppTag(ctx.getRawArgument()); } @Override diff --git a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/error_message/ErrorMessageStatementSupport.java b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/error_message/ErrorMessageStatementSupport.java index a31760fa4e..25f7aa9963 100644 --- a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/error_message/ErrorMessageStatementSupport.java +++ b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/error_message/ErrorMessageStatementSupport.java @@ -13,6 +13,7 @@ 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.ErrorMessageEffectiveStatement; import org.opendaylight.yangtools.yang.model.api.stmt.ErrorMessageStatement; +import org.opendaylight.yangtools.yang.model.spi.stmt.DeclaredStatements; import org.opendaylight.yangtools.yang.parser.spi.meta.AbstractStringStatementSupport; import org.opendaylight.yangtools.yang.parser.spi.meta.EffectiveStmtCtx.Current; import org.opendaylight.yangtools.yang.parser.spi.meta.StmtContext; @@ -40,12 +41,12 @@ public final class ErrorMessageStatementSupport @Override protected ErrorMessageStatement createDeclared(final StmtContext ctx, final ImmutableList> substatements) { - return new RegularErrorMessageStatement(ctx.getRawArgument(), substatements); + return DeclaredStatements.createErrorMessage(ctx.getRawArgument(), substatements); } @Override protected ErrorMessageStatement createEmptyDeclared(final StmtContext ctx) { - return new EmptyErrorMessageStatement(ctx.getRawArgument()); + return DeclaredStatements.createErrorMessage(ctx.getRawArgument()); } @Override diff --git a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/extension/ExtensionStatementSupport.java b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/extension/ExtensionStatementSupport.java index d8f7d68811..eceded4c2d 100644 --- a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/extension/ExtensionStatementSupport.java +++ b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/extension/ExtensionStatementSupport.java @@ -17,6 +17,7 @@ import org.opendaylight.yangtools.yang.model.api.stmt.ArgumentStatement; import org.opendaylight.yangtools.yang.model.api.stmt.ExtensionEffectiveStatement; import org.opendaylight.yangtools.yang.model.api.stmt.ExtensionStatement; import org.opendaylight.yangtools.yang.model.api.stmt.YinElementStatement; +import org.opendaylight.yangtools.yang.model.spi.stmt.DeclaredStatements; import org.opendaylight.yangtools.yang.parser.spi.ExtensionNamespace; import org.opendaylight.yangtools.yang.parser.spi.meta.AbstractQNameStatementSupport; import org.opendaylight.yangtools.yang.parser.spi.meta.EffectiveStmtCtx.Current; @@ -80,12 +81,12 @@ public final class ExtensionStatementSupport @Override protected ExtensionStatement createDeclared(final StmtContext ctx, final ImmutableList> substatements) { - return new RegularExtensionStatement(ctx.getArgument(), substatements); + return DeclaredStatements.createExtension(ctx.getArgument(), substatements); } @Override protected ExtensionStatement createEmptyDeclared(final StmtContext ctx) { - return new EmptyExtensionStatement(ctx.getArgument()); + return DeclaredStatements.createExtension(ctx.getArgument()); } @Override diff --git a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/feature/FeatureStatementSupport.java b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/feature/FeatureStatementSupport.java index b4561d42fd..b3a31cd576 100644 --- a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/feature/FeatureStatementSupport.java +++ b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/feature/FeatureStatementSupport.java @@ -17,6 +17,7 @@ import org.opendaylight.yangtools.yang.model.api.meta.EffectiveStatement; import org.opendaylight.yangtools.yang.model.api.stmt.FeatureEffectiveStatement; import org.opendaylight.yangtools.yang.model.api.stmt.FeatureStatement; import org.opendaylight.yangtools.yang.model.api.stmt.StatusEffectiveStatement; +import org.opendaylight.yangtools.yang.model.spi.stmt.DeclaredStatements; import org.opendaylight.yangtools.yang.parser.rfc7950.stmt.EffectiveStatementMixins.EffectiveStatementWithFlags.FlagsBuilder; import org.opendaylight.yangtools.yang.parser.spi.FeatureNamespace; import org.opendaylight.yangtools.yang.parser.spi.meta.AbstractQNameStatementSupport; @@ -65,12 +66,12 @@ public final class FeatureStatementSupport @Override protected FeatureStatement createDeclared(final StmtContext ctx, final ImmutableList> substatements) { - return new RegularFeatureStatement(ctx.getArgument(), substatements); + return DeclaredStatements.createFeature(ctx.getArgument(), substatements); } @Override protected FeatureStatement createEmptyDeclared(@NonNull final StmtContext ctx) { - return new EmptyFeatureStatement(ctx.getArgument()); + return DeclaredStatements.createFeature(ctx.getArgument()); } @Override diff --git a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/fraction_digits/FractionDigitsStatementSupport.java b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/fraction_digits/FractionDigitsStatementSupport.java index d1b9e80ab3..c35953b099 100644 --- a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/fraction_digits/FractionDigitsStatementSupport.java +++ b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/fraction_digits/FractionDigitsStatementSupport.java @@ -18,6 +18,7 @@ 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.FractionDigitsEffectiveStatement; import org.opendaylight.yangtools.yang.model.api.stmt.FractionDigitsStatement; +import org.opendaylight.yangtools.yang.model.spi.stmt.DeclaredStatements; import org.opendaylight.yangtools.yang.parser.spi.meta.AbstractStatementSupport; import org.opendaylight.yangtools.yang.parser.spi.meta.EffectiveStmtCtx.Current; import org.opendaylight.yangtools.yang.parser.spi.meta.StmtContext; @@ -30,17 +31,17 @@ public final class FractionDigitsStatementSupport SubstatementValidator.builder(YangStmtMapping.FRACTION_DIGITS).build(); private static final FractionDigitsStatementSupport INSTANCE = new FractionDigitsStatementSupport(); - private static final ImmutableMap EMPTY_DECLS; - private static final ImmutableMap EMPTY_EFF; + private static final ImmutableMap EMPTY_DECLS; + private static final ImmutableMap EMPTY_EFF; static { - final Builder declBuilder = ImmutableMap.builder(); - final Builder effBuilder = + final Builder declBuilder = ImmutableMap.builder(); + final Builder effBuilder = ImmutableMap.builder(); for (int i = 1; i <= 18; ++i) { final Integer argument = i; - final EmptyFractionDigitsStatement decl = new EmptyFractionDigitsStatement(argument); + final FractionDigitsStatement decl = DeclaredStatements.createFractionDigits(argument); declBuilder.put(argument, decl); effBuilder.put(decl, new EmptyFractionDigitsEffectiveStatement(decl)); } @@ -79,7 +80,7 @@ public final class FractionDigitsStatementSupport @Override protected FractionDigitsStatement createDeclared(final StmtContext ctx, final ImmutableList> substatements) { - return new RegularFractionDigitsStatement(ctx.getArgument(), substatements); + return DeclaredStatements.createFractionDigits(ctx.getArgument(), substatements); } @Override diff --git a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/grouping/GroupingStatementSupport.java b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/grouping/GroupingStatementSupport.java index 07c45f3a9e..33c3409c9d 100644 --- a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/grouping/GroupingStatementSupport.java +++ b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/grouping/GroupingStatementSupport.java @@ -20,6 +20,7 @@ import org.opendaylight.yangtools.yang.model.api.meta.EffectiveStatement; import org.opendaylight.yangtools.yang.model.api.stmt.GroupingEffectiveStatement; import org.opendaylight.yangtools.yang.model.api.stmt.GroupingStatement; import org.opendaylight.yangtools.yang.model.spi.meta.SubstatementIndexingException; +import org.opendaylight.yangtools.yang.model.spi.stmt.DeclaredStatements; import org.opendaylight.yangtools.yang.parser.rfc7950.stmt.EffectiveStatementMixins; import org.opendaylight.yangtools.yang.parser.spi.GroupingNamespace; import org.opendaylight.yangtools.yang.parser.spi.meta.AbstractQNameStatementSupport; @@ -138,12 +139,12 @@ public final class GroupingStatementSupport @Override protected GroupingStatement createDeclared(final StmtContext ctx, final ImmutableList> substatements) { - return new RegularGroupingStatement(ctx.getArgument(), substatements); + return DeclaredStatements.createGrouping(ctx.getArgument(), substatements); } @Override protected GroupingStatement createEmptyDeclared(final StmtContext ctx) { - return new EmptyGroupingStatement(ctx.getArgument()); + return DeclaredStatements.createGrouping(ctx.getArgument()); } @Override diff --git a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/identity/IdentityStatementSupport.java b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/identity/IdentityStatementSupport.java index e85565eee4..41db2b5cbb 100644 --- a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/identity/IdentityStatementSupport.java +++ b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/identity/IdentityStatementSupport.java @@ -27,6 +27,7 @@ import org.opendaylight.yangtools.yang.model.api.stmt.BaseEffectiveStatement; import org.opendaylight.yangtools.yang.model.api.stmt.IdentityEffectiveStatement; import org.opendaylight.yangtools.yang.model.api.stmt.IdentityStatement; import org.opendaylight.yangtools.yang.model.api.stmt.StatusEffectiveStatement; +import org.opendaylight.yangtools.yang.model.spi.stmt.DeclaredStatements; import org.opendaylight.yangtools.yang.parser.rfc7950.stmt.EffectiveStatementMixins.EffectiveStatementWithFlags.FlagsBuilder; import org.opendaylight.yangtools.yang.parser.spi.IdentityNamespace; import org.opendaylight.yangtools.yang.parser.spi.meta.AbstractQNameStatementSupport; @@ -93,12 +94,12 @@ public final class IdentityStatementSupport @Override protected IdentityStatement createDeclared(final StmtContext ctx, final ImmutableList> substatements) { - return new RegularIdentityStatement(ctx.getArgument(), substatements); + return DeclaredStatements.createIdentity(ctx.getArgument(), substatements); } @Override protected IdentityStatement createEmptyDeclared(final StmtContext ctx) { - return new EmptyIdentityStatement(ctx.getArgument()); + return DeclaredStatements.createIdentity(ctx.getArgument()); } @Override diff --git a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/if_feature/AbstractIfFeatureStatementSupport.java b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/if_feature/AbstractIfFeatureStatementSupport.java index 4e1a62d391..5a7a8e6865 100644 --- a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/if_feature/AbstractIfFeatureStatementSupport.java +++ b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/if_feature/AbstractIfFeatureStatementSupport.java @@ -22,6 +22,7 @@ import org.opendaylight.yangtools.yang.model.api.meta.EffectiveStatement; import org.opendaylight.yangtools.yang.model.api.stmt.IfFeatureEffectiveStatement; import org.opendaylight.yangtools.yang.model.api.stmt.IfFeatureExpr; import org.opendaylight.yangtools.yang.model.api.stmt.IfFeatureStatement; +import org.opendaylight.yangtools.yang.model.spi.stmt.DeclaredStatements; import org.opendaylight.yangtools.yang.parser.spi.FeatureNamespace; import org.opendaylight.yangtools.yang.parser.spi.meta.AbstractStatementSupport; import org.opendaylight.yangtools.yang.parser.spi.meta.EffectiveStmtCtx.Current; @@ -87,13 +88,13 @@ abstract class AbstractIfFeatureStatementSupport @Override protected final IfFeatureStatement createDeclared(final StmtContext ctx, final ImmutableList> substatements) { - return new RegularIfFeatureStatement(ctx.getRawArgument(), ctx.getArgument(), substatements); + return DeclaredStatements.createIfFeature(ctx.getRawArgument(), ctx.getArgument(), substatements); } @Override protected final IfFeatureStatement createEmptyDeclared( final StmtContext ctx) { - return new EmptyIfFeatureStatement(ctx.getRawArgument(), ctx.getArgument()); + return DeclaredStatements.createIfFeature(ctx.getRawArgument(), ctx.getArgument()); } @Override diff --git a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/import_/ImportStatementSupport.java b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/import_/ImportStatementSupport.java index e6c34914e0..4ad8daf265 100644 --- a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/import_/ImportStatementSupport.java +++ b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/import_/ImportStatementSupport.java @@ -27,6 +27,7 @@ import org.opendaylight.yangtools.yang.model.api.meta.EffectiveStatement; import org.opendaylight.yangtools.yang.model.api.stmt.ImportEffectiveStatement; import org.opendaylight.yangtools.yang.model.api.stmt.ImportStatement; import org.opendaylight.yangtools.yang.model.api.stmt.PrefixStatement; +import org.opendaylight.yangtools.yang.model.spi.stmt.DeclaredStatements; import org.opendaylight.yangtools.yang.parser.spi.PreLinkageModuleNamespace; import org.opendaylight.yangtools.yang.parser.spi.meta.AbstractStringStatementSupport; import org.opendaylight.yangtools.yang.parser.spi.meta.EffectiveStmtCtx.Current; @@ -129,12 +130,12 @@ public final class ImportStatementSupport @Override protected ImportStatement createDeclared(final StmtContext ctx, final ImmutableList> substatements) { - return new ImportStatementImpl(ctx.getRawArgument(), substatements); + return DeclaredStatements.createImport(ctx.getRawArgument(), substatements); } @Override protected ImportStatement createEmptyDeclared(final StmtContext ctx) { - throw new IllegalStateException("Unexpected empty declared import statement"); + return DeclaredStatements.createImport(ctx.getRawArgument()); } @Override diff --git a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/include/IncludeStatementSupport.java b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/include/IncludeStatementSupport.java index 0284178eac..21a4d5f531 100644 --- a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/include/IncludeStatementSupport.java +++ b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/include/IncludeStatementSupport.java @@ -24,6 +24,7 @@ import org.opendaylight.yangtools.yang.model.api.stmt.IncludeEffectiveStatement; import org.opendaylight.yangtools.yang.model.api.stmt.IncludeStatement; import org.opendaylight.yangtools.yang.model.api.stmt.RevisionDateStatement; import org.opendaylight.yangtools.yang.model.repo.api.RevisionSourceIdentifier; +import org.opendaylight.yangtools.yang.model.spi.stmt.DeclaredStatements; import org.opendaylight.yangtools.yang.parser.spi.SubmoduleNamespace; import org.opendaylight.yangtools.yang.parser.spi.meta.AbstractStringStatementSupport; import org.opendaylight.yangtools.yang.parser.spi.meta.EffectiveStmtCtx.Current; @@ -116,12 +117,12 @@ public final class IncludeStatementSupport @Override protected IncludeStatement createDeclared(final StmtContext ctx, final ImmutableList> substatements) { - return new RegularIncludeStatement(ctx.getRawArgument(), ctx.getArgument(), substatements); + return DeclaredStatements.createInclude(ctx.getRawArgument(), ctx.getArgument(), substatements); } @Override protected IncludeStatement createEmptyDeclared(final StmtContext ctx) { - return new EmptyIncludeStatement(ctx.getRawArgument(), ctx.getArgument()); + return DeclaredStatements.createInclude(ctx.getRawArgument(), ctx.getArgument()); } @Override diff --git a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/input/InputStatementSupport.java b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/input/InputStatementSupport.java index 9fda7954d3..af1c27e8d5 100644 --- a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/input/InputStatementSupport.java +++ b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/input/InputStatementSupport.java @@ -21,6 +21,8 @@ import org.opendaylight.yangtools.yang.model.api.meta.StatementSource; import org.opendaylight.yangtools.yang.model.api.stmt.InputEffectiveStatement; import org.opendaylight.yangtools.yang.model.api.stmt.InputStatement; import org.opendaylight.yangtools.yang.model.spi.meta.SubstatementIndexingException; +import org.opendaylight.yangtools.yang.model.spi.stmt.DeclaredStatements; +import org.opendaylight.yangtools.yang.model.spi.stmt.UndeclaredStatements; import org.opendaylight.yangtools.yang.parser.rfc7950.stmt.BaseOperationContainerStatementSupport; import org.opendaylight.yangtools.yang.parser.spi.meta.EffectiveStmtCtx.Current; import org.opendaylight.yangtools.yang.parser.spi.meta.StmtContext; @@ -83,9 +85,9 @@ public final class InputStatementSupport final StatementSource source = ctx.source(); switch (source) { case CONTEXT: - return new RegularUndeclaredInputStatement(ctx.getArgument(), substatements); + return UndeclaredStatements.createInput(ctx.getArgument(), substatements); case DECLARATION: - return new RegularInputStatement(ctx.getArgument(), substatements); + return DeclaredStatements.createInput(ctx.getArgument(), substatements); default: throw new IllegalStateException("Unhandled statement source " + source); } @@ -96,9 +98,9 @@ public final class InputStatementSupport final StatementSource source = ctx.source(); switch (source) { case CONTEXT: - return new EmptyUndeclaredInputStatement(ctx.getArgument()); + return UndeclaredStatements.createInput(ctx.getArgument()); case DECLARATION: - return new EmptyInputStatement(ctx.getArgument()); + return DeclaredStatements.createInput(ctx.getArgument()); default: throw new IllegalStateException("Unhandled statement source " + source); } -- 2.36.6