From 21591c31b5ac5e09697f3da891363b8b9a1c0cf8 Mon Sep 17 00:00:00 2001 From: Robert Varga Date: Tue, 7 Sep 2021 00:34:25 +0200 Subject: [PATCH] Deprecate UnknownSchemaNode.getExtensionDefinition() This method is not really useful, as its equivalent can easily be achieved via SchemaContext lookup. Deprecate it for removal. JIRA: YANGTOOLS-1319 Change-Id: Ia8f04e4843438988c999d966b72cb078b3f905e3 Signed-off-by: Robert Varga --- .../yangtools/yang/model/api/UnknownSchemaNode.java | 7 ++++++- .../parser/rfc7950/stmt/UnknownEffectiveStatementBase.java | 1 + 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/model/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/UnknownSchemaNode.java b/model/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/UnknownSchemaNode.java index ca7d143567..192fdc4938 100644 --- a/model/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/UnknownSchemaNode.java +++ b/model/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/UnknownSchemaNode.java @@ -16,7 +16,8 @@ import org.opendaylight.yangtools.yang.model.api.stmt.UnknownEffectiveStatement; public interface UnknownSchemaNode extends SchemaNode, CopyableNode, EffectiveStatementEquivalent> { /** - * Returns QName instance with the name of the unknown node. + * Returns QName instance with the name of the unknown node. This corresponds to + * {@link ExtensionDefinition#getQName()} of the {@code extension} statement which defined it. * * @return QName with name the name of the unknown node. */ @@ -33,6 +34,10 @@ public interface UnknownSchemaNode extends SchemaNode, CopyableNode, * Get extension definition which identifies this node. * * @return extension definition if exists, null otherwise + * @deprecated This method is can cause cyclic dependencies in the object graph. Use + * {@link SchemaContext#getExtensions()} with {@link #getNodeType()} instead. */ + // FIXME: YANGTOOLS-1317: remove this method + @Deprecated(forRemoval = true, since = "7.0.8") ExtensionDefinition getExtensionDefinition(); } diff --git a/parser/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/UnknownEffectiveStatementBase.java b/parser/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/UnknownEffectiveStatementBase.java index f08f2ceb12..3382af1225 100644 --- a/parser/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/UnknownEffectiveStatementBase.java +++ b/parser/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/UnknownEffectiveStatementBase.java @@ -82,6 +82,7 @@ public abstract class UnknownEffectiveStatementBase