Repository: tomee
Updated Branches:
  refs/heads/master 76f21e2b3 -> a47eb2575


fixing BaseEjbProxyHandler#equals regression handling local beans


Project: http://git-wip-us.apache.org/repos/asf/tomee/repo
Commit: http://git-wip-us.apache.org/repos/asf/tomee/commit/a47eb257
Tree: http://git-wip-us.apache.org/repos/asf/tomee/tree/a47eb257
Diff: http://git-wip-us.apache.org/repos/asf/tomee/diff/a47eb257

Branch: refs/heads/master
Commit: a47eb2575d716ca96b1cc9f58bd0c5cd7bef037a
Parents: 76f21e2
Author: Romain Manni-Bucau <rmannibu...@apache.org>
Authored: Tue Mar 24 11:15:44 2015 +0100
Committer: Romain Manni-Bucau <rmannibu...@apache.org>
Committed: Tue Mar 24 11:15:44 2015 +0100

----------------------------------------------------------------------
 .../openejb/core/ivm/BaseEjbProxyHandler.java      | 17 ++++++++---------
 1 file changed, 8 insertions(+), 9 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/tomee/blob/a47eb257/container/openejb-core/src/main/java/org/apache/openejb/core/ivm/BaseEjbProxyHandler.java
----------------------------------------------------------------------
diff --git 
a/container/openejb-core/src/main/java/org/apache/openejb/core/ivm/BaseEjbProxyHandler.java
 
b/container/openejb-core/src/main/java/org/apache/openejb/core/ivm/BaseEjbProxyHandler.java
index 7f54ca1..e632778 100644
--- 
a/container/openejb-core/src/main/java/org/apache/openejb/core/ivm/BaseEjbProxyHandler.java
+++ 
b/container/openejb-core/src/main/java/org/apache/openejb/core/ivm/BaseEjbProxyHandler.java
@@ -27,7 +27,7 @@ import org.apache.openejb.core.ThreadContext;
 import org.apache.openejb.loader.SystemInstance;
 import org.apache.openejb.spi.ContainerSystem;
 import org.apache.openejb.spi.SecurityService;
-import org.apache.openejb.util.proxy.ProxyManager;
+import org.apache.openejb.util.proxy.LocalBeanProxyFactory;
 
 import javax.ejb.AccessLocalException;
 import javax.ejb.EJBException;
@@ -495,17 +495,16 @@ public abstract class BaseEjbProxyHandler implements 
InvocationHandler, Serializ
             return true;
         }
         if (!BaseEjbProxyHandler.class.isInstance(obj)) {
-            if (!Proxy.isProxyClass(obj.getClass())) {
-                return false;
-            }
-            try {
-                obj = ProxyManager.getInvocationHandler(obj);
-            } catch (final IllegalArgumentException e) {
+            final Class<?> aClass = obj.getClass();
+            if (Proxy.isProxyClass(aClass)) {
+                obj = Proxy.getInvocationHandler(obj);
+            } else if (LocalBeanProxyFactory.isProxy(aClass)) {
+                obj = LocalBeanProxyFactory.getInvocationHandler(obj);
+            } else {
                 return false;
             }
         }
-        final BaseEjbProxyHandler other = (BaseEjbProxyHandler) obj;
-        return equalHandler(other);
+        return equalHandler(BaseEjbProxyHandler.class.cast(obj));
     }
 
     protected boolean equalHandler(final BaseEjbProxyHandler other) {

Reply via email to