From: Jie Han Date: Thu, 6 Jul 2017 03:21:38 +0000 (+0800) Subject: Binding generator v2 - fix case builder to dto X-Git-Tag: release/carbon-sr2~68 X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?p=mdsal.git;a=commitdiff_plain;h=f5808d2b84dc25b85d34a86ef5475aa99852ebb5 Binding generator v2 - fix case builder to dto Change-Id: I162e6349022a1fcc0efb69b84beba3b6c4716b71 Signed-off-by: Jie Han (cherry picked from commit e11c488ca9cbfa667b0cae9cad0b66eb304e6ee2) --- diff --git a/binding2/mdsal-binding2-generator-impl/src/main/java/org/opendaylight/mdsal/binding/javav2/generator/impl/AuxiliaryGenUtils.java b/binding2/mdsal-binding2-generator-impl/src/main/java/org/opendaylight/mdsal/binding/javav2/generator/impl/AuxiliaryGenUtils.java index 9a2d417628..26a6b0d5e7 100644 --- a/binding2/mdsal-binding2-generator-impl/src/main/java/org/opendaylight/mdsal/binding/javav2/generator/impl/AuxiliaryGenUtils.java +++ b/binding2/mdsal-binding2-generator-impl/src/main/java/org/opendaylight/mdsal/binding/javav2/generator/impl/AuxiliaryGenUtils.java @@ -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; 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 297e53cb43..66f31373e0 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 @@ -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); }