RFC8040 'rc:yang-data' support for mdsal binding generator 81/97381/32
authorRuslan Kashapov <ruslan.kashapov@pantheon.tech>
Tue, 13 Dec 2022 10:34:08 +0000 (12:34 +0200)
committerRobert Varga <robert.varga@pantheon.tech>
Tue, 31 Jan 2023 23:18:22 +0000 (00:18 +0100)
commit163325d8770b579bb88151521c80efec9eee9bb5
treecca0ec9feaa157ca7796233885e7f9f6e44735cb
parenteaaa3351c6209d15a0884639c48d0cf11b4f3e7f
RFC8040 'rc:yang-data' support for mdsal binding generator

New naming strategy is introduced to generate artifact names out of
yang-data argument: if name is yang identifier compliant the camel-case
transformation used, otherwise non-compliant characters are encoded.

JIRA: MDSAL-675
JIRA: MDSAL-808
Change-Id: I6644f550a378cd176e5f53a201ee6e70b32c6410
Signed-off-by: Ruslan Kashapov <ruslan.kashapov@pantheon.tech>
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
27 files changed:
binding/mdsal-binding-generator/pom.xml
binding/mdsal-binding-generator/src/main/java/module-info.java
binding/mdsal-binding-generator/src/main/java/org/opendaylight/mdsal/binding/generator/impl/reactor/AbstractCompositeGenerator.java
binding/mdsal-binding-generator/src/main/java/org/opendaylight/mdsal/binding/generator/impl/reactor/ModuleGenerator.java
binding/mdsal-binding-generator/src/main/java/org/opendaylight/mdsal/binding/generator/impl/reactor/StatementNamespace.java
binding/mdsal-binding-generator/src/main/java/org/opendaylight/mdsal/binding/generator/impl/reactor/YangDataGenerator.java [new file with mode: 0644]
binding/mdsal-binding-generator/src/main/java/org/opendaylight/mdsal/binding/generator/impl/reactor/YangDataNamingStrategy.java [new file with mode: 0644]
binding/mdsal-binding-generator/src/main/java/org/opendaylight/mdsal/binding/generator/impl/rt/DefaultYangDataRuntimeType.java [new file with mode: 0644]
binding/mdsal-binding-generator/src/test/java/org/opendaylight/mdsal/binding/generator/impl/Mdsal675Test.java [new file with mode: 0644]
binding/mdsal-binding-generator/src/test/resources/yang-data-models/ietf-restconf.yang [new file with mode: 0644]
binding/mdsal-binding-generator/src/test/resources/yang-data-models/yang-data-demo.yang [new file with mode: 0644]
binding/mdsal-binding-generator/src/test/resources/yang-data-models/yang-data-naming.yang [new file with mode: 0644]
binding/mdsal-binding-java-api-generator/src/main/java/org/opendaylight/mdsal/binding/java/api/generator/BaseTemplate.xtend
binding/mdsal-binding-java-api-generator/src/main/java/org/opendaylight/mdsal/binding/java/api/generator/BuilderGenerator.java
binding/mdsal-binding-java-api-generator/src/main/java/org/opendaylight/mdsal/binding/java/api/generator/YangModuleInfoTemplate.xtend
binding/mdsal-binding-java-api-generator/src/test/java/org/opendaylight/mdsal/binding/java/api/generator/CompilationTest.java
binding/mdsal-binding-java-api-generator/src/test/resources/compilation/yang-data-gen/ietf-restconf.yang [new file with mode: 0644]
binding/mdsal-binding-java-api-generator/src/test/resources/compilation/yang-data-gen/yang-data-demo.yang [new file with mode: 0644]
binding/mdsal-binding-model-ri/src/main/java/org/opendaylight/mdsal/binding/model/ri/BindingTypes.java
binding/mdsal-binding-runtime-api/pom.xml
binding/mdsal-binding-runtime-api/src/main/java/module-info.java
binding/mdsal-binding-runtime-api/src/main/java/org/opendaylight/mdsal/binding/runtime/api/YangDataRuntimeType.java [new file with mode: 0644]
binding/mdsal-binding-spec-util/src/main/java/org/opendaylight/mdsal/binding/spec/naming/BindingMapping.java
binding/mdsal-binding-spec-util/src/test/java/org/opendaylight/mdsal/binding/spec/naming/BindingMappingTest.java
binding/mdsal-binding-test-model/pom.xml
binding/mdsal-binding-test-model/src/main/yang/yang-data-demo.yang [new file with mode: 0644]
binding/yang-binding/src/main/java/org/opendaylight/yangtools/yang/binding/CodeHelpers.java