Add RFC6643 parser support 82/92482/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 17:34:11 +0000 (19:34 +0200)
commit4223bf8c4eae4a003b71554fbcc98b5377ddce2b
treea0819eb672202ca406d7e661394b06564a0d6842
parent5703f2916bc0f05f90b76f7af7f6376a7a189b2a
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>
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