Author: gpetracek
Date: Sat Apr 27 14:45:45 2013
New Revision: 1476595

URL: http://svn.apache.org/r1476595
Log:
OWB-828 improved handling of bridge methods

Modified:
    
openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/intercept/InterceptorResolutionService.java
    
openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/util/ClassUtil.java

Modified: 
openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/intercept/InterceptorResolutionService.java
URL: 
http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/intercept/InterceptorResolutionService.java?rev=1476595&r1=1476594&r2=1476595&view=diff
==============================================================================
--- 
openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/intercept/InterceptorResolutionService.java
 (original)
+++ 
openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/intercept/InterceptorResolutionService.java
 Sat Apr 27 14:45:45 2013
@@ -558,6 +558,12 @@ public class InterceptorResolutionServic
         Set<AnnotatedMethod> annotatedMethods = annotatedType.getMethods();
         for (Method interceptableMethod : interceptableMethods)
         {
+            //don't proxy bridge methods - see OWB-828
+            if (interceptableMethod.isBridge())
+            {
+                continue;
+            }
+
             for (AnnotatedMethod<?> annotatedMethod : annotatedMethods)
             {
                 if 
(annotatedMethod.getJavaMember().equals(interceptableMethod))

Modified: 
openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/util/ClassUtil.java
URL: 
http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/util/ClassUtil.java?rev=1476595&r1=1476594&r2=1476595&view=diff
==============================================================================
--- 
openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/util/ClassUtil.java
 (original)
+++ 
openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/util/ClassUtil.java
 Sat Apr 27 14:45:45 2013
@@ -1061,13 +1061,6 @@ public final class ClassUtil
      */
     public static boolean isOverridden(Method subClassMethod, Method 
superClassMethod)
     {
-        //in this case it's a different method or a bridge-method - check esp. 
needed for OWB-828
-        if 
(!subClassMethod.getReturnType().equals(subClassMethod.getReturnType()) ||
-                
!superClassMethod.getGenericReturnType().equals(subClassMethod.getGenericReturnType()))
-        {
-            return false;
-        }
-
         if (isSuperClass(superClassMethod.getDeclaringClass(), 
subClassMethod.getDeclaringClass())
                 && subClassMethod.getName().equals(superClassMethod.getName())
                 && Arrays.equals(subClassMethod.getParameterTypes(), 
superClassMethod.getParameterTypes()))


Reply via email to