From eb1f3b4f16a15d801fd6d77e3483277cd8a6a80e Mon Sep 17 00:00:00 2001 From: felmer <felmer> Date: Tue, 23 Feb 2016 10:03:13 +0000 Subject: [PATCH] SSDM-3152: Endless loop stopped by using id and not code of entities for hashCode() and equals() of helper cass EntityIdentifier. SVN: 35717 --- .../server/dataaccess/db/EntityValidationInterceptor.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/dataaccess/db/EntityValidationInterceptor.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/dataaccess/db/EntityValidationInterceptor.java index 65ecc779d79..4acc98bc8d2 100644 --- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/dataaccess/db/EntityValidationInterceptor.java +++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/dataaccess/db/EntityValidationInterceptor.java @@ -489,7 +489,7 @@ public class EntityValidationInterceptor extends EmptyInterceptor implements @Override public int hashCode() { - return code.hashCode() + kind.hashCode(); + return (id == null ? code.hashCode() : id.intValue()) + 37 * kind.hashCode(); } @Override @@ -498,7 +498,7 @@ public class EntityValidationInterceptor extends EmptyInterceptor implements if (o instanceof EntityIdentifier) { EntityIdentifier e = (EntityIdentifier) o; - return (e.code.equals(code)) && e.kind.equals(kind); + return (e.id != null ? e.id.equals(id) : id == null && e.code.equals(code)) && e.kind.equals(kind); } else { throw new IllegalArgumentException(o.toString()); -- GitLab