From bdefdf57a9c16111a1a5ac1e57e63576d06e972e Mon Sep 17 00:00:00 2001 From: Maros Marsalek Date: Thu, 7 May 2015 14:12:17 +0200 Subject: [PATCH] BUG-2453 Remove custom hashcode/equals from Enum type Custom hashcode and equals made it impossible to match Enum types based on packageName and name. Change-Id: I0f5f326cba5073e08b6d2b1d5ff6d5c19f08bf68 Signed-off-by: Maros Marsalek --- .../type/builder/EnumerationBuilderImpl.java | 134 +----------------- .../builder/EnumerationBuilderImplTest.java | 3 +- 2 files changed, 7 insertions(+), 130 deletions(-) diff --git a/code-generator/binding-generator-util/src/main/java/org/opendaylight/yangtools/binding/generator/util/generated/type/builder/EnumerationBuilderImpl.java b/code-generator/binding-generator-util/src/main/java/org/opendaylight/yangtools/binding/generator/util/generated/type/builder/EnumerationBuilderImpl.java index cb7f50549e..cec633ae04 100644 --- a/code-generator/binding-generator-util/src/main/java/org/opendaylight/yangtools/binding/generator/util/generated/type/builder/EnumerationBuilderImpl.java +++ b/code-generator/binding-generator-util/src/main/java/org/opendaylight/yangtools/binding/generator/util/generated/type/builder/EnumerationBuilderImpl.java @@ -89,54 +89,6 @@ public final class EnumerationBuilderImpl extends AbstractBaseType implements En description, reference, moduleName, schemaPath); } - /* - * (non-Javadoc) - * - * @see java.lang.Object#hashCode() - */ - @Override - public int hashCode() { - final int prime = 31; - int result = 1; - result = prime * result + ((name == null) ? 0 : name.hashCode()); - result = prime * result + ((packageName == null) ? 0 : packageName.hashCode()); - return result; - } - - /* - * (non-Javadoc) - * - * @see java.lang.Object#equals(java.lang.Object) - */ - @Override - public boolean equals(final Object obj) { - if (this == obj) { - return true; - } - if (obj == null) { - return false; - } - if (getClass() != obj.getClass()) { - return false; - } - EnumerationBuilderImpl other = (EnumerationBuilderImpl) obj; - if (name == null) { - if (other.name != null) { - return false; - } - } else if (!name.equals(other.name)) { - return false; - } - if (packageName == null) { - if (other.packageName != null) { - return false; - } - } else if (!packageName.equals(other.packageName)) { - return false; - } - return true; - } - /* * (non-Javadoc) * @@ -285,11 +237,9 @@ public final class EnumerationBuilderImpl extends AbstractBaseType implements En } - private static final class EnumerationImpl implements Enumeration { + private static final class EnumerationImpl extends AbstractBaseType implements Enumeration { private final Type definingType; - private final String packageName; - private final String name; private final String description; private final String reference; private final String moduleName; @@ -300,11 +250,9 @@ public final class EnumerationBuilderImpl extends AbstractBaseType implements En public EnumerationImpl(final Type definingType, final List annotationBuilders, final String packageName, final String name, final List values, final String description, final String reference, final String moduleName, final Iterable schemaPath) { - super(); + super(packageName, name); this.definingType = definingType; - this.packageName = packageName; this.values = values; - this.name = name; this.description = description; this.moduleName = moduleName; this.schemaPath = schemaPath; @@ -322,21 +270,6 @@ public final class EnumerationBuilderImpl extends AbstractBaseType implements En return definingType; } - @Override - public String getPackageName() { - return packageName; - } - - @Override - public String getName() { - return name; - } - - @Override - public String getFullyQualifiedName() { - return packageName + "." + name; - } - @Override public List getValues() { return values; @@ -352,7 +285,7 @@ public final class EnumerationBuilderImpl extends AbstractBaseType implements En StringBuilder builder = new StringBuilder(); builder.append("public enum"); builder.append(" "); - builder.append(name); + builder.append(getName()); builder.append(" {"); builder.append("\n"); @@ -375,63 +308,6 @@ public final class EnumerationBuilderImpl extends AbstractBaseType implements En return builder.toString(); } - /* - * (non-Javadoc) - * - * @see java.lang.Object#hashCode() - */ - @Override - public int hashCode() { - final int prime = 31; - int result = 1; - result = prime * result + ((name == null) ? 0 : name.hashCode()); - result = prime * result + ((packageName == null) ? 0 : packageName.hashCode()); - result = prime * result + ((values == null) ? 0 : values.hashCode()); - - return result; - } - - /* - * (non-Javadoc) - * - * @see java.lang.Object#equals(java.lang.Object) - */ - @Override - public boolean equals(final Object obj) { - if (this == obj) { - return true; - } - if (obj == null) { - return false; - } - if (getClass() != obj.getClass()) { - return false; - } - EnumerationImpl other = (EnumerationImpl) obj; - if (name == null) { - if (other.name != null) { - return false; - } - } else if (!name.equals(other.name)) { - return false; - } - if (packageName == null) { - if (other.packageName != null) { - return false; - } - } else if (!packageName.equals(other.packageName)) { - return false; - } - if (values == null) { - if (other.values != null) { - return false; - } - } else if (!values.equals(other.values)) { - return false; - } - return true; - } - /* * (non-Javadoc) * @@ -441,7 +317,7 @@ public final class EnumerationBuilderImpl extends AbstractBaseType implements En public String toString() { StringBuilder builder = new StringBuilder(); builder.append("Enumeration [packageName="); - builder.append(packageName); + builder.append(getPackageName()); if (definingType != null) { builder.append(", definingType="); builder.append(definingType.getPackageName()); @@ -451,7 +327,7 @@ public final class EnumerationBuilderImpl extends AbstractBaseType implements En builder.append(", definingType= null"); } builder.append(", name="); - builder.append(name); + builder.append(getName()); builder.append(", values="); builder.append(values); builder.append("]"); diff --git a/code-generator/binding-generator-util/src/test/java/org/opendaylight/yangtools/binding/generator/util/generated/type/builder/EnumerationBuilderImplTest.java b/code-generator/binding-generator-util/src/test/java/org/opendaylight/yangtools/binding/generator/util/generated/type/builder/EnumerationBuilderImplTest.java index f866ad8e34..eb5bd65f51 100644 --- a/code-generator/binding-generator-util/src/test/java/org/opendaylight/yangtools/binding/generator/util/generated/type/builder/EnumerationBuilderImplTest.java +++ b/code-generator/binding-generator-util/src/test/java/org/opendaylight/yangtools/binding/generator/util/generated/type/builder/EnumerationBuilderImplTest.java @@ -119,7 +119,8 @@ public class EnumerationBuilderImplTest { EnumerationBuilderImpl enumerationBuilderSame1 = new EnumerationBuilderImpl(packageName, name); Enumeration enumerationSame1 = enumerationBuilderSame1.toInstance(enumerationBuilderSame1); enumerationBuilderSame1.addValue(valueName, 14, valueDescription); - assertNotEquals(enumeration, enumerationSame1); + // Enums are equal thanks to same package name and local name + assertEquals(enumeration, enumerationSame1); } @Test -- 2.36.6