From 1d4620040587f510d1b5f0ce99b13c54350ef6eb Mon Sep 17 00:00:00 2001 From: Robert Varga Date: Sat, 16 Oct 2021 11:28:31 +0200 Subject: [PATCH] Deprecate AddedByUsesAware isAddedByUses() is used only by mdsal's binding components, which should be able to get by without this guidance. Deprecate the interface along with its support bits. JIRA: YANGTOOLS-1351 Change-Id: Ic8b07b995f49cece48d1a90ed51723485d88120d Signed-off-by: Robert Varga --- .../yangtools/yang/model/api/AddedByUsesAware.java | 11 ++++++----- .../spi/meta/AbstractEffectiveUnknownSchmemaNode.java | 1 + .../yang/model/spi/meta/EffectiveStatementMixins.java | 4 ++++ .../parser/stmt/reactor/StatementContextBase.java | 2 ++ 4 files changed, 13 insertions(+), 5 deletions(-) diff --git a/model/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/AddedByUsesAware.java b/model/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/AddedByUsesAware.java index d7e43c49b9..e73318ab32 100644 --- a/model/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/AddedByUsesAware.java +++ b/model/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/AddedByUsesAware.java @@ -11,16 +11,17 @@ import com.google.common.annotations.Beta; /** * Trait interface for {@link SchemaNode}s, which have the {@link #isAddedByUses()} method. + * + * @deprecated The only user of this trait is MD-SAL's binding component. As such, we provide enough information in + * EffectiveStatement tree to reconstruct this information. */ @Beta -//FIXME: 8.0.0: refactor this interface to take into account DerivableSchemaNode +@Deprecated(since = "7.0.9") public interface AddedByUsesAware { /** - * Returns true if this node was added by uses statement, - * otherwise returns false. + * Returns {@code true} if this node was added by uses statement, otherwise returns {@code false}. * - * @return true if this node was added by uses statement, - * otherwise returns false + * @return {@code true} if this node was added by uses statement, otherwise returns {@code false} */ boolean isAddedByUses(); } diff --git a/model/yang-model-spi/src/main/java/org/opendaylight/yangtools/yang/model/spi/meta/AbstractEffectiveUnknownSchmemaNode.java b/model/yang-model-spi/src/main/java/org/opendaylight/yangtools/yang/model/spi/meta/AbstractEffectiveUnknownSchmemaNode.java index 6756904fc1..da6ccf2727 100644 --- a/model/yang-model-spi/src/main/java/org/opendaylight/yangtools/yang/model/spi/meta/AbstractEffectiveUnknownSchmemaNode.java +++ b/model/yang-model-spi/src/main/java/org/opendaylight/yangtools/yang/model/spi/meta/AbstractEffectiveUnknownSchmemaNode.java @@ -33,6 +33,7 @@ public abstract class AbstractEffectiveUnknownSchmemaNode> substatements; private final @NonNull D declared; private final @NonNull A argument; + @Deprecated(since = "7.0.9") private final boolean addedByUses; private final boolean augmenting; diff --git a/model/yang-model-spi/src/main/java/org/opendaylight/yangtools/yang/model/spi/meta/EffectiveStatementMixins.java b/model/yang-model-spi/src/main/java/org/opendaylight/yangtools/yang/model/spi/meta/EffectiveStatementMixins.java index dc93fd2b73..2a613de087 100644 --- a/model/yang-model-spi/src/main/java/org/opendaylight/yangtools/yang/model/spi/meta/EffectiveStatementMixins.java +++ b/model/yang-model-spi/src/main/java/org/opendaylight/yangtools/yang/model/spi/meta/EffectiveStatementMixins.java @@ -95,10 +95,13 @@ public final class EffectiveStatementMixins { * * @param Argument type ({@link Empty} if statement does not have argument.) * @param Class representing declared version of this statement. + * @deprecated See deprecation notice in {@link AddedByUsesAware} */ + @Deprecated(since = "7.0.9") public interface AddedByUsesMixin> extends EffectiveStatementWithFlags, AddedByUsesAware { @Override + @Deprecated(since = "7.0.9") default boolean isAddedByUses() { return (flags() & FlagsBuilder.ADDED_BY_USES) != 0; } @@ -462,6 +465,7 @@ public final class EffectiveStatementMixins { static final int MANDATORY = 0x0004; static final int AUGMENTING = 0x0010; + @Deprecated(since = "7.0.9") static final int ADDED_BY_USES = 0x0020; private static final int MASK_HISTORY = 0x0030; diff --git a/parser/yang-parser-reactor/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/reactor/StatementContextBase.java b/parser/yang-parser-reactor/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/reactor/StatementContextBase.java index 9c537eafca..c797dacaf5 100644 --- a/parser/yang-parser-reactor/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/reactor/StatementContextBase.java +++ b/parser/yang-parser-reactor/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/reactor/StatementContextBase.java @@ -99,6 +99,7 @@ public abstract class StatementContextBase, E // Bottom 4 bits, encoding a CopyHistory, aight? private static final byte COPY_ORIGINAL = 0x00; private static final byte COPY_LAST_TYPE_MASK = 0x03; + @Deprecated(since = "7.0.9") private static final byte COPY_ADDED_BY_USES = 0x04; private static final byte COPY_ADDED_BY_AUGMENTATION = 0x08; @@ -218,6 +219,7 @@ public abstract class StatementContextBase, E } @Override + @Deprecated(since = "7.0.9") public final boolean isAddedByUses() { return (bitsAight & COPY_ADDED_BY_USES) != 0; } -- 2.36.6