From: Jie Han Date: Mon, 30 Oct 2017 06:25:43 +0000 (+0800) Subject: Fix checkstyle in mdsal-binding2-java-api-generator X-Git-Tag: v3.0.0~18 X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=commitdiff_plain;h=03d720f8a36091935d80a90f713acf12327eb1ae;p=mdsal.git Fix checkstyle in mdsal-binding2-java-api-generator - Fix checkstyle issues and activate enforcement. Change-Id: Id7400f6eb267c822597cf4ff9adb41ba117d3c70 Signed-off-by: Jie Han --- diff --git a/binding2/mdsal-binding2-java-api-generator/pom.xml b/binding2/mdsal-binding2-java-api-generator/pom.xml index ca24244dc7..5e7bb4ea66 100644 --- a/binding2/mdsal-binding2-java-api-generator/pom.xml +++ b/binding2/mdsal-binding2-java-api-generator/pom.xml @@ -156,6 +156,14 @@ + + org.apache.maven.plugins + maven-checkstyle-plugin + + checkstyle.violationSeverity=error + + + diff --git a/binding2/mdsal-binding2-java-api-generator/src/main/java/org/opendaylight/mdsal/binding/javav2/java/api/generator/BuilderGenerator.java b/binding2/mdsal-binding2-java-api-generator/src/main/java/org/opendaylight/mdsal/binding/javav2/java/api/generator/BuilderGenerator.java index d197d21e4d..c053732e72 100644 --- a/binding2/mdsal-binding2-java-api-generator/src/main/java/org/opendaylight/mdsal/binding/javav2/java/api/generator/BuilderGenerator.java +++ b/binding2/mdsal-binding2-java-api-generator/src/main/java/org/opendaylight/mdsal/binding/javav2/java/api/generator/BuilderGenerator.java @@ -10,14 +10,12 @@ package org.opendaylight.mdsal.binding.javav2.java.api.generator; import com.google.common.annotations.Beta; import org.opendaylight.mdsal.binding.javav2.java.api.generator.renderers.BuilderRenderer; + import org.opendaylight.mdsal.binding.javav2.model.api.CodeGenerator; -import org.opendaylight.mdsal.binding.javav2.model.api.GeneratedTransferObject; import org.opendaylight.mdsal.binding.javav2.model.api.GeneratedType; import org.opendaylight.mdsal.binding.javav2.model.api.GeneratedTypeForBuilder; import org.opendaylight.mdsal.binding.javav2.model.api.Type; import org.opendaylight.mdsal.binding.javav2.model.api.UnitName; -import org.opendaylight.mdsal.binding.javav2.spec.structural.Augmentable; -import org.opendaylight.mdsal.binding.javav2.spec.structural.Augmentation; import org.opendaylight.yangtools.concepts.Identifier; /** diff --git a/binding2/mdsal-binding2-java-api-generator/src/main/java/org/opendaylight/mdsal/binding/javav2/java/api/generator/GeneratorJavaFile.java b/binding2/mdsal-binding2-java-api-generator/src/main/java/org/opendaylight/mdsal/binding/javav2/java/api/generator/GeneratorJavaFile.java index 99d814143f..7b7e7b44c9 100644 --- a/binding2/mdsal-binding2-java-api-generator/src/main/java/org/opendaylight/mdsal/binding/javav2/java/api/generator/GeneratorJavaFile.java +++ b/binding2/mdsal-binding2-java-api-generator/src/main/java/org/opendaylight/mdsal/binding/javav2/java/api/generator/GeneratorJavaFile.java @@ -25,9 +25,9 @@ import java.util.List; import org.opendaylight.mdsal.binding.javav2.java.api.generator.util.JavaCodePrettyPrint; import org.opendaylight.mdsal.binding.javav2.model.api.CodeGenerator; import org.opendaylight.mdsal.binding.javav2.model.api.GeneratedTransferObject; +import org.opendaylight.mdsal.binding.javav2.model.api.GeneratedTypeForBuilder; import org.opendaylight.mdsal.binding.javav2.model.api.Type; import org.opendaylight.mdsal.binding.javav2.model.api.UnitName; -import org.opendaylight.mdsal.binding.javav2.model.api.GeneratedTypeForBuilder; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.sonatype.plexus.build.incremental.BuildContext; @@ -52,7 +52,7 @@ public final class GeneratorJavaFile { private final Collection types; /** - * BuildContext used for instantiating files + * BuildContext used for instantiating files. */ private final BuildContext buildContext; @@ -60,6 +60,7 @@ public final class GeneratorJavaFile { * Creates instance of this class with the set of types for * which the JAVA code is generated. * + *

* The instances of concrete JAVA code generator are created. * * @param buildContext @@ -206,9 +207,9 @@ public final class GeneratorJavaFile { return null; } - try (final OutputStream stream = this.buildContext.newFileOutputStream(file)) { - try (final Writer fw = new OutputStreamWriter(stream, StandardCharsets.UTF_8)) { - try (final BufferedWriter bw = new BufferedWriter(fw)) { + try (OutputStream stream = this.buildContext.newFileOutputStream(file)) { + try (Writer fw = new OutputStreamWriter(stream, StandardCharsets.UTF_8)) { + try (BufferedWriter bw = new BufferedWriter(fw)) { bw.write(generatedCode); } } catch (final IOException e) { diff --git a/binding2/mdsal-binding2-java-api-generator/src/main/java/org/opendaylight/mdsal/binding/javav2/java/api/generator/TOGenerator.java b/binding2/mdsal-binding2-java-api-generator/src/main/java/org/opendaylight/mdsal/binding/javav2/java/api/generator/TOGenerator.java index 11e71f1c5e..97e9846ef2 100644 --- a/binding2/mdsal-binding2-java-api-generator/src/main/java/org/opendaylight/mdsal/binding/javav2/java/api/generator/TOGenerator.java +++ b/binding2/mdsal-binding2-java-api-generator/src/main/java/org/opendaylight/mdsal/binding/javav2/java/api/generator/TOGenerator.java @@ -30,7 +30,7 @@ public class TOGenerator implements CodeGenerator { public String generate(Type type) { if (type instanceof GeneratedTransferObject) { final GeneratedTransferObject genTO = (GeneratedTransferObject) type; - if(genTO.isUnionType()) { + if (genTO.isUnionType()) { return new UnionRenderer(genTO).generateTemplate(); } else if (genTO.isUnionTypeBuilder()) { return new UnionBuilderRenderer(genTO).generateTemplate(); diff --git a/binding2/mdsal-binding2-java-api-generator/src/main/java/org/opendaylight/mdsal/binding/javav2/java/api/generator/rangeGenerators/AbstractBigRangeGenerator.java b/binding2/mdsal-binding2-java-api-generator/src/main/java/org/opendaylight/mdsal/binding/javav2/java/api/generator/range_generators/AbstractBigRangeGenerator.java similarity index 83% rename from binding2/mdsal-binding2-java-api-generator/src/main/java/org/opendaylight/mdsal/binding/javav2/java/api/generator/rangeGenerators/AbstractBigRangeGenerator.java rename to binding2/mdsal-binding2-java-api-generator/src/main/java/org/opendaylight/mdsal/binding/javav2/java/api/generator/range_generators/AbstractBigRangeGenerator.java index 02aa25db47..b2e2c8642f 100644 --- a/binding2/mdsal-binding2-java-api-generator/src/main/java/org/opendaylight/mdsal/binding/javav2/java/api/generator/rangeGenerators/AbstractBigRangeGenerator.java +++ b/binding2/mdsal-binding2-java-api-generator/src/main/java/org/opendaylight/mdsal/binding/javav2/java/api/generator/range_generators/AbstractBigRangeGenerator.java @@ -5,7 +5,7 @@ * terms of the Eclipse Public License v1.0 which accompanies this distribution, * and is available at http://www.eclipse.org/legal/epl-v10.html */ -package org.opendaylight.mdsal.binding.javav2.java.api.generator.rangeGenerators; +package org.opendaylight.mdsal.binding.javav2.java.api.generator.range_generators; import com.google.common.collect.Range; import java.util.Set; @@ -48,27 +48,30 @@ abstract class AbstractBigRangeGenerator> exten sb.append("static {\n"); sb.append(" @SuppressWarnings(\"unchecked\")\n"); sb.append(" final ").append(arrayType()).append(" a = (").append(arrayType()) - .append(") java.lang.reflect.Array.newInstance(").append(RANGE).append(".class, ").append(constraints.size()).append(");\n"); + .append(") java.lang.reflect.Array.newInstance(").append(RANGE).append(".class, ") + .append(constraints.size()).append(");\n"); - int i = 0; + int count = 0; for (Range r : constraints) { final String min = format(getValue(r.lowerEndpoint())); final String max = format(getValue(r.upperEndpoint())); - - sb.append(" a[").append(i++).append("] = ").append(RANGE).append(".closed(").append(min).append(", ").append(max).append(");\n"); + sb.append(" a[").append(count++).append("] = ").append(RANGE).append(".closed(").append(min).append(", ") + .append(max).append(");\n"); } sb.append(" ").append(fieldName).append(" = a;\n"); sb.append("}\n"); // Static enforcement method - sb.append("private static void ").append(checkerName).append("(final ").append(getTypeName()).append(" value) {\n"); + sb.append("private static void ").append(checkerName).append("(final ").append(getTypeName()) + .append(" value) {\n"); sb.append(" for (").append(itemType()).append(" r : ").append(fieldName).append(") {\n"); sb.append(" if (r.contains(value)) {\n"); sb.append(" return;\n"); sb.append(" }\n"); sb.append(" }\n"); - sb.append(" throw new IllegalArgumentException(String.format(\"Invalid range: %s, expected: %s.\", value, java.util.Arrays.asList(").append(fieldName).append(")));\n"); + sb.append(" throw new IllegalArgumentException(String.format(\"Invalid range: %s, expected: %s.\", " + + "value, java.util.Arrays.asList(").append(fieldName).append(")));\n"); sb.append("}\n"); return sb.toString(); diff --git a/binding2/mdsal-binding2-java-api-generator/src/main/java/org/opendaylight/mdsal/binding/javav2/java/api/generator/rangeGenerators/AbstractPrimitiveRangeGenerator.java b/binding2/mdsal-binding2-java-api-generator/src/main/java/org/opendaylight/mdsal/binding/javav2/java/api/generator/range_generators/AbstractPrimitiveRangeGenerator.java similarity index 96% rename from binding2/mdsal-binding2-java-api-generator/src/main/java/org/opendaylight/mdsal/binding/javav2/java/api/generator/rangeGenerators/AbstractPrimitiveRangeGenerator.java rename to binding2/mdsal-binding2-java-api-generator/src/main/java/org/opendaylight/mdsal/binding/javav2/java/api/generator/range_generators/AbstractPrimitiveRangeGenerator.java index 81d3fb35ee..3779f4a04f 100644 --- a/binding2/mdsal-binding2-java-api-generator/src/main/java/org/opendaylight/mdsal/binding/javav2/java/api/generator/rangeGenerators/AbstractPrimitiveRangeGenerator.java +++ b/binding2/mdsal-binding2-java-api-generator/src/main/java/org/opendaylight/mdsal/binding/javav2/java/api/generator/range_generators/AbstractPrimitiveRangeGenerator.java @@ -5,7 +5,7 @@ * terms of the Eclipse Public License v1.0 which accompanies this distribution, * and is available at http://www.eclipse.org/legal/epl-v10.html */ -package org.opendaylight.mdsal.binding.javav2.java.api.generator.rangeGenerators; +package org.opendaylight.mdsal.binding.javav2.java.api.generator.range_generators; import com.google.common.base.Preconditions; import com.google.common.collect.Range; @@ -23,7 +23,8 @@ abstract class AbstractPrimitiveRangeGenerator> private final T minValue; private final T maxValue; - protected AbstractPrimitiveRangeGenerator(final Class typeClass, final String primitiveName, final T minValue, final T maxValue) { + protected AbstractPrimitiveRangeGenerator(final Class typeClass, final String primitiveName, final T minValue, + final T maxValue) { super(typeClass); this.primitiveName = Preconditions.checkNotNull(primitiveName); this.minValue = Preconditions.checkNotNull(minValue); @@ -112,7 +113,8 @@ abstract class AbstractPrimitiveRangeGenerator> final StringBuilder sb = new StringBuilder(); final Collection expressions = createExpressions(constraint); - sb.append("private static void ").append(checkerName).append("(final ").append(primitiveName).append(" value) {\n"); + sb.append("private static void ").append(checkerName).append("(final ").append(primitiveName) + .append(" value) {\n"); if (!expressions.isEmpty()) { for (String exp : expressions) { diff --git a/binding2/mdsal-binding2-java-api-generator/src/main/java/org/opendaylight/mdsal/binding/javav2/java/api/generator/rangeGenerators/AbstractRangeGenerator.java b/binding2/mdsal-binding2-java-api-generator/src/main/java/org/opendaylight/mdsal/binding/javav2/java/api/generator/range_generators/AbstractRangeGenerator.java similarity index 90% rename from binding2/mdsal-binding2-java-api-generator/src/main/java/org/opendaylight/mdsal/binding/javav2/java/api/generator/rangeGenerators/AbstractRangeGenerator.java rename to binding2/mdsal-binding2-java-api-generator/src/main/java/org/opendaylight/mdsal/binding/javav2/java/api/generator/range_generators/AbstractRangeGenerator.java index 40f8f77013..b524a9bcc7 100644 --- a/binding2/mdsal-binding2-java-api-generator/src/main/java/org/opendaylight/mdsal/binding/javav2/java/api/generator/rangeGenerators/AbstractRangeGenerator.java +++ b/binding2/mdsal-binding2-java-api-generator/src/main/java/org/opendaylight/mdsal/binding/javav2/java/api/generator/range_generators/AbstractRangeGenerator.java @@ -5,7 +5,7 @@ * terms of the Eclipse Public License v1.0 which accompanies this distribution, * and is available at http://www.eclipse.org/legal/epl-v10.html */ -package org.opendaylight.mdsal.binding.javav2.java.api.generator.rangeGenerators; +package org.opendaylight.mdsal.binding.javav2.java.api.generator.range_generators; import com.google.common.base.Preconditions; import com.google.common.collect.ImmutableMap; @@ -22,8 +22,9 @@ public abstract class AbstractRangeGenerator> { private static final Logger LOG = LoggerFactory.getLogger(AbstractRangeGenerator.class); private static final Map> GENERATORS; - private static void addGenerator(final Builder> b, final AbstractRangeGenerator generator) { - b.put(generator.getTypeClass().getCanonicalName(), generator); + private static void addGenerator(final Builder> builder, + final AbstractRangeGenerator generator) { + builder.put(generator.getTypeClass().getCanonicalName(), generator); } static { @@ -88,14 +89,15 @@ public abstract class AbstractRangeGenerator> { final AbstractRangeGenerator gen = GENERATORS.get(value.getClass().getName()); final Number check = gen.convert(ret); if (!value.equals(check)) { - LOG.warn("Number class conversion from {} to {} truncated value {} to {}", value.getClass(), type, value, ret); + LOG.warn("Number class conversion from {} to {} truncated value {} to {}", value.getClass(), + type, value, ret); } return ret; } // FIXME: Once BUG-3399 is fixed, we should never need this - protected abstract T convert(final Number value); + protected abstract T convert(Number value); /** * Format a value into a Java-compilable expression which results in the appropriate @@ -104,7 +106,7 @@ public abstract class AbstractRangeGenerator> { * @param value Number value * @return Java language string representation */ - @Nonnull protected abstract String format(final T value); + @Nonnull protected abstract String format(T value); /** * Generate the checker method source code. @@ -112,8 +114,8 @@ public abstract class AbstractRangeGenerator> { * @param constraint Restrictions which need to be applied. * @return Method source code. */ - @Nonnull protected abstract String generateRangeCheckerImplementation(@Nonnull final String checkerName, - @Nonnull final RangeConstraint constraint); + @Nonnull protected abstract String generateRangeCheckerImplementation(@Nonnull String checkerName, + @Nonnull RangeConstraint constraint); private static String rangeCheckerName(final String member) { return "check" + member + "Range"; diff --git a/binding2/mdsal-binding2-java-api-generator/src/main/java/org/opendaylight/mdsal/binding/javav2/java/api/generator/rangeGenerators/AbstractSubIntegerRangeGenerator.java b/binding2/mdsal-binding2-java-api-generator/src/main/java/org/opendaylight/mdsal/binding/javav2/java/api/generator/range_generators/AbstractSubIntegerRangeGenerator.java similarity index 80% rename from binding2/mdsal-binding2-java-api-generator/src/main/java/org/opendaylight/mdsal/binding/javav2/java/api/generator/rangeGenerators/AbstractSubIntegerRangeGenerator.java rename to binding2/mdsal-binding2-java-api-generator/src/main/java/org/opendaylight/mdsal/binding/javav2/java/api/generator/range_generators/AbstractSubIntegerRangeGenerator.java index c6e52259e9..d012b37d67 100644 --- a/binding2/mdsal-binding2-java-api-generator/src/main/java/org/opendaylight/mdsal/binding/javav2/java/api/generator/rangeGenerators/AbstractSubIntegerRangeGenerator.java +++ b/binding2/mdsal-binding2-java-api-generator/src/main/java/org/opendaylight/mdsal/binding/javav2/java/api/generator/range_generators/AbstractSubIntegerRangeGenerator.java @@ -5,12 +5,12 @@ * terms of the Eclipse Public License v1.0 which accompanies this distribution, * and is available at http://www.eclipse.org/legal/epl-v10.html */ -package org.opendaylight.mdsal.binding.javav2.java.api.generator.rangeGenerators; +package org.opendaylight.mdsal.binding.javav2.java.api.generator.range_generators; -import javax.annotation.Nonnull; - -abstract class AbstractSubIntegerRangeGenerator> extends AbstractPrimitiveRangeGenerator { - protected AbstractSubIntegerRangeGenerator(final Class typeClass, final String primitiveName, final T minValue, final T maxValue) { +abstract class AbstractSubIntegerRangeGenerator> extends + AbstractPrimitiveRangeGenerator { + protected AbstractSubIntegerRangeGenerator(final Class typeClass, final String primitiveName, final T + minValue, final T maxValue) { super(typeClass, primitiveName, minValue, maxValue); } diff --git a/binding2/mdsal-binding2-java-api-generator/src/main/java/org/opendaylight/mdsal/binding/javav2/java/api/generator/rangeGenerators/AbstractUnsignedIntegerRangeGenerator.java b/binding2/mdsal-binding2-java-api-generator/src/main/java/org/opendaylight/mdsal/binding/javav2/java/api/generator/range_generators/AbstractUnsignedIntegerRangeGenerator.java similarity index 98% rename from binding2/mdsal-binding2-java-api-generator/src/main/java/org/opendaylight/mdsal/binding/javav2/java/api/generator/rangeGenerators/AbstractUnsignedIntegerRangeGenerator.java rename to binding2/mdsal-binding2-java-api-generator/src/main/java/org/opendaylight/mdsal/binding/javav2/java/api/generator/range_generators/AbstractUnsignedIntegerRangeGenerator.java index 66eea90e46..00190a4513 100644 --- a/binding2/mdsal-binding2-java-api-generator/src/main/java/org/opendaylight/mdsal/binding/javav2/java/api/generator/rangeGenerators/AbstractUnsignedIntegerRangeGenerator.java +++ b/binding2/mdsal-binding2-java-api-generator/src/main/java/org/opendaylight/mdsal/binding/javav2/java/api/generator/range_generators/AbstractUnsignedIntegerRangeGenerator.java @@ -5,7 +5,7 @@ * terms of the Eclipse Public License v1.0 which accompanies this distribution, * and is available at http://www.eclipse.org/legal/epl-v10.html */ -package org.opendaylight.mdsal.binding.javav2.java.api.generator.rangeGenerators; +package org.opendaylight.mdsal.binding.javav2.java.api.generator.range_generators; import javax.annotation.Nonnull; diff --git a/binding2/mdsal-binding2-java-api-generator/src/main/java/org/opendaylight/mdsal/binding/javav2/java/api/generator/rangeGenerators/BigDecimalRangeGenerator.java b/binding2/mdsal-binding2-java-api-generator/src/main/java/org/opendaylight/mdsal/binding/javav2/java/api/generator/range_generators/BigDecimalRangeGenerator.java similarity index 98% rename from binding2/mdsal-binding2-java-api-generator/src/main/java/org/opendaylight/mdsal/binding/javav2/java/api/generator/rangeGenerators/BigDecimalRangeGenerator.java rename to binding2/mdsal-binding2-java-api-generator/src/main/java/org/opendaylight/mdsal/binding/javav2/java/api/generator/range_generators/BigDecimalRangeGenerator.java index 1f61feb24a..fcdd75b1b4 100644 --- a/binding2/mdsal-binding2-java-api-generator/src/main/java/org/opendaylight/mdsal/binding/javav2/java/api/generator/rangeGenerators/BigDecimalRangeGenerator.java +++ b/binding2/mdsal-binding2-java-api-generator/src/main/java/org/opendaylight/mdsal/binding/javav2/java/api/generator/range_generators/BigDecimalRangeGenerator.java @@ -5,7 +5,7 @@ * terms of the Eclipse Public License v1.0 which accompanies this distribution, * and is available at http://www.eclipse.org/legal/epl-v10.html */ -package org.opendaylight.mdsal.binding.javav2.java.api.generator.rangeGenerators; +package org.opendaylight.mdsal.binding.javav2.java.api.generator.range_generators; import java.math.BigDecimal; import java.math.BigInteger; diff --git a/binding2/mdsal-binding2-java-api-generator/src/main/java/org/opendaylight/mdsal/binding/javav2/java/api/generator/rangeGenerators/BigIntegerRangeGenerator.java b/binding2/mdsal-binding2-java-api-generator/src/main/java/org/opendaylight/mdsal/binding/javav2/java/api/generator/range_generators/BigIntegerRangeGenerator.java similarity index 98% rename from binding2/mdsal-binding2-java-api-generator/src/main/java/org/opendaylight/mdsal/binding/javav2/java/api/generator/rangeGenerators/BigIntegerRangeGenerator.java rename to binding2/mdsal-binding2-java-api-generator/src/main/java/org/opendaylight/mdsal/binding/javav2/java/api/generator/range_generators/BigIntegerRangeGenerator.java index 2935eae263..11d3b9919e 100644 --- a/binding2/mdsal-binding2-java-api-generator/src/main/java/org/opendaylight/mdsal/binding/javav2/java/api/generator/rangeGenerators/BigIntegerRangeGenerator.java +++ b/binding2/mdsal-binding2-java-api-generator/src/main/java/org/opendaylight/mdsal/binding/javav2/java/api/generator/range_generators/BigIntegerRangeGenerator.java @@ -5,7 +5,7 @@ * terms of the Eclipse Public License v1.0 which accompanies this distribution, * and is available at http://www.eclipse.org/legal/epl-v10.html */ -package org.opendaylight.mdsal.binding.javav2.java.api.generator.rangeGenerators; +package org.opendaylight.mdsal.binding.javav2.java.api.generator.range_generators; import java.math.BigInteger; diff --git a/binding2/mdsal-binding2-java-api-generator/src/main/java/org/opendaylight/mdsal/binding/javav2/java/api/generator/rangeGenerators/ByteRangeGenerator.java b/binding2/mdsal-binding2-java-api-generator/src/main/java/org/opendaylight/mdsal/binding/javav2/java/api/generator/range_generators/ByteRangeGenerator.java similarity index 97% rename from binding2/mdsal-binding2-java-api-generator/src/main/java/org/opendaylight/mdsal/binding/javav2/java/api/generator/rangeGenerators/ByteRangeGenerator.java rename to binding2/mdsal-binding2-java-api-generator/src/main/java/org/opendaylight/mdsal/binding/javav2/java/api/generator/range_generators/ByteRangeGenerator.java index 62779a8900..0e5a2044f8 100644 --- a/binding2/mdsal-binding2-java-api-generator/src/main/java/org/opendaylight/mdsal/binding/javav2/java/api/generator/rangeGenerators/ByteRangeGenerator.java +++ b/binding2/mdsal-binding2-java-api-generator/src/main/java/org/opendaylight/mdsal/binding/javav2/java/api/generator/range_generators/ByteRangeGenerator.java @@ -5,7 +5,7 @@ * terms of the Eclipse Public License v1.0 which accompanies this distribution, * and is available at http://www.eclipse.org/legal/epl-v10.html */ -package org.opendaylight.mdsal.binding.javav2.java.api.generator.rangeGenerators; +package org.opendaylight.mdsal.binding.javav2.java.api.generator.range_generators; final class ByteRangeGenerator extends AbstractSubIntegerRangeGenerator { ByteRangeGenerator() { diff --git a/binding2/mdsal-binding2-java-api-generator/src/main/java/org/opendaylight/mdsal/binding/javav2/java/api/generator/rangeGenerators/IntegerRangeGenerator.java b/binding2/mdsal-binding2-java-api-generator/src/main/java/org/opendaylight/mdsal/binding/javav2/java/api/generator/range_generators/IntegerRangeGenerator.java similarity index 97% rename from binding2/mdsal-binding2-java-api-generator/src/main/java/org/opendaylight/mdsal/binding/javav2/java/api/generator/rangeGenerators/IntegerRangeGenerator.java rename to binding2/mdsal-binding2-java-api-generator/src/main/java/org/opendaylight/mdsal/binding/javav2/java/api/generator/range_generators/IntegerRangeGenerator.java index c75dda5269..1399eb8fac 100644 --- a/binding2/mdsal-binding2-java-api-generator/src/main/java/org/opendaylight/mdsal/binding/javav2/java/api/generator/rangeGenerators/IntegerRangeGenerator.java +++ b/binding2/mdsal-binding2-java-api-generator/src/main/java/org/opendaylight/mdsal/binding/javav2/java/api/generator/range_generators/IntegerRangeGenerator.java @@ -5,7 +5,7 @@ * terms of the Eclipse Public License v1.0 which accompanies this distribution, * and is available at http://www.eclipse.org/legal/epl-v10.html */ -package org.opendaylight.mdsal.binding.javav2.java.api.generator.rangeGenerators; +package org.opendaylight.mdsal.binding.javav2.java.api.generator.range_generators; final class IntegerRangeGenerator extends AbstractPrimitiveRangeGenerator { IntegerRangeGenerator() { diff --git a/binding2/mdsal-binding2-java-api-generator/src/main/java/org/opendaylight/mdsal/binding/javav2/java/api/generator/rangeGenerators/LengthGenerator.java b/binding2/mdsal-binding2-java-api-generator/src/main/java/org/opendaylight/mdsal/binding/javav2/java/api/generator/range_generators/LengthGenerator.java similarity index 97% rename from binding2/mdsal-binding2-java-api-generator/src/main/java/org/opendaylight/mdsal/binding/javav2/java/api/generator/rangeGenerators/LengthGenerator.java rename to binding2/mdsal-binding2-java-api-generator/src/main/java/org/opendaylight/mdsal/binding/javav2/java/api/generator/range_generators/LengthGenerator.java index 926ca74d50..5dadc18cdd 100644 --- a/binding2/mdsal-binding2-java-api-generator/src/main/java/org/opendaylight/mdsal/binding/javav2/java/api/generator/rangeGenerators/LengthGenerator.java +++ b/binding2/mdsal-binding2-java-api-generator/src/main/java/org/opendaylight/mdsal/binding/javav2/java/api/generator/range_generators/LengthGenerator.java @@ -5,7 +5,7 @@ * terms of the Eclipse Public License v1.0 which accompanies this distribution, * and is available at http://www.eclipse.org/legal/epl-v10.html */ -package org.opendaylight.mdsal.binding.javav2.java.api.generator.rangeGenerators; +package org.opendaylight.mdsal.binding.javav2.java.api.generator.range_generators; import com.google.common.collect.Range; import java.util.ArrayList; @@ -110,7 +110,8 @@ public final class LengthGenerator { } } - public static String generateLengthCheckerCall(@Nullable final String member, @Nonnull final String valueReference) { + public static String generateLengthCheckerCall(@Nullable final String member, + @Nonnull final String valueReference) { return lengthCheckerName(member) + '(' + valueReference + ");\n"; } } \ No newline at end of file diff --git a/binding2/mdsal-binding2-java-api-generator/src/main/java/org/opendaylight/mdsal/binding/javav2/java/api/generator/rangeGenerators/LongRangeGenerator.java b/binding2/mdsal-binding2-java-api-generator/src/main/java/org/opendaylight/mdsal/binding/javav2/java/api/generator/range_generators/LongRangeGenerator.java similarity index 97% rename from binding2/mdsal-binding2-java-api-generator/src/main/java/org/opendaylight/mdsal/binding/javav2/java/api/generator/rangeGenerators/LongRangeGenerator.java rename to binding2/mdsal-binding2-java-api-generator/src/main/java/org/opendaylight/mdsal/binding/javav2/java/api/generator/range_generators/LongRangeGenerator.java index 767f94c8e9..689560aedf 100644 --- a/binding2/mdsal-binding2-java-api-generator/src/main/java/org/opendaylight/mdsal/binding/javav2/java/api/generator/rangeGenerators/LongRangeGenerator.java +++ b/binding2/mdsal-binding2-java-api-generator/src/main/java/org/opendaylight/mdsal/binding/javav2/java/api/generator/range_generators/LongRangeGenerator.java @@ -5,7 +5,7 @@ * terms of the Eclipse Public License v1.0 which accompanies this distribution, * and is available at http://www.eclipse.org/legal/epl-v10.html */ -package org.opendaylight.mdsal.binding.javav2.java.api.generator.rangeGenerators; +package org.opendaylight.mdsal.binding.javav2.java.api.generator.range_generators; final class LongRangeGenerator extends AbstractPrimitiveRangeGenerator { diff --git a/binding2/mdsal-binding2-java-api-generator/src/main/java/org/opendaylight/mdsal/binding/javav2/java/api/generator/rangeGenerators/ShortRangeGenerator.java b/binding2/mdsal-binding2-java-api-generator/src/main/java/org/opendaylight/mdsal/binding/javav2/java/api/generator/range_generators/ShortRangeGenerator.java similarity index 97% rename from binding2/mdsal-binding2-java-api-generator/src/main/java/org/opendaylight/mdsal/binding/javav2/java/api/generator/rangeGenerators/ShortRangeGenerator.java rename to binding2/mdsal-binding2-java-api-generator/src/main/java/org/opendaylight/mdsal/binding/javav2/java/api/generator/range_generators/ShortRangeGenerator.java index f77521dd30..857bac01cb 100644 --- a/binding2/mdsal-binding2-java-api-generator/src/main/java/org/opendaylight/mdsal/binding/javav2/java/api/generator/rangeGenerators/ShortRangeGenerator.java +++ b/binding2/mdsal-binding2-java-api-generator/src/main/java/org/opendaylight/mdsal/binding/javav2/java/api/generator/range_generators/ShortRangeGenerator.java @@ -5,7 +5,7 @@ * terms of the Eclipse Public License v1.0 which accompanies this distribution, * and is available at http://www.eclipse.org/legal/epl-v10.html */ -package org.opendaylight.mdsal.binding.javav2.java.api.generator.rangeGenerators; +package org.opendaylight.mdsal.binding.javav2.java.api.generator.range_generators; final class ShortRangeGenerator extends AbstractSubIntegerRangeGenerator { ShortRangeGenerator() { diff --git a/binding2/mdsal-binding2-java-api-generator/src/main/java/org/opendaylight/mdsal/binding/javav2/java/api/generator/rangeGenerators/TypeUtils.java b/binding2/mdsal-binding2-java-api-generator/src/main/java/org/opendaylight/mdsal/binding/javav2/java/api/generator/range_generators/TypeUtils.java similarity index 99% rename from binding2/mdsal-binding2-java-api-generator/src/main/java/org/opendaylight/mdsal/binding/javav2/java/api/generator/rangeGenerators/TypeUtils.java rename to binding2/mdsal-binding2-java-api-generator/src/main/java/org/opendaylight/mdsal/binding/javav2/java/api/generator/range_generators/TypeUtils.java index 9996b8b1b3..e4e12689ad 100644 --- a/binding2/mdsal-binding2-java-api-generator/src/main/java/org/opendaylight/mdsal/binding/javav2/java/api/generator/rangeGenerators/TypeUtils.java +++ b/binding2/mdsal-binding2-java-api-generator/src/main/java/org/opendaylight/mdsal/binding/javav2/java/api/generator/range_generators/TypeUtils.java @@ -5,7 +5,7 @@ * terms of the Eclipse Public License v1.0 which accompanies this distribution, * and is available at http://www.eclipse.org/legal/epl-v10.html */ -package org.opendaylight.mdsal.binding.javav2.java.api.generator.rangeGenerators; +package org.opendaylight.mdsal.binding.javav2.java.api.generator.range_generators; import com.google.common.base.Preconditions; import javax.annotation.Nonnull; diff --git a/binding2/mdsal-binding2-java-api-generator/src/main/java/org/opendaylight/mdsal/binding/javav2/java/api/generator/rangeGenerators/Uint16RangeGenerator.java b/binding2/mdsal-binding2-java-api-generator/src/main/java/org/opendaylight/mdsal/binding/javav2/java/api/generator/range_generators/Uint16RangeGenerator.java similarity index 97% rename from binding2/mdsal-binding2-java-api-generator/src/main/java/org/opendaylight/mdsal/binding/javav2/java/api/generator/rangeGenerators/Uint16RangeGenerator.java rename to binding2/mdsal-binding2-java-api-generator/src/main/java/org/opendaylight/mdsal/binding/javav2/java/api/generator/range_generators/Uint16RangeGenerator.java index 230c03bf6b..814e1e5c69 100644 --- a/binding2/mdsal-binding2-java-api-generator/src/main/java/org/opendaylight/mdsal/binding/javav2/java/api/generator/rangeGenerators/Uint16RangeGenerator.java +++ b/binding2/mdsal-binding2-java-api-generator/src/main/java/org/opendaylight/mdsal/binding/javav2/java/api/generator/range_generators/Uint16RangeGenerator.java @@ -5,7 +5,7 @@ * terms of the Eclipse Public License v1.0 which accompanies this distribution, * and is available at http://www.eclipse.org/legal/epl-v10.html */ -package org.opendaylight.mdsal.binding.javav2.java.api.generator.rangeGenerators; +package org.opendaylight.mdsal.binding.javav2.java.api.generator.range_generators; import org.opendaylight.yangtools.yang.common.Uint16; diff --git a/binding2/mdsal-binding2-java-api-generator/src/main/java/org/opendaylight/mdsal/binding/javav2/java/api/generator/rangeGenerators/Uint32RangeGenerator.java b/binding2/mdsal-binding2-java-api-generator/src/main/java/org/opendaylight/mdsal/binding/javav2/java/api/generator/range_generators/Uint32RangeGenerator.java similarity index 97% rename from binding2/mdsal-binding2-java-api-generator/src/main/java/org/opendaylight/mdsal/binding/javav2/java/api/generator/rangeGenerators/Uint32RangeGenerator.java rename to binding2/mdsal-binding2-java-api-generator/src/main/java/org/opendaylight/mdsal/binding/javav2/java/api/generator/range_generators/Uint32RangeGenerator.java index 06e1e852a3..4c7b832105 100644 --- a/binding2/mdsal-binding2-java-api-generator/src/main/java/org/opendaylight/mdsal/binding/javav2/java/api/generator/rangeGenerators/Uint32RangeGenerator.java +++ b/binding2/mdsal-binding2-java-api-generator/src/main/java/org/opendaylight/mdsal/binding/javav2/java/api/generator/range_generators/Uint32RangeGenerator.java @@ -5,7 +5,7 @@ * terms of the Eclipse Public License v1.0 which accompanies this distribution, * and is available at http://www.eclipse.org/legal/epl-v10.html */ -package org.opendaylight.mdsal.binding.javav2.java.api.generator.rangeGenerators; +package org.opendaylight.mdsal.binding.javav2.java.api.generator.range_generators; import org.opendaylight.yangtools.yang.common.Uint32; diff --git a/binding2/mdsal-binding2-java-api-generator/src/main/java/org/opendaylight/mdsal/binding/javav2/java/api/generator/rangeGenerators/Uint64RangeGenerator.java b/binding2/mdsal-binding2-java-api-generator/src/main/java/org/opendaylight/mdsal/binding/javav2/java/api/generator/range_generators/Uint64RangeGenerator.java similarity index 97% rename from binding2/mdsal-binding2-java-api-generator/src/main/java/org/opendaylight/mdsal/binding/javav2/java/api/generator/rangeGenerators/Uint64RangeGenerator.java rename to binding2/mdsal-binding2-java-api-generator/src/main/java/org/opendaylight/mdsal/binding/javav2/java/api/generator/range_generators/Uint64RangeGenerator.java index 32752dee0c..cbd71e6a82 100644 --- a/binding2/mdsal-binding2-java-api-generator/src/main/java/org/opendaylight/mdsal/binding/javav2/java/api/generator/rangeGenerators/Uint64RangeGenerator.java +++ b/binding2/mdsal-binding2-java-api-generator/src/main/java/org/opendaylight/mdsal/binding/javav2/java/api/generator/range_generators/Uint64RangeGenerator.java @@ -5,7 +5,7 @@ * terms of the Eclipse Public License v1.0 which accompanies this distribution, * and is available at http://www.eclipse.org/legal/epl-v10.html */ -package org.opendaylight.mdsal.binding.javav2.java.api.generator.rangeGenerators; +package org.opendaylight.mdsal.binding.javav2.java.api.generator.range_generators; import com.google.common.primitives.UnsignedLong; import java.math.BigInteger; diff --git a/binding2/mdsal-binding2-java-api-generator/src/main/java/org/opendaylight/mdsal/binding/javav2/java/api/generator/rangeGenerators/Uint8RangeGenerator.java b/binding2/mdsal-binding2-java-api-generator/src/main/java/org/opendaylight/mdsal/binding/javav2/java/api/generator/range_generators/Uint8RangeGenerator.java similarity index 97% rename from binding2/mdsal-binding2-java-api-generator/src/main/java/org/opendaylight/mdsal/binding/javav2/java/api/generator/rangeGenerators/Uint8RangeGenerator.java rename to binding2/mdsal-binding2-java-api-generator/src/main/java/org/opendaylight/mdsal/binding/javav2/java/api/generator/range_generators/Uint8RangeGenerator.java index 50260fe081..fabbd99e1a 100644 --- a/binding2/mdsal-binding2-java-api-generator/src/main/java/org/opendaylight/mdsal/binding/javav2/java/api/generator/rangeGenerators/Uint8RangeGenerator.java +++ b/binding2/mdsal-binding2-java-api-generator/src/main/java/org/opendaylight/mdsal/binding/javav2/java/api/generator/range_generators/Uint8RangeGenerator.java @@ -5,7 +5,7 @@ * terms of the Eclipse Public License v1.0 which accompanies this distribution, * and is available at http://www.eclipse.org/legal/epl-v10.html */ -package org.opendaylight.mdsal.binding.javav2.java.api.generator.rangeGenerators; +package org.opendaylight.mdsal.binding.javav2.java.api.generator.range_generators; import org.opendaylight.yangtools.yang.common.Uint8; diff --git a/binding2/mdsal-binding2-java-api-generator/src/main/java/org/opendaylight/mdsal/binding/javav2/java/api/generator/renderers/BaseRenderer.java b/binding2/mdsal-binding2-java-api-generator/src/main/java/org/opendaylight/mdsal/binding/javav2/java/api/generator/renderers/BaseRenderer.java index a246fc67d3..c7b66e927d 100644 --- a/binding2/mdsal-binding2-java-api-generator/src/main/java/org/opendaylight/mdsal/binding/javav2/java/api/generator/renderers/BaseRenderer.java +++ b/binding2/mdsal-binding2-java-api-generator/src/main/java/org/opendaylight/mdsal/binding/javav2/java/api/generator/renderers/BaseRenderer.java @@ -9,23 +9,19 @@ package org.opendaylight.mdsal.binding.javav2.java.api.generator.renderers; import static com.google.common.base.Preconditions.checkArgument; -import static org.opendaylight.mdsal.binding.javav2.util.BindingMapping.PATTERN_CONSTANT_NAME; import com.google.common.base.Preconditions; -import com.google.common.collect.ImmutableList; import com.google.common.collect.ImmutableMap; -import java.util.ArrayList; + import java.util.Collection; import java.util.HashMap; import java.util.LinkedList; import java.util.List; import java.util.Map; -import java.util.Optional; -import org.apache.commons.text.StringEscapeUtils; + import org.eclipse.jdt.annotation.NonNull; import org.opendaylight.mdsal.binding.javav2.generator.util.Types; import org.opendaylight.mdsal.binding.javav2.java.api.generator.util.TextTemplateUtil; -import org.opendaylight.mdsal.binding.javav2.model.api.Constant; import org.opendaylight.mdsal.binding.javav2.model.api.GeneratedProperty; import org.opendaylight.mdsal.binding.javav2.model.api.GeneratedTransferObject; import org.opendaylight.mdsal.binding.javav2.model.api.GeneratedType; @@ -33,33 +29,33 @@ import org.opendaylight.mdsal.binding.javav2.model.api.MethodSignature; import org.opendaylight.mdsal.binding.javav2.model.api.ParameterizedType; import org.opendaylight.mdsal.binding.javav2.model.api.Type; import org.opendaylight.mdsal.binding.javav2.model.api.WildcardType; -import org.opendaylight.yangtools.yang.common.QName; -import org.opendaylight.yangtools.yang.common.Revision; + + public abstract class BaseRenderer { private static final String COMMA = ","; private static final String DOT = "."; - private final GeneratedType type; + private final GeneratedType genType; private final Map importMap; /** - * list of all imported names for template + * list of all imported names for template. */ private final Map importedNames = new HashMap<>(); protected BaseRenderer(final GeneratedType type) { - this.type = Preconditions.checkNotNull(type); + this.genType = Preconditions.checkNotNull(type); this.importMap = new HashMap<>(); } /** - * Implementation needs to call Scala template render() method to generate string body + * Implementation needs to call Scala template render() method to generate string body. * @return rendered body */ protected abstract String body(); protected GeneratedType getType() { - return type; + return genType; } protected Map getImportedNames() { @@ -83,12 +79,13 @@ public abstract class BaseRenderer { } /** + * Return string with type name for type in the full format or in the short format. * @param intype type to format and add to imports * @return formatted type */ protected String importedName(final Type intype) { - putTypeIntoImports(type, intype); - return getExplicitType(type, intype); + putTypeIntoImports(genType, intype); + return getExplicitType(genType, intype); } protected String importedName(final Class cls) { @@ -96,18 +93,19 @@ public abstract class BaseRenderer { } /** + * Generate package definition for template. * @return package definition for template */ protected String packageDefinition() { final StringBuilder sb = new StringBuilder(); sb.append("package ") - .append(type.getPackageName()) + .append(genType.getPackageName()) .append(";\n\n"); return sb.toString(); } /** - * walks through map of imports + * walks through map of imports. * @return string of imports for template */ private String imports() { @@ -148,12 +146,12 @@ public abstract class BaseRenderer { } /** - * Checks if package of generated type and imported type is the same + * Checks if package of generated type and imported type is the same. * @param importedTypePackageName imported types package name * @return equals packages */ protected boolean hasSamePackage(final String importedTypePackageName) { - return type.getPackageName().equals(importedTypePackageName); + return genType.getPackageName().equals(importedTypePackageName); } /** @@ -234,7 +232,8 @@ public abstract class BaseRenderer { * @param parentGenType generated type which contains type * @return adds actual type parameters to builder */ - private StringBuilder addActualTypeParameters(final StringBuilder sb, final Type type, final GeneratedType parentGenType) { + private StringBuilder addActualTypeParameters(final StringBuilder sb, final Type type, + final GeneratedType parentGenType) { if (type instanceof ParameterizedType) { final ParameterizedType pType = (ParameterizedType) type; final Type[] pTypes = pType.getActualTypeArguments(); @@ -259,22 +258,22 @@ public abstract class BaseRenderer { } /** - * Generates the string with all actual type parameters from + * Generates the string with all actual type parameters from. * * @param parentGenType generated type for which is the JAVA code generated - * @param pTypes array of Type instances = actual type parameters - * @return string with all actual type parameters from pTypes + * @param types array of Type instances = actual type parameters + * @return string with all actual type parameters from types */ - private String getParameters(final GeneratedType parentGenType, final Type[] pTypes) { - if (pTypes == null || pTypes.length == 0) { + private String getParameters(final GeneratedType parentGenType, final Type[] types) { + if (types == null || types.length == 0) { return "?"; } final StringBuilder sb = new StringBuilder(); - for (int i = 0; i < pTypes.length; i++) { - final Type t = pTypes[i]; + for (int i = 0; i < types.length; i++) { + final Type t = types[i]; String separator = COMMA; - if (i == pTypes.length - 1) { + if (i == types.length - 1) { separator = ""; } @@ -318,7 +317,7 @@ public abstract class BaseRenderer { } /** - * Template method which generates the getter method for field + * Template method which generates the getter method for field. * * @param field generated property with data about field which is generated as the getter method * @return string with the getter method source code in JAVA format @@ -345,7 +344,7 @@ public abstract class BaseRenderer { } /** - * builds template + * builds template. * @return generated final template */ public String generateTemplate() { diff --git a/binding2/mdsal-binding2-java-api-generator/src/main/java/org/opendaylight/mdsal/binding/javav2/java/api/generator/renderers/BuilderRenderer.java b/binding2/mdsal-binding2-java-api-generator/src/main/java/org/opendaylight/mdsal/binding/javav2/java/api/generator/renderers/BuilderRenderer.java index 52ae25e969..ac4d63fb09 100755 --- a/binding2/mdsal-binding2-java-api-generator/src/main/java/org/opendaylight/mdsal/binding/javav2/java/api/generator/renderers/BuilderRenderer.java +++ b/binding2/mdsal-binding2-java-api-generator/src/main/java/org/opendaylight/mdsal/binding/javav2/java/api/generator/renderers/BuilderRenderer.java @@ -19,6 +19,7 @@ import com.google.common.collect.ClassToInstanceMap; import com.google.common.collect.Collections2; import com.google.common.collect.ImmutableList; import com.google.common.collect.ImmutableSortedSet; + import java.lang.reflect.Method; import java.util.ArrayList; import java.util.Arrays; @@ -32,6 +33,7 @@ import java.util.Map; import java.util.Objects; import java.util.Set; import java.util.regex.Pattern; + import org.opendaylight.mdsal.binding.javav2.generator.util.BindingTypes; import org.opendaylight.mdsal.binding.javav2.generator.util.ReferencedTypeImpl; import org.opendaylight.mdsal.binding.javav2.generator.util.Types; @@ -62,17 +64,17 @@ import org.opendaylight.yangtools.yang.common.QName; public class BuilderRenderer extends BaseRenderer { /** - * Set of class attributes (fields) which are derived from the getter methods names + * Set of class attributes (fields) which are derived from the getter methods names. */ private final Set properties; /** - * Set of name from properties + * Set of name from properties. */ private final Map importedNamesForProperties = new HashMap<>(); /** - * Generated property is set if among methods is found one with the name GET_AUGMENTATION_METHOD_NAME + * Generated property is set if among methods is found one with the name GET_AUGMENTATION_METHOD_NAME. */ private GeneratedProperty augmentField; @@ -89,14 +91,14 @@ public class BuilderRenderer extends BaseRenderer { protected String packageDefinition() { final StringBuilder sb = new StringBuilder(); sb.append("package ") - .append(((GeneratedTypeForBuilder)getType()).getPackageNameForBuilder()) + .append(((GeneratedTypeForBuilder) getType()).getPackageNameForBuilder()) .append(";\n\n"); return sb.toString(); } @Override protected boolean hasSamePackage(final String importedTypePackageName) { - return ((GeneratedTypeForBuilder)getType()).getPackageNameForBuilder() + return ((GeneratedTypeForBuilder) getType()).getPackageNameForBuilder() .equals(importedTypePackageName); } @@ -129,23 +131,22 @@ public class BuilderRenderer extends BaseRenderer { * * @param method method signature from which is the method name and return type obtained * @return generated property instance for the getter method - * @throws IllegalArgumentException - *

  • if the method equals null
  • - *
  • if the name of the method equals null
  • - *
  • if the name of the method is empty
  • - *
  • if the return type of the method equals null
  • + * @throws IllegalArgumentException
  • if the method equals null
  • + *
  • if the name of the method equals null
  • + *
  • if the name of the method is empty
  • + *
  • if the return type of the method equals null
  • */ private GeneratedProperty propertyFromGetter(final MethodSignature method) { Preconditions.checkArgument(method != null, "Method cannot be NULL"); Preconditions.checkArgument(!Strings.isNullOrEmpty(method.getName()), - "Method name cannot be NULL or empty"); + "Method name cannot be NULL or empty"); Preconditions.checkArgument(method.getReturnType() != null, - "Method return type reference cannot be NULL"); + "Method return type reference cannot be NULL"); final String prefix = Types.BOOLEAN.equals(method.getReturnType()) ? "is" : "get"; if (method.getName().startsWith(prefix)) { final String fieldName = toFirstLower(method.getName().substring(prefix.length())); final GeneratedTOBuilderImpl tmpGenTO = - new GeneratedTOBuilderImpl("foo", "foo", true); + new GeneratedTOBuilderImpl("foo", "foo", true); tmpGenTO.addProperty(fieldName).setReturnType(method.getReturnType()); return tmpGenTO.toInstance().getProperties().get(0); } @@ -173,7 +174,7 @@ public class BuilderRenderer extends BaseRenderer { * Adds to the methods set all the methods of the implementedIfcs * and recursively their implemented interfaces. * - * @param methods set of method signatures + * @param methods set of method signatures * @param implementedIfcs list of implemented interfaces */ private void collectImplementedMethods(final Set methods, List implementedIfcs) { @@ -194,21 +195,22 @@ public class BuilderRenderer extends BaseRenderer { final GeneratedTOBuilderImpl generatedTOBuilder = new GeneratedTOBuilderImpl(aPackage, name, true); final ReferencedTypeImpl referencedType = new ReferencedTypeImpl(aPackage, name, - true, null); + true, null); final ReferencedTypeImpl generic = new ReferencedTypeImpl(getType().getPackageName(), getType().getName(), true, null); final ParameterizedType parametrizedReturnType = - Types.parameterizedTypeFor(referencedType, generic); + Types.parameterizedTypeFor(referencedType, generic); generatedTOBuilder.addMethod(method.getName()).setReturnType(parametrizedReturnType); augmentField = propertyFromGetter(generatedTOBuilder.toInstance().getMethodDefinitions() - .get(0)); + .get(0)); getImportedNames().put("map", importedName(Map.class)); getImportedNames().put("hashMap", importedName(HashMap.class)); getImportedNames().put("class", importedName(Class.class)); // To do This is for third party, is it needed ? getImportedNames().put("augmentationHolder", importedName(AugmentationHolder.class)); getImportedNames().put("collections", importedName(Collections.class)); - getImportedNames().put("augmentFieldReturnType", importedName(augmentField.getReturnType())); + getImportedNames().put("augmentFieldReturnType", importedName( + augmentField.getReturnType())); } } } else if (Instantiable.class.getName().equals(implementedIfc.getFullyQualifiedName())) { @@ -231,7 +233,7 @@ public class BuilderRenderer extends BaseRenderer { } /** - * Returns the name of tye type from fullyQualifiedName + * Returns the name of the type from fullyQualifiedName. * * @param fullyQualifiedName string with fully qualified type name (package + type) * @return string with the name of the type @@ -244,8 +246,8 @@ public class BuilderRenderer extends BaseRenderer { public static Set getAllIfcs(final Type type) { final Set baseIfcs = new HashSet<>(); if (type instanceof GeneratedType && !(type instanceof GeneratedTransferObject)) { - for (Type impl : ((GeneratedType)type).getImplements()) { - if (impl instanceof GeneratedType && !(((GeneratedType)impl).getMethodDefinitions().isEmpty())) { + for (Type impl : ((GeneratedType) type).getImplements()) { + if (impl instanceof GeneratedType && !(((GeneratedType) impl).getMethodDefinitions().isEmpty())) { baseIfcs.add(impl); } baseIfcs.addAll(getAllIfcs(impl)); @@ -262,7 +264,7 @@ public class BuilderRenderer extends BaseRenderer { */ public static boolean hasImplementsFromUses(GeneratedType type) { for (Type impl : getAllIfcs(type)) { - if ((impl instanceof GeneratedType) && !(((GeneratedType)impl).getMethodDefinitions().isEmpty())) { + if ((impl instanceof GeneratedType) && !(((GeneratedType) impl).getMethodDefinitions().isEmpty())) { return true; } } @@ -314,7 +316,7 @@ public class BuilderRenderer extends BaseRenderer { if (getType().getImplements().contains(BindingTypes.IDENTIFIABLE)) { childTreeNodeIdent = true; final ParameterizedType pType = (ParameterizedType) getType().getImplements().get(getType() - .getImplements().indexOf(BindingTypes.IDENTIFIABLE)); + .getImplements().indexOf(BindingTypes.IDENTIFIABLE)); keyTypeName = pType.getActualTypeArguments()[0].getName(); } } @@ -322,21 +324,23 @@ public class BuilderRenderer extends BaseRenderer { getImportedNames().put("augmentation", importedName(Augmentation.class)); getImportedNames().put("classInstMap", importedName(ClassToInstanceMap.class)); - final String constants = constantsTemplate.render(getType(), getImportedNames(), this::importedName, false).body(); + final String constants = constantsTemplate.render(getType(), getImportedNames(), this::importedName, false) + .body(); // list for generate copy constructor final String copyConstructorHelper = generateListForCopyConstructor(); List getterMethods = new ArrayList<>(Collections2.transform(properties, this::getterMethod)); - return builderTemplate.render(getType(), properties, getImportedNames(), importedNamesForProperties, augmentField, - copyConstructorHelper, getterMethods, parentTypeForBuilderName, childTreeNode, childTreeNodeIdent, - keyTypeName, instantiable, constants).body(); + return builderTemplate.render(getType(), properties, getImportedNames(), importedNamesForProperties, + augmentField, + copyConstructorHelper, getterMethods, parentTypeForBuilderName, childTreeNode, childTreeNodeIdent, + keyTypeName, instantiable, constants).body(); } private String generateListForCopyConstructor() { final List allProps = new ArrayList<>(properties); final boolean isList = implementsIfc(getType(), - Types.parameterizedTypeFor(typeForClass(Identifiable.class), getType())); + Types.parameterizedTypeFor(typeForClass(Identifiable.class), getType())); final Type keyType = getKey(getType()); if (isList && keyType != null) { final List keyProps = ((GeneratedTransferObject) keyType).getProperties(); @@ -345,8 +349,8 @@ public class BuilderRenderer extends BaseRenderer { } removeProperty(allProps, "key"); getImportedNames().put("keyTypeConstructor", importedName(keyType)); - return builderConstructorHelperTemplate.render(allProps, keyProps, getImportedNames(), getPropertyList(keyProps)) - .body(); + return builderConstructorHelperTemplate.render(allProps, keyProps, getImportedNames(), + getPropertyList(keyProps)).body(); } return builderConstructorHelperTemplate.render(allProps, null, getImportedNames(), null).body(); } @@ -364,10 +368,10 @@ public class BuilderRenderer extends BaseRenderer { return type.getImplements().contains(impl); } - private void removeProperty(final Collection properties, final String name) { - for (final GeneratedProperty property : properties) { + private void removeProperty(final Collection props, final String name) { + for (final GeneratedProperty property : props) { if (name.equals(property.getName())) { - properties.remove(property); + props.remove(property); break; } } diff --git a/binding2/mdsal-binding2-java-api-generator/src/main/java/org/opendaylight/mdsal/binding/javav2/java/api/generator/renderers/ClassRenderer.java b/binding2/mdsal-binding2-java-api-generator/src/main/java/org/opendaylight/mdsal/binding/javav2/java/api/generator/renderers/ClassRenderer.java index 34b701a31a..d727dbffbd 100644 --- a/binding2/mdsal-binding2-java-api-generator/src/main/java/org/opendaylight/mdsal/binding/javav2/java/api/generator/renderers/ClassRenderer.java +++ b/binding2/mdsal-binding2-java-api-generator/src/main/java/org/opendaylight/mdsal/binding/javav2/java/api/generator/renderers/ClassRenderer.java @@ -16,6 +16,7 @@ import com.google.common.collect.Collections2; import com.google.common.collect.ImmutableList; import com.google.common.collect.Lists; import com.google.common.io.BaseEncoding; + import java.beans.ConstructorProperties; import java.util.ArrayList; import java.util.Arrays; @@ -24,8 +25,9 @@ import java.util.Comparator; import java.util.LinkedList; import java.util.List; import java.util.Objects; -import org.opendaylight.mdsal.binding.javav2.java.api.generator.rangeGenerators.AbstractRangeGenerator; -import org.opendaylight.mdsal.binding.javav2.java.api.generator.rangeGenerators.LengthGenerator; + +import org.opendaylight.mdsal.binding.javav2.java.api.generator.range_generators.AbstractRangeGenerator; +import org.opendaylight.mdsal.binding.javav2.java.api.generator.range_generators.LengthGenerator; import org.opendaylight.mdsal.binding.javav2.java.api.generator.txt.classTemplate; import org.opendaylight.mdsal.binding.javav2.java.api.generator.txt.classTemplateConstructors; import org.opendaylight.mdsal.binding.javav2.java.api.generator.txt.classTemplateRestrictions; @@ -163,7 +165,7 @@ public class ClassRenderer extends BaseRenderer { if (!enclosedGeneratedTypes.isEmpty()) { for (GeneratedType innerClass : enclosedGeneratedTypes) { if (innerClass instanceof GeneratedTransferObject) { - classTemplateBuilder.add(generateInnerClassBody((GeneratedTransferObject)innerClass)); + classTemplateBuilder.add(generateInnerClassBody((GeneratedTransferObject) innerClass)); } } } @@ -177,7 +179,8 @@ public class ClassRenderer extends BaseRenderer { } final String enumerations = String.join("\n", enumList); - final String constants = constantsTemplate.render(getType(), getImportedNames(), this::importedName, false).body(); + final String constants = constantsTemplate.render(getType(), getImportedNames(), this::importedName, false) + .body(); if (genTO.getSuperType() != null) { getImportedNames().put("superType", importedName(genTO.getSuperType())); @@ -219,7 +222,8 @@ public class ClassRenderer extends BaseRenderer { final String fields = sb2.toString(); getImportedNames().put("baseEncoding", importedName(BaseEncoding.class)); if (!allProperties.isEmpty()) { - getImportedNames().put("defProp", importedName(((GeneratedProperty)((List) allProperties).get(0)).getReturnType())); + getImportedNames().put("defProp", importedName(((GeneratedProperty) ((List) allProperties).get(0)) + .getReturnType())); } final StringBuilder sb3 = new StringBuilder(); @@ -254,7 +258,7 @@ public class ClassRenderer extends BaseRenderer { final List other = new ArrayList<>(properties); if (other.remove(allProperty)) { sb2.append(classTemplateUnionConstr.render(getType(), parentProperties, allProperty, - other, importedName(allProperty.getReturnType()), genRestrictions).body()); + other, importedName(allProperty.getReturnType()), genRestrictions).body()); } } } @@ -269,34 +273,32 @@ public class ClassRenderer extends BaseRenderer { * Selects from input list of properties only those which have read only * attribute set to true. * - * @param properties - * list of properties of generated transfer object + * @param props list of properties of generated transfer object * @return subset of properties which have read only attribute - * set to true + * set to true */ - private List resolveReadOnlyPropertiesFromTO(final List properties) { - return new ArrayList<>(Collections2.filter(properties, GeneratedProperty::isReadOnly)); + private List resolveReadOnlyPropertiesFromTO(final List props) { + return new ArrayList<>(Collections2.filter(props, GeneratedProperty::isReadOnly)); } /** * Returns the list of the read only properties of all extending generated * transfer object from genTO to highest parent generated - * transfer object + * transfer object. * - * @param genTO - * generated transfer object for which is the list of read only - * properties generated + * @param transferObject generated transfer object for which is the list of read only + * properties generated * @return list of all read only properties from actual to highest parent - * generated transfer object. In case when extension exists the - * method is recursive called. + * generated transfer object. In case when extension exists the + * method is recursive called. */ - private List getPropertiesOfAllParents(final GeneratedTransferObject genTO) { + private List getPropertiesOfAllParents(final GeneratedTransferObject transferObject) { final List propertiesOfAllParents = new ArrayList<>(); - if (genTO.getSuperType() != null) { - final List allPropertiesOfTO = genTO.getSuperType().getProperties(); + if (transferObject.getSuperType() != null) { + final List allPropertiesOfTO = transferObject.getSuperType().getProperties(); List readOnlyPropertiesOfTO = resolveReadOnlyPropertiesFromTO(allPropertiesOfTO); propertiesOfAllParents.addAll(readOnlyPropertiesOfTO); - propertiesOfAllParents.addAll(getPropertiesOfAllParents(genTO.getSuperType())); + propertiesOfAllParents.addAll(getPropertiesOfAllParents(transferObject.getSuperType())); } return propertiesOfAllParents; } diff --git a/binding2/mdsal-binding2-java-api-generator/src/main/java/org/opendaylight/mdsal/binding/javav2/java/api/generator/renderers/EnumRenderer.java b/binding2/mdsal-binding2-java-api-generator/src/main/java/org/opendaylight/mdsal/binding/javav2/java/api/generator/renderers/EnumRenderer.java index 3c89af6f82..c6b6856419 100644 --- a/binding2/mdsal-binding2-java-api-generator/src/main/java/org/opendaylight/mdsal/binding/javav2/java/api/generator/renderers/EnumRenderer.java +++ b/binding2/mdsal-binding2-java-api-generator/src/main/java/org/opendaylight/mdsal/binding/javav2/java/api/generator/renderers/EnumRenderer.java @@ -13,8 +13,8 @@ import static org.opendaylight.mdsal.binding.javav2.java.api.generator.util.Text import java.util.LinkedList; import java.util.List; -import org.opendaylight.mdsal.binding.javav2.model.api.Enumeration; import org.opendaylight.mdsal.binding.javav2.java.api.generator.txt.enumTemplate; +import org.opendaylight.mdsal.binding.javav2.model.api.Enumeration; public class EnumRenderer extends BaseRenderer { private final Enumeration enums; @@ -31,7 +31,8 @@ public class EnumRenderer extends BaseRenderer { } /** - * @param enumeration enumeration to write + * Return list of enumeration pairs with javadoc. + * @param enumeration enumeration to write. * @return List of enumeration pairs with javadoc */ public static String writeEnumeration(final Enumeration enumeration) { diff --git a/binding2/mdsal-binding2-java-api-generator/src/main/java/org/opendaylight/mdsal/binding/javav2/java/api/generator/renderers/InterfaceRenderer.java b/binding2/mdsal-binding2-java-api-generator/src/main/java/org/opendaylight/mdsal/binding/javav2/java/api/generator/renderers/InterfaceRenderer.java index 470632bd20..369e2bf660 100755 --- a/binding2/mdsal-binding2-java-api-generator/src/main/java/org/opendaylight/mdsal/binding/javav2/java/api/generator/renderers/InterfaceRenderer.java +++ b/binding2/mdsal-binding2-java-api-generator/src/main/java/org/opendaylight/mdsal/binding/javav2/java/api/generator/renderers/InterfaceRenderer.java @@ -113,10 +113,11 @@ public class InterfaceRenderer extends BaseRenderer { } /** + * Return string of annotations. * @param annotationTypeList list of annotations * @return String of annotations in format: - * "@"annotation - * (parameterName1=ParameterSingleValue1,...) + * "@"annotation + * (parameterName1=ParameterSingleValue1,...) * */ private String generateAnnotations(final List annotationTypeList) { @@ -129,9 +130,7 @@ public class InterfaceRenderer extends BaseRenderer { final List parameterList = new ArrayList<>(annotationType.getParameters().size()); for (AnnotationType.Parameter parameter : annotationType.getParameters()) { final StringBuilder sb2 = new StringBuilder(); - sb2.append(parameter.getName()) - .append('=') - .append(parameter.getSingleValue()); + sb2.append(parameter.getName()).append('=').append(parameter.getSingleValue()); parameterList.add(sb2.toString()); } sb1.append(String.join(",", parameterList)); @@ -149,9 +148,9 @@ public class InterfaceRenderer extends BaseRenderer { */ private Entry generateInstanceIdentifier() { //Only tree data nodes need to generate the method. - if (null == getType().getBindingNamespaceType() || - !BindingNamespaceType.isTreeData(getType().getBindingNamespaceType()) || - !getType().getImplements().contains(BindingTypes.TREE_CHILD_NODE) ) { + if (null == getType().getBindingNamespaceType() + || !BindingNamespaceType.isTreeData(getType().getBindingNamespaceType()) + || !getType().getImplements().contains(BindingTypes.TREE_CHILD_NODE)) { return new SimpleEntry<>(null, null); } @@ -200,6 +199,7 @@ public class InterfaceRenderer extends BaseRenderer { /** + * Return list of parameters. * @param parameters list of parameters * @return list of parameters separated with "," */ diff --git a/binding2/mdsal-binding2-java-api-generator/src/main/java/org/opendaylight/mdsal/binding/javav2/java/api/generator/renderers/UnionRenderer.java b/binding2/mdsal-binding2-java-api-generator/src/main/java/org/opendaylight/mdsal/binding/javav2/java/api/generator/renderers/UnionRenderer.java index 7f4420e9a6..e298bc6c15 100644 --- a/binding2/mdsal-binding2-java-api-generator/src/main/java/org/opendaylight/mdsal/binding/javav2/java/api/generator/renderers/UnionRenderer.java +++ b/binding2/mdsal-binding2-java-api-generator/src/main/java/org/opendaylight/mdsal/binding/javav2/java/api/generator/renderers/UnionRenderer.java @@ -34,7 +34,7 @@ public class UnionRenderer extends ClassRenderer { // list of all imported names for template final Map importedNames = new HashMap<>(); - if(isBaseEncodingImportRequired()) { + if (isBaseEncodingImportRequired()) { this.putToImportMap("BaseEncoding","com.google.common.io"); } for (GeneratedProperty finalProperty : getFinalProperties()) { @@ -44,7 +44,7 @@ public class UnionRenderer extends ClassRenderer { } for (GeneratedProperty property : getProperties()) { - if("char[]".equals(property.getReturnType().getName())) { + if ("char[]".equals(property.getReturnType().getName())) { importedNames.put("constructorProperties", importedName(ConstructorProperties.class)); importedNames.put("string", importedName(String.class)); importedNames.put(property.getName(), importedName(property.getReturnType())); @@ -75,10 +75,10 @@ public class UnionRenderer extends ClassRenderer { final Type returnType = property.getReturnType(); if (returnType instanceof GeneratedTransferObject) { final GeneratedTransferObject returnTypeGto = (GeneratedTransferObject)returnType; - if (returnTypeGto.isTypedef() && returnTypeGto.getProperties() != null && - !returnTypeGto.getProperties().isEmpty() && returnTypeGto.getProperties().size() == 1 && - "value".equals(returnTypeGto.getProperties().get(0).getName()) && - "byte[]".equals(returnTypeGto.getProperties().get(0).getReturnType().getName())) { + if (returnTypeGto.isTypedef() && returnTypeGto.getProperties() != null + && !returnTypeGto.getProperties().isEmpty() && returnTypeGto.getProperties().size() == 1 + && "value".equals(returnTypeGto.getProperties().get(0).getName()) + && "byte[]".equals(returnTypeGto.getProperties().get(0).getReturnType().getName())) { return true; } } @@ -108,9 +108,9 @@ public class UnionRenderer extends ClassRenderer { final StringBuilder sb = new StringBuilder(); final List retTypeCastProperties = typedefType.getProperties(); - if (retTypeCastProperties != null && - !retTypeCastProperties.isEmpty() && retTypeCastProperties.size() == 1 && - retTypeCastProperties.get(0).getName().equals("value")) { + if (retTypeCastProperties != null + && !retTypeCastProperties.isEmpty() && retTypeCastProperties.size() == 1 + && retTypeCastProperties.get(0).getName().equals("value")) { final StringBuilder sb1 = new StringBuilder(fieldName); sb1.append(".") @@ -119,15 +119,15 @@ public class UnionRenderer extends ClassRenderer { sb.append(generateCharArrayField(sb1.toString(), retTypeCastProperties.get(0))); // generated bits typedef - } else if (retTypeCastProperties != null && !retTypeCastProperties.isEmpty() && - typedefType.getBaseType() instanceof BitsTypeDefinition) { + } else if (retTypeCastProperties != null && !retTypeCastProperties.isEmpty() + && typedefType.getBaseType() instanceof BitsTypeDefinition) { sb.append("java.util.Arrays.toString(") .append(fieldName) .append(".getValue()).toCharArray();"); //generated typedef typedef } else if ((retTypeCastProperties == null || retTypeCastProperties.isEmpty())) { - Preconditions.checkState(typedefType.getSuperType() != null ); + Preconditions.checkState(typedefType.getSuperType() != null); sb.append(generateCharArrayFieldForTypedef(fieldName, (GeneratedTransferObject) typedefType.getSuperType())); @@ -144,10 +144,9 @@ public class UnionRenderer extends ClassRenderer { if ("java.lang.String".equals(propertyReturnType.getFullyQualifiedName())) { sb.append(fieldName).append(".toCharArray();"); // generated type InstanceIdentifier - } else if ("org.opendaylight.mdsal.binding.javav2.spec.base.InstanceIdentifier".equals(propertyReturnType - .getFullyQualifiedName())) { - sb.append(fieldName) - .append(".toString().toCharArray();"); + } else if ("org.opendaylight.mdsal.binding.javav2.spec.base.InstanceIdentifier" + .equals(propertyReturnType.getFullyQualifiedName())) { + sb.append(fieldName).append(".toString().toCharArray();"); //generated type binary, boolean, empty } else if (BOOLEAN.equals(propertyReturnType)) { sb.append(fieldName).append(".toString().toCharArray();"); @@ -156,10 +155,10 @@ public class UnionRenderer extends ClassRenderer { sb.append("BaseEncoding.base64().encode(").append(fieldName) .append(").toCharArray();"); //generated type int*, uint, decimal64 or enumeration* - } else if (propertyReturnType.getFullyQualifiedName().startsWith("java.lang") || - propertyReturnType instanceof Enumeration || - propertyReturnType.getFullyQualifiedName().startsWith("java.math") || - propertyReturnType.getFullyQualifiedName().startsWith("org.opendaylight.yangtools.yang.common")) { + } else if (propertyReturnType.getFullyQualifiedName().startsWith("java.lang") + || propertyReturnType instanceof Enumeration + || propertyReturnType.getFullyQualifiedName().startsWith("java.math") + || propertyReturnType.getFullyQualifiedName().startsWith("org.opendaylight.yangtools.yang.common")) { sb.append(fieldName).append(".toString().toCharArray();"); } else if (propertyReturnType instanceof GeneratedTransferObject) { diff --git a/binding2/mdsal-binding2-java-api-generator/src/main/java/org/opendaylight/mdsal/binding/javav2/java/api/generator/renderers/YangModuleInfoTemplateRenderer.java b/binding2/mdsal-binding2-java-api-generator/src/main/java/org/opendaylight/mdsal/binding/javav2/java/api/generator/renderers/YangModuleInfoTemplateRenderer.java index bf7c42fca4..17e010a4a5 100644 --- a/binding2/mdsal-binding2-java-api-generator/src/main/java/org/opendaylight/mdsal/binding/javav2/java/api/generator/renderers/YangModuleInfoTemplateRenderer.java +++ b/binding2/mdsal-binding2-java-api-generator/src/main/java/org/opendaylight/mdsal/binding/javav2/java/api/generator/renderers/YangModuleInfoTemplateRenderer.java @@ -17,7 +17,6 @@ import com.google.common.collect.ImmutableSet; import java.io.IOException; import java.io.InputStream; import java.util.Collections; -import java.util.Date; import java.util.HashMap; import java.util.HashSet; import java.util.Map; @@ -66,7 +65,7 @@ public class YangModuleInfoTemplateRenderer { protected String body() { /** - * list of all imported names for template + * list of all imported names for template. */ final Map importedNames = new HashMap<>(); @@ -87,7 +86,7 @@ public class YangModuleInfoTemplateRenderer { } /** - * Builds template + * Builds template. * @return generated final template */ public String generateTemplate() { @@ -108,7 +107,7 @@ public class YangModuleInfoTemplateRenderer { } /** - * Walks through map of imports + * Walks through map of imports. * @return string of imports for template */ private String imports() { @@ -188,16 +187,16 @@ public class YangModuleInfoTemplateRenderer { return sb; } - private String getParameters(final Type[] pTypes) { - if (pTypes == null || pTypes.length == 0) { + private String getParameters(final Type[] ptypes) { + if (ptypes == null || ptypes.length == 0) { return "?"; } final StringBuilder sb = new StringBuilder(); - int i = 0; - for (Type pType : pTypes) { - final Type type = pTypes[i]; + int count = 0; + for (Type ptype : ptypes) { + final Type type = ptypes[count]; String separator = ","; - if (i == (pTypes.length - 1)) { + if (count == (ptypes.length - 1)) { separator = ""; } String wildcardParam = ""; @@ -208,7 +207,7 @@ public class YangModuleInfoTemplateRenderer { wildcardParam = "? extends "; } sb.append(wildcardParam + getExplicitType(type) + separator); - i = i + 1; + count = count + 1; } } return sb.toString(); diff --git a/binding2/mdsal-binding2-java-api-generator/src/main/java/org/opendaylight/mdsal/binding/javav2/java/api/generator/util/AlphabeticallyTypeMemberComparator.java b/binding2/mdsal-binding2-java-api-generator/src/main/java/org/opendaylight/mdsal/binding/javav2/java/api/generator/util/AlphabeticallyTypeMemberComparator.java index a539c90643..756e1121c0 100644 --- a/binding2/mdsal-binding2-java-api-generator/src/main/java/org/opendaylight/mdsal/binding/javav2/java/api/generator/util/AlphabeticallyTypeMemberComparator.java +++ b/binding2/mdsal-binding2-java-api-generator/src/main/java/org/opendaylight/mdsal/binding/javav2/java/api/generator/util/AlphabeticallyTypeMemberComparator.java @@ -17,7 +17,7 @@ import org.opendaylight.mdsal.binding.javav2.model.api.TypeMember; * * @param type */ -public class AlphabeticallyTypeMemberComparator implements Comparator{ +public class AlphabeticallyTypeMemberComparator implements Comparator { @Override public int compare(T member1, T member2) { diff --git a/binding2/mdsal-binding2-java-api-generator/src/main/java/org/opendaylight/mdsal/binding/javav2/java/api/generator/util/JavaCodePrettyPrint.java b/binding2/mdsal-binding2-java-api-generator/src/main/java/org/opendaylight/mdsal/binding/javav2/java/api/generator/util/JavaCodePrettyPrint.java index 7d7d84d1cf..72eed40822 100644 --- a/binding2/mdsal-binding2-java-api-generator/src/main/java/org/opendaylight/mdsal/binding/javav2/java/api/generator/util/JavaCodePrettyPrint.java +++ b/binding2/mdsal-binding2-java-api-generator/src/main/java/org/opendaylight/mdsal/binding/javav2/java/api/generator/util/JavaCodePrettyPrint.java @@ -137,7 +137,8 @@ public final class JavaCodePrettyPrint { importsEndAt = 1; for (int i = 1; i < splittedByNewLine.length - 1; i++) { if (!splittedByNewLine[i + 1].startsWith(IMPORT)) { - fixedLines.add(new StringBuilder(splittedByNewLine[i]).append(NEW_LINE).append(NEW_LINE).toString()); + fixedLines.add(new StringBuilder( + splittedByNewLine[i]).append(NEW_LINE).append(NEW_LINE).toString()); importsEndAt = i; break; } else { @@ -162,7 +163,7 @@ public final class JavaCodePrettyPrint { } } - for(int i = classStartEnd; i < splittedByNewLine.length; i++){ + for (int i = classStartEnd; i < splittedByNewLine.length; i++) { i = appendJDoc(splittedByNewLine, fixedLines, i); if (!splittedByNewLine[i].startsWith(COMMENTS) && !splittedByNewLine[i].endsWith(String.valueOf(END_LINE)) @@ -209,22 +210,22 @@ public final class JavaCodePrettyPrint { return fixedLines.toArray(new String[fixedLines.size()]); } - private static int appendJDoc(final String[] splittedByNewLine, final List fixedLines, int i) { - if (splittedByNewLine[i].contains(JDOC_START)) { - fixedLines.add(new StringBuilder(splittedByNewLine[i]).append(NEW_LINE).toString()); - for (int j = i + 1; j < splittedByNewLine.length - 1; j++) { - if (splittedByNewLine[j].contains(JDOC_END)) { + private static int appendJDoc(final String[] splittedByNewLine, final List fixedLines, int cur) { + if (splittedByNewLine[cur].contains(JDOC_START)) { + fixedLines.add(new StringBuilder(splittedByNewLine[cur]).append(NEW_LINE).toString()); + for (int next = cur + 1; next < splittedByNewLine.length - 1; next++) { + if (splittedByNewLine[next].contains(JDOC_END)) { fixedLines.add(new StringBuilder(SPACE) - .append(SPACE).append(splittedByNewLine[j]).append(NEW_LINE).toString()); - i = j + 1; + .append(SPACE).append(splittedByNewLine[next]).append(NEW_LINE).toString()); + cur = next + 1; break; } else { fixedLines.add(new StringBuilder(SPACE) - .append(SPACE).append(splittedByNewLine[j]).append(NEW_LINE).toString()); + .append(SPACE).append(splittedByNewLine[next]).append(NEW_LINE).toString()); } } } - return i; + return cur; } /** diff --git a/binding2/mdsal-binding2-java-api-generator/src/main/java/org/opendaylight/mdsal/binding/javav2/java/api/generator/util/TextTemplateUtil.java b/binding2/mdsal-binding2-java-api-generator/src/main/java/org/opendaylight/mdsal/binding/javav2/java/api/generator/util/TextTemplateUtil.java index 3b8001da51..e01888305b 100755 --- a/binding2/mdsal-binding2-java-api-generator/src/main/java/org/opendaylight/mdsal/binding/javav2/java/api/generator/util/TextTemplateUtil.java +++ b/binding2/mdsal-binding2-java-api-generator/src/main/java/org/opendaylight/mdsal/binding/javav2/java/api/generator/util/TextTemplateUtil.java @@ -14,11 +14,13 @@ import com.google.common.base.Splitter; import com.google.common.base.Strings; import com.google.common.collect.Iterables; import com.google.common.collect.Lists; + import java.util.List; import java.util.Optional; import java.util.StringTokenizer; import java.util.function.Function; import java.util.regex.Pattern; + import org.opendaylight.mdsal.binding.javav2.generator.util.BindingGeneratorUtil; import org.opendaylight.mdsal.binding.javav2.generator.util.Types; import org.opendaylight.mdsal.binding.javav2.model.api.AccessModifier; @@ -66,29 +68,29 @@ public final class TextTemplateUtil { private static final Pattern MULTIPLE_SPACES_PATTERN = Pattern.compile(" +"); private static DeclaredStatementFormatter YANG_FORMATTER = DeclaredStatementFormatter.builder() - .addIgnoredStatement(YangStmtMapping.CONTACT) - .addIgnoredStatement(YangStmtMapping.DESCRIPTION) - .addIgnoredStatement(YangStmtMapping.REFERENCE) - .addIgnoredStatement(YangStmtMapping.ORGANIZATION) - .build(); + .addIgnoredStatement(YangStmtMapping.CONTACT) + .addIgnoredStatement(YangStmtMapping.DESCRIPTION) + .addIgnoredStatement(YangStmtMapping.REFERENCE) + .addIgnoredStatement(YangStmtMapping.ORGANIZATION) + .build(); private TextTemplateUtil() { throw new UnsupportedOperationException("Util class"); } /** - * Makes start of getter name LowerCase + * Makes start of getter name LowerCase. * - * @param s getter name without prefix + * @param str getter name without prefix * @return getter name starting in LowerCase */ - public static String toFirstLower(final String s) { - return s != null && s.length() != 0 ? Character.isLowerCase(s.charAt(0)) ? s : s.length() == 1 ? - s.toLowerCase() : s.substring(0, 1).toLowerCase() + s.substring(1) : s; + public static String toFirstLower(final String str) { + return str != null && str.length() != 0 ? Character.isLowerCase(str.charAt(0)) ? str : str.length() == 1 + ? str.toLowerCase() : str.substring(0, 1).toLowerCase() + str.substring(1) : str; } /** - * Wraps text as documentation, used in enum description + * Wraps text as documentation, used in enum description. * * @param text text for wrapping * @return wrapped text @@ -113,7 +115,8 @@ public final class TextTemplateUtil { } /** - * Returns formatted Javadoc, based on type + * Returns formatted Javadoc, based on type. + * * @param typeName given type name * @return formatted Javadoc, based on type */ @@ -129,8 +132,9 @@ public final class TextTemplateUtil { } /** - * Returns formatted Javadoc with possible additional comment, based on type - * @param type given type + * Returns formatted Javadoc with possible additional comment, based on type. + * + * @param type given type * @param additionalComment additional comment to format * @return formatted Javadoc with possible additional comment, based on type */ @@ -140,6 +144,39 @@ public final class TextTemplateUtil { return javaDoc.toString(); } + /** + * Returns formatted type description. + * + * @param type given type + * @return formatted type description + */ + public static String formatDataForJavaDoc(final GeneratedType type) { + final StringBuilder javaDoc = new StringBuilder(); + final TypeComment comment = type.getComment(); + if (comment != null) { + javaDoc.append(comment.getJavadoc()) + .append(NEW_LINE) + .append(NEW_LINE) + .append(NEW_LINE); + } + + appendSnippet(javaDoc, type); + + return javaDoc.toString(); + } + + private static String formatDataForJavaDoc(final TypeMember type, final String additionalComment) { + final StringBuilder javaDoc = new StringBuilder(); + if (type.getComment() != null && !type.getComment().isEmpty()) { + javaDoc.append(formatToParagraph(type.getComment(), 0)) + .append(NEW_LINE) + .append(NEW_LINE) + .append(NEW_LINE); + } + javaDoc.append(additionalComment); + return wrapToDocumentation(javaDoc.toString()); + } + private static void appendSnippet(final StringBuilder sb, final GeneratedType type) { Optional optDef = type.getYangSourceDefinition(); if (optDef.isPresent()) { @@ -149,36 +186,37 @@ public final class TextTemplateUtil { if (def instanceof Single) { DocumentedNode node = ((Single) def).getNode(); sb.append("

    \n") - .append("This class represents the following YANG schema fragment defined in module ") - .append(def.getModule().argument()).append("\n") - .append("

    \n");
    +                        .append("This class represents the following YANG schema fragment defined in module ")
    +                        .append(def.getModule().argument()).append("\n")
    +                        .append("
    \n");
                     appendYangSnippet(sb, def.getModule(), ((EffectiveStatement) node).getDeclared());
                     sb.append("
    "); if (node instanceof SchemaNode) { sb.append("The schema path to identify an instance is\n") - .append("") - .append(formatSchemaPath(def.getModule().argument(), ((SchemaNode) node).getPath().getPathFromRoot())) - .append("\n"); + .append("") + .append(formatSchemaPath(def.getModule().argument(), ((SchemaNode) node).getPath() + .getPathFromRoot())) + .append("\n"); if (hasBuilderClass(type)) { final String builderName = new StringBuilder() - .append(((GeneratedTypeForBuilder) type).getPackageNameForBuilder()) - .append(".").append(type.getName()).append("Builder").toString(); + .append(((GeneratedTypeForBuilder) type).getPackageNameForBuilder()) + .append(".").append(type.getName()).append("Builder").toString(); sb.append("\n

    To create instances of this class use {@link ").append(builderName) - .append("}.\n") - .append("@see ").append(builderName).append('\n'); + .append("}.\n") + .append("@see ").append(builderName).append('\n'); if (node instanceof ListSchemaNode) { final StringBuilder linkToKeyClass = new StringBuilder(); final String[] namespace = Iterables.toArray( - BSDOT_SPLITTER.split(type.getFullyQualifiedName()), String.class); + BSDOT_SPLITTER.split(type.getFullyQualifiedName()), String.class); final String className = namespace[namespace.length - 1]; linkToKeyClass.append(BindingGeneratorUtil.packageNameForSubGeneratedType( - ((GeneratedTypeForBuilder) type).getBasePackageName(), (SchemaNode) node, - BindingNamespaceType.Key)).append('.').append(className).append("Key"); + ((GeneratedTypeForBuilder) type).getBasePackageName(), (SchemaNode) node, + BindingNamespaceType.Key)).append('.').append(className).append("Key"); List keyDef = ((ListSchemaNode) node).getKeyDefinition(); if (keyDef != null && !keyDef.isEmpty()) { @@ -199,7 +237,7 @@ public final class TextTemplateUtil { } private static void appendYangSnippet(StringBuilder sb, ModuleEffectiveStatement module, - DeclaredStatement stmt) { + DeclaredStatement stmt) { for (String str : YANG_FORMATTER.toYangTextSnippet(module, stmt)) { sb.append(encodeAngleBrackets(encodeJavadocSymbols(str))); } @@ -227,7 +265,8 @@ public final class TextTemplateUtil { } /** - * Returns properties names in formatted string + * Returns properties names in formatted string. + * * @param properties list of given properties * @return properties names in formatted string */ @@ -237,29 +276,10 @@ public final class TextTemplateUtil { } /** - * Returns formatted type description - * @param type given type - * @return formatted type description - */ - public static String formatDataForJavaDoc(final GeneratedType type) { - final StringBuilder javaDoc = new StringBuilder(); - final TypeComment comment = type.getComment(); - if (comment != null) { - javaDoc.append(comment.getJavadoc()) - .append(NEW_LINE) - .append(NEW_LINE) - .append(NEW_LINE); - } - - appendSnippet(javaDoc, type); - - return javaDoc.toString(); - } - - /** - * Returns parameter name, based on given Type + * Returns parameter name, based on given Type. + * * @param returnType given type - * @param paramName parameter name + * @param paramName parameter name * @return parameter name, based on given Type */ public static String paramValue(final Type returnType, final String paramName) { @@ -276,20 +296,9 @@ public final class TextTemplateUtil { return comment == null ? "" : wrapToDocumentation(formatToParagraph(comment.trim(), 0)); } - private static String formatDataForJavaDoc(final TypeMember type, final String additionalComment) { - final StringBuilder javaDoc = new StringBuilder(); - if (type.getComment() != null && !type.getComment().isEmpty()) { - javaDoc.append(formatToParagraph(type.getComment(), 0)) - .append(NEW_LINE) - .append(NEW_LINE) - .append(NEW_LINE); - } - javaDoc.append(additionalComment); - return wrapToDocumentation(javaDoc.toString()); - } - /** - * Returns related Javadoc + * Returns related Javadoc. + * * @param methodSignature method signature * @return related Javadoc */ @@ -313,7 +322,8 @@ public final class TextTemplateUtil { } /** - * Encodes angle brackets in yang statement description + * Encodes angle brackets in yang statement description. + * * @param description description of a yang statement which is used to generate javadoc comments * @return string with encoded angle brackets */ @@ -326,7 +336,8 @@ public final class TextTemplateUtil { } /** - * Returns collection of properties as formatted String + * Returns collection of properties as formatted String. + * * @param properties list of given properties * @return generated properties as formatted String */ @@ -335,8 +346,9 @@ public final class TextTemplateUtil { } /** - * Returns properties as formatted String - * @param properties list of given properties + * Returns properties as formatted String. + * + * @param properties list of given properties * @param booleanName Java Boolean type name * @return Properties as formatted String */ @@ -346,7 +358,8 @@ public final class TextTemplateUtil { } /** - * Extracts available restrictions from given type + * Extracts available restrictions from given type. + * * @param currentType given type * @return restrictions from given type */ @@ -361,7 +374,7 @@ public final class TextTemplateUtil { } /** - * sets fieldname according to property for return type + * sets fieldname according to property for return type. * method(type fieldname) * * @param property type from getter @@ -397,12 +410,14 @@ public final class TextTemplateUtil { /** * Returns built setter method body from input parameters. - * @param field generated property - * @param typeName type name + * + * @param field generated property + * @param typeName type name * @param returnTypeName return type name * @return built setter method body */ - public static String setterMethod(final GeneratedProperty field, final String typeName, final String returnTypeName) { + public static String setterMethod(final GeneratedProperty field, final String typeName, final String + returnTypeName) { final StringBuilder stringBuilder = new StringBuilder(); stringBuilder.append("public ") .append(typeName) @@ -417,7 +432,8 @@ public final class TextTemplateUtil { } /** - * Returns simple name of underlying class + * Returns simple name of underlying class. + * * @return Simple name of underlying class */ public static String getSimpleNameForBuilder() { @@ -425,14 +441,14 @@ public final class TextTemplateUtil { } /** - * Makes start of getter name uppercase + * Makes start of getter name uppercase. * - * @param s getter name without prefix + * @param str getter name without prefix * @return getter name starting in uppercase */ - public static String toFirstUpper(final String s) { - return s != null && s.length() != 0 ? Character.isUpperCase(s.charAt(0)) ? s : s.length() == 1 ? - s.toUpperCase() : s.substring(0, 1).toUpperCase() + s.substring(1) : s; + public static String toFirstUpper(final String str) { + return str != null && str.length() != 0 ? Character.isUpperCase(str.charAt(0)) ? str : str.length() == 1 + ? str.toUpperCase() : str.substring(0, 1).toUpperCase() + str.substring(1) : str; } /** @@ -456,6 +472,7 @@ public final class TextTemplateUtil { /** * Returns list of properties as formatted String. + * * @param properties input list of generated properties * @return formatted property list as String */ @@ -464,16 +481,20 @@ public final class TextTemplateUtil { } /** - * util method for unionTemplateBuilderTemplate + * util method for unionTemplateBuilderTemplate. + * * @return string with clarification for javadoc */ public static String getClarification() { final StringBuilder clarification = new StringBuilder(); - clarification.append("The purpose of generated class in src/main/java for Union types is to create new instances of unions from a string representation.\n") - .append("In some cases it is very difficult to automate it since there can be unions such as (uint32 - uint16), or (string - uint32).\n") + clarification.append("The purpose of generated class in src/main/java for Union types is to create new " + + "instances of unions from a string representation.\n") + .append("In some cases it is very difficult to automate it since there can be unions such as (uint32 " + + "- uint16), or (string - uint32).\n") .append("\n") .append("The reason behind putting it under src/main/java is:\n") - .append("This class is generated in form of a stub and needs to be finished by the user. This class is generated only once to prevent\n") + .append("This class is generated in form of a stub and needs to be finished by the user. This class " + + "is generated only once to prevent\n") .append("loss of user code.\n") .append("\n"); return clarification.toString(); @@ -481,33 +502,41 @@ public final class TextTemplateUtil { /** * Returns source path as String. - * @param module module + * + * @param module module * @param moduleFilePathResolver function module to module file path * @return formatted String source path */ - public static String getSourcePath(final Module module, final Function> moduleFilePathResolver) { + public static String getSourcePath(final Module module, final Function> + moduleFilePathResolver) { final java.util.Optional moduleFilePath = moduleFilePathResolver.apply(module); - Preconditions.checkArgument(moduleFilePath.isPresent(),"Module file path for %s is not present", module); + Preconditions.checkArgument(moduleFilePath.isPresent(), "Module file path for %s is not present", module); return moduleFilePath.get(); } /** * Util method for unionTemplateBuilderTemplate. + * * @param modifier enum representing Java access modifier * @return needed access modifier */ public static String getAccessModifier(final AccessModifier modifier) { switch (modifier) { - case PUBLIC: return "public "; - case PROTECTED: return "protected "; - case PRIVATE: return "private "; - default: return ""; + case PUBLIC: + return "public "; + case PROTECTED: + return "protected "; + case PRIVATE: + return "private "; + default: + return ""; } } /** - * @param text Content of tag description + * Return formatted description. + * @param text Content of tag description * @param nextLineIndent Number of spaces from left side default is 12 * @return formatted description */ diff --git a/binding2/mdsal-binding2-java-api-generator/src/main/twirl/org/opendaylight/mdsal/binding/javav2/java/api/generator/builderTemplate.scala.txt b/binding2/mdsal-binding2-java-api-generator/src/main/twirl/org/opendaylight/mdsal/binding/javav2/java/api/generator/builderTemplate.scala.txt index a6e33df349..af001c9e61 100755 --- a/binding2/mdsal-binding2-java-api-generator/src/main/twirl/org/opendaylight/mdsal/binding/javav2/java/api/generator/builderTemplate.scala.txt +++ b/binding2/mdsal-binding2-java-api-generator/src/main/twirl/org/opendaylight/mdsal/binding/javav2/java/api/generator/builderTemplate.scala.txt @@ -18,8 +18,8 @@ @import org.opendaylight.mdsal.binding.javav2.java.api.generator.renderers.BuilderRenderer.getAllIfcs @import org.opendaylight.mdsal.binding.javav2.java.api.generator.renderers.BuilderRenderer.hasImplementsFromUses @import org.opendaylight.mdsal.binding.javav2.java.api.generator.renderers.BuilderRenderer.toListOfNames -@import org.opendaylight.mdsal.binding.javav2.java.api.generator.rangeGenerators.AbstractRangeGenerator -@import org.opendaylight.mdsal.binding.javav2.java.api.generator.rangeGenerators.LengthGenerator +@import org.opendaylight.mdsal.binding.javav2.java.api.generator.range_generators.AbstractRangeGenerator +@import org.opendaylight.mdsal.binding.javav2.java.api.generator.range_generators.LengthGenerator @import org.opendaylight.mdsal.binding.javav2.util.BindingMapping @import org.opendaylight.mdsal.binding.javav2.generator.util.Types @import org.opendaylight.mdsal.binding.javav2.model.api.ConcreteType diff --git a/binding2/mdsal-binding2-java-api-generator/src/main/twirl/org/opendaylight/mdsal/binding/javav2/java/api/generator/classTemplateRestrictions.scala.txt b/binding2/mdsal-binding2-java-api-generator/src/main/twirl/org/opendaylight/mdsal/binding/javav2/java/api/generator/classTemplateRestrictions.scala.txt index 0ce3e66535..631ab37041 100644 --- a/binding2/mdsal-binding2-java-api-generator/src/main/twirl/org/opendaylight/mdsal/binding/javav2/java/api/generator/classTemplateRestrictions.scala.txt +++ b/binding2/mdsal-binding2-java-api-generator/src/main/twirl/org/opendaylight/mdsal/binding/javav2/java/api/generator/classTemplateRestrictions.scala.txt @@ -8,8 +8,8 @@ @import org.opendaylight.mdsal.binding.javav2.java.api.generator.util.TextTemplateUtil.getRestrictions @import org.opendaylight.mdsal.binding.javav2.java.api.generator.util.TextTemplateUtil.paramValue -@import org.opendaylight.mdsal.binding.javav2.java.api.generator.rangeGenerators.AbstractRangeGenerator -@import org.opendaylight.mdsal.binding.javav2.java.api.generator.rangeGenerators.LengthGenerator +@import org.opendaylight.mdsal.binding.javav2.java.api.generator.range_generators.AbstractRangeGenerator +@import org.opendaylight.mdsal.binding.javav2.java.api.generator.range_generators.LengthGenerator @import org.opendaylight.mdsal.binding.javav2.model.api.Type @(currentType: Type, paramName: String, returnType: Type, rangeGenerator: AbstractRangeGenerator[_]) diff --git a/binding2/mdsal-binding2-java-api-generator/src/test/java/org/opendaylight/mdsal/binding/javav2/java/api/generator/GeneratorJavaFileTest.java b/binding2/mdsal-binding2-java-api-generator/src/test/java/org/opendaylight/mdsal/binding/javav2/java/api/generator/GeneratorJavaFileTest.java index 34f82e2ed8..28c09528dd 100644 --- a/binding2/mdsal-binding2-java-api-generator/src/test/java/org/opendaylight/mdsal/binding/javav2/java/api/generator/GeneratorJavaFileTest.java +++ b/binding2/mdsal-binding2-java-api-generator/src/test/java/org/opendaylight/mdsal/binding/javav2/java/api/generator/GeneratorJavaFileTest.java @@ -41,6 +41,7 @@ public class GeneratorJavaFileTest { Assert.assertNotNull(f); } final List files = new ArrayList<>(); + final RuntimeException runtimeException = new RuntimeException(); for (final File file : generateToFile) { BufferedReader br = null; FileReader fr = null; @@ -48,13 +49,13 @@ public class GeneratorJavaFileTest { fr = new FileReader(file.getAbsolutePath()); br = new BufferedReader(fr); final StringBuilder sb = new StringBuilder(); - String sCurrentLine; - while ((sCurrentLine = br.readLine()) != null) { - sb.append(sCurrentLine).append('\n'); + String currentLine; + while ((currentLine = br.readLine()) != null) { + sb.append(currentLine).append('\n'); } files.add(sb.toString()); } catch (final IOException e) { - e.printStackTrace(); + throw new RuntimeException(e); } finally { try { if (br != null) { @@ -64,7 +65,7 @@ public class GeneratorJavaFileTest { fr.close(); } } catch (final IOException ex) { - ex.printStackTrace(); + runtimeException.addSuppressed(ex); } } }