Revert "BUG-1196: fixed bug in choice case codec."
[yangtools.git] / code-generator / binding-generator-impl / src / main / java / org / opendaylight / yangtools / sal / binding / generator / impl / BindingGeneratorImpl.xtend
index ba8259e9b30627c064d1e041312963e4acafb427..8a41bef08f88a24889e712412508735e47227f87 100644 (file)
@@ -1148,7 +1148,6 @@ public class BindingGeneratorImpl implements BindingGenerator {
                 val caseTypeBuilder = addDefaultInterfaceDefinition(packageName, caseNode)
                 caseTypeBuilder.addImplementsType(refChoiceType)
                 genCtx.get(module).addCaseType(caseNode.path, caseTypeBuilder)
-                genCtx.get(module).addChoiceToCaseMapping(refChoiceType, caseTypeBuilder,caseNode)
                 val Set<DataSchemaNode> caseChildNodes = caseNode.childNodes
                 if (caseChildNodes !== null) {
                     var Object parentNode = null
@@ -1251,18 +1250,21 @@ public class BindingGeneratorImpl implements BindingGenerator {
                     throw new IllegalArgumentException("Failed to find parent type of choice " + targetNode);
                 }
 
-                var ChoiceCaseNode node = null;
-                if (caseNode instanceof ChoiceCaseNode) {
-                    node = caseNode as ChoiceCaseNode;
-                }  else {
-                    node = targetNode.getCaseNodeByName(caseNode.getQName().getLocalName());
-                }
-                val Set<DataSchemaNode> childNodes = node.childNodes;
-                if (childNodes !== null) {
-                    resolveDataSchemaNodes(module, basePackageName, caseTypeBuilder, childOfType, childNodes);
+                if (caseNode instanceof DataNodeContainer) {
+                    val DataNodeContainer dataNodeCase = caseNode as DataNodeContainer;
+                    val Set<DataSchemaNode> childNodes = dataNodeCase.childNodes;
+                    if (childNodes !== null) {
+                        resolveDataSchemaNodes(module, basePackageName, caseTypeBuilder, childOfType, childNodes);
+                    }
+                } else {
+                    val ChoiceCaseNode node = targetNode.getCaseNodeByName(caseNode.getQName().getLocalName());
+                    val Set<DataSchemaNode> childNodes = node.childNodes;
+                    if (childNodes !== null) {
+                        resolveDataSchemaNodes(module, basePackageName, caseTypeBuilder, childOfType, childNodes);
+                    }
                 }
+
                 genCtx.get(module).addCaseType(caseNode.path, caseTypeBuilder)
-                genCtx.get(module).addChoiceToCaseMapping(targetType, caseTypeBuilder,node);
             }
         }