You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@openwebbeans.apache.org by rm...@apache.org on 2015/03/26 09:44:48 UTC

svn commit: r1669295 - in /openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans: component/AbstractOwbBean.java container/SerializableBean.java

Author: rmannibucau
Date: Thu Mar 26 08:44:48 2015
New Revision: 1669295

URL: http://svn.apache.org/r1669295
Log:
TOMEE-1531 SerializableBean#equals was broken

Modified:
    openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/AbstractOwbBean.java
    openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/container/SerializableBean.java

Modified: openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/AbstractOwbBean.java
URL: http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/AbstractOwbBean.java?rev=1669295&r1=1669294&r2=1669295&view=diff
==============================================================================
--- openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/AbstractOwbBean.java (original)
+++ openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/AbstractOwbBean.java Thu Mar 26 08:44:48 2015
@@ -21,6 +21,7 @@ package org.apache.webbeans.component;
 import javax.enterprise.inject.spi.BeanAttributes;
 import org.apache.webbeans.config.OWBLogConst;
 import org.apache.webbeans.config.WebBeansContext;
+import org.apache.webbeans.container.SerializableBean;
 import org.apache.webbeans.context.creational.CreationalContextImpl;
 import org.apache.webbeans.logger.WebBeansLoggerFacade;
 
@@ -430,4 +431,16 @@ public abstract class AbstractOwbBean<T>
     {
         return getScope().equals(Dependent.class);
     }
+
+    @Override
+    public boolean equals(Object o)  // symmetry for serializable beans otherwise Map are broken, hashcode if fine
+    {
+        return o == this || (SerializableBean.class.isInstance(o) && SerializableBean.class.cast(o).equals(this));
+    }
+
+    @Override
+    public int hashCode() // defined for checkstyle
+    {
+        return super.hashCode();
+    }
 }

Modified: openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/container/SerializableBean.java
URL: http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/container/SerializableBean.java?rev=1669295&r1=1669294&r2=1669295&view=diff
==============================================================================
--- openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/container/SerializableBean.java (original)
+++ openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/container/SerializableBean.java Thu Mar 26 08:44:48 2015
@@ -185,7 +185,7 @@ public final class SerializableBean<T> i
             return bean.equals(((SerializableBean<?>)other).getBean());
         }
         
-        return super.equals(other);
+        return bean.equals(other) || super.equals(other);
     }
 
     /**