From: Samuel Schneider Date: Mon, 25 Jul 2022 13:12:49 +0000 (+0200) Subject: Generate javadoc for unions X-Git-Tag: v10.0.1~20 X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=commitdiff_plain;h=4375e96ed073f1b542c47bc5e709632e98af7d01;p=mdsal.git Generate javadoc for unions Fix warnings about missing javadoc in union classes. Add setting of YangSourceDefinition when building GeneratedType corresponding to union so JavaFileTemplate.appendSnippet() generate javadoc for this class. JIRA: MDSAL-760 Change-Id: I42ac82ab099785b1318a5e3615e37ebeee653b02 Signed-off-by: Samuel Schneider Signed-off-by: Robert Varga --- diff --git a/binding/mdsal-binding-generator/src/main/java/org/opendaylight/mdsal/binding/generator/impl/reactor/AbstractTypeObjectGenerator.java b/binding/mdsal-binding-generator/src/main/java/org/opendaylight/mdsal/binding/generator/impl/reactor/AbstractTypeObjectGenerator.java index 2ba6783367..45e7f80b5b 100644 --- a/binding/mdsal-binding-generator/src/main/java/org/opendaylight/mdsal/binding/generator/impl/reactor/AbstractTypeObjectGenerator.java +++ b/binding/mdsal-binding-generator/src/main/java/org/opendaylight/mdsal/binding/generator/impl/reactor/AbstractTypeObjectGenerator.java @@ -32,6 +32,7 @@ import org.opendaylight.mdsal.binding.model.api.GeneratedType; import org.opendaylight.mdsal.binding.model.api.JavaTypeName; import org.opendaylight.mdsal.binding.model.api.Restrictions; import org.opendaylight.mdsal.binding.model.api.Type; +import org.opendaylight.mdsal.binding.model.api.YangSourceDefinition; import org.opendaylight.mdsal.binding.model.api.type.builder.GeneratedPropertyBuilder; import org.opendaylight.mdsal.binding.model.api.type.builder.GeneratedTOBuilder; import org.opendaylight.mdsal.binding.model.api.type.builder.GeneratedTypeBuilderBase; @@ -683,6 +684,7 @@ abstract class AbstractTypeObjectGenerator, R final UnionDependencies dependencies, final JavaTypeName typeName, final ModuleGenerator module, final TypeEffectiveStatement type, final boolean isTypedef, final TypeDefinition typedef) { final GeneratedUnionBuilder builder = builderFactory.newGeneratedUnionBuilder(typeName); + YangSourceDefinition.of(module.statement(), definingStatement).ifPresent(builder::setYangSourceDefinition); builder.addImplementsType(BindingTypes.TYPE_OBJECT); builder.setIsUnion(true); diff --git a/binding/mdsal-binding-model-api/src/main/java/org/opendaylight/mdsal/binding/model/api/YangSourceDefinition.java b/binding/mdsal-binding-model-api/src/main/java/org/opendaylight/mdsal/binding/model/api/YangSourceDefinition.java index 9f46d5af77..6177860706 100644 --- a/binding/mdsal-binding-model-api/src/main/java/org/opendaylight/mdsal/binding/model/api/YangSourceDefinition.java +++ b/binding/mdsal-binding-model-api/src/main/java/org/opendaylight/mdsal/binding/model/api/YangSourceDefinition.java @@ -88,6 +88,12 @@ public abstract sealed class YangSourceDefinition { return hasDeclaredStatement(node) ? Optional.of(new Single(module, node)) : Optional.empty(); } + public static Optional of(final ModuleEffectiveStatement module, + final EffectiveStatement effective) { + return effective instanceof SchemaNode schema && effective.getDeclared() != null + ? Optional.of(new Single(module, schema)) : Optional.empty(); + } + public static Optional of(final Module module, final Collection nodes) { checkArgument(!nodes.isEmpty());