Binding generator v2 - fix case builder to dto 21/60021/2
authorJie Han <han.jie@zte.com.cn>
Thu, 6 Jul 2017 03:21:38 +0000 (11:21 +0800)
committerRobert Varga <nite@hq.sk>
Sat, 15 Jul 2017 22:17:53 +0000 (22:17 +0000)
Change-Id: I162e6349022a1fcc0efb69b84beba3b6c4716b71
Signed-off-by: Jie Han <han.jie@zte.com.cn>
(cherry picked from commit e11c488ca9cbfa667b0cae9cad0b66eb304e6ee2)

binding2/mdsal-binding2-generator-impl/src/main/java/org/opendaylight/mdsal/binding/javav2/generator/impl/AuxiliaryGenUtils.java
binding2/mdsal-binding2-generator-impl/src/main/java/org/opendaylight/mdsal/binding/javav2/generator/impl/GenHelperUtil.java

index 9a2d41762869454553bf34d77c82e1f641941336..26a6b0d5e773c280f2c8d0d3a358a7f52488fda3 100644 (file)
@@ -47,6 +47,7 @@ import org.opendaylight.mdsal.binding.javav2.model.api.type.builder.MethodSignat
 import org.opendaylight.mdsal.binding.javav2.spec.runtime.BindingNamespaceType;
 import org.opendaylight.mdsal.binding.javav2.util.BindingMapping;
 import org.opendaylight.yangtools.yang.common.QName;
+import org.opendaylight.yangtools.yang.model.api.ChoiceCaseNode;
 import org.opendaylight.yangtools.yang.model.api.ContainerSchemaNode;
 import org.opendaylight.yangtools.yang.model.api.DataSchemaNode;
 import org.opendaylight.yangtools.yang.model.api.LeafSchemaNode;
@@ -97,8 +98,9 @@ final class AuxiliaryGenUtils {
 
     public static boolean hasBuilderClass(final SchemaNode schemaNode, final BindingNamespaceType namespaceType) {
         if ((namespaceType.equals(BindingNamespaceType.Data)
-        && (schemaNode instanceof ContainerSchemaNode || schemaNode instanceof ListSchemaNode ||
-                schemaNode instanceof RpcDefinition || schemaNode instanceof NotificationDefinition))) {
+        && (schemaNode instanceof ContainerSchemaNode || schemaNode instanceof ListSchemaNode
+                || schemaNode instanceof RpcDefinition || schemaNode instanceof NotificationDefinition
+                || schemaNode instanceof ChoiceCaseNode))) {
             return true;
         }
         return false;
index 297e53cb4329c48f782b0ccecc8688fc3edaf1cd..66f31373e0ca3866b66804deea2110322f28ef4d 100644 (file)
@@ -323,9 +323,7 @@ final class GenHelperUtil {
         augTypeBuilder.addImplementsType(parameterizedTypeFor(BindingTypes.INSTANTIABLE, augTypeBuilder));
         augTypeBuilder.addImplementsType(Types.augmentationTypeFor(targetTypeRef));
         augTypeBuilder.setBasePackageName(BindingMapping.getRootPackageName(module));
-        if (namespaceType.equals(BindingNamespaceType.Data)) {
-            augTypeBuilder.setWithBuilder(true);
-        }
+        augTypeBuilder.setWithBuilder(true);
         annotateDeprecatedIfNecessary(augSchema.getStatus(), augTypeBuilder);
 
         //produces getters for augTypeBuilder eventually
@@ -438,16 +436,6 @@ final class GenHelperUtil {
             if (!(schemaNode instanceof GroupingDefinition)) {
                 it.addImplementsType(BindingTypes.augmentable(it));
             }
-
-            if (schemaNode instanceof DerivableSchemaNode
-                    && ((DerivableSchemaNode) schemaNode).isAddedByUses()) {
-                //TODO: The schema path of child node is not unique for YANG 1.1
-                final GeneratedTypeBuilder originalType =
-                        findChildNodeByPath(((DerivableSchemaNode) schemaNode).getOriginal().get().getPath(), genCtx);
-                Preconditions.checkState(originalType != null, "Original type can not be null!");
-                it.addImplementsType(originalType.toInstance());
-            }
-
         } else {
             it.addImplementsType(BindingTypes.TREE_NODE);
         }