Bug 2988: Fixed incorrect hashCode computation. 08/19708/1
authorTony Tkacik <ttkacik@cisco.com>
Wed, 6 May 2015 12:33:43 +0000 (14:33 +0200)
committerTony Tkacik <ttkacik@cisco.com>
Wed, 6 May 2015 12:33:43 +0000 (14:33 +0200)
Change-Id: I550d59beece68e4d059d701b9022f9229dcfddc0
Signed-off-by: Tony Tkacik <ttkacik@cisco.com>
code-generator/binding-data-codec/src/main/java/org/opendaylight/yangtools/binding/data/codec/impl/LazyDataObject.java

index f1b578b9e873bcc38cf27aab456c945cfcba0dea..baefc901a104db1f4b7964c5f2f96ed697b60568 100644 (file)
@@ -107,10 +107,10 @@ class LazyDataObject<D extends DataObject> implements InvocationHandler, Augment
         int result = 1;
         for (final Method m : context.getHashCodeAndEqualsMethods()) {
             final Object value = getBindingData(m);
-            result += prime * result + ((value == null) ? 0 : value.hashCode());
+            result = prime * result + ((value == null) ? 0 : value.hashCode());
         }
-        if (Augmentation.class.isAssignableFrom(context.getBindingClass())) {
-            result += prime * result + (getAugmentations(this).hashCode());
+        if (Augmentable.class.isAssignableFrom(context.getBindingClass())) {
+            result = prime * result + (getAugmentations(this).hashCode());
         }
         cachedHashcode = result;
         return result;