From 75299ccb6e8427760cdf23aed0efcf7caf6a0d1c Mon Sep 17 00:00:00 2001 From: Peter Kajsa Date: Fri, 16 Dec 2016 10:14:35 +0100 Subject: [PATCH] Bug 6897: Adding getSubstatementValidator() method to AbstractStatementSupport Change-Id: Ice3d198b83d3c1f533a918af4f9747331ff21c63 Signed-off-by: Peter Kajsa --- .../spi/meta/AbstractStatementSupport.java | 23 ++++++++++++----- .../AnyxmlSchemaLocationStatementImpl.java | 17 ++++++++++--- .../stmt/rfc6020/AnyxmlStatementImpl.java | 13 +++++++--- .../stmt/rfc6020/ArgumentStatementImpl.java | 7 +++++- .../stmt/rfc6020/AugmentStatementImpl.java | 7 +++++- .../stmt/rfc6020/BaseStatementImpl.java | 7 +++++- .../stmt/rfc6020/BelongsToStatementImpl.java | 7 +++++- .../parser/stmt/rfc6020/BitStatementImpl.java | 7 +++++- .../stmt/rfc6020/BitsSpecificationImpl.java | 7 +++++- .../stmt/rfc6020/CaseStatementImpl.java | 7 +++++- .../stmt/rfc6020/ChoiceStatementImpl.java | 7 +++++- .../stmt/rfc6020/ConfigStatementImpl.java | 7 +++++- .../stmt/rfc6020/ContactStatementImpl.java | 7 +++++- .../rfc6020/Decimal64SpecificationImpl.java | 7 +++++- .../stmt/rfc6020/DefaultStatementImpl.java | 7 +++++- .../rfc6020/DescriptionStatementImpl.java | 7 +++++- .../stmt/rfc6020/DeviateStatementImpl.java | 7 +++++- .../stmt/rfc6020/DeviationStatementImpl.java | 7 +++++- .../stmt/rfc6020/EnumSpecificationImpl.java | 7 +++++- .../stmt/rfc6020/EnumStatementImpl.java | 7 +++++- .../rfc6020/ErrorAppTagStatementImpl.java | 7 +++++- .../rfc6020/ErrorMessageStatementImpl.java | 7 +++++- .../stmt/rfc6020/ExtensionStatementImpl.java | 7 +++++- .../stmt/rfc6020/FeatureStatementImpl.java | 7 +++++- .../rfc6020/FractionDigitsStatementImpl.java | 7 +++++- .../stmt/rfc6020/GroupingStatementImpl.java | 7 +++++- .../rfc6020/IdentityRefSpecificationImpl.java | 7 +++++- .../stmt/rfc6020/IdentityStatementImpl.java | 7 +++++- .../stmt/rfc6020/IfFeatureStatementImpl.java | 7 +++++- .../stmt/rfc6020/InputStatementImpl.java | 7 +++++- .../InstanceIdentifierSpecificationImpl.java | 7 +++++- .../parser/stmt/rfc6020/KeyStatementImpl.java | 7 +++++- .../stmt/rfc6020/LeafListStatementImpl.java | 7 +++++- .../stmt/rfc6020/LeafStatementImpl.java | 7 +++++- .../rfc6020/LeafrefSpecificationImpl.java | 7 +++++- .../stmt/rfc6020/LengthStatementImpl.java | 7 +++++- .../stmt/rfc6020/ListStatementImpl.java | 7 +++++- .../stmt/rfc6020/MandatoryStatementImpl.java | 7 +++++- .../rfc6020/MaxElementsStatementImpl.java | 7 +++++- .../rfc6020/MinElementsStatementImpl.java | 7 +++++- .../rfc6020/ModelDefinedStatementSupport.java | 6 +++++ .../stmt/rfc6020/MustStatementImpl.java | 7 +++++- .../stmt/rfc6020/NamespaceStatementImpl.java | 7 +++++- .../rfc6020/NotificationStatementImpl.java | 7 +++++- .../rfc6020/NumericalRestrictionsImpl.java | 7 +++++- .../stmt/rfc6020/OrderedByStatementImpl.java | 7 +++++- .../rfc6020/OrganizationStatementImpl.java | 7 +++++- .../stmt/rfc6020/OutputStatementImpl.java | 7 +++++- .../stmt/rfc6020/PathStatementImpl.java | 7 +++++- .../stmt/rfc6020/PatternStatementImpl.java | 7 +++++- .../stmt/rfc6020/PositionStatementImpl.java | 7 +++++- .../stmt/rfc6020/PrefixStatementImpl.java | 7 +++++- .../stmt/rfc6020/PresenceStatementImpl.java | 7 +++++- .../stmt/rfc6020/RangeStatementImpl.java | 7 +++++- .../stmt/rfc6020/ReferenceStatementImpl.java | 7 +++++- .../stmt/rfc6020/RefineStatementImpl.java | 7 +++++- .../rfc6020/RequireInstanceStatementImpl.java | 7 +++++- .../rfc6020/RevisionDateStatementImpl.java | 7 +++++- .../stmt/rfc6020/RevisionStatementImpl.java | 7 +++++- .../parser/stmt/rfc6020/RpcStatementImpl.java | 7 +++++- .../rfc6020/SemanticVersionStatementImpl.java | 25 ++++++++++++++++--- .../stmt/rfc6020/StatusStatementImpl.java | 7 +++++- .../stmt/rfc6020/StringRestrictionsImpl.java | 7 +++++- .../stmt/rfc6020/SubmoduleStatementImpl.java | 7 +++++- .../stmt/rfc6020/TypeStatementImpl.java | 7 +++++- .../stmt/rfc6020/TypedefStatementImpl.java | 7 +++++- .../stmt/rfc6020/UnionSpecificationImpl.java | 7 +++++- .../stmt/rfc6020/UniqueStatementImpl.java | 7 +++++- .../stmt/rfc6020/UnitsStatementImpl.java | 7 +++++- .../stmt/rfc6020/UnknownStatementImpl.java | 6 +++++ .../stmt/rfc6020/UsesStatementImpl.java | 15 +++++++---- .../stmt/rfc6020/ValueStatementImpl.java | 7 +++++- .../stmt/rfc6020/WhenStatementImpl.java | 7 +++++- .../rfc6020/YangVersionStatementImpl.java | 7 +++++- .../stmt/rfc6020/YinElementStatementImpl.java | 7 +++++- .../stmt/rfc7950/AnydataStatementImpl.java | 7 +++++- .../ThirdPartyExtensionStatementImpl.java | 6 +++++ 77 files changed, 502 insertions(+), 92 deletions(-) diff --git a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/spi/meta/AbstractStatementSupport.java b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/spi/meta/AbstractStatementSupport.java index 3fb3758f32..0330dbb57e 100644 --- a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/spi/meta/AbstractStatementSupport.java +++ b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/spi/meta/AbstractStatementSupport.java @@ -9,10 +9,12 @@ package org.opendaylight.yangtools.yang.parser.spi.meta; import com.google.common.base.Preconditions; import javax.annotation.Nonnull; +import javax.annotation.Nullable; import org.opendaylight.yangtools.yang.common.QName; 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.meta.StatementDefinition; +import org.opendaylight.yangtools.yang.parser.spi.SubstatementValidator; import org.opendaylight.yangtools.yang.parser.spi.source.SourceException; /** @@ -34,7 +36,7 @@ public abstract class AbstractStatementSupport private final StatementDefinition type; - protected AbstractStatementSupport(StatementDefinition publicDefinition) { + protected AbstractStatementSupport(final StatementDefinition publicDefinition) { Preconditions.checkArgument(publicDefinition != this); this.type = Preconditions.checkNotNull(publicDefinition); } @@ -71,7 +73,7 @@ public abstract class AbstractStatementSupport public abstract A parseArgumentValue(StmtContext ctx, String value) throws SourceException; @Override - public void onStatementAdded(StmtContext.Mutable stmt) { + public void onStatementAdded(final StmtContext.Mutable stmt) { // NOOP for most implementations } @@ -85,7 +87,7 @@ public abstract class AbstractStatementSupport * */ @Override - public void onPreLinkageDeclared(StmtContext.Mutable stmt) { + public void onPreLinkageDeclared(final StmtContext.Mutable stmt) { // NOOP for most implementations } @@ -99,7 +101,7 @@ public abstract class AbstractStatementSupport * */ @Override - public void onLinkageDeclared(StmtContext.Mutable stmt) throws SourceException { + public void onLinkageDeclared(final StmtContext.Mutable stmt) throws SourceException { // NOOP for most implementations } @@ -113,7 +115,7 @@ public abstract class AbstractStatementSupport * */ @Override - public void onStatementDefinitionDeclared(StmtContext.Mutable stmt) throws SourceException { + public void onStatementDefinitionDeclared(final StmtContext.Mutable stmt) throws SourceException { // NOOP for most implementations } @@ -127,7 +129,7 @@ public abstract class AbstractStatementSupport * */ @Override - public void onFullDefinitionDeclared(StmtContext.Mutable stmt) throws SourceException { + public void onFullDefinitionDeclared(final StmtContext.Mutable stmt) throws SourceException { // NOOP for most implementations } @@ -135,4 +137,13 @@ public abstract class AbstractStatementSupport public boolean isArgumentYinElement() { return getPublicView().isArgumentYinElement(); } + + /** + * Returns corresponding substatement validator of a statement support + * + * @return substatement validator or null, if substatement validator is not + * defined + */ + @Nullable + protected abstract SubstatementValidator getSubstatementValidator(); } diff --git a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/AnyxmlSchemaLocationStatementImpl.java b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/AnyxmlSchemaLocationStatementImpl.java index 315b2f6b85..1337e288e0 100644 --- a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/AnyxmlSchemaLocationStatementImpl.java +++ b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/AnyxmlSchemaLocationStatementImpl.java @@ -11,6 +11,7 @@ import com.google.common.annotations.Beta; import org.opendaylight.yangtools.yang.model.api.meta.EffectiveStatement; import org.opendaylight.yangtools.yang.model.api.stmt.SchemaNodeIdentifier; import org.opendaylight.yangtools.yang.model.api.stmt.UnknownStatement; +import org.opendaylight.yangtools.yang.parser.spi.SubstatementValidator; import org.opendaylight.yangtools.yang.parser.spi.meta.AbstractDeclaredStatement; import org.opendaylight.yangtools.yang.parser.spi.meta.AbstractStatementSupport; import org.opendaylight.yangtools.yang.parser.spi.meta.StmtContext; @@ -21,9 +22,11 @@ import org.opendaylight.yangtools.yang.parser.stmt.rfc6020.effective.AnyxmlSchem @Beta public final class AnyxmlSchemaLocationStatementImpl extends AbstractDeclaredStatement implements UnknownStatement { + private static final SubstatementValidator SUBSTATEMENT_VALIDATOR = SubstatementValidator.builder( + SupportedExtensionsMapping.ANYXML_SCHEMA_LOCATION).build(); AnyxmlSchemaLocationStatementImpl( - StmtContext, ?> context) { + final StmtContext, ?> context) { super(context); } @@ -36,20 +39,21 @@ public final class AnyxmlSchemaLocationStatementImpl extends AbstractDeclaredSta } @Override - public SchemaNodeIdentifier parseArgumentValue(StmtContext ctx, String value) { + public SchemaNodeIdentifier parseArgumentValue(final StmtContext ctx, final String value) { return Utils.nodeIdentifierFromPath(ctx, value); } @Override public void onFullDefinitionDeclared( - Mutable, EffectiveStatement>> stmt) { + final Mutable, EffectiveStatement>> stmt) { + getSubstatementValidator().validate(stmt); stmt.getParentContext().addToNs(AnyxmlSchemaLocationNamespace.class, SupportedExtensionsMapping.ANYXML_SCHEMA_LOCATION, stmt); } @Override public UnknownStatement createDeclared( - StmtContext, ?> ctx) { + final StmtContext, ?> ctx) { return new AnyxmlSchemaLocationStatementImpl(ctx); } @@ -58,6 +62,11 @@ public final class AnyxmlSchemaLocationStatementImpl extends AbstractDeclaredSta final StmtContext, EffectiveStatement>> ctx) { return new AnyxmlSchemaLocationEffectiveStatementImpl(ctx); } + + @Override + protected SubstatementValidator getSubstatementValidator() { + return SUBSTATEMENT_VALIDATOR; + } } @Override diff --git a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/AnyxmlStatementImpl.java b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/AnyxmlStatementImpl.java index ac23d8afff..8a411b1ce9 100644 --- a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/AnyxmlStatementImpl.java +++ b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/AnyxmlStatementImpl.java @@ -80,12 +80,12 @@ public class AnyxmlStatementImpl extends AbstractDeclaredStatement implem @Override public EffectiveStatement createEffective( final StmtContext> ctx) { - Map, EffectiveStatement>>> schemaLocations = ctx + final Map, EffectiveStatement>>> schemaLocations = ctx .getAllFromCurrentStmtCtxNamespace(AnyxmlSchemaLocationNamespace.class); if (schemaLocations != null && !schemaLocations.isEmpty()) { - SchemaNodeIdentifier anyXmlSchemaNodeIdentifier = schemaLocations.values().iterator().next() + final SchemaNodeIdentifier anyXmlSchemaNodeIdentifier = schemaLocations.values().iterator().next() .getStatementArgument(); - Optional anyXmlSchema = getAnyXmlSchema(ctx, anyXmlSchemaNodeIdentifier); + final Optional anyXmlSchema = getAnyXmlSchema(ctx, anyXmlSchemaNodeIdentifier); if (anyXmlSchema.isPresent()) { return new YangModeledAnyXmlEffectiveStatementImpl(ctx, anyXmlSchema.get()); } @@ -97,7 +97,7 @@ public class AnyxmlStatementImpl extends AbstractDeclaredStatement implem public void onFullDefinitionDeclared(final Mutable> stmt) { super.onFullDefinitionDeclared(stmt); - SUBSTATEMENT_VALIDATOR.validate(stmt); + getSubstatementValidator().validate(stmt); } private Optional getAnyXmlSchema( @@ -112,6 +112,11 @@ public class AnyxmlStatementImpl extends AbstractDeclaredStatement implem } return Optional.absent(); } + + @Override + protected SubstatementValidator getSubstatementValidator() { + return SUBSTATEMENT_VALIDATOR; + } } @Nonnull diff --git a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/ArgumentStatementImpl.java b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/ArgumentStatementImpl.java index 83ab7ddc56..12834004cd 100644 --- a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/ArgumentStatementImpl.java +++ b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/ArgumentStatementImpl.java @@ -60,7 +60,12 @@ public class ArgumentStatementImpl extends AbstractDeclaredStatement public void onFullDefinitionDeclared(final StmtContext.Mutable> stmt) { super.onFullDefinitionDeclared(stmt); - SUBSTATEMENT_VALIDATOR.validate(stmt); + getSubstatementValidator().validate(stmt); + } + + @Override + protected SubstatementValidator getSubstatementValidator() { + return SUBSTATEMENT_VALIDATOR; } } diff --git a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/AugmentStatementImpl.java b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/AugmentStatementImpl.java index 7651bc0615..c3becf0ca6 100644 --- a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/AugmentStatementImpl.java +++ b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/AugmentStatementImpl.java @@ -109,7 +109,7 @@ public class AugmentStatementImpl extends AbstractDeclaredStatement implemen public void onFullDefinitionDeclared( final Mutable> stmt) { super.onFullDefinitionDeclared(stmt); - SUBSTATEMENT_VALIDATOR.validate(stmt); + getSubstatementValidator().validate(stmt); + } + + @Override + protected SubstatementValidator getSubstatementValidator() { + return SUBSTATEMENT_VALIDATOR; } } diff --git a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/BelongsToStatementImpl.java b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/BelongsToStatementImpl.java index 0aa835b46c..7207157bdb 100644 --- a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/BelongsToStatementImpl.java +++ b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/BelongsToStatementImpl.java @@ -107,7 +107,12 @@ public class BelongsToStatementImpl extends AbstractDeclaredStatement public void onFullDefinitionDeclared(final StmtContext.Mutable> stmt) { super.onFullDefinitionDeclared(stmt); - SUBSTATEMENT_VALIDATOR.validate(stmt); + getSubstatementValidator().validate(stmt); + } + + @Override + protected SubstatementValidator getSubstatementValidator() { + return SUBSTATEMENT_VALIDATOR; } } diff --git a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/BitStatementImpl.java b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/BitStatementImpl.java index f5c713e289..c062ff10b2 100644 --- a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/BitStatementImpl.java +++ b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/BitStatementImpl.java @@ -62,7 +62,12 @@ public class BitStatementImpl extends AbstractDeclaredStatement implement public void onFullDefinitionDeclared(final StmtContext.Mutable> stmt) { super.onFullDefinitionDeclared(stmt); - SUBSTATEMENT_VALIDATOR.validate(stmt); + getSubstatementValidator().validate(stmt); + } + + @Override + protected SubstatementValidator getSubstatementValidator() { + return SUBSTATEMENT_VALIDATOR; } } diff --git a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/BitsSpecificationImpl.java b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/BitsSpecificationImpl.java index 459697493d..dd200733ec 100644 --- a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/BitsSpecificationImpl.java +++ b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/BitsSpecificationImpl.java @@ -58,7 +58,12 @@ public class BitsSpecificationImpl extends AbstractDeclaredStatement imp public void onFullDefinitionDeclared(final StmtContext.Mutable> stmt) { super.onFullDefinitionDeclared(stmt); - SUBSTATEMENT_VALIDATOR.validate(stmt); + getSubstatementValidator().validate(stmt); + } + + @Override + protected SubstatementValidator getSubstatementValidator() { + return SUBSTATEMENT_VALIDATOR; } } diff --git a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/CaseStatementImpl.java b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/CaseStatementImpl.java index 1b04a976bc..dd61581c6d 100644 --- a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/CaseStatementImpl.java +++ b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/CaseStatementImpl.java @@ -78,7 +78,12 @@ public class CaseStatementImpl extends AbstractDeclaredStatement implemen public void onFullDefinitionDeclared(final Mutable> stmt) { super.onFullDefinitionDeclared(stmt); - SUBSTATEMENT_VALIDATOR.validate(stmt); + getSubstatementValidator().validate(stmt); + } + + @Override + protected SubstatementValidator getSubstatementValidator() { + return SUBSTATEMENT_VALIDATOR; } } diff --git a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/ChoiceStatementImpl.java b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/ChoiceStatementImpl.java index 56cf3bf2c6..164231321c 100644 --- a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/ChoiceStatementImpl.java +++ b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/ChoiceStatementImpl.java @@ -88,7 +88,12 @@ public class ChoiceStatementImpl extends AbstractDeclaredStatement public void onFullDefinitionDeclared(final Mutable> stmt) { super.onFullDefinitionDeclared(stmt); - SUBSTATEMENT_VALIDATOR.validate(stmt); + getSubstatementValidator().validate(stmt); + } + + @Override + protected SubstatementValidator getSubstatementValidator() { + return SUBSTATEMENT_VALIDATOR; } } diff --git a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/ConfigStatementImpl.java b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/ConfigStatementImpl.java index d81a5401aa..d4e0e61194 100644 --- a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/ConfigStatementImpl.java +++ b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/ConfigStatementImpl.java @@ -65,7 +65,12 @@ public class ConfigStatementImpl extends AbstractDeclaredStatement impl public void onFullDefinitionDeclared(final StmtContext.Mutable> stmt) { super.onFullDefinitionDeclared(stmt); - SUBSTATEMENT_VALIDATOR.validate(stmt); + getSubstatementValidator().validate(stmt); + } + + @Override + protected SubstatementValidator getSubstatementValidator() { + return SUBSTATEMENT_VALIDATOR; } } diff --git a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/ContactStatementImpl.java b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/ContactStatementImpl.java index f49ded857d..baabab3f54 100644 --- a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/ContactStatementImpl.java +++ b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/ContactStatementImpl.java @@ -51,7 +51,12 @@ public class ContactStatementImpl extends AbstractDeclaredStatement impl public void onFullDefinitionDeclared(StmtContext.Mutable> stmt) { super.onFullDefinitionDeclared(stmt); - SUBSTATEMENT_VALIDATOR.validate(stmt); + getSubstatementValidator().validate(stmt); + } + + @Override + protected SubstatementValidator getSubstatementValidator() { + return SUBSTATEMENT_VALIDATOR; } } diff --git a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/Decimal64SpecificationImpl.java b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/Decimal64SpecificationImpl.java index ae3df67117..1a7c1703fb 100644 --- a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/Decimal64SpecificationImpl.java +++ b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/Decimal64SpecificationImpl.java @@ -57,7 +57,12 @@ public class Decimal64SpecificationImpl extends AbstractDeclaredStatement> stmt) { super.onFullDefinitionDeclared(stmt); - SUBSTATEMENT_VALIDATOR.validate(stmt); + getSubstatementValidator().validate(stmt); + } + + @Override + protected SubstatementValidator getSubstatementValidator() { + return SUBSTATEMENT_VALIDATOR; } } diff --git a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/DefaultStatementImpl.java b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/DefaultStatementImpl.java index 45aea06a34..2103f0e895 100644 --- a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/DefaultStatementImpl.java +++ b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/DefaultStatementImpl.java @@ -53,7 +53,12 @@ public class DefaultStatementImpl extends AbstractDeclaredStatement impl public void onFullDefinitionDeclared(StmtContext.Mutable> stmt) { super.onFullDefinitionDeclared(stmt); - SUBSTATEMENT_VALIDATOR.validate(stmt); + getSubstatementValidator().validate(stmt); + } + + @Override + protected SubstatementValidator getSubstatementValidator() { + return SUBSTATEMENT_VALIDATOR; } } diff --git a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/DescriptionStatementImpl.java b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/DescriptionStatementImpl.java index 487f67cfca..7881487bee 100644 --- a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/DescriptionStatementImpl.java +++ b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/DescriptionStatementImpl.java @@ -52,7 +52,12 @@ public class DescriptionStatementImpl extends AbstractDeclaredStatement public void onFullDefinitionDeclared(StmtContext.Mutable> stmt) { super.onFullDefinitionDeclared(stmt); - SUBSTATEMENT_VALIDATOR.validate(stmt); + getSubstatementValidator().validate(stmt); + } + + @Override + protected SubstatementValidator getSubstatementValidator() { + return SUBSTATEMENT_VALIDATOR; } } diff --git a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/DeviateStatementImpl.java b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/DeviateStatementImpl.java index eba5b5e071..eae3c95c2e 100644 --- a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/DeviateStatementImpl.java +++ b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/DeviateStatementImpl.java @@ -61,7 +61,12 @@ public class DeviateStatementImpl extends AbstractDeclaredStatement public void onFullDefinitionDeclared(final StmtContext.Mutable> stmt) { super.onFullDefinitionDeclared(stmt); - SUBSTATEMENT_VALIDATOR.validate(stmt); + getSubstatementValidator().validate(stmt); + } + + @Override + protected SubstatementValidator getSubstatementValidator() { + return SUBSTATEMENT_VALIDATOR; } } diff --git a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/DeviationStatementImpl.java b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/DeviationStatementImpl.java index b66cfe572e..da4d8d9f53 100644 --- a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/DeviationStatementImpl.java +++ b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/DeviationStatementImpl.java @@ -56,7 +56,12 @@ public class DeviationStatementImpl extends AbstractDeclaredStatement> stmt) { super.onFullDefinitionDeclared(stmt); - SUBSTATEMENT_VALIDATOR.validate(stmt); + getSubstatementValidator().validate(stmt); + } + + @Override + protected SubstatementValidator getSubstatementValidator() { + return SUBSTATEMENT_VALIDATOR; } } diff --git a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/EnumSpecificationImpl.java b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/EnumSpecificationImpl.java index d9882984e0..9f222c7b70 100644 --- a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/EnumSpecificationImpl.java +++ b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/EnumSpecificationImpl.java @@ -58,7 +58,12 @@ public class EnumSpecificationImpl extends AbstractDeclaredStatement imp public void onFullDefinitionDeclared(final StmtContext.Mutable> stmt) { super.onFullDefinitionDeclared(stmt); - SUBSTATEMENT_VALIDATOR.validate(stmt); + getSubstatementValidator().validate(stmt); + } + + @Override + protected SubstatementValidator getSubstatementValidator() { + return SUBSTATEMENT_VALIDATOR; } } diff --git a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/EnumStatementImpl.java b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/EnumStatementImpl.java index 796f8c7189..afa17be9b1 100644 --- a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/EnumStatementImpl.java +++ b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/EnumStatementImpl.java @@ -62,7 +62,12 @@ public class EnumStatementImpl extends AbstractDeclaredStatement impleme public void onFullDefinitionDeclared(final StmtContext.Mutable> stmt) { super.onFullDefinitionDeclared(stmt); - SUBSTATEMENT_VALIDATOR.validate(stmt); + getSubstatementValidator().validate(stmt); + } + + @Override + protected SubstatementValidator getSubstatementValidator() { + return SUBSTATEMENT_VALIDATOR; } } diff --git a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/ErrorAppTagStatementImpl.java b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/ErrorAppTagStatementImpl.java index a58131171c..d585bbff37 100644 --- a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/ErrorAppTagStatementImpl.java +++ b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/ErrorAppTagStatementImpl.java @@ -57,7 +57,12 @@ public class ErrorAppTagStatementImpl extends AbstractDeclaredStatement public void onFullDefinitionDeclared(StmtContext.Mutable> stmt) { super.onFullDefinitionDeclared(stmt); - SUBSTATEMENT_VALIDATOR.validate(stmt); + getSubstatementValidator().validate(stmt); + } + + @Override + protected SubstatementValidator getSubstatementValidator() { + return SUBSTATEMENT_VALIDATOR; } } diff --git a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/ErrorMessageStatementImpl.java b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/ErrorMessageStatementImpl.java index 1bba5f5895..467b052cb1 100644 --- a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/ErrorMessageStatementImpl.java +++ b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/ErrorMessageStatementImpl.java @@ -57,7 +57,12 @@ public class ErrorMessageStatementImpl extends public void onFullDefinitionDeclared(StmtContext.Mutable> stmt) { super.onFullDefinitionDeclared(stmt); - SUBSTATEMENT_VALIDATOR.validate(stmt); + getSubstatementValidator().validate(stmt); + } + + @Override + protected SubstatementValidator getSubstatementValidator() { + return SUBSTATEMENT_VALIDATOR; } } diff --git a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/ExtensionStatementImpl.java b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/ExtensionStatementImpl.java index c09fcf5a83..3b33b742bb 100644 --- a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/ExtensionStatementImpl.java +++ b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/ExtensionStatementImpl.java @@ -80,7 +80,12 @@ public class ExtensionStatementImpl extends AbstractDeclaredStatement imp public void onFullDefinitionDeclared(final StmtContext.Mutable> stmt) { super.onFullDefinitionDeclared(stmt); - SUBSTATEMENT_VALIDATOR.validate(stmt); + getSubstatementValidator().validate(stmt); + } + + @Override + protected SubstatementValidator getSubstatementValidator() { + return SUBSTATEMENT_VALIDATOR; } } diff --git a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/FeatureStatementImpl.java b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/FeatureStatementImpl.java index 4264f5fc26..f11d913b87 100644 --- a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/FeatureStatementImpl.java +++ b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/FeatureStatementImpl.java @@ -67,7 +67,12 @@ public class FeatureStatementImpl extends AbstractDeclaredStatement public void onFullDefinitionDeclared(final StmtContext.Mutable> stmt) { super.onFullDefinitionDeclared(stmt); - SUBSTATEMENT_VALIDATOR.validate(stmt); + getSubstatementValidator().validate(stmt); + } + + @Override + protected SubstatementValidator getSubstatementValidator() { + return SUBSTATEMENT_VALIDATOR; } } diff --git a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/FractionDigitsStatementImpl.java b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/FractionDigitsStatementImpl.java index d232d77288..d960ea534c 100644 --- a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/FractionDigitsStatementImpl.java +++ b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/FractionDigitsStatementImpl.java @@ -70,7 +70,12 @@ public class FractionDigitsStatementImpl extends AbstractDeclaredStatement> stmt) { super.onFullDefinitionDeclared(stmt); - SUBSTATEMENT_VALIDATOR.validate(stmt); + getSubstatementValidator().validate(stmt); + } + + @Override + protected SubstatementValidator getSubstatementValidator() { + return SUBSTATEMENT_VALIDATOR; } } diff --git a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/GroupingStatementImpl.java b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/GroupingStatementImpl.java index a5641dc22b..e1a039882e 100644 --- a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/GroupingStatementImpl.java +++ b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/GroupingStatementImpl.java @@ -77,13 +77,18 @@ public class GroupingStatementImpl extends AbstractDeclaredStatement @Override public void onFullDefinitionDeclared(final Mutable> stmt) { - SUBSTATEMENT_VALIDATOR.validate(stmt); + getSubstatementValidator().validate(stmt); if (stmt != null && stmt.getParentContext() != null) { stmt.getParentContext().addContext(GroupingNamespace.class, stmt.getStatementArgument(), stmt); } } + @Override + protected SubstatementValidator getSubstatementValidator() { + return SUBSTATEMENT_VALIDATOR; + } + } @Nonnull diff --git a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/IdentityRefSpecificationImpl.java b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/IdentityRefSpecificationImpl.java index ef1aad623a..06016db598 100644 --- a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/IdentityRefSpecificationImpl.java +++ b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/IdentityRefSpecificationImpl.java @@ -80,7 +80,12 @@ public class IdentityRefSpecificationImpl extends AbstractDeclaredStatement> stmt) { super.onStatementDefinitionDeclared(stmt); - SUBSTATEMENT_VALIDATOR.validate(stmt); + getSubstatementValidator().validate(stmt); + } + + @Override + protected SubstatementValidator getSubstatementValidator() { + return SUBSTATEMENT_VALIDATOR; } } diff --git a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/IdentityStatementImpl.java b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/IdentityStatementImpl.java index beb5d58e62..a4fa2a9e5a 100644 --- a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/IdentityStatementImpl.java +++ b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/IdentityStatementImpl.java @@ -70,7 +70,12 @@ public class IdentityStatementImpl extends AbstractDeclaredStatement public void onFullDefinitionDeclared(final StmtContext.Mutable> stmt) { super.onFullDefinitionDeclared(stmt); - SUBSTATEMENT_VALIDATOR.validate(stmt); + getSubstatementValidator().validate(stmt); + } + + @Override + protected SubstatementValidator getSubstatementValidator() { + return SUBSTATEMENT_VALIDATOR; } } diff --git a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/IfFeatureStatementImpl.java b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/IfFeatureStatementImpl.java index fb2e5395e1..76ad6c3cfc 100644 --- a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/IfFeatureStatementImpl.java +++ b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/IfFeatureStatementImpl.java @@ -58,7 +58,12 @@ public class IfFeatureStatementImpl extends AbstractDeclaredStatement public void onFullDefinitionDeclared(StmtContext.Mutable> stmt) { super.onFullDefinitionDeclared(stmt); - SUBSTATEMENT_VALIDATOR.validate(stmt); + getSubstatementValidator().validate(stmt); + } + + @Override + protected SubstatementValidator getSubstatementValidator() { + return SUBSTATEMENT_VALIDATOR; } } diff --git a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/InputStatementImpl.java b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/InputStatementImpl.java index b8b656d0ee..63fb8eba85 100644 --- a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/InputStatementImpl.java +++ b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/InputStatementImpl.java @@ -76,7 +76,12 @@ public class InputStatementImpl extends AbstractDeclaredStatement public void onFullDefinitionDeclared(final Mutable> stmt) { super.onFullDefinitionDeclared(stmt); - SUBSTATEMENT_VALIDATOR.validate(stmt); + getSubstatementValidator().validate(stmt); + } + + @Override + protected SubstatementValidator getSubstatementValidator() { + return SUBSTATEMENT_VALIDATOR; } } diff --git a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/InstanceIdentifierSpecificationImpl.java b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/InstanceIdentifierSpecificationImpl.java index 1a5c50434a..780ea30127 100644 --- a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/InstanceIdentifierSpecificationImpl.java +++ b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/InstanceIdentifierSpecificationImpl.java @@ -60,7 +60,12 @@ public class InstanceIdentifierSpecificationImpl extends public void onFullDefinitionDeclared(final StmtContext.Mutable> stmt) { super.onFullDefinitionDeclared(stmt); - SUBSTATEMENT_VALIDATOR.validate(stmt); + getSubstatementValidator().validate(stmt); + } + + @Override + protected SubstatementValidator getSubstatementValidator() { + return SUBSTATEMENT_VALIDATOR; } } diff --git a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/KeyStatementImpl.java b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/KeyStatementImpl.java index 74f968f312..51c7413c42 100644 --- a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/KeyStatementImpl.java +++ b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/KeyStatementImpl.java @@ -73,7 +73,12 @@ public class KeyStatementImpl extends AbstractDeclaredStatement, KeyStatement, EffectiveStatement, KeyStatement>> stmt) { super.onFullDefinitionDeclared(stmt); - SUBSTATEMENT_VALIDATOR.validate(stmt); + getSubstatementValidator().validate(stmt); + } + + @Override + protected SubstatementValidator getSubstatementValidator() { + return SUBSTATEMENT_VALIDATOR; } } } diff --git a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/LeafListStatementImpl.java b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/LeafListStatementImpl.java index ae2b7ce850..f050ead658 100644 --- a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/LeafListStatementImpl.java +++ b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/LeafListStatementImpl.java @@ -92,7 +92,12 @@ public class LeafListStatementImpl extends AbstractDeclaredStatement public void onFullDefinitionDeclared(final Mutable> stmt) { super.onFullDefinitionDeclared(stmt); - SUBSTATEMENT_VALIDATOR.validate(stmt); + getSubstatementValidator().validate(stmt); + } + + @Override + protected SubstatementValidator getSubstatementValidator() { + return SUBSTATEMENT_VALIDATOR; } } diff --git a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/LeafStatementImpl.java b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/LeafStatementImpl.java index fdfff3b76f..783607a420 100644 --- a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/LeafStatementImpl.java +++ b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/LeafStatementImpl.java @@ -81,7 +81,12 @@ public class LeafStatementImpl extends AbstractDeclaredStatement implemen public void onFullDefinitionDeclared(final Mutable> stmt) { super.onFullDefinitionDeclared(stmt); - SUBSTATEMENT_VALIDATOR.validate(stmt); + getSubstatementValidator().validate(stmt); + } + + @Override + protected SubstatementValidator getSubstatementValidator() { + return SUBSTATEMENT_VALIDATOR; } } diff --git a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/LeafrefSpecificationImpl.java b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/LeafrefSpecificationImpl.java index 213132b335..263b829407 100644 --- a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/LeafrefSpecificationImpl.java +++ b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/LeafrefSpecificationImpl.java @@ -60,7 +60,12 @@ public class LeafrefSpecificationImpl extends AbstractDeclaredStatement public void onFullDefinitionDeclared(final StmtContext.Mutable> stmt) { super.onFullDefinitionDeclared(stmt); - SUBSTATEMENT_VALIDATOR.validate(stmt); + getSubstatementValidator().validate(stmt); + } + + @Override + protected SubstatementValidator getSubstatementValidator() { + return SUBSTATEMENT_VALIDATOR; } } diff --git a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/LengthStatementImpl.java b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/LengthStatementImpl.java index f0831da66d..1fadef0bd6 100644 --- a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/LengthStatementImpl.java +++ b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/LengthStatementImpl.java @@ -64,7 +64,12 @@ public class LengthStatementImpl extends AbstractDeclaredStatement, LengthStatement, EffectiveStatement, LengthStatement>> stmt) { super.onFullDefinitionDeclared(stmt); - SUBSTATEMENT_VALIDATOR.validate(stmt); + getSubstatementValidator().validate(stmt); + } + + @Override + protected SubstatementValidator getSubstatementValidator() { + return SUBSTATEMENT_VALIDATOR; } } diff --git a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/ListStatementImpl.java b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/ListStatementImpl.java index 483f68cc71..e1eeeeda14 100644 --- a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/ListStatementImpl.java +++ b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/ListStatementImpl.java @@ -101,7 +101,12 @@ public class ListStatementImpl extends AbstractDeclaredStatement public void onFullDefinitionDeclared(final Mutable> stmt) { super.onFullDefinitionDeclared(stmt); - SUBSTATEMENT_VALIDATOR.validate(stmt); + getSubstatementValidator().validate(stmt); + } + + @Override + protected SubstatementValidator getSubstatementValidator() { + return SUBSTATEMENT_VALIDATOR; } } diff --git a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/MandatoryStatementImpl.java b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/MandatoryStatementImpl.java index a905df4875..fae5a1a0f0 100644 --- a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/MandatoryStatementImpl.java +++ b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/MandatoryStatementImpl.java @@ -65,7 +65,12 @@ public class MandatoryStatementImpl extends AbstractDeclaredStatement i public void onFullDefinitionDeclared(StmtContext.Mutable> stmt) { super.onFullDefinitionDeclared(stmt); - SUBSTATEMENT_VALIDATOR.validate(stmt); + getSubstatementValidator().validate(stmt); + } + + @Override + protected SubstatementValidator getSubstatementValidator() { + return SUBSTATEMENT_VALIDATOR; } } diff --git a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/MaxElementsStatementImpl.java b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/MaxElementsStatementImpl.java index 3d32ed3613..27fdc9962e 100644 --- a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/MaxElementsStatementImpl.java +++ b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/MaxElementsStatementImpl.java @@ -57,7 +57,12 @@ public class MaxElementsStatementImpl extends AbstractDeclaredStatement public void onFullDefinitionDeclared(StmtContext.Mutable> stmt) { super.onFullDefinitionDeclared(stmt); - SUBSTATEMENT_VALIDATOR.validate(stmt); + getSubstatementValidator().validate(stmt); + } + + @Override + protected SubstatementValidator getSubstatementValidator() { + return SUBSTATEMENT_VALIDATOR; } } diff --git a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/MinElementsStatementImpl.java b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/MinElementsStatementImpl.java index 7a05bb9bd3..34057f7fcd 100644 --- a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/MinElementsStatementImpl.java +++ b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/MinElementsStatementImpl.java @@ -57,7 +57,12 @@ public class MinElementsStatementImpl extends public void onFullDefinitionDeclared(StmtContext.Mutable> stmt) { super.onFullDefinitionDeclared(stmt); - SUBSTATEMENT_VALIDATOR.validate(stmt); + getSubstatementValidator().validate(stmt); + } + + @Override + protected SubstatementValidator getSubstatementValidator() { + return SUBSTATEMENT_VALIDATOR; } } diff --git a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/ModelDefinedStatementSupport.java b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/ModelDefinedStatementSupport.java index 8f4842f0e6..d1e269771b 100644 --- a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/ModelDefinedStatementSupport.java +++ b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/ModelDefinedStatementSupport.java @@ -9,6 +9,7 @@ package org.opendaylight.yangtools.yang.parser.stmt.rfc6020; import org.opendaylight.yangtools.yang.model.api.meta.EffectiveStatement; import org.opendaylight.yangtools.yang.model.api.stmt.UnknownStatement; +import org.opendaylight.yangtools.yang.parser.spi.SubstatementValidator; import org.opendaylight.yangtools.yang.parser.spi.meta.AbstractStatementSupport; import org.opendaylight.yangtools.yang.parser.spi.meta.StmtContext; import org.opendaylight.yangtools.yang.parser.spi.source.SourceException; @@ -43,4 +44,9 @@ public final class ModelDefinedStatementSupport extends AbstractStatementSupport public String parseArgumentValue(final StmtContext ctx, final String value) throws SourceException { return definition.parseArgumentValue(ctx, value); } + + @Override + protected SubstatementValidator getSubstatementValidator() { + return null; + } } diff --git a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/MustStatementImpl.java b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/MustStatementImpl.java index 9345ef0e66..a33f45d72c 100644 --- a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/MustStatementImpl.java +++ b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/MustStatementImpl.java @@ -63,7 +63,12 @@ public class MustStatementImpl extends AbstractDeclaredStatement> stmt) { super.onFullDefinitionDeclared(stmt); - SUBSTATEMENT_VALIDATOR.validate(stmt); + getSubstatementValidator().validate(stmt); + } + + @Override + protected SubstatementValidator getSubstatementValidator() { + return SUBSTATEMENT_VALIDATOR; } } diff --git a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/NamespaceStatementImpl.java b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/NamespaceStatementImpl.java index 907cd317e2..0eee709600 100644 --- a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/NamespaceStatementImpl.java +++ b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/NamespaceStatementImpl.java @@ -48,7 +48,12 @@ public class NamespaceStatementImpl extends AbstractDeclaredStatement imple public void onFullDefinitionDeclared(StmtContext.Mutable> stmt) { super.onFullDefinitionDeclared(stmt); - SUBSTATEMENT_VALIDATOR.validate(stmt); + getSubstatementValidator().validate(stmt); + } + + @Override + protected SubstatementValidator getSubstatementValidator() { + return SUBSTATEMENT_VALIDATOR; } } diff --git a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/NotificationStatementImpl.java b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/NotificationStatementImpl.java index 05504cfdf3..792961d4e8 100644 --- a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/NotificationStatementImpl.java +++ b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/NotificationStatementImpl.java @@ -86,7 +86,12 @@ public class NotificationStatementImpl extends AbstractDeclaredStatement public void onFullDefinitionDeclared(final Mutable> stmt) { super.onFullDefinitionDeclared(stmt); - SUBSTATEMENT_VALIDATOR.validate(stmt); + getSubstatementValidator().validate(stmt); + } + + @Override + protected SubstatementValidator getSubstatementValidator() { + return SUBSTATEMENT_VALIDATOR; } } diff --git a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/NumericalRestrictionsImpl.java b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/NumericalRestrictionsImpl.java index 24117d0b9a..810c48b5d1 100644 --- a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/NumericalRestrictionsImpl.java +++ b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/NumericalRestrictionsImpl.java @@ -57,7 +57,12 @@ public class NumericalRestrictionsImpl extends AbstractDeclaredStatement public void onFullDefinitionDeclared(final StmtContext.Mutable> stmt) { super.onFullDefinitionDeclared(stmt); - SUBSTATEMENT_VALIDATOR.validate(stmt); + getSubstatementValidator().validate(stmt); + } + + @Override + protected SubstatementValidator getSubstatementValidator() { + return SUBSTATEMENT_VALIDATOR; } } diff --git a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/OrderedByStatementImpl.java b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/OrderedByStatementImpl.java index 01f788c322..d4cdbad450 100644 --- a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/OrderedByStatementImpl.java +++ b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/OrderedByStatementImpl.java @@ -56,7 +56,12 @@ public class OrderedByStatementImpl extends AbstractDeclaredStatement public void onFullDefinitionDeclared(StmtContext.Mutable> stmt) { super.onFullDefinitionDeclared(stmt); - SUBSTATEMENT_VALIDATOR.validate(stmt); + getSubstatementValidator().validate(stmt); + } + + @Override + protected SubstatementValidator getSubstatementValidator() { + return SUBSTATEMENT_VALIDATOR; } } diff --git a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/OrganizationStatementImpl.java b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/OrganizationStatementImpl.java index 8f9b112f9b..86b5252f40 100644 --- a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/OrganizationStatementImpl.java +++ b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/OrganizationStatementImpl.java @@ -57,7 +57,12 @@ public class OrganizationStatementImpl extends public void onFullDefinitionDeclared(StmtContext.Mutable> stmt) { super.onFullDefinitionDeclared(stmt); - SUBSTATEMENT_VALIDATOR.validate(stmt); + getSubstatementValidator().validate(stmt); + } + + @Override + protected SubstatementValidator getSubstatementValidator() { + return SUBSTATEMENT_VALIDATOR; } } diff --git a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/OutputStatementImpl.java b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/OutputStatementImpl.java index 2aeab34841..9cf2652be1 100644 --- a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/OutputStatementImpl.java +++ b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/OutputStatementImpl.java @@ -73,7 +73,12 @@ public class OutputStatementImpl extends AbstractDeclaredStatement implem public void onFullDefinitionDeclared(final Mutable> stmt) { super.onFullDefinitionDeclared(stmt); - SUBSTATEMENT_VALIDATOR.validate(stmt); + getSubstatementValidator().validate(stmt); + } + + @Override + protected SubstatementValidator getSubstatementValidator() { + return SUBSTATEMENT_VALIDATOR; } } diff --git a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/PathStatementImpl.java b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/PathStatementImpl.java index b26f623e53..bd805887d2 100644 --- a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/PathStatementImpl.java +++ b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/PathStatementImpl.java @@ -54,7 +54,12 @@ public class PathStatementImpl extends AbstractDeclaredStatement> stmt) { super.onFullDefinitionDeclared(stmt); - SUBSTATEMENT_VALIDATOR.validate(stmt); + getSubstatementValidator().validate(stmt); + } + + @Override + protected SubstatementValidator getSubstatementValidator() { + return SUBSTATEMENT_VALIDATOR; } } diff --git a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/PatternStatementImpl.java b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/PatternStatementImpl.java index d01f289316..d1db29a9b1 100644 --- a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/PatternStatementImpl.java +++ b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/PatternStatementImpl.java @@ -79,7 +79,12 @@ public class PatternStatementImpl extends AbstractDeclaredStatement> stmt) { super.onFullDefinitionDeclared(stmt); - SUBSTATEMENT_VALIDATOR.validate(stmt); + getSubstatementValidator().validate(stmt); + } + + @Override + protected SubstatementValidator getSubstatementValidator() { + return SUBSTATEMENT_VALIDATOR; } } diff --git a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/PositionStatementImpl.java b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/PositionStatementImpl.java index 3eacd1eed6..69a9ab6a3d 100644 --- a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/PositionStatementImpl.java +++ b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/PositionStatementImpl.java @@ -57,7 +57,12 @@ public class PositionStatementImpl extends AbstractDeclaredStatement imple public void onFullDefinitionDeclared( final StmtContext.Mutable> stmt) { super.onFullDefinitionDeclared(stmt); - SUBSTATEMENT_VALIDATOR.validate(stmt); + getSubstatementValidator().validate(stmt); + } + + @Override + protected SubstatementValidator getSubstatementValidator() { + return SUBSTATEMENT_VALIDATOR; } } diff --git a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/PrefixStatementImpl.java b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/PrefixStatementImpl.java index c6c1b5398e..69a905d506 100644 --- a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/PrefixStatementImpl.java +++ b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/PrefixStatementImpl.java @@ -47,7 +47,12 @@ public class PrefixStatementImpl extends AbstractDeclaredStatement imple public void onFullDefinitionDeclared(StmtContext.Mutable> stmt) { super.onFullDefinitionDeclared(stmt); - SUBSTATEMENT_VALIDATOR.validate(stmt); + getSubstatementValidator().validate(stmt); + } + + @Override + protected SubstatementValidator getSubstatementValidator() { + return SUBSTATEMENT_VALIDATOR; } } diff --git a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/PresenceStatementImpl.java b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/PresenceStatementImpl.java index 4add7575f2..71a91252cf 100644 --- a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/PresenceStatementImpl.java +++ b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/PresenceStatementImpl.java @@ -54,7 +54,12 @@ public class PresenceStatementImpl extends AbstractDeclaredStatement imp public void onFullDefinitionDeclared(StmtContext.Mutable> stmt) { super.onFullDefinitionDeclared(stmt); - SUBSTATEMENT_VALIDATOR.validate(stmt); + getSubstatementValidator().validate(stmt); + } + + @Override + protected SubstatementValidator getSubstatementValidator() { + return SUBSTATEMENT_VALIDATOR; } } diff --git a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/RangeStatementImpl.java b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/RangeStatementImpl.java index 15fc78ea56..a3e5c2c5c1 100644 --- a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/RangeStatementImpl.java +++ b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/RangeStatementImpl.java @@ -70,7 +70,12 @@ public class RangeStatementImpl extends AbstractDeclaredStatement, RangeStatement, EffectiveStatement, RangeStatement>> stmt) { super.onFullDefinitionDeclared(stmt); - SUBSTATEMENT_VALIDATOR.validate(stmt); + getSubstatementValidator().validate(stmt); + } + + @Override + protected SubstatementValidator getSubstatementValidator() { + return SUBSTATEMENT_VALIDATOR; } } diff --git a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/ReferenceStatementImpl.java b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/ReferenceStatementImpl.java index 731947000a..88922e89b8 100644 --- a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/ReferenceStatementImpl.java +++ b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/ReferenceStatementImpl.java @@ -52,7 +52,12 @@ public class ReferenceStatementImpl extends AbstractDeclaredStatement im public void onFullDefinitionDeclared(StmtContext.Mutable> stmt) { super.onFullDefinitionDeclared(stmt); - SUBSTATEMENT_VALIDATOR.validate(stmt); + getSubstatementValidator().validate(stmt); + } + + @Override + protected SubstatementValidator getSubstatementValidator() { + return SUBSTATEMENT_VALIDATOR; } } diff --git a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/RefineStatementImpl.java b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/RefineStatementImpl.java index 33aa7b2abc..5da200a7e5 100644 --- a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/RefineStatementImpl.java +++ b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/RefineStatementImpl.java @@ -66,7 +66,12 @@ public class RefineStatementImpl extends AbstractDeclaredStatement> stmt) { super.onFullDefinitionDeclared(stmt); - SUBSTATEMENT_VALIDATOR.validate(stmt); + getSubstatementValidator().validate(stmt); + } + + @Override + protected SubstatementValidator getSubstatementValidator() { + return SUBSTATEMENT_VALIDATOR; } } diff --git a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/RequireInstanceStatementImpl.java b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/RequireInstanceStatementImpl.java index 569a71dafe..352e7ac330 100644 --- a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/RequireInstanceStatementImpl.java +++ b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/RequireInstanceStatementImpl.java @@ -52,7 +52,12 @@ public class RequireInstanceStatementImpl extends public void onFullDefinitionDeclared(final StmtContext.Mutable> stmt) { super.onFullDefinitionDeclared(stmt); - SUBSTATEMENT_VALIDATOR.validate(stmt); + getSubstatementValidator().validate(stmt); + } + + @Override + protected SubstatementValidator getSubstatementValidator() { + return SUBSTATEMENT_VALIDATOR; } } diff --git a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/RevisionDateStatementImpl.java b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/RevisionDateStatementImpl.java index 0b4c2e5df6..3d4b75ba1f 100644 --- a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/RevisionDateStatementImpl.java +++ b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/RevisionDateStatementImpl.java @@ -61,7 +61,12 @@ public class RevisionDateStatementImpl extends AbstractDeclaredStatement i public void onFullDefinitionDeclared( final StmtContext.Mutable> stmt) { super.onFullDefinitionDeclared(stmt); - SUBSTATEMENT_VALIDATOR.validate(stmt); + getSubstatementValidator().validate(stmt); + } + + @Override + protected SubstatementValidator getSubstatementValidator() { + return SUBSTATEMENT_VALIDATOR; } } diff --git a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/RevisionStatementImpl.java b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/RevisionStatementImpl.java index b2aa659311..54c2118aed 100644 --- a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/RevisionStatementImpl.java +++ b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/RevisionStatementImpl.java @@ -69,7 +69,12 @@ public class RevisionStatementImpl extends AbstractDeclaredStatement public void onFullDefinitionDeclared( final StmtContext.Mutable> stmt) { super.onFullDefinitionDeclared(stmt); - SUBSTATEMENT_VALIDATOR.validate(stmt); + getSubstatementValidator().validate(stmt); + } + + @Override + protected SubstatementValidator getSubstatementValidator() { + return SUBSTATEMENT_VALIDATOR; } } diff --git a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/RpcStatementImpl.java b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/RpcStatementImpl.java index c11ec11ac7..59d1a7e580 100644 --- a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/RpcStatementImpl.java +++ b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/RpcStatementImpl.java @@ -80,7 +80,12 @@ public class RpcStatementImpl extends AbstractDeclaredStatement @Override public void onFullDefinitionDeclared(final Mutable> stmt) { super.onFullDefinitionDeclared(stmt); - SUBSTATEMENT_VALIDATOR.validate(stmt); + getSubstatementValidator().validate(stmt); + } + + @Override + protected SubstatementValidator getSubstatementValidator() { + return SUBSTATEMENT_VALIDATOR; } } diff --git a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/SemanticVersionStatementImpl.java b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/SemanticVersionStatementImpl.java index aea5d7ee66..ac12f906c0 100644 --- a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/SemanticVersionStatementImpl.java +++ b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/SemanticVersionStatementImpl.java @@ -11,18 +11,23 @@ import com.google.common.annotations.Beta; import org.opendaylight.yangtools.concepts.SemVer; import org.opendaylight.yangtools.yang.model.api.meta.EffectiveStatement; import org.opendaylight.yangtools.yang.model.api.stmt.UnknownStatement; +import org.opendaylight.yangtools.yang.parser.spi.SubstatementValidator; import org.opendaylight.yangtools.yang.parser.spi.meta.AbstractDeclaredStatement; import org.opendaylight.yangtools.yang.parser.spi.meta.AbstractStatementSupport; import org.opendaylight.yangtools.yang.parser.spi.meta.SemanticVersionNamespace; 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.source.SourceException; import org.opendaylight.yangtools.yang.parser.stmt.rfc6020.effective.SemanticVersionEffectiveStatementImpl; @Beta public final class SemanticVersionStatementImpl extends AbstractDeclaredStatement implements UnknownStatement { + private static final SubstatementValidator SUBSTATEMENT_VALIDATOR = SubstatementValidator.builder( + SupportedExtensionsMapping.SEMANTIC_VERSION).build(); SemanticVersionStatementImpl( - StmtContext, ?> context) { + final StmtContext, ?> context) { super(context); } @@ -35,18 +40,25 @@ public final class SemanticVersionStatementImpl extends AbstractDeclaredStatemen } @Override - public SemVer parseArgumentValue(StmtContext ctx, String value) { + public SemVer parseArgumentValue(final StmtContext ctx, final String value) { return SemVer.valueOf(value) ; } @Override - public void onLinkageDeclared(StmtContext.Mutable,EffectiveStatement>> stmt) { + public void onLinkageDeclared(final StmtContext.Mutable,EffectiveStatement>> stmt) { stmt.addToNs(SemanticVersionNamespace.class, stmt.getParentContext(), stmt.getStatementArgument()); } + @Override + public void onFullDefinitionDeclared( + final Mutable, EffectiveStatement>> stmt) + throws SourceException { + getSubstatementValidator().validate(stmt); + } + @Override public UnknownStatement createDeclared( - StmtContext, ?> ctx) { + final StmtContext, ?> ctx) { return new SemanticVersionStatementImpl(ctx); } @@ -55,6 +67,11 @@ public final class SemanticVersionStatementImpl extends AbstractDeclaredStatemen final StmtContext, EffectiveStatement>> ctx) { return new SemanticVersionEffectiveStatementImpl(ctx); } + + @Override + protected SubstatementValidator getSubstatementValidator() { + return SUBSTATEMENT_VALIDATOR; + } } @Override diff --git a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/StatusStatementImpl.java b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/StatusStatementImpl.java index e7c688db64..2b4d847487 100644 --- a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/StatusStatementImpl.java +++ b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/StatusStatementImpl.java @@ -58,7 +58,12 @@ public class StatusStatementImpl extends AbstractDeclaredStatement public void onFullDefinitionDeclared(StmtContext.Mutable> stmt) { super.onFullDefinitionDeclared(stmt); - SUBSTATEMENT_VALIDATOR.validate(stmt); + getSubstatementValidator().validate(stmt); + } + + @Override + protected SubstatementValidator getSubstatementValidator() { + return SUBSTATEMENT_VALIDATOR; } } diff --git a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/StringRestrictionsImpl.java b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/StringRestrictionsImpl.java index e6f9c39a07..ba3f2ebf4e 100644 --- a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/StringRestrictionsImpl.java +++ b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/StringRestrictionsImpl.java @@ -61,7 +61,12 @@ public class StringRestrictionsImpl extends AbstractDeclaredStatement im public void onFullDefinitionDeclared(final StmtContext.Mutable> stmt) { super.onFullDefinitionDeclared(stmt); - SUBSTATEMENT_VALIDATOR.validate(stmt); + getSubstatementValidator().validate(stmt); + } + + @Override + protected SubstatementValidator getSubstatementValidator() { + return SUBSTATEMENT_VALIDATOR; } } diff --git a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/SubmoduleStatementImpl.java b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/SubmoduleStatementImpl.java index 4f78ac9c34..41df22693d 100644 --- a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/SubmoduleStatementImpl.java +++ b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/SubmoduleStatementImpl.java @@ -117,7 +117,12 @@ public class SubmoduleStatementImpl extends AbstractRootStatement> stmt) { super.onFullDefinitionDeclared(stmt); - SUBSTATEMENT_VALIDATOR.validate(stmt); + getSubstatementValidator().validate(stmt); + } + + @Override + protected SubstatementValidator getSubstatementValidator() { + return SUBSTATEMENT_VALIDATOR; } } diff --git a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/TypeStatementImpl.java b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/TypeStatementImpl.java index 726d8a7ad2..144d7ae6eb 100644 --- a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/TypeStatementImpl.java +++ b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/TypeStatementImpl.java @@ -194,7 +194,7 @@ public class TypeStatementImpl extends AbstractDeclaredStatement @Override public void onFullDefinitionDeclared( final Mutable> stmt){ - SUBSTATEMENT_VALIDATOR.validate(stmt); + getSubstatementValidator().validate(stmt); // if it is yang built-in type, no prerequisite is needed, so simply return if (TypeUtils.isYangBuiltInTypeString(stmt.getStatementArgument())) { @@ -224,6 +224,11 @@ public class TypeStatementImpl extends AbstractDeclaredStatement } }); } + + @Override + protected SubstatementValidator getSubstatementValidator() { + return SUBSTATEMENT_VALIDATOR; + } } @Nonnull diff --git a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/TypedefStatementImpl.java b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/TypedefStatementImpl.java index 5fa261eee5..9cae9923c8 100644 --- a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/TypedefStatementImpl.java +++ b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/TypedefStatementImpl.java @@ -69,7 +69,7 @@ public class TypedefStatementImpl extends AbstractDeclaredStatement imple public void onFullDefinitionDeclared(final StmtContext.Mutable> stmt) { super.onFullDefinitionDeclared(stmt); - SUBSTATEMENT_VALIDATOR.validate(stmt); + getSubstatementValidator().validate(stmt); if (stmt != null && stmt.getParentContext() != null) { final StmtContext existing = stmt.getParentContext() .getFromNamespace(TypeNamespace.class, stmt.getStatementArgument()); @@ -79,6 +79,11 @@ public class TypedefStatementImpl extends AbstractDeclaredStatement imple stmt.getParentContext().addContext(TypeNamespace.class, stmt.getStatementArgument(), stmt); } } + + @Override + protected SubstatementValidator getSubstatementValidator() { + return SUBSTATEMENT_VALIDATOR; + } } @Nullable diff --git a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/UnionSpecificationImpl.java b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/UnionSpecificationImpl.java index 606008b6d6..d21464cf7c 100644 --- a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/UnionSpecificationImpl.java +++ b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/UnionSpecificationImpl.java @@ -56,7 +56,12 @@ public class UnionSpecificationImpl extends AbstractDeclaredStatement @Override public void onFullDefinitionDeclared(final StmtContext.Mutable> stmt) { super.onFullDefinitionDeclared(stmt); - SUBSTATEMENT_VALIDATOR.validate(stmt); + getSubstatementValidator().validate(stmt); + } + + @Override + protected SubstatementValidator getSubstatementValidator() { + return SUBSTATEMENT_VALIDATOR; } } diff --git a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/UniqueStatementImpl.java b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/UniqueStatementImpl.java index 8d7fe1c3f6..d46937f7ef 100644 --- a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/UniqueStatementImpl.java +++ b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/UniqueStatementImpl.java @@ -65,7 +65,12 @@ public class UniqueStatementImpl extends AbstractDeclaredStatement, UniqueStatement, EffectiveStatement, UniqueStatement>> stmt) { super.onFullDefinitionDeclared(stmt); - SUBSTATEMENT_VALIDATOR.validate(stmt); + getSubstatementValidator().validate(stmt); + } + + @Override + protected SubstatementValidator getSubstatementValidator() { + return SUBSTATEMENT_VALIDATOR; } } diff --git a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/UnitsStatementImpl.java b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/UnitsStatementImpl.java index 6b81d0cd70..962a163efe 100644 --- a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/UnitsStatementImpl.java +++ b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/UnitsStatementImpl.java @@ -56,7 +56,12 @@ public class UnitsStatementImpl extends AbstractDeclaredStatement public void onFullDefinitionDeclared(StmtContext.Mutable> stmt) { super.onFullDefinitionDeclared(stmt); - SUBSTATEMENT_VALIDATOR.validate(stmt); + getSubstatementValidator().validate(stmt); + } + + @Override + protected SubstatementValidator getSubstatementValidator() { + return SUBSTATEMENT_VALIDATOR; } } diff --git a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/UnknownStatementImpl.java b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/UnknownStatementImpl.java index 341b915e31..47e74fc207 100644 --- a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/UnknownStatementImpl.java +++ b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/UnknownStatementImpl.java @@ -11,6 +11,7 @@ import javax.annotation.Nullable; import org.opendaylight.yangtools.yang.model.api.meta.EffectiveStatement; import org.opendaylight.yangtools.yang.model.api.meta.StatementDefinition; import org.opendaylight.yangtools.yang.model.api.stmt.UnknownStatement; +import org.opendaylight.yangtools.yang.parser.spi.SubstatementValidator; import org.opendaylight.yangtools.yang.parser.spi.meta.AbstractDeclaredStatement; import org.opendaylight.yangtools.yang.parser.spi.meta.AbstractStatementSupport; import org.opendaylight.yangtools.yang.parser.spi.meta.StmtContext; @@ -44,6 +45,11 @@ public class UnknownStatementImpl extends AbstractDeclaredStatement impl final StmtContext, EffectiveStatement>> ctx) { return new UnknownEffectiveStatementImpl(ctx); } + + @Override + protected SubstatementValidator getSubstatementValidator() { + return null; + } } @Nullable diff --git a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/UsesStatementImpl.java b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/UsesStatementImpl.java index fb77a237af..61860be3d3 100644 --- a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/UsesStatementImpl.java +++ b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/UsesStatementImpl.java @@ -87,13 +87,13 @@ public class UsesStatementImpl extends AbstractDeclaredStatement implemen return; } - SUBSTATEMENT_VALIDATOR.validate(usesNode); + getSubstatementValidator().validate(usesNode); if (StmtContextUtils.isInExtensionBody(usesNode)) { return; } - ModelActionBuilder usesAction = usesNode.newInferenceAction(ModelProcessingPhase.EFFECTIVE_MODEL); + final ModelActionBuilder usesAction = usesNode.newInferenceAction(ModelProcessingPhase.EFFECTIVE_MODEL); final QName groupingName = usesNode.getStatementArgument(); final Prerequisite> sourceGroupingPre = usesAction.requiresCtx(usesNode, @@ -105,13 +105,13 @@ public class UsesStatementImpl extends AbstractDeclaredStatement implemen @Override public void apply() { - StatementContextBase targetNodeStmtCtx = (StatementContextBase) targetNodePre.get(); - StatementContextBase sourceGrpStmtCtx = (StatementContextBase) sourceGroupingPre.get(); + final StatementContextBase targetNodeStmtCtx = (StatementContextBase) targetNodePre.get(); + final StatementContextBase sourceGrpStmtCtx = (StatementContextBase) sourceGroupingPre.get(); try { copyFromSourceToTarget(sourceGrpStmtCtx, targetNodeStmtCtx, usesNode); resolveUsesNode(usesNode, targetNodeStmtCtx); - } catch (SourceException e) { + } catch (final SourceException e) { LOG.warn(e.getMessage(), e); throw e; } @@ -137,6 +137,11 @@ public class UsesStatementImpl extends AbstractDeclaredStatement implemen return new UsesEffectiveStatementImpl(ctx); } + @Override + protected SubstatementValidator getSubstatementValidator() { + return SUBSTATEMENT_VALIDATOR; + } + } @Nonnull diff --git a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/ValueStatementImpl.java b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/ValueStatementImpl.java index 82a470a823..63fee4c3bc 100644 --- a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/ValueStatementImpl.java +++ b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/ValueStatementImpl.java @@ -62,7 +62,12 @@ public class ValueStatementImpl extends AbstractDeclaredStatement imple public void onFullDefinitionDeclared( final StmtContext.Mutable> stmt) { super.onFullDefinitionDeclared(stmt); - SUBSTATEMENT_VALIDATOR.validate(stmt); + getSubstatementValidator().validate(stmt); + } + + @Override + protected SubstatementValidator getSubstatementValidator() { + return SUBSTATEMENT_VALIDATOR; } } diff --git a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/WhenStatementImpl.java b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/WhenStatementImpl.java index 4ecac6d7f9..553127e606 100644 --- a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/WhenStatementImpl.java +++ b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/WhenStatementImpl.java @@ -59,7 +59,12 @@ public class WhenStatementImpl extends AbstractDeclaredStatement> stmt) { super.onFullDefinitionDeclared(stmt); - SUBSTATEMENT_VALIDATOR.validate(stmt); + getSubstatementValidator().validate(stmt); + } + + @Override + protected SubstatementValidator getSubstatementValidator() { + return SUBSTATEMENT_VALIDATOR; } } diff --git a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/YangVersionStatementImpl.java b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/YangVersionStatementImpl.java index 2da245bcc6..3662667cb9 100644 --- a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/YangVersionStatementImpl.java +++ b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/YangVersionStatementImpl.java @@ -65,7 +65,12 @@ public class YangVersionStatementImpl extends AbstractDeclaredStatement> stmt) { super.onFullDefinitionDeclared(stmt); - SUBSTATEMENT_VALIDATOR.validate(stmt); + getSubstatementValidator().validate(stmt); + } + + @Override + protected SubstatementValidator getSubstatementValidator() { + return SUBSTATEMENT_VALIDATOR; } } diff --git a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/YinElementStatementImpl.java b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/YinElementStatementImpl.java index a194a26c94..8ebf9361a8 100644 --- a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/YinElementStatementImpl.java +++ b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/YinElementStatementImpl.java @@ -52,7 +52,12 @@ public class YinElementStatementImpl extends AbstractDeclaredStatement public void onFullDefinitionDeclared(final StmtContext.Mutable> stmt) { super.onFullDefinitionDeclared(stmt); - SUBSTATEMENT_VALIDATOR.validate(stmt); + getSubstatementValidator().validate(stmt); + } + + @Override + protected SubstatementValidator getSubstatementValidator() { + return SUBSTATEMENT_VALIDATOR; } } diff --git a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc7950/AnydataStatementImpl.java b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc7950/AnydataStatementImpl.java index ab55a1e189..b91731990d 100644 --- a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc7950/AnydataStatementImpl.java +++ b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc7950/AnydataStatementImpl.java @@ -80,7 +80,12 @@ public class AnydataStatementImpl extends AbstractDeclaredStatement imple public void onFullDefinitionDeclared(final Mutable> stmt) { super.onFullDefinitionDeclared(stmt); - SUBSTATEMENT_VALIDATOR.validate(stmt); + getSubstatementValidator().validate(stmt); + } + + @Override + protected SubstatementValidator getSubstatementValidator() { + return SUBSTATEMENT_VALIDATOR; } } diff --git a/yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/thirdparty/plugin/ThirdPartyExtensionStatementImpl.java b/yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/thirdparty/plugin/ThirdPartyExtensionStatementImpl.java index 2636da86e7..cd94be8f0e 100644 --- a/yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/thirdparty/plugin/ThirdPartyExtensionStatementImpl.java +++ b/yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/thirdparty/plugin/ThirdPartyExtensionStatementImpl.java @@ -9,6 +9,7 @@ package org.opendaylight.yangtools.yang.thirdparty.plugin; import org.opendaylight.yangtools.yang.model.api.meta.EffectiveStatement; import org.opendaylight.yangtools.yang.model.api.stmt.UnknownStatement; +import org.opendaylight.yangtools.yang.parser.spi.SubstatementValidator; import org.opendaylight.yangtools.yang.parser.spi.meta.AbstractDeclaredStatement; import org.opendaylight.yangtools.yang.parser.spi.meta.AbstractStatementSupport; import org.opendaylight.yangtools.yang.parser.spi.meta.StmtContext; @@ -50,6 +51,11 @@ public class ThirdPartyExtensionStatementImpl extends AbstractDeclaredStatement< final StmtContext, EffectiveStatement>> ctx) { return new ThirdPartyExtensionEffectiveStatementImpl(ctx); } + + @Override + protected SubstatementValidator getSubstatementValidator() { + return null; + } } @Override -- 2.36.6