From 94b1de7055a8dd687f3a0ad9b98c72ce2a9e9720 Mon Sep 17 00:00:00 2001 From: Jie Han Date: Mon, 10 Jul 2017 15:16:47 +0800 Subject: [PATCH] Binding generator v2 - augment statement #3 - support uses implements of augmentation Change-Id: Ic62bf99d841ec95c81bd9408acd027f41b0bc00e Signed-off-by: Jie Han (cherry picked from commit 1a500171a83bb142b59c26597e7581832fb98554) --- .../binding/javav2/generator/impl/GenHelperUtil.java | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/binding2/mdsal-binding2-generator-impl/src/main/java/org/opendaylight/mdsal/binding/javav2/generator/impl/GenHelperUtil.java b/binding2/mdsal-binding2-generator-impl/src/main/java/org/opendaylight/mdsal/binding/javav2/generator/impl/GenHelperUtil.java index e340c3360c..d10b724bbe 100644 --- a/binding2/mdsal-binding2-generator-impl/src/main/java/org/opendaylight/mdsal/binding/javav2/generator/impl/GenHelperUtil.java +++ b/binding2/mdsal-binding2-generator-impl/src/main/java/org/opendaylight/mdsal/binding/javav2/generator/impl/GenHelperUtil.java @@ -270,13 +270,15 @@ final class GenHelperUtil { verboseClassComments, genTypeBuilders, typeProvider , namespaceType); } - private static QName createQNameFromSuperNode(final Object node, final SchemaNode superChildNode) { + private static QName createQNameFromSuperNode(final Module module, final Object node, final SchemaNode superChildNode) { QName childNodeQName = null; if (node instanceof Module) { childNodeQName = QName.create(((Module)node).getNamespace(), ((Module)node).getRevision(), superChildNode.getQName().getLocalName()); } else if (node instanceof SchemaNode) { childNodeQName = QName.create(((SchemaNode)node).getQName(), superChildNode.getQName().getLocalName()); + } else if (node instanceof AugmentationSchema) { + childNodeQName = QName.create(module.getNamespace(), module.getRevision(), superChildNode.getQName().getLocalName()); } else { throw new IllegalArgumentException("Not support node type:" + node.toString()); } @@ -291,7 +293,7 @@ final class GenHelperUtil { if (superNode instanceof DataNodeContainer) { for (DataSchemaNode superChildNode : ((DataNodeContainer)superNode).getChildNodes()) { if (superChildNode instanceof DataNodeContainer || superChildNode instanceof ChoiceSchemaNode) { - final QName childQName = createQNameFromSuperNode(node, superChildNode); + final QName childQName = createQNameFromSuperNode(module, node, superChildNode); DataSchemaNode childNode = ((DataNodeContainer)node).getDataChildByName(childQName); Preconditions.checkNotNull(childNode, node.toString() + "->" + childQName.toString()); @@ -320,7 +322,7 @@ final class GenHelperUtil { } } else if (superNode instanceof ChoiceSchemaNode) { for (ChoiceCaseNode superCaseNode : ((ChoiceSchemaNode)superNode).getCases()) { - final QName childQName = createQNameFromSuperNode(node, superCaseNode); + final QName childQName = createQNameFromSuperNode(module, node, superCaseNode); ChoiceCaseNode caseNode = ((ChoiceSchemaNode)node).getCaseNodeByName(childQName); Preconditions.checkNotNull(caseNode, node.toString() + "->" + childQName.toString()); -- 2.36.6