From: Robert Varga Date: Wed, 2 Mar 2022 13:43:48 +0000 (+0100) Subject: Rename {Data,Schema}TreeAwareEffectiveStatement.Namespace X-Git-Tag: v8.0.0~13 X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=commitdiff_plain;h=refs%2Fchanges%2F34%2F99934%2F2;p=yangtools.git Rename {Data,Schema}TreeAwareEffectiveStatement.Namespace These two namespaces are related and are often used together, yet their naming gets into way. Rename them to {Data,Schema}TreeNamespace and adjust users. Change-Id: I1978bb31cb19856ba10006f0c891f8c16c694292 Signed-off-by: Robert Varga --- diff --git a/codec/yang-data-codec-gson/src/main/java/org/opendaylight/yangtools/yang/data/codec/gson/JSONCodecFactorySupplier.java b/codec/yang-data-codec-gson/src/main/java/org/opendaylight/yangtools/yang/data/codec/gson/JSONCodecFactorySupplier.java index 8744651ab9..abe389fd08 100644 --- a/codec/yang-data-codec-gson/src/main/java/org/opendaylight/yangtools/yang/data/codec/gson/JSONCodecFactorySupplier.java +++ b/codec/yang-data-codec-gson/src/main/java/org/opendaylight/yangtools/yang/data/codec/gson/JSONCodecFactorySupplier.java @@ -26,7 +26,7 @@ import org.opendaylight.yangtools.yang.data.util.codec.SharedCodecCache; import org.opendaylight.yangtools.yang.model.api.EffectiveModelContext; import org.opendaylight.yangtools.yang.model.api.TypedDataSchemaNode; import org.opendaylight.yangtools.yang.model.api.stmt.DataTreeAwareEffectiveStatement; -import org.opendaylight.yangtools.yang.model.api.stmt.DataTreeAwareEffectiveStatement.Namespace; +import org.opendaylight.yangtools.yang.model.api.stmt.DataTreeAwareEffectiveStatement.DataTreeNamespace; import org.opendaylight.yangtools.yang.model.api.stmt.ModuleEffectiveStatement; import org.opendaylight.yangtools.yang.model.util.SchemaInferenceStack; import org.slf4j.Logger; @@ -91,7 +91,7 @@ public enum JSONCodecFactorySupplier { private static int codecsForChildren(final JSONCodecFactory lazy, final SchemaInferenceStack stack, final DataTreeAwareEffectiveStatement parent) { int ret = 0; - for (var entry : parent.getAll(Namespace.class).entrySet()) { + for (var entry : parent.getAll(DataTreeNamespace.class).entrySet()) { final var child = entry.getValue(); if (child instanceof DataTreeAwareEffectiveStatement) { stack.enterDataTree(entry.getKey()); diff --git a/model/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/DataTreeAwareEffectiveStatement.java b/model/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/DataTreeAwareEffectiveStatement.java index 897dabb20e..1788a89afe 100644 --- a/model/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/DataTreeAwareEffectiveStatement.java +++ b/model/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/DataTreeAwareEffectiveStatement.java @@ -22,23 +22,22 @@ import org.opendaylight.yangtools.yang.model.api.meta.DeclaredStatement; * * @param Argument type * @param Class representing declared version of this statement. - * @author Robert Varga */ @Beta public interface DataTreeAwareEffectiveStatement> extends SchemaTreeAwareEffectiveStatement { /** - * Namespace of {@code data node}s. This is a subtree of {@link SchemaTreeAwareEffectiveStatement.Namespace} in that - * all data nodes are also schema nodes. The structure of the tree is different, though, as {@code choice} - * and {@code case} statements are glossed over and they do not contribute to the tree hierarchy -- only their - * children do. + * Namespace of {@code data node}s. This is a subtree of + * {@link SchemaTreeAwareEffectiveStatement.SchemaTreeNamespace} in that all data nodes are also schema nodes. The + * structure of the tree is different, though, as {@code choice} and {@code case} statements are glossed over and + * they do not contribute to the tree hierarchy -- only their children do. * *

* This corresponds to the {@code data tree} view of a YANG-defined data. */ @NonNullByDefault - abstract class Namespace extends EffectiveStatementNamespace> { - private Namespace() { + abstract class DataTreeNamespace extends EffectiveStatementNamespace> { + private DataTreeNamespace() { // Should never be instantiated } } @@ -51,7 +50,7 @@ public interface DataTreeAwareEffectiveStatement> findDataTreeNode(final @NonNull QName qname) { - return get(Namespace.class, requireNonNull(qname)); + return get(DataTreeNamespace.class, requireNonNull(qname)); } /** diff --git a/model/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/DataTreeEffectiveStatement.java b/model/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/DataTreeEffectiveStatement.java index a55fa808f5..c10e649556 100644 --- a/model/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/DataTreeEffectiveStatement.java +++ b/model/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/DataTreeEffectiveStatement.java @@ -15,7 +15,7 @@ import org.opendaylight.yangtools.yang.model.api.meta.EffectiveStatement; /** * Common interface grouping all {@link EffectiveStatement}s which are accessible via - * {@link DataTreeAwareEffectiveStatement.Namespace}. This such statement corresponds to a {@code data node}. + * {@link DataTreeAwareEffectiveStatement.DataTreeNamespace}. This such statement corresponds to a {@code data node}. * *

* This interface could be named {@code SchemaNodeEffectiveStatement}, but that could induce a notion that it has @@ -24,7 +24,6 @@ import org.opendaylight.yangtools.yang.model.api.meta.EffectiveStatement; * always be preferred and DataSchemaNode is to be treated as deprecated whenever possible. * * @param Declared statement type - * @author Robert Varga */ @Beta public interface DataTreeEffectiveStatement> diff --git a/model/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/SchemaTreeAwareEffectiveStatement.java b/model/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/SchemaTreeAwareEffectiveStatement.java index f110b808bb..1dbdf05cd3 100644 --- a/model/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/SchemaTreeAwareEffectiveStatement.java +++ b/model/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/SchemaTreeAwareEffectiveStatement.java @@ -37,8 +37,8 @@ public interface SchemaTreeAwareEffectiveStatement> { - private Namespace() { + abstract class SchemaTreeNamespace extends EffectiveStatementNamespace> { + private SchemaTreeNamespace() { // Should never be instantiated } } @@ -51,7 +51,7 @@ public interface SchemaTreeAwareEffectiveStatement> findSchemaTreeNode(final @NonNull QName qname) { - return get(Namespace.class, requireNonNull(qname)); + return get(SchemaTreeNamespace.class, requireNonNull(qname)); } /** diff --git a/model/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/SchemaTreeEffectiveStatement.java b/model/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/SchemaTreeEffectiveStatement.java index 9468c2b7ac..fb3a28c93e 100644 --- a/model/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/SchemaTreeEffectiveStatement.java +++ b/model/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/SchemaTreeEffectiveStatement.java @@ -15,7 +15,8 @@ import org.opendaylight.yangtools.yang.model.api.meta.EffectiveStatement; /** * Common interface grouping all {@link EffectiveStatement}s which are accessible via - * {@link SchemaTreeAwareEffectiveStatement.Namespace}. This such statement corresponds to a {@code schema node}. + * {@link SchemaTreeAwareEffectiveStatement.SchemaTreeNamespace}. This such statement corresponds to a + * {@code schema node}. * *

* This interface could be named {@code SchemaNodeEffectiveStatement}, but that could induce a notion that it has @@ -24,7 +25,6 @@ import org.opendaylight.yangtools.yang.model.api.meta.EffectiveStatement; * always be preferred and SchemaNode is to be treated as deprecated whenever possible. * * @param Declared statement type - * @author Robert Varga */ @Beta public interface SchemaTreeEffectiveStatement> diff --git a/model/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/compat/ActionNodeContainerCompat.java b/model/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/compat/ActionNodeContainerCompat.java index 4626c389e4..08bbeefc16 100644 --- a/model/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/compat/ActionNodeContainerCompat.java +++ b/model/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/compat/ActionNodeContainerCompat.java @@ -28,7 +28,7 @@ public interface ActionNodeContainerCompat, default Optional findAction(final QName qname) { // 'action' identifier must never collide with another element, hence if we look it up and it ends up being // an ActionDefinition, we have found a match. - return get(Namespace.class, qname) + return get(SchemaTreeNamespace.class, qname) .flatMap(child -> child instanceof ActionDefinition ? Optional.of((ActionDefinition) child) : Optional.empty()); } diff --git a/model/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/compat/NotificationNodeContainerCompat.java b/model/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/compat/NotificationNodeContainerCompat.java index 7d98318cfe..dd1d181d4f 100644 --- a/model/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/compat/NotificationNodeContainerCompat.java +++ b/model/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/compat/NotificationNodeContainerCompat.java @@ -28,7 +28,7 @@ public interface NotificationNodeContainerCompat findNotification(final QName qname) { // 'notification' identifier must never collide with another element, hence if we look it up and it ends up // being an NotificationDefinition, we have found a match. - return get(Namespace.class, qname) + return get(SchemaTreeNamespace.class, qname) .flatMap(child -> child instanceof NotificationDefinition ? Optional.of((NotificationDefinition) child) : Optional.empty()); } diff --git a/model/yang-model-spi/src/main/java/org/opendaylight/yangtools/yang/model/spi/meta/AbstractDeclaredEffectiveStatement.java b/model/yang-model-spi/src/main/java/org/opendaylight/yangtools/yang/model/spi/meta/AbstractDeclaredEffectiveStatement.java index 92ab46c4fe..f6c1c7a5aa 100644 --- a/model/yang-model-spi/src/main/java/org/opendaylight/yangtools/yang/model/spi/meta/AbstractDeclaredEffectiveStatement.java +++ b/model/yang-model-spi/src/main/java/org/opendaylight/yangtools/yang/model/spi/meta/AbstractDeclaredEffectiveStatement.java @@ -24,8 +24,10 @@ 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.IdentifierNamespace; import org.opendaylight.yangtools.yang.model.api.stmt.DataTreeAwareEffectiveStatement; +import org.opendaylight.yangtools.yang.model.api.stmt.DataTreeAwareEffectiveStatement.DataTreeNamespace; import org.opendaylight.yangtools.yang.model.api.stmt.DataTreeEffectiveStatement; import org.opendaylight.yangtools.yang.model.api.stmt.SchemaTreeAwareEffectiveStatement; +import org.opendaylight.yangtools.yang.model.api.stmt.SchemaTreeAwareEffectiveStatement.SchemaTreeNamespace; import org.opendaylight.yangtools.yang.model.api.stmt.SchemaTreeEffectiveStatement; import org.opendaylight.yangtools.yang.model.api.stmt.TypedefNamespace; @@ -60,7 +62,7 @@ public abstract class AbstractDeclaredEffectiveStatement> Optional> getNamespaceContents( final Class namespace) { - if (SchemaTreeAwareEffectiveStatement.Namespace.class.equals(namespace)) { + if (SchemaTreeNamespace.class.equals(namespace)) { return Optional.of((Map) schemaTreeNamespace()); } return super.getNamespaceContents(namespace); @@ -91,7 +93,7 @@ public abstract class AbstractDeclaredEffectiveStatement> Optional> getNamespaceContents( final Class namespace) { - if (DataTreeAwareEffectiveStatement.Namespace.class.equals(namespace)) { + if (DataTreeNamespace.class.equals(namespace)) { return Optional.of((Map) dataTreeNamespace()); } return super.getNamespaceContents(namespace); diff --git a/model/yang-model-spi/src/main/java/org/opendaylight/yangtools/yang/model/spi/meta/AbstractUndeclaredEffectiveStatement.java b/model/yang-model-spi/src/main/java/org/opendaylight/yangtools/yang/model/spi/meta/AbstractUndeclaredEffectiveStatement.java index 3b48eee8eb..2cd305ef1b 100644 --- a/model/yang-model-spi/src/main/java/org/opendaylight/yangtools/yang/model/spi/meta/AbstractUndeclaredEffectiveStatement.java +++ b/model/yang-model-spi/src/main/java/org/opendaylight/yangtools/yang/model/spi/meta/AbstractUndeclaredEffectiveStatement.java @@ -24,8 +24,10 @@ 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.IdentifierNamespace; import org.opendaylight.yangtools.yang.model.api.stmt.DataTreeAwareEffectiveStatement; +import org.opendaylight.yangtools.yang.model.api.stmt.DataTreeAwareEffectiveStatement.DataTreeNamespace; import org.opendaylight.yangtools.yang.model.api.stmt.DataTreeEffectiveStatement; import org.opendaylight.yangtools.yang.model.api.stmt.SchemaTreeAwareEffectiveStatement; +import org.opendaylight.yangtools.yang.model.api.stmt.SchemaTreeAwareEffectiveStatement.SchemaTreeNamespace; import org.opendaylight.yangtools.yang.model.api.stmt.SchemaTreeEffectiveStatement; @Beta @@ -49,7 +51,7 @@ public abstract class AbstractUndeclaredEffectiveStatement> Optional> getNamespaceContents( final Class namespace) { - if (SchemaTreeAwareEffectiveStatement.Namespace.class.equals(namespace)) { + if (SchemaTreeNamespace.class.equals(namespace)) { return Optional.of((Map) schemaTreeNamespace()); } return super.getNamespaceContents(namespace); @@ -80,7 +82,7 @@ public abstract class AbstractUndeclaredEffectiveStatement> Optional> getNamespaceContents( final Class namespace) { - if (DataTreeAwareEffectiveStatement.Namespace.class.equals(namespace)) { + if (DataTreeNamespace.class.equals(namespace)) { return Optional.of((Map) dataTreeNamespace()); } return super.getNamespaceContents(namespace); diff --git a/parser/rfc8040-parser-support/src/main/java/org/opendaylight/yangtools/rfc8040/parser/YangDataEffectiveStatementImpl.java b/parser/rfc8040-parser-support/src/main/java/org/opendaylight/yangtools/rfc8040/parser/YangDataEffectiveStatementImpl.java index 6382d3c427..3b08371514 100644 --- a/parser/rfc8040-parser-support/src/main/java/org/opendaylight/yangtools/rfc8040/parser/YangDataEffectiveStatementImpl.java +++ b/parser/rfc8040-parser-support/src/main/java/org/opendaylight/yangtools/rfc8040/parser/YangDataEffectiveStatementImpl.java @@ -23,8 +23,6 @@ import org.opendaylight.yangtools.yang.model.api.ContainerSchemaNode; 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.ContainerEffectiveStatement; -import org.opendaylight.yangtools.yang.model.api.stmt.DataTreeAwareEffectiveStatement; -import org.opendaylight.yangtools.yang.model.api.stmt.SchemaTreeAwareEffectiveStatement; import org.opendaylight.yangtools.yang.model.spi.meta.AbstractEffectiveUnknownSchmemaNode; import org.opendaylight.yangtools.yang.parser.spi.meta.EffectiveStmtCtx.Current; @@ -70,8 +68,7 @@ final class YangDataEffectiveStatementImpl extends AbstractEffectiveUnknownSchme @Override protected > Optional> getNamespaceContents( final Class namespace) { - if (SchemaTreeAwareEffectiveStatement.Namespace.class.equals(namespace) - || DataTreeAwareEffectiveStatement.Namespace.class.equals(namespace)) { + if (SchemaTreeNamespace.class.equals(namespace) || DataTreeNamespace.class.equals(namespace)) { @SuppressWarnings("unchecked") final Map ns = (Map)Map.of(container.argument(), container); return Optional.of(ns);