Skip to content

Instantly share code, notes, and snippets.

@donaldh
Created May 17, 2016 07:17
Show Gist options
  • Save donaldh/feccbe22b7c82a7e316615756d59b1b7 to your computer and use it in GitHub Desktop.
Save donaldh/feccbe22b7c82a7e316615756d59b1b7 to your computer and use it in GitHub Desktop.
Patch for YANG 'class' bug in MD-SAL
diff --git a/binding/mdsal-binding-dom-codec/src/main/java/org/opendaylight/yangtools/binding/data/codec/gen/impl/DataNodeContainerSerializerSource.java b/binding/mdsal-binding-dom-codec/src/main/java/org/opendaylight/yangtools/binding/data/codec/gen/impl/DataNodeContainerSerializerSource.java
index 8fc57dc..35d152f 100644
--- a/binding/mdsal-binding-dom-codec/src/main/java/org/opendaylight/yangtools/binding/data/codec/gen/impl/DataNodeContainerSerializerSource.java
+++ b/binding/mdsal-binding-dom-codec/src/main/java/org/opendaylight/yangtools/binding/data/codec/gen/impl/DataNodeContainerSerializerSource.java
@@ -125,7 +125,8 @@ abstract class DataNodeContainerSerializerSource extends DataObjectSerializerSou
}
}
- return prefix + BindingMapping.getClassName(node.getQName().getLocalName());
+ final String potential = BindingMapping.getClassName(node.getQName().getLocalName());
+ return prefix + ("Class".equals(potential) ? "XmlClass" : potential);
}
private void emitBody(final StringBuilder b) {
diff --git a/binding/mdsal-binding-dom-codec/src/main/java/org/opendaylight/yangtools/binding/data/codec/impl/BindingCodecContext.java b/binding/mdsal-binding-dom-codec/src/main/java/org/opendaylight/yangtools/binding/data/codec/impl/BindingCodecContext.java
index be83c90..78111bf 100644
--- a/binding/mdsal-binding-dom-codec/src/main/java/org/opendaylight/yangtools/binding/data/codec/impl/BindingCodecContext.java
+++ b/binding/mdsal-binding-dom-codec/src/main/java/org/opendaylight/yangtools/binding/data/codec/impl/BindingCodecContext.java
@@ -238,7 +238,8 @@ final class BindingCodecContext implements CodecContextFactory, BindingCodecTree
}
private String getGetterName(final QName qName, TypeDefinition<?> typeDef) {
- final String suffix = BindingMapping.getClassName(qName);
+ final String candidate = BindingMapping.getClassName(qName);
+ final String suffix = ("Class".equals(candidate) ? "XmlClass" : candidate);
while (typeDef.getBaseType() != null) {
typeDef = typeDef.getBaseType();
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment