You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@openwebbeans.apache.org by ar...@apache.org on 2013/01/24 22:26:49 UTC

svn commit: r1438202 - in /openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/creation: AbstractBeanBuilder.java InterceptorBeanBuilder.java

Author: arne
Date: Thu Jan 24 21:26:49 2013
New Revision: 1438202

URL: http://svn.apache.org/viewvc?rev=1438202&view=rev
Log:
OWB-344: Removed unnecessary removal of overridden methods (this is done already in AnnotatedType)

Modified:
    openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/creation/AbstractBeanBuilder.java
    openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/creation/InterceptorBeanBuilder.java

Modified: openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/creation/AbstractBeanBuilder.java
URL: http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/creation/AbstractBeanBuilder.java?rev=1438202&r1=1438201&r2=1438202&view=diff
==============================================================================
--- openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/creation/AbstractBeanBuilder.java (original)
+++ openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/creation/AbstractBeanBuilder.java Thu Jan 24 21:26:49 2013
@@ -24,13 +24,10 @@ import java.lang.reflect.Constructor;
 import java.lang.reflect.Method;
 import java.lang.reflect.Modifier;
 import java.util.HashSet;
-import java.util.Iterator;
-import java.util.List;
 import java.util.Set;
 
 import javax.enterprise.inject.spi.Annotated;
 import javax.enterprise.inject.spi.AnnotatedMember;
-import javax.enterprise.inject.spi.AnnotatedMethod;
 import javax.enterprise.inject.spi.Bean;
 
 import org.apache.webbeans.component.BeanAttributesImpl;
@@ -85,74 +82,6 @@ public abstract class AbstractBeanBuilde
         //Sub-class can override this
     }
 
-    /**
-     * Check if the given annotatedMethod overrides some previously defined AnnotatedMethods
-     * from a superclass and remove them if non-private.
-     *
-     *
-     * @param alreadyDefinedMethods the methods already calculated from the superclasses. See
-     * {@link org.apache.webbeans.intercept.InterceptorUtil#getReverseClassHierarchy(Class)}
-     * @param annotatedMethod the AnnotatedMethod to check for.
-     * @return <code>true</code> if a method was overridden and got removed, <code>false</code> otherwise.
-     */
-    protected boolean removeOverriddenMethod(List<AnnotatedMethod> alreadyDefinedMethods, AnnotatedMethod annotatedMethod)
-    {
-        String methodName = null;
-        Class<?>[] methodParameterTypes = null;
-
-        Iterator<AnnotatedMethod> it = alreadyDefinedMethods.iterator();
-        while (it.hasNext())
-        {
-            AnnotatedMethod alreadyDefined = it.next();
-
-            if (alreadyDefined == annotatedMethod)
-            {
-                // we don't remove ourself
-                continue;
-            }
-
-            if (methodName == null)
-            {
-                methodName = annotatedMethod.getJavaMember().getName();
-                methodParameterTypes = annotatedMethod.getJavaMember().getParameterTypes();
-            }
-
-            // check method overrides
-            if (!Modifier.isPrivate(alreadyDefined.getJavaMember().getModifiers()))
-            {
-                // we only scan non-private methods, as private methods cannot get overridden.
-                if (methodName.equals(alreadyDefined.getJavaMember().getName()) &&
-                        methodParameterTypes.length == alreadyDefined.getJavaMember().getParameterTypes().length)
-                {
-                    boolean overridden = true;
-                    // same name and param length so we need to check if all the paramTypes are equal.
-                    if (methodParameterTypes.length > 0)
-                    {
-                        Class<?>[] otherParamTypes = alreadyDefined.getJavaMember().getParameterTypes();
-
-                        for (int i = 0; i < otherParamTypes.length; i++)
-                        {
-                            if (!otherParamTypes[i].equals(methodParameterTypes[i]))
-                            {
-                                overridden = false;
-                                break;
-                            }
-                        }
-                    }
-
-                    if (overridden)
-                    {
-                        // then we need to remove this method
-                        it.remove();
-                        return true;
-                    }
-                }
-            }
-        }
-
-        return false;
-    }
-
     protected void addInjectionPoint(AnnotatedMember<? super T> member)
     {
         injectionPoints.add(member);

Modified: openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/creation/InterceptorBeanBuilder.java
URL: http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/creation/InterceptorBeanBuilder.java?rev=1438202&r1=1438201&r2=1438202&view=diff
==============================================================================
--- openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/creation/InterceptorBeanBuilder.java (original)
+++ openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/creation/InterceptorBeanBuilder.java Thu Jan 24 21:26:49 2013
@@ -186,7 +186,6 @@ public abstract class InterceptorBeanBui
                         checkSameClassInterceptors(postConstructMethods, m);
                         postConstructMethods.add(m); // add at last position
                     }
-                    removeOverriddenMethod(postConstructMethods, m);
 
                     // PreDestroy
                     if (m.getAnnotation(PreDestroy.class) != null)
@@ -194,7 +193,6 @@ public abstract class InterceptorBeanBui
                         checkSameClassInterceptors(preDestroyMethods, m);
                         preDestroyMethods.add(m); // add at last position
                     }
-                    removeOverriddenMethod(preDestroyMethods, m);
 
                     // AroundTimeout
                     if (m.getAnnotation(AroundTimeout.class) != null)
@@ -202,7 +200,6 @@ public abstract class InterceptorBeanBui
                         checkSameClassInterceptors(aroundTimeoutMethods, m);
                         aroundTimeoutMethods.add(m); // add at last position
                     }
-                    removeOverriddenMethod(aroundTimeoutMethods, m);
 
                     // and now the EJB related interceptors
                     if (ejbPlugin != null)
@@ -212,7 +209,6 @@ public abstract class InterceptorBeanBui
                             checkSameClassInterceptors(prePassivateMethods, m);
                             prePassivateMethods.add(m); // add at last position
                         }
-                        removeOverriddenMethod(prePassivateMethods, m);
 
                         // AroundTimeout
                         if (m.getAnnotation(AroundTimeout.class) != null)
@@ -220,7 +216,6 @@ public abstract class InterceptorBeanBui
                             checkSameClassInterceptors(aroundTimeoutMethods, m);
                             postActivateMethods.add(m); // add at last position
                         }
-                        removeOverriddenMethod(postActivateMethods, m);
 
                         // AroundTimeout
                         if (m.getAnnotation(postActivateClass) != null)
@@ -228,7 +223,6 @@ public abstract class InterceptorBeanBui
                             checkSameClassInterceptors(postActivateMethods, m);
                             postActivateMethods.add(m); // add at last position
                         }
-                        removeOverriddenMethod(postActivateMethods, m);
                     }
                 }
             }