Graduate ChildSchemaNodeNamespace as SchemaTreeNamespace 08/93608/8
authorRobert Varga <robert.varga@pantheon.tech>
Thu, 5 Nov 2020 16:16:01 +0000 (17:16 +0100)
committerRobert Varga <robert.varga@pantheon.tech>
Wed, 11 Nov 2020 21:58:54 +0000 (22:58 +0100)
commit6682a8e2a8c02ed7a66bddb8b7a86009ffbbb98d
tree51bedc4366814564a43af0a0f9c0589f67775ea1
parent7f6bc373cf34fc17511ac6ac7efce630822ec74a
Graduate ChildSchemaNodeNamespace as SchemaTreeNamespace

This is a @Beta construct in yang-parser-rfc7950, but it provides
a crucial link between statements and namespaces.

In terms of semantic change, this is a direct replacement for the SPI
idea that there is a SchemaNodeIdentifierNamespace. While that namespace
allowed lookup based on SchemaNodeIdentifier, while
SchemaTreeNamespace follows QName addressing -- i.e. we are changing
the addressing mode and allowing more flexible walks.

This is a strictly speaking API-breaking change, but since it enables
reactor/parser-rfc7950 interactions and is allowed under @Beta API
change rules, we will backport this to otherwise stable branches.

Existence of this namespace allows us to neatly tie it with
OnDemandSchemaTreeStorageNode.

JIRA: YANGTOOLS-1168
Change-Id: I9b1c30d21f7021d4c21f3e5a519f6cd1539871ad
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
yang/odlext-parser-support/src/main/java/org/opendaylight/yangtools/odlext/parser/AnyxmlStatementSupportOverride.java
yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/reactor/RFC7950Reactors.java
yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/BaseSchemaTreeStatementSupport.java
yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/augment/AbstractAugmentStatementSupport.java
yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/deviate/AbstractDeviateStatementSupport.java
yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/uses/UsesStatementSupport.java
yang/yang-parser-spi/src/main/java/org/opendaylight/yangtools/yang/parser/spi/SchemaNodeIdentifierNamespace.java
yang/yang-parser-spi/src/main/java/org/opendaylight/yangtools/yang/parser/spi/SchemaTreeNamespace.java [moved from yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/namespace/ChildSchemaNodeNamespace.java with 77% similarity]
yang/yang-parser-spi/src/main/java/org/opendaylight/yangtools/yang/parser/spi/meta/NamespaceBehaviour.java