Populate ietf-restconf operations container 89/97689/35
authorRobert Varga <robert.varga@pantheon.tech>
Thu, 30 Sep 2021 17:30:07 +0000 (19:30 +0200)
committerRobert Varga <robert.varga@pantheon.tech>
Tue, 4 Jan 2022 13:11:19 +0000 (14:11 +0100)
commit6b72fbbb97aecc7ea556fc41684773f62f0f8f59
tree78ce086f9b50c113241cef5b32935f688cfc583e
parent36da07b73f9f37bda64b4eb5e199c72ec6b27049
Populate ietf-restconf operations container

The 'operations' container defined in ietf-restconf module has magic
semantics: it needs to have an empty leaf for every RPC that is
available in the EffectiveModelContext.

WWe are hard-pressed here to make things work with our parser
infrastructure, as we currently do not have hooks to do this kind of
schema-tree specific magic. Luckily there is also a YANG extension in
that same model, so we hijack that to hook onto to the container
inference and modify it just in time and make the magic happen.

JIRA: YANGTOOLS-1338
Change-Id: I9cf774a148f0e764940b9725f717fa0c60ef1bf9
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
20 files changed:
model/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/stmt/EffectiveStatements.java
model/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/stmt/UndeclaredStatements.java
model/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/stmt/impl/eff/UndeclaredLeafEffectiveStatement.java [new file with mode: 0644]
parser/rfc8040-parser-support/pom.xml
parser/rfc8040-parser-support/src/main/java/org/opendaylight/yangtools/rfc8040/parser/OperationsCreateLeafStatements.java [new file with mode: 0644]
parser/rfc8040-parser-support/src/main/java/org/opendaylight/yangtools/rfc8040/parser/OperationsValidateModuleAction.java [new file with mode: 0644]
parser/rfc8040-parser-support/src/main/java/org/opendaylight/yangtools/rfc8040/parser/YangDataStatementSupport.java
parser/rfc8040-parser-support/src/test/java/org/opendaylight/yangtools/rfc8040/parser/AbstractYangDataTest.java [new file with mode: 0644]
parser/rfc8040-parser-support/src/test/java/org/opendaylight/yangtools/rfc8040/parser/YT1338Test.java [new file with mode: 0644]
parser/rfc8040-parser-support/src/test/java/org/opendaylight/yangtools/rfc8040/parser/YangDataExtensionTest.java
parser/rfc8040-parser-support/src/test/resources/yt1338/foo.yang [new file with mode: 0644]
parser/yang-parser-reactor/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/reactor/InferredStatementContext.java
parser/yang-parser-reactor/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/reactor/OriginalStmtCtx.java
parser/yang-parser-reactor/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/reactor/ReplicaStatementContext.java
parser/yang-parser-reactor/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/reactor/StatementContextBase.java
parser/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/meta/ActionStatementSupport.java
parser/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/meta/LeafStatementSupport.java
parser/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/meta/RpcStatementSupport.java
parser/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/type/AbstractTypeStatementSupport.java
parser/yang-parser-spi/src/main/java/org/opendaylight/yangtools/yang/parser/spi/meta/StmtContext.java