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);
}
}
}