Add RFC6643 parser support 83/92483/3
authorRobert Varga <robert.varga@pantheon.tech>
Fri, 18 Sep 2020 15:54:47 +0000 (17:54 +0200)
committerRobert Varga <robert.varga@pantheon.tech>
Fri, 18 Sep 2020 18:41:41 +0000 (20:41 +0200)
commit1200789c3e9591882ef066ecc6bad7f8ff63a7f7
treeeb5195d52244a8930ad7726a6146e5f530f83130
parentfbf68f7ae98dbc615c58653e0392d6e91c35a73b
Add RFC6643 parser support

RFC6643 defines a way to map SMIv2 to YANG. This mapping retains
the original SMI details using YANG extensions, so that the resulting
model can be mapped back.

This patch adds semantic support for these extensions, so that the
semantics are supported out of the box.

JIRA: YANGTOOLS-1134
Change-Id: I494b2537e89e5a104debe486a9012d22d5c7b3aa
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
(cherry picked from commit 4223bf8c4eae4a003b71554fbcc98b5377ddce2b)
60 files changed:
artifacts/pom.xml
docs/pom.xml
features/odl-yangtools-parser-api/pom.xml
features/odl-yangtools-parser/pom.xml
yang/pom.xml
yang/rfc6643-model-api/pom.xml [new file with mode: 0644]
yang/rfc6643-model-api/src/main/java/org/opendaylight/yangtools/rfc6643/model/api/AliasEffectiveStatement.java [new file with mode: 0644]
yang/rfc6643-model-api/src/main/java/org/opendaylight/yangtools/rfc6643/model/api/AliasSchemaNode.java [new file with mode: 0644]
yang/rfc6643-model-api/src/main/java/org/opendaylight/yangtools/rfc6643/model/api/AliasStatement.java [new file with mode: 0644]
yang/rfc6643-model-api/src/main/java/org/opendaylight/yangtools/rfc6643/model/api/DefValEffectiveStatement.java [new file with mode: 0644]
yang/rfc6643-model-api/src/main/java/org/opendaylight/yangtools/rfc6643/model/api/DefValSchemaNode.java [new file with mode: 0644]
yang/rfc6643-model-api/src/main/java/org/opendaylight/yangtools/rfc6643/model/api/DefValStatement.java [new file with mode: 0644]
yang/rfc6643-model-api/src/main/java/org/opendaylight/yangtools/rfc6643/model/api/DisplayHintEffectiveStatement.java [new file with mode: 0644]
yang/rfc6643-model-api/src/main/java/org/opendaylight/yangtools/rfc6643/model/api/DisplayHintSchemaNode.java [new file with mode: 0644]
yang/rfc6643-model-api/src/main/java/org/opendaylight/yangtools/rfc6643/model/api/DisplayHintStatement.java [new file with mode: 0644]
yang/rfc6643-model-api/src/main/java/org/opendaylight/yangtools/rfc6643/model/api/IetfYangSmiv2Constants.java [new file with mode: 0644]
yang/rfc6643-model-api/src/main/java/org/opendaylight/yangtools/rfc6643/model/api/IetfYangSmiv2ExtensionsMapping.java [new file with mode: 0644]
yang/rfc6643-model-api/src/main/java/org/opendaylight/yangtools/rfc6643/model/api/ImpliedEffectiveStatement.java [new file with mode: 0644]
yang/rfc6643-model-api/src/main/java/org/opendaylight/yangtools/rfc6643/model/api/ImpliedSchemaNode.java [new file with mode: 0644]
yang/rfc6643-model-api/src/main/java/org/opendaylight/yangtools/rfc6643/model/api/ImpliedStatement.java [new file with mode: 0644]
yang/rfc6643-model-api/src/main/java/org/opendaylight/yangtools/rfc6643/model/api/MaxAccessEffectiveStatement.java [new file with mode: 0644]
yang/rfc6643-model-api/src/main/java/org/opendaylight/yangtools/rfc6643/model/api/MaxAccessSchemaNode.java [new file with mode: 0644]
yang/rfc6643-model-api/src/main/java/org/opendaylight/yangtools/rfc6643/model/api/MaxAccessStatement.java [new file with mode: 0644]
yang/rfc6643-model-api/src/main/java/org/opendaylight/yangtools/rfc6643/model/api/ObjectIdentifier.java [new file with mode: 0644]
yang/rfc6643-model-api/src/main/java/org/opendaylight/yangtools/rfc6643/model/api/OidEffectiveStatement.java [new file with mode: 0644]
yang/rfc6643-model-api/src/main/java/org/opendaylight/yangtools/rfc6643/model/api/OidSchemaNode.java [new file with mode: 0644]
yang/rfc6643-model-api/src/main/java/org/opendaylight/yangtools/rfc6643/model/api/OidStatement.java [new file with mode: 0644]
yang/rfc6643-model-api/src/main/java/org/opendaylight/yangtools/rfc6643/model/api/SubIdEffectiveStatement.java [new file with mode: 0644]
yang/rfc6643-model-api/src/main/java/org/opendaylight/yangtools/rfc6643/model/api/SubIdSchemaNode.java [new file with mode: 0644]
yang/rfc6643-model-api/src/main/java/org/opendaylight/yangtools/rfc6643/model/api/SubIdStatement.java [new file with mode: 0644]
yang/rfc6643-parser-support/pom.xml [new file with mode: 0644]
yang/rfc6643-parser-support/src/main/java/org/opendaylight/yangtools/rfc6643/parser/AliasEffectiveStatementImpl.java [new file with mode: 0644]
yang/rfc6643-parser-support/src/main/java/org/opendaylight/yangtools/rfc6643/parser/AliasStatementImpl.java [new file with mode: 0644]
yang/rfc6643-parser-support/src/main/java/org/opendaylight/yangtools/rfc6643/parser/AliasStatementSupport.java [new file with mode: 0644]
yang/rfc6643-parser-support/src/main/java/org/opendaylight/yangtools/rfc6643/parser/DefValEffectiveStatementImpl.java [new file with mode: 0644]
yang/rfc6643-parser-support/src/main/java/org/opendaylight/yangtools/rfc6643/parser/DefValStatementImpl.java [new file with mode: 0644]
yang/rfc6643-parser-support/src/main/java/org/opendaylight/yangtools/rfc6643/parser/DefValStatementSupport.java [new file with mode: 0644]
yang/rfc6643-parser-support/src/main/java/org/opendaylight/yangtools/rfc6643/parser/DisplayHintEffectiveStatementImpl.java [new file with mode: 0644]
yang/rfc6643-parser-support/src/main/java/org/opendaylight/yangtools/rfc6643/parser/DisplayHintStatementImpl.java [new file with mode: 0644]
yang/rfc6643-parser-support/src/main/java/org/opendaylight/yangtools/rfc6643/parser/DisplayHintStatementSupport.java [new file with mode: 0644]
yang/rfc6643-parser-support/src/main/java/org/opendaylight/yangtools/rfc6643/parser/IetfYangSmiv2Namespace.java [new file with mode: 0644]
yang/rfc6643-parser-support/src/main/java/org/opendaylight/yangtools/rfc6643/parser/ImpliedEffectiveStatementImpl.java [new file with mode: 0644]
yang/rfc6643-parser-support/src/main/java/org/opendaylight/yangtools/rfc6643/parser/ImpliedStatementImpl.java [new file with mode: 0644]
yang/rfc6643-parser-support/src/main/java/org/opendaylight/yangtools/rfc6643/parser/ImpliedStatementSupport.java [new file with mode: 0644]
yang/rfc6643-parser-support/src/main/java/org/opendaylight/yangtools/rfc6643/parser/MaxAccessEffectiveStatementImpl.java [new file with mode: 0644]
yang/rfc6643-parser-support/src/main/java/org/opendaylight/yangtools/rfc6643/parser/MaxAccessStatementImpl.java [new file with mode: 0644]
yang/rfc6643-parser-support/src/main/java/org/opendaylight/yangtools/rfc6643/parser/MaxAccessStatementSupport.java [new file with mode: 0644]
yang/rfc6643-parser-support/src/main/java/org/opendaylight/yangtools/rfc6643/parser/OidEffectiveStatementImpl.java [new file with mode: 0644]
yang/rfc6643-parser-support/src/main/java/org/opendaylight/yangtools/rfc6643/parser/OidIdStatementImpl.java [new file with mode: 0644]
yang/rfc6643-parser-support/src/main/java/org/opendaylight/yangtools/rfc6643/parser/OidStatementSupport.java [new file with mode: 0644]
yang/rfc6643-parser-support/src/main/java/org/opendaylight/yangtools/rfc6643/parser/SubIdEffectiveStatementImpl.java [new file with mode: 0644]
yang/rfc6643-parser-support/src/main/java/org/opendaylight/yangtools/rfc6643/parser/SubIdStatementImpl.java [new file with mode: 0644]
yang/rfc6643-parser-support/src/main/java/org/opendaylight/yangtools/rfc6643/parser/SubIdStatementSupport.java [new file with mode: 0644]
yang/rfc6643-parser-support/src/test/java/org/opendaylight/yangtools/rfc6643/parser/IetfYangSmiv2ExtensionPluginTest.java [new file with mode: 0644]
yang/rfc6643-parser-support/src/test/java/org/opendaylight/yangtools/rfc6643/parser/IetfYangSmiv2ExtensionsMappingTest.java [new file with mode: 0644]
yang/rfc6643-parser-support/src/test/java/org/opendaylight/yangtools/rfc6643/parser/ObjectIdentifierTest.java [new file with mode: 0644]
yang/rfc6643-parser-support/src/test/resources/foo.yang [new file with mode: 0644]
yang/rfc6643-parser-support/src/test/resources/ietf-yang-smiv2.yang [new file with mode: 0644]
yang/yang-parser-impl/pom.xml
yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/impl/DefaultReactors.java