Author: rmannibucau
Date: Fri Mar 22 13:46:29 2013
New Revision: 1459771

URL: http://svn.apache.org/r1459771
Log:
OPENEJB-2009 correct equals impl

Modified:
    
tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/cdi/CdiPlugin.java

Modified: 
tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/cdi/CdiPlugin.java
URL: 
http://svn.apache.org/viewvc/tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/cdi/CdiPlugin.java?rev=1459771&r1=1459770&r2=1459771&view=diff
==============================================================================
--- 
tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/cdi/CdiPlugin.java
 (original)
+++ 
tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/cdi/CdiPlugin.java
 Fri Mar 22 13:46:29 2013
@@ -18,6 +18,7 @@ package org.apache.openejb.cdi;
 
 import org.apache.openejb.BeanContext;
 import org.apache.openejb.OpenEJBException;
+import org.apache.webbeans.component.AbstractOwbBean;
 import org.apache.webbeans.component.OwbBean;
 import org.apache.webbeans.component.WebBeansType;
 import org.apache.webbeans.config.WebBeansContext;
@@ -247,6 +248,7 @@ public class CdiPlugin extends AbstractO
 
     // does pretty much nothing
     // used only to get a layer between our EJB proxies and OWB proxies to let 
them manage the scope
+    // /!\ don't extend AbstractOwbBean without checking equals()
     private static class InstanceBean<T> implements OwbBean<T>, 
PassivationCapable {
         private final CdiEjbBean<T> bean;
         private T OWBProxy;
@@ -444,7 +446,10 @@ public class CdiPlugin extends AbstractO
 
         @Override
         public boolean equals(final Object o) {
-            return this == o || bean.equals(o);
+            if (AbstractOwbBean.class.isInstance(o)) {
+                return bean.equals(o);
+            }
+            return InstanceBean.class.isInstance(o) && 
bean.equals(InstanceBean.class.cast(o).bean);
         }
 
         @Override


Reply via email to