X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=binding2%2Fmdsal-binding2-generator-util%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fmdsal%2Fbinding%2Fjavav2%2Fgenerator%2Futil%2Fgenerated%2Ftype%2Fbuilder%2FAbstractGeneratedType.java;h=fcde49fc840464429bc59a1a478bd995c9e27c3b;hb=65ef0ef867f8c98b8e324168739c957635fd4c17;hp=e36bbcb35fdeb354d660f6b4034c4c1ebefb20b6;hpb=e51917fff35cf59717f304147fd139403f4f32e7;p=mdsal.git diff --git a/binding2/mdsal-binding2-generator-util/src/main/java/org/opendaylight/mdsal/binding/javav2/generator/util/generated/type/builder/AbstractGeneratedType.java b/binding2/mdsal-binding2-generator-util/src/main/java/org/opendaylight/mdsal/binding/javav2/generator/util/generated/type/builder/AbstractGeneratedType.java old mode 100644 new mode 100755 index e36bbcb35f..fcde49fc84 --- a/binding2/mdsal-binding2-generator-util/src/main/java/org/opendaylight/mdsal/binding/javav2/generator/util/generated/type/builder/AbstractGeneratedType.java +++ b/binding2/mdsal-binding2-generator-util/src/main/java/org/opendaylight/mdsal/binding/javav2/generator/util/generated/type/builder/AbstractGeneratedType.java @@ -13,6 +13,8 @@ import com.google.common.collect.ImmutableList; import java.util.ArrayList; import java.util.Collections; import java.util.List; +import java.util.Objects; +import java.util.Optional; import java.util.stream.Collectors; import org.opendaylight.mdsal.binding.javav2.generator.util.AbstractBaseType; import org.opendaylight.mdsal.binding.javav2.model.api.AnnotationType; @@ -22,19 +24,22 @@ import org.opendaylight.mdsal.binding.javav2.model.api.GeneratedProperty; import org.opendaylight.mdsal.binding.javav2.model.api.GeneratedType; import org.opendaylight.mdsal.binding.javav2.model.api.MethodSignature; import org.opendaylight.mdsal.binding.javav2.model.api.Type; +import org.opendaylight.mdsal.binding.javav2.model.api.TypeComment; +import org.opendaylight.mdsal.binding.javav2.model.api.YangSourceDefinition; import org.opendaylight.mdsal.binding.javav2.model.api.type.builder.AnnotationTypeBuilder; import org.opendaylight.mdsal.binding.javav2.model.api.type.builder.EnumBuilder; import org.opendaylight.mdsal.binding.javav2.model.api.type.builder.GeneratedPropertyBuilder; import org.opendaylight.mdsal.binding.javav2.model.api.type.builder.GeneratedTOBuilder; import org.opendaylight.mdsal.binding.javav2.model.api.type.builder.GeneratedTypeBuilder; import org.opendaylight.mdsal.binding.javav2.model.api.type.builder.MethodSignatureBuilder; +import org.opendaylight.mdsal.binding.javav2.spec.runtime.BindingNamespaceType; @Beta abstract class AbstractGeneratedType extends AbstractBaseType implements GeneratedType { private final Type parent; private final Type parentTypeForBuilder; - private final String comment; + private final TypeComment comment; private final List annotations; private final List implementsTypes; private final List enumerations; @@ -43,6 +48,8 @@ abstract class AbstractGeneratedType extends AbstractBaseType implements Generat private final List enclosedTypes; private final List properties; private final boolean isAbstract; + private final YangSourceDefinition definition; + private final BindingNamespaceType namespaceType; public AbstractGeneratedType(final AbstractGeneratedTypeBuilder builder) { super(builder.getPackageName(), builder.getName(), true, null); @@ -58,27 +65,8 @@ abstract class AbstractGeneratedType extends AbstractBaseType implements Generat builder.getEnclosedTransferObjects()); this.properties = toUnmodifiableProperties(builder.getProperties()); this.isAbstract = builder.isAbstract(); - } - - public AbstractGeneratedType(final Type parent, final String packageName, final String name, final String comment, - final List annotationBuilders, final boolean isAbstract, - final List implementsTypes, final List enclosedGenTypeBuilders, - final List enclosedGenTOBuilders, final List enumBuilders, - final List constants, final List methodBuilders, - final List propertyBuilders, final Type parentTypeForBuilder) { - //TODO: not called by actual codebase, fix this up (provide context) if needed - 07/20/2017 - super(packageName, name, null); - this.parent = parent; - this.parentTypeForBuilder = parentTypeForBuilder; - this.comment = comment; - this.annotations = toUnmodifiableAnnotations(annotationBuilders); - this.implementsTypes = makeUnmodifiable(implementsTypes); - this.constants = makeUnmodifiable(constants); - this.enumerations = toUnmodifiableEnumerations(enumBuilders); - this.methodSignatures = toUnmodifiableMethods(methodBuilders); - this.enclosedTypes = toUnmodifiableEnclosedTypes(enclosedGenTypeBuilders, enclosedGenTOBuilders); - this.properties = toUnmodifiableProperties(propertyBuilders); - this.isAbstract = isAbstract; + this.definition = builder.getYangSourceDefinition().orElse(null); + this.namespaceType = builder.getBindingNamespaceType(); } protected static final List makeUnmodifiable(final List list) { @@ -95,9 +83,9 @@ abstract class AbstractGeneratedType extends AbstractBaseType implements Generat private static List toUnmodifiableEnclosedTypes(final List enclosedGenTypeBuilders, final List enclosedGenTOBuilders) { final ArrayList enclosedTypesList = new ArrayList<>(enclosedGenTypeBuilders.size() + enclosedGenTOBuilders.size()); - enclosedTypesList.addAll(enclosedGenTypeBuilders.stream().filter(builder -> builder != null).map(GeneratedTypeBuilder::toInstance).collect(Collectors.toList())); + enclosedTypesList.addAll(enclosedGenTypeBuilders.stream().filter(Objects::nonNull).map(GeneratedTypeBuilder::toInstance).collect(Collectors.toList())); - enclosedTypesList.addAll(enclosedGenTOBuilders.stream().filter(builder -> builder != null).map(GeneratedTOBuilder::toInstance).collect(Collectors.toList())); + enclosedTypesList.addAll(enclosedGenTOBuilders.stream().filter(Objects::nonNull).map(GeneratedTOBuilder::toInstance).collect(Collectors.toList())); return makeUnmodifiable(enclosedTypesList); } @@ -137,7 +125,7 @@ abstract class AbstractGeneratedType extends AbstractBaseType implements Generat } @Override - public String getComment() { + public final TypeComment getComment() { return this.comment; } @@ -181,6 +169,16 @@ abstract class AbstractGeneratedType extends AbstractBaseType implements Generat return this.properties; } + @Override + public final Optional getYangSourceDefinition() { + return Optional.ofNullable(definition); + } + + @Override + public BindingNamespaceType getBindingNamespaceType() { + return this.namespaceType; + } + @Override public String toString() { final StringBuilder builder = new StringBuilder(); @@ -194,8 +192,11 @@ abstract class AbstractGeneratedType extends AbstractBaseType implements Generat } else { builder.append(", parent=null"); } - builder.append(", comment="); - builder.append(this.comment); + final TypeComment comment = getComment(); + if (comment != null) { + builder.append(", comment="); + builder.append(comment.getJavadoc()); + } builder.append(", annotations="); builder.append(this.annotations); builder.append(", enclosedTypes=");