From: Robert Varga Date: Fri, 23 Feb 2018 15:25:29 +0000 (+0100) Subject: Cleanup yang-parser-spi namespaces X-Git-Tag: v3.0.0~180 X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=commitdiff_plain;h=27a362e1331dcf85a52e7d6ba6390fe6a959f333;p=yangtools.git Cleanup yang-parser-spi namespaces Statement-related namespaces should use proper type capture, so that we get proper binding to effective statements. JIRA: YANGTOOLS-852 Change-Id: I0096410ad87dd76be6f6301935a426a82df85ece Signed-off-by: Robert Varga --- diff --git a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/UnknownEffectiveStatementBase.java b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/UnknownEffectiveStatementBase.java index 55e38c0933..487f0049e7 100644 --- a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/UnknownEffectiveStatementBase.java +++ b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/UnknownEffectiveStatementBase.java @@ -16,6 +16,7 @@ import org.opendaylight.yangtools.yang.common.QName; import org.opendaylight.yangtools.yang.model.api.ExtensionDefinition; import org.opendaylight.yangtools.yang.model.api.UnknownSchemaNode; import org.opendaylight.yangtools.yang.model.api.meta.EffectiveStatement; +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.UnknownStatement; import org.opendaylight.yangtools.yang.parser.spi.ExtensionNamespace; @@ -37,7 +38,7 @@ public abstract class UnknownEffectiveStatementBase ctx) { super(ctx); - final StmtContext> extensionInit = + final StmtContext extensionInit = ctx.getFromNamespace(ExtensionNamespace.class, ctx.getPublicDefinition().getStatementName()); if (extensionInit == null) { diff --git a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/identity/AbstractIdentityStatementSupport.java b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/identity/AbstractIdentityStatementSupport.java index c24bacef4a..b1037dbd21 100644 --- a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/identity/AbstractIdentityStatementSupport.java +++ b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/identity/AbstractIdentityStatementSupport.java @@ -9,15 +9,16 @@ package org.opendaylight.yangtools.yang.parser.rfc7950.stmt.identity; import org.opendaylight.yangtools.yang.common.QName; import org.opendaylight.yangtools.yang.model.api.YangStmtMapping; -import org.opendaylight.yangtools.yang.model.api.meta.EffectiveStatement; +import org.opendaylight.yangtools.yang.model.api.stmt.IdentityEffectiveStatement; import org.opendaylight.yangtools.yang.model.api.stmt.IdentityStatement; import org.opendaylight.yangtools.yang.parser.spi.IdentityNamespace; import org.opendaylight.yangtools.yang.parser.spi.meta.AbstractQNameStatementSupport; import org.opendaylight.yangtools.yang.parser.spi.meta.StmtContext; +import org.opendaylight.yangtools.yang.parser.spi.meta.StmtContext.Mutable; import org.opendaylight.yangtools.yang.parser.spi.meta.StmtContextUtils; abstract class AbstractIdentityStatementSupport - extends AbstractQNameStatementSupport> { + extends AbstractQNameStatementSupport { AbstractIdentityStatementSupport() { super(YangStmtMapping.IDENTITY); @@ -34,14 +35,14 @@ abstract class AbstractIdentityStatementSupport } @Override - public final EffectiveStatement createEffective( - final StmtContext> ctx) { + public final IdentityEffectiveStatement createEffective( + final StmtContext ctx) { return new IdentityEffectiveStatementImpl(ctx); } @Override - public final void onStatementDefinitionDeclared(final StmtContext.Mutable> stmt) { + public final void onStatementDefinitionDeclared( + final Mutable stmt) { stmt.addToNs(IdentityNamespace.class, stmt.coerceStatementArgument(), stmt); } -} \ No newline at end of file +} diff --git a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/identity/IdentityEffectiveStatementImpl.java b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/identity/IdentityEffectiveStatementImpl.java index 4b7d8bbf6c..fd555f8e5e 100644 --- a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/identity/IdentityEffectiveStatementImpl.java +++ b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/identity/IdentityEffectiveStatementImpl.java @@ -19,7 +19,6 @@ import java.util.Set; import org.eclipse.jdt.annotation.NonNull; import org.opendaylight.yangtools.yang.common.QName; import org.opendaylight.yangtools.yang.model.api.IdentitySchemaNode; -import org.opendaylight.yangtools.yang.model.api.meta.EffectiveStatement; import org.opendaylight.yangtools.yang.model.api.stmt.IdentityEffectiveStatement; import org.opendaylight.yangtools.yang.model.api.stmt.IdentityStatement; import org.opendaylight.yangtools.yang.parser.rfc7950.stmt.AbstractEffectiveSchemaNode; @@ -33,8 +32,7 @@ final class IdentityEffectiveStatementImpl extends AbstractEffectiveSchemaNode baseIdentities; private boolean sealed; - IdentityEffectiveStatementImpl( - final StmtContext> ctx) { + IdentityEffectiveStatementImpl(final StmtContext ctx) { super(ctx); this.baseIdentities = new HashSet<>(); diff --git a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/module/AbstractModuleStatementSupport.java b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/module/AbstractModuleStatementSupport.java index 6851219ac3..09d0ce8e67 100644 --- a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/module/AbstractModuleStatementSupport.java +++ b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/module/AbstractModuleStatementSupport.java @@ -15,7 +15,7 @@ import org.opendaylight.yangtools.concepts.SemVer; import org.opendaylight.yangtools.yang.common.QNameModule; import org.opendaylight.yangtools.yang.common.Revision; import org.opendaylight.yangtools.yang.model.api.YangStmtMapping; -import org.opendaylight.yangtools.yang.model.api.meta.EffectiveStatement; +import org.opendaylight.yangtools.yang.model.api.stmt.ModuleEffectiveStatement; import org.opendaylight.yangtools.yang.model.api.stmt.ModuleStatement; import org.opendaylight.yangtools.yang.model.api.stmt.NamespaceStatement; import org.opendaylight.yangtools.yang.model.api.stmt.PrefixStatement; @@ -42,8 +42,8 @@ import org.opendaylight.yangtools.yang.parser.spi.source.ModuleQNameToModuleName import org.opendaylight.yangtools.yang.parser.spi.source.PrefixToModule; import org.opendaylight.yangtools.yang.parser.spi.source.SourceException; -abstract class AbstractModuleStatementSupport extends - AbstractStatementSupport> { +abstract class AbstractModuleStatementSupport + extends AbstractStatementSupport { AbstractModuleStatementSupport() { super(YangStmtMapping.MODULE); } @@ -59,14 +59,13 @@ abstract class AbstractModuleStatementSupport extends } @Override - public final EffectiveStatement createEffective( - final StmtContext> ctx) { + public final ModuleEffectiveStatement createEffective( + final StmtContext ctx) { return new ModuleEffectiveStatementImpl(ctx); } @Override - public final void onPreLinkageDeclared(final Mutable> stmt) { + public final void onPreLinkageDeclared(final Mutable stmt) { final String moduleName = stmt.getStatementArgument(); final URI moduleNs = firstAttributeOf(stmt.declaredSubstatements(), NamespaceStatement.class); @@ -89,8 +88,7 @@ abstract class AbstractModuleStatementSupport extends } @Override - public final void onLinkageDeclared(final Mutable> stmt) { + public final void onLinkageDeclared(final Mutable stmt) { final Optional moduleNs = Optional.ofNullable(firstAttributeOf(stmt.declaredSubstatements(), NamespaceStatement.class)); @@ -99,7 +97,7 @@ abstract class AbstractModuleStatementSupport extends final Optional revisionDate = StmtContextUtils.getLatestRevision(stmt.declaredSubstatements()); final QNameModule qNameModule = QNameModule.create(moduleNs.get(), revisionDate.orElse(null)).intern(); - final StmtContext> possibleDuplicateModule = + final StmtContext possibleDuplicateModule = stmt.getFromNamespace(NamespaceToModule.class, qNameModule); if (possibleDuplicateModule != null && possibleDuplicateModule != stmt) { throw new SourceException(stmt.getStatementSourceReference(), "Module namespace collision: %s. At %s", @@ -130,7 +128,7 @@ abstract class AbstractModuleStatementSupport extends } private static void addToSemVerModuleNamespace( - final Mutable> stmt, + final Mutable stmt, final SourceIdentifier moduleIdentifier) { final String moduleName = stmt.coerceStatementArgument(); final SemVer moduleSemVer = stmt.getFromNamespace(SemanticVersionNamespace.class, stmt); diff --git a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/module/ModuleEffectiveStatementImpl.java b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/module/ModuleEffectiveStatementImpl.java index 22005a85d2..eb0810db85 100644 --- a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/module/ModuleEffectiveStatementImpl.java +++ b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/module/ModuleEffectiveStatementImpl.java @@ -19,7 +19,6 @@ import java.util.Optional; import org.eclipse.jdt.annotation.NonNull; import org.opendaylight.yangtools.yang.common.QName; import org.opendaylight.yangtools.yang.common.QNameModule; -import org.opendaylight.yangtools.yang.model.api.meta.EffectiveStatement; import org.opendaylight.yangtools.yang.model.api.meta.IdentifierNamespace; import org.opendaylight.yangtools.yang.model.api.stmt.ExtensionEffectiveStatement; import org.opendaylight.yangtools.yang.model.api.stmt.ExtensionEffectiveStatementNamespace; @@ -54,8 +53,7 @@ final class ModuleEffectiveStatementImpl extends AbstractEffectiveModule namespaceToPrefix; private final @NonNull QNameModule qnameModule; - ModuleEffectiveStatementImpl( - final StmtContext> ctx) { + ModuleEffectiveStatementImpl(final StmtContext ctx) { super(ctx); qnameModule = verifyNotNull(ctx.getFromNamespace(ModuleCtxToModuleQName.class, ctx)); @@ -86,21 +84,18 @@ final class ModuleEffectiveStatementImpl extends AbstractEffectiveModule (SubmoduleEffectiveStatement) submodule.buildEffective())); - final Map>> extensions = + final Map> extensions = ctx.getAllFromCurrentStmtCtxNamespace(ExtensionNamespace.class); qnameToExtension = extensions == null ? ImmutableMap.of() - : ImmutableMap.copyOf(Maps.transformValues(extensions, - stmt -> (ExtensionEffectiveStatement) stmt.buildEffective())); - final Map>> features = + : ImmutableMap.copyOf(Maps.transformValues(extensions, StmtContext::buildEffective)); + final Map> features = ctx.getAllFromCurrentStmtCtxNamespace(FeatureNamespace.class); qnameToFeature = features == null ? ImmutableMap.of() - : ImmutableMap.copyOf(Maps.transformValues(features, - stmt -> (FeatureEffectiveStatement) stmt.buildEffective())); - final Map>> identities = + : ImmutableMap.copyOf(Maps.transformValues(features, StmtContext::buildEffective)); + final Map> identities = ctx.getAllFromCurrentStmtCtxNamespace(IdentityNamespace.class); qnameToIdentity = identities == null ? ImmutableMap.of() - : ImmutableMap.copyOf(Maps.transformValues(identities, - stmt -> (IdentityEffectiveStatement) stmt.buildEffective())); + : ImmutableMap.copyOf(Maps.transformValues(identities, StmtContext::buildEffective)); } @Override diff --git a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/submodule/AbstractSubmoduleStatementSupport.java b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/submodule/AbstractSubmoduleStatementSupport.java index e248f5a0a6..db6523f8a2 100644 --- a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/submodule/AbstractSubmoduleStatementSupport.java +++ b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/submodule/AbstractSubmoduleStatementSupport.java @@ -11,9 +11,9 @@ import static org.opendaylight.yangtools.yang.parser.spi.meta.StmtContextUtils.f import static org.opendaylight.yangtools.yang.parser.spi.meta.StmtContextUtils.firstAttributeOf; import org.opendaylight.yangtools.yang.model.api.YangStmtMapping; -import org.opendaylight.yangtools.yang.model.api.meta.EffectiveStatement; import org.opendaylight.yangtools.yang.model.api.stmt.BelongsToStatement; import org.opendaylight.yangtools.yang.model.api.stmt.PrefixStatement; +import org.opendaylight.yangtools.yang.model.api.stmt.SubmoduleEffectiveStatement; import org.opendaylight.yangtools.yang.model.api.stmt.SubmoduleStatement; import org.opendaylight.yangtools.yang.model.repo.api.RevisionSourceIdentifier; import org.opendaylight.yangtools.yang.model.repo.api.SourceIdentifier; @@ -26,7 +26,7 @@ import org.opendaylight.yangtools.yang.parser.spi.source.BelongsToPrefixToModule import org.opendaylight.yangtools.yang.parser.spi.source.SourceException; abstract class AbstractSubmoduleStatementSupport - extends AbstractStatementSupport> { + extends AbstractStatementSupport { AbstractSubmoduleStatementSupport() { super(YangStmtMapping.SUBMODULE); } @@ -42,25 +42,24 @@ abstract class AbstractSubmoduleStatementSupport } @Override - public final EffectiveStatement createEffective( - final StmtContext> ctx) { + public final SubmoduleEffectiveStatement createEffective( + final StmtContext ctx) { return new SubmoduleEffectiveStatementImpl(ctx); } @Override public final void onPreLinkageDeclared( - final Mutable> stmt) { + final Mutable stmt) { stmt.setRootIdentifier(RevisionSourceIdentifier.create(stmt.getStatementArgument(), StmtContextUtils.getLatestRevision(stmt.declaredSubstatements()))); } @Override - public final void onLinkageDeclared( - final Mutable> stmt) { + public final void onLinkageDeclared(final Mutable stmt) { final SourceIdentifier submoduleIdentifier = RevisionSourceIdentifier.create(stmt.coerceStatementArgument(), StmtContextUtils.getLatestRevision(stmt.declaredSubstatements())); - final StmtContext> + final StmtContext possibleDuplicateSubmodule = stmt.getFromNamespace(SubmoduleNamespace.class, submoduleIdentifier); if (possibleDuplicateSubmodule != null && possibleDuplicateSubmodule != stmt) { throw new SourceException(stmt.getStatementSourceReference(), "Submodule name collision: %s. At %s", @@ -79,4 +78,4 @@ abstract class AbstractSubmoduleStatementSupport stmt.addToNs(BelongsToPrefixToModuleName.class, prefix, belongsToModuleName); } -} \ No newline at end of file +} diff --git a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/submodule/SubmoduleEffectiveStatementImpl.java b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/submodule/SubmoduleEffectiveStatementImpl.java index 9e58815309..a531553961 100644 --- a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/submodule/SubmoduleEffectiveStatementImpl.java +++ b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/submodule/SubmoduleEffectiveStatementImpl.java @@ -13,7 +13,6 @@ import java.util.Objects; import java.util.Optional; import org.opendaylight.yangtools.yang.common.QNameModule; import org.opendaylight.yangtools.yang.common.Revision; -import org.opendaylight.yangtools.yang.model.api.meta.EffectiveStatement; import org.opendaylight.yangtools.yang.model.api.stmt.BelongsToStatement; import org.opendaylight.yangtools.yang.model.api.stmt.RevisionEffectiveStatement; import org.opendaylight.yangtools.yang.model.api.stmt.SubmoduleEffectiveStatement; @@ -27,8 +26,7 @@ final class SubmoduleEffectiveStatementImpl extends AbstractEffectiveModule> ctx) { + SubmoduleEffectiveStatementImpl(final StmtContext ctx) { super(ctx); final String belongsToModuleName = firstAttributeOf(ctx.declaredSubstatements(), BelongsToStatement.class); diff --git a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/type/IdentityRefSpecificationEffectiveStatement.java b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/type/IdentityRefSpecificationEffectiveStatement.java index d1065b034b..a0e03346a9 100644 --- a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/type/IdentityRefSpecificationEffectiveStatement.java +++ b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/type/IdentityRefSpecificationEffectiveStatement.java @@ -13,6 +13,7 @@ import org.opendaylight.yangtools.yang.model.api.IdentitySchemaNode; import org.opendaylight.yangtools.yang.model.api.UnknownSchemaNode; import org.opendaylight.yangtools.yang.model.api.meta.EffectiveStatement; 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.TypeEffectiveStatement; import org.opendaylight.yangtools.yang.model.api.stmt.TypeStatement.IdentityRefSpecification; @@ -38,7 +39,7 @@ public final class IdentityRefSpecificationEffectiveStatement extends for (final EffectiveStatement stmt : effectiveSubstatements()) { if (stmt instanceof BaseEffectiveStatement) { final QName identityQName = ((BaseEffectiveStatement) stmt).argument(); - final StmtContext> identityCtx = + final StmtContext identityCtx = ctx.getFromNamespace(IdentityNamespace.class, identityQName); builder.addIdentity((IdentitySchemaNode) identityCtx.buildEffective()); } diff --git a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/uses/UsesEffectiveStatementImpl.java b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/uses/UsesEffectiveStatementImpl.java index 1a1c3a11e2..8ccf4fc0d2 100644 --- a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/uses/UsesEffectiveStatementImpl.java +++ b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/uses/UsesEffectiveStatementImpl.java @@ -28,6 +28,7 @@ import org.opendaylight.yangtools.yang.model.api.SchemaPath; import org.opendaylight.yangtools.yang.model.api.UnknownSchemaNode; import org.opendaylight.yangtools.yang.model.api.UsesNode; 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.api.stmt.SchemaNodeIdentifier; import org.opendaylight.yangtools.yang.model.api.stmt.UsesEffectiveStatement; @@ -52,7 +53,7 @@ final class UsesEffectiveStatementImpl extends AbstractEffectiveDocumentedNode> grpCtx = + final StmtContext grpCtx = ctx.getFromNamespace(GroupingNamespace.class, ctx.coerceStatementArgument()); this.groupingPath = grpCtx.getSchemaPath().get(); diff --git a/yang/yang-parser-spi/src/main/java/org/opendaylight/yangtools/yang/parser/spi/ExtensionNamespace.java b/yang/yang-parser-spi/src/main/java/org/opendaylight/yangtools/yang/parser/spi/ExtensionNamespace.java index 4ca6d75106..6bd2bd2e34 100644 --- a/yang/yang-parser-spi/src/main/java/org/opendaylight/yangtools/yang/parser/spi/ExtensionNamespace.java +++ b/yang/yang-parser-spi/src/main/java/org/opendaylight/yangtools/yang/parser/spi/ExtensionNamespace.java @@ -9,7 +9,7 @@ package org.opendaylight.yangtools.yang.parser.spi; import org.eclipse.jdt.annotation.NonNull; import org.opendaylight.yangtools.yang.common.QName; -import org.opendaylight.yangtools.yang.model.api.meta.EffectiveStatement; +import org.opendaylight.yangtools.yang.model.api.stmt.ExtensionEffectiveStatement; import org.opendaylight.yangtools.yang.model.api.stmt.ExtensionStatement; import org.opendaylight.yangtools.yang.parser.spi.meta.NamespaceBehaviour; import org.opendaylight.yangtools.yang.parser.spi.meta.StatementNamespace; @@ -20,9 +20,8 @@ import org.opendaylight.yangtools.yang.parser.spi.meta.StmtContext; * extension identifier namespace, where each extension is identified by a QName formed from the * defining module's QNameModule and the identifier specified in extension statement's argument. */ -public interface ExtensionNamespace - extends StatementNamespace> { - NamespaceBehaviour>, +public interface ExtensionNamespace extends StatementNamespace { + NamespaceBehaviour, @NonNull ExtensionNamespace> BEHAVIOUR = NamespaceBehaviour.global(ExtensionNamespace.class); } diff --git a/yang/yang-parser-spi/src/main/java/org/opendaylight/yangtools/yang/parser/spi/FeatureNamespace.java b/yang/yang-parser-spi/src/main/java/org/opendaylight/yangtools/yang/parser/spi/FeatureNamespace.java index 7a56e9d19d..2114d93b3c 100644 --- a/yang/yang-parser-spi/src/main/java/org/opendaylight/yangtools/yang/parser/spi/FeatureNamespace.java +++ b/yang/yang-parser-spi/src/main/java/org/opendaylight/yangtools/yang/parser/spi/FeatureNamespace.java @@ -8,7 +8,7 @@ package org.opendaylight.yangtools.yang.parser.spi; import org.opendaylight.yangtools.yang.common.QName; -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.parser.spi.meta.StatementNamespace; @@ -17,7 +17,6 @@ import org.opendaylight.yangtools.yang.parser.spi.meta.StatementNamespace; * same feature identifier namespace. Each feature is identified by a QName formed from * the defining module's QNameModule and the feature name. */ -public interface FeatureNamespace - extends StatementNamespace> { +public interface FeatureNamespace extends StatementNamespace { } diff --git a/yang/yang-parser-spi/src/main/java/org/opendaylight/yangtools/yang/parser/spi/GroupingNamespace.java b/yang/yang-parser-spi/src/main/java/org/opendaylight/yangtools/yang/parser/spi/GroupingNamespace.java index 94c762297e..c407ef9ed6 100644 --- a/yang/yang-parser-spi/src/main/java/org/opendaylight/yangtools/yang/parser/spi/GroupingNamespace.java +++ b/yang/yang-parser-spi/src/main/java/org/opendaylight/yangtools/yang/parser/spi/GroupingNamespace.java @@ -9,7 +9,7 @@ package org.opendaylight.yangtools.yang.parser.spi; import org.eclipse.jdt.annotation.NonNull; import org.opendaylight.yangtools.yang.common.QName; -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.parser.spi.meta.NamespaceBehaviour; import org.opendaylight.yangtools.yang.parser.spi.meta.StatementNamespace.TreeScoped; @@ -23,9 +23,8 @@ import org.opendaylight.yangtools.yang.parser.spi.meta.StmtContext; *

* This means that any descendant node may use that grouping, and it MUST NOT define a grouping with the same name. */ -public interface GroupingNamespace - extends TreeScoped> { - NamespaceBehaviour>, +public interface GroupingNamespace extends TreeScoped { + NamespaceBehaviour, @NonNull GroupingNamespace> BEHAVIOUR = NamespaceBehaviour.treeScoped(GroupingNamespace.class); } diff --git a/yang/yang-parser-spi/src/main/java/org/opendaylight/yangtools/yang/parser/spi/IdentityNamespace.java b/yang/yang-parser-spi/src/main/java/org/opendaylight/yangtools/yang/parser/spi/IdentityNamespace.java index fc4e79781e..b092406658 100644 --- a/yang/yang-parser-spi/src/main/java/org/opendaylight/yangtools/yang/parser/spi/IdentityNamespace.java +++ b/yang/yang-parser-spi/src/main/java/org/opendaylight/yangtools/yang/parser/spi/IdentityNamespace.java @@ -9,7 +9,7 @@ package org.opendaylight.yangtools.yang.parser.spi; import org.eclipse.jdt.annotation.NonNull; import org.opendaylight.yangtools.yang.common.QName; -import org.opendaylight.yangtools.yang.model.api.meta.EffectiveStatement; +import org.opendaylight.yangtools.yang.model.api.stmt.IdentityEffectiveStatement; import org.opendaylight.yangtools.yang.model.api.stmt.IdentityStatement; import org.opendaylight.yangtools.yang.parser.spi.meta.NamespaceBehaviour; import org.opendaylight.yangtools.yang.parser.spi.meta.StatementNamespace; @@ -20,8 +20,8 @@ import org.opendaylight.yangtools.yang.parser.spi.meta.StmtContext; * namespace. */ public interface IdentityNamespace extends - StatementNamespace> { - NamespaceBehaviour>, + StatementNamespace { + NamespaceBehaviour, @NonNull IdentityNamespace> BEHAVIOUR = NamespaceBehaviour.global(IdentityNamespace.class); } diff --git a/yang/yang-parser-spi/src/main/java/org/opendaylight/yangtools/yang/parser/spi/ModuleNamespace.java b/yang/yang-parser-spi/src/main/java/org/opendaylight/yangtools/yang/parser/spi/ModuleNamespace.java index ca10a802be..9788fde789 100644 --- a/yang/yang-parser-spi/src/main/java/org/opendaylight/yangtools/yang/parser/spi/ModuleNamespace.java +++ b/yang/yang-parser-spi/src/main/java/org/opendaylight/yangtools/yang/parser/spi/ModuleNamespace.java @@ -8,7 +8,7 @@ package org.opendaylight.yangtools.yang.parser.spi; import org.eclipse.jdt.annotation.NonNull; -import org.opendaylight.yangtools.yang.model.api.meta.EffectiveStatement; +import org.opendaylight.yangtools.yang.model.api.stmt.ModuleEffectiveStatement; import org.opendaylight.yangtools.yang.model.api.stmt.ModuleStatement; import org.opendaylight.yangtools.yang.model.repo.api.SourceIdentifier; import org.opendaylight.yangtools.yang.parser.spi.meta.NamespaceBehaviour; @@ -19,8 +19,8 @@ import org.opendaylight.yangtools.yang.parser.spi.meta.StmtContext; * Module namespace. All modules known to the reactor are populated to this namespace. Each module is identified * by a {@link SourceIdentifier}. */ -public interface ModuleNamespace extends - StatementNamespace> { - NamespaceBehaviour>, +public interface ModuleNamespace + extends StatementNamespace { + NamespaceBehaviour, @NonNull ModuleNamespace> BEHAVIOUR = NamespaceBehaviour.global(ModuleNamespace.class); } diff --git a/yang/yang-parser-spi/src/main/java/org/opendaylight/yangtools/yang/parser/spi/NamespaceToModule.java b/yang/yang-parser-spi/src/main/java/org/opendaylight/yangtools/yang/parser/spi/NamespaceToModule.java index b0f0433f9f..dc81edf388 100644 --- a/yang/yang-parser-spi/src/main/java/org/opendaylight/yangtools/yang/parser/spi/NamespaceToModule.java +++ b/yang/yang-parser-spi/src/main/java/org/opendaylight/yangtools/yang/parser/spi/NamespaceToModule.java @@ -9,7 +9,7 @@ package org.opendaylight.yangtools.yang.parser.spi; import org.eclipse.jdt.annotation.NonNull; import org.opendaylight.yangtools.yang.common.QNameModule; -import org.opendaylight.yangtools.yang.model.api.meta.EffectiveStatement; +import org.opendaylight.yangtools.yang.model.api.stmt.ModuleEffectiveStatement; import org.opendaylight.yangtools.yang.model.api.stmt.ModuleStatement; import org.opendaylight.yangtools.yang.parser.spi.meta.NamespaceBehaviour; import org.opendaylight.yangtools.yang.parser.spi.meta.StatementNamespace; @@ -18,8 +18,7 @@ import org.opendaylight.yangtools.yang.parser.spi.meta.StmtContext; /** * A derived namespace allowing lookup of modules based on their {@link QNameModule}. */ -public interface NamespaceToModule - extends StatementNamespace> { - NamespaceBehaviour>, +public interface NamespaceToModule extends StatementNamespace { + NamespaceBehaviour, @NonNull NamespaceToModule> BEHAVIOUR = NamespaceBehaviour.global(NamespaceToModule.class); } diff --git a/yang/yang-parser-spi/src/main/java/org/opendaylight/yangtools/yang/parser/spi/PreLinkageModuleNamespace.java b/yang/yang-parser-spi/src/main/java/org/opendaylight/yangtools/yang/parser/spi/PreLinkageModuleNamespace.java index 177e5bcaba..3eb1278a8a 100644 --- a/yang/yang-parser-spi/src/main/java/org/opendaylight/yangtools/yang/parser/spi/PreLinkageModuleNamespace.java +++ b/yang/yang-parser-spi/src/main/java/org/opendaylight/yangtools/yang/parser/spi/PreLinkageModuleNamespace.java @@ -8,7 +8,7 @@ package org.opendaylight.yangtools.yang.parser.spi; import org.eclipse.jdt.annotation.NonNull; -import org.opendaylight.yangtools.yang.model.api.meta.EffectiveStatement; +import org.opendaylight.yangtools.yang.model.api.stmt.ModuleEffectiveStatement; import org.opendaylight.yangtools.yang.model.api.stmt.ModuleStatement; import org.opendaylight.yangtools.yang.parser.spi.meta.NamespaceBehaviour; import org.opendaylight.yangtools.yang.parser.spi.meta.StatementNamespace; @@ -18,9 +18,9 @@ import org.opendaylight.yangtools.yang.parser.spi.meta.StmtContext; * Intermediate-stage namespace equivalent to ModuleNamespace except it is keyed by module names. This namespace is * used to resolve inter-module references before actual linkage occurs. */ -public interface PreLinkageModuleNamespace extends - StatementNamespace> { - NamespaceBehaviour>, +public interface PreLinkageModuleNamespace + extends StatementNamespace { + NamespaceBehaviour, @NonNull PreLinkageModuleNamespace> BEHAVIOUR = NamespaceBehaviour.global(PreLinkageModuleNamespace.class); } diff --git a/yang/yang-parser-spi/src/main/java/org/opendaylight/yangtools/yang/parser/spi/SubmoduleNamespace.java b/yang/yang-parser-spi/src/main/java/org/opendaylight/yangtools/yang/parser/spi/SubmoduleNamespace.java index cce756d4a6..0fbb318c9d 100644 --- a/yang/yang-parser-spi/src/main/java/org/opendaylight/yangtools/yang/parser/spi/SubmoduleNamespace.java +++ b/yang/yang-parser-spi/src/main/java/org/opendaylight/yangtools/yang/parser/spi/SubmoduleNamespace.java @@ -8,7 +8,7 @@ package org.opendaylight.yangtools.yang.parser.spi; import org.eclipse.jdt.annotation.NonNull; -import org.opendaylight.yangtools.yang.model.api.meta.EffectiveStatement; +import org.opendaylight.yangtools.yang.model.api.stmt.SubmoduleEffectiveStatement; import org.opendaylight.yangtools.yang.model.api.stmt.SubmoduleStatement; import org.opendaylight.yangtools.yang.model.repo.api.SourceIdentifier; import org.opendaylight.yangtools.yang.parser.spi.meta.NamespaceBehaviour; @@ -20,8 +20,8 @@ import org.opendaylight.yangtools.yang.parser.spi.meta.StmtContext; */ // FIXME: describe scoping of this namespace public interface SubmoduleNamespace - extends StatementNamespace> { - NamespaceBehaviour>, @NonNull SubmoduleNamespace> BEHAVIOUR = + extends StatementNamespace { + NamespaceBehaviour, + @NonNull SubmoduleNamespace> BEHAVIOUR = NamespaceBehaviour.global(SubmoduleNamespace.class); } diff --git a/yang/yang-parser-spi/src/main/java/org/opendaylight/yangtools/yang/parser/spi/meta/SemanticVersionModuleNamespace.java b/yang/yang-parser-spi/src/main/java/org/opendaylight/yangtools/yang/parser/spi/meta/SemanticVersionModuleNamespace.java index b3348c5250..57eab17327 100644 --- a/yang/yang-parser-spi/src/main/java/org/opendaylight/yangtools/yang/parser/spi/meta/SemanticVersionModuleNamespace.java +++ b/yang/yang-parser-spi/src/main/java/org/opendaylight/yangtools/yang/parser/spi/meta/SemanticVersionModuleNamespace.java @@ -9,7 +9,7 @@ package org.opendaylight.yangtools.yang.parser.spi.meta; import com.google.common.annotations.Beta; import org.eclipse.jdt.annotation.NonNull; -import org.opendaylight.yangtools.yang.model.api.meta.EffectiveStatement; +import org.opendaylight.yangtools.yang.model.api.stmt.ModuleEffectiveStatement; import org.opendaylight.yangtools.yang.model.api.stmt.ModuleStatement; import org.opendaylight.yangtools.yang.model.repo.api.SemVerSourceIdentifier; @@ -19,9 +19,9 @@ import org.opendaylight.yangtools.yang.model.repo.api.SemVerSourceIdentifier; */ @Beta public interface SemanticVersionModuleNamespace - extends StatementNamespace> { - NamespaceBehaviour>, @NonNull SemanticVersionModuleNamespace> BEHAVIOUR = + extends StatementNamespace { + NamespaceBehaviour, + @NonNull SemanticVersionModuleNamespace> BEHAVIOUR = NamespaceBehaviour.global(SemanticVersionModuleNamespace.class); } diff --git a/yang/yang-parser-spi/src/main/java/org/opendaylight/yangtools/yang/parser/spi/source/ModuleNamespaceForBelongsTo.java b/yang/yang-parser-spi/src/main/java/org/opendaylight/yangtools/yang/parser/spi/source/ModuleNamespaceForBelongsTo.java index d55d2fad65..9a520dde98 100644 --- a/yang/yang-parser-spi/src/main/java/org/opendaylight/yangtools/yang/parser/spi/source/ModuleNamespaceForBelongsTo.java +++ b/yang/yang-parser-spi/src/main/java/org/opendaylight/yangtools/yang/parser/spi/source/ModuleNamespaceForBelongsTo.java @@ -8,7 +8,7 @@ package org.opendaylight.yangtools.yang.parser.spi.source; import org.eclipse.jdt.annotation.NonNull; -import org.opendaylight.yangtools.yang.model.api.meta.EffectiveStatement; +import org.opendaylight.yangtools.yang.model.api.stmt.ModuleEffectiveStatement; import org.opendaylight.yangtools.yang.model.api.stmt.ModuleStatement; import org.opendaylight.yangtools.yang.parser.spi.meta.NamespaceBehaviour; import org.opendaylight.yangtools.yang.parser.spi.meta.StatementNamespace; @@ -18,9 +18,8 @@ import org.opendaylight.yangtools.yang.parser.spi.meta.StmtContext; * namespace class similar to {@link org.opendaylight.yangtools.yang.parser.spi.ModuleNamespace} for storing modules * into Yang model storage but keyed by plain name. */ -public interface ModuleNamespaceForBelongsTo extends - StatementNamespace> { - NamespaceBehaviour>, - @NonNull ModuleNamespaceForBelongsTo> BEHAVIOUR = NamespaceBehaviour.global( - ModuleNamespaceForBelongsTo.class); +public interface ModuleNamespaceForBelongsTo + extends StatementNamespace { + NamespaceBehaviour, + @NonNull ModuleNamespaceForBelongsTo> BEHAVIOUR = NamespaceBehaviour.global(ModuleNamespaceForBelongsTo.class); }