Author: struberg
Date: Tue Feb 5 21:40:37 2013
New Revision: 1442762
URL: http://svn.apache.org/viewvc?rev=1442762&view=rev
Log:
OWB-344 replace hand written getMethod with Class.getMethod ...
Removed:
openwebbeans/trunk/webbeans-impl/src/test/java/org/apache/webbeans/util/ClassUtilTest.java
Modified:
openwebbeans/trunk/webbeans-ejb/src/main/java/org/apache/webbeans/ejb/common/util/EjbValidator.java
openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/creation/ProducerMethodBeanBuilder.java
openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/inject/AlternativesManager.java
openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/proxy/SubclassProxyFactory.java
openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/util/ClassUtil.java
openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/util/WebBeansUtil.java
Modified:
openwebbeans/trunk/webbeans-ejb/src/main/java/org/apache/webbeans/ejb/common/util/EjbValidator.java
URL:
http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-ejb/src/main/java/org/apache/webbeans/ejb/common/util/EjbValidator.java?rev=1442762&r1=1442761&r2=1442762&view=diff
==============================================================================
---
openwebbeans/trunk/webbeans-ejb/src/main/java/org/apache/webbeans/ejb/common/util/EjbValidator.java
(original)
+++
openwebbeans/trunk/webbeans-ejb/src/main/java/org/apache/webbeans/ejb/common/util/EjbValidator.java
Tue Feb 5 21:40:37 2013
@@ -21,7 +21,6 @@ package org.apache.webbeans.ejb.common.u
import java.lang.annotation.Annotation;
import java.lang.reflect.Method;
import java.lang.reflect.Modifier;
-import java.util.Arrays;
import java.util.Iterator;
import java.util.List;
import java.util.Set;
@@ -143,15 +142,16 @@ public final class EjbValidator
while(it.hasNext())
{
Class<?> clazz = (Class<?>)it.next();
- List<Method> methods =
ClassUtil.getClassMethodsWithTypes(clazz, method.getName(),
Arrays.asList(method.getParameterTypes()));
- if(methods.isEmpty())
+ Method classMethod =
bean.getWebBeansContext().getSecurityService().
+ doPrivilegedGetDeclaredMethod(clazz,
method.getName(), method.getParameterTypes());
+ if(classMethod == null)
{
continue;
}
else
{
//Should only be a single method that matches the
names & params
- obs.setObserverMethod(methods.get(0));
+ obs.setObserverMethod(classMethod);
found = true;
break;
}
@@ -169,4 +169,4 @@ public final class EjbValidator
}
}
-}
\ No newline at end of file
+}
Modified:
openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/creation/ProducerMethodBeanBuilder.java
URL:
http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/creation/ProducerMethodBeanBuilder.java?rev=1442762&r1=1442761&r2=1442762&view=diff
==============================================================================
---
openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/creation/ProducerMethodBeanBuilder.java
(original)
+++
openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/creation/ProducerMethodBeanBuilder.java
Tue Feb 5 21:40:37 2013
@@ -51,9 +51,10 @@ public class ProducerMethodBeanBuilder<T
{
parameters.add(ClassUtil.getClass(annotatedParam.getBaseType()));
}
-
- Method superMethod =
ClassUtil.getClassMethodWithTypes(annotatedMethod.getDeclaringType().getJavaClass().getSuperclass(),
- annotatedMethod.getJavaMember().getName(), parameters);
+
+ Method superMethod =
bean.getWebBeansContext().getSecurityService().doPrivilegedGetDeclaredMethod(annotatedMethod.getDeclaringType().getJavaClass().getSuperclass(),
+ annotatedMethod.getJavaMember().getName(),
parameters.toArray(new Class[parameters.size()]));
+
if (superMethod == null)
{
throw new WebBeansConfigurationException("Anontated producer
method specialization is failed : " + annotatedMethod.getJavaMember().getName()
Modified:
openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/inject/AlternativesManager.java
URL:
http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/inject/AlternativesManager.java?rev=1442762&r1=1442761&r2=1442762&view=diff
==============================================================================
---
openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/inject/AlternativesManager.java
(original)
+++
openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/inject/AlternativesManager.java
Tue Feb 5 21:40:37 2013
@@ -100,12 +100,7 @@ public class AlternativesManager
public boolean isClassAlternative(Class<?> clazz)
{
- if(alternatives.contains(clazz))
- {
- return true;
- }
-
- return false;
+ return alternatives.contains(clazz);
}
public boolean isStereoAlternative(Class<? extends Annotation> stereo)
Modified:
openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/proxy/SubclassProxyFactory.java
URL:
http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/proxy/SubclassProxyFactory.java?rev=1442762&r1=1442761&r2=1442762&view=diff
==============================================================================
---
openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/proxy/SubclassProxyFactory.java
(original)
+++
openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/proxy/SubclassProxyFactory.java
Tue Feb 5 21:40:37 2013
@@ -94,7 +94,6 @@ public class SubclassProxyFactory extend
* @param classToProxy the class for which a subclass will get generated
* @param <T>
* @return the proxy class
- * //X TODO for serialisation reasons this probably needs the Bean it
serves.
*/
public synchronized <T> Class<T> createSubClass(ClassLoader classLoader,
Class<T> classToProxy)
throws ProxyGenerationException
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=1442762&r1=1442761&r2=1442762&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
Tue Feb 5 21:40:37 2013
@@ -420,12 +420,7 @@ public final class ClassUtil
Integer modifier = clazz.getModifiers();
- if (!Modifier.isAbstract(modifier) && !Modifier.isInterface(modifier))
- {
- return true;
- }
-
- return false;
+ return !Modifier.isAbstract(modifier) &&
!Modifier.isInterface(modifier);
}
/**
@@ -915,118 +910,6 @@ public final class ClassUtil
}
/**
- * @param clazz webbeans implementation class
- * @param methodName name of the method that is searched
- * @param parameterTypes parameter types of the method(it can be subtype of
- * the actual type arguments of the method)
- * @return the list of method that satisfies the condition
- */
- public static List<Method> getClassMethodsWithTypes(Class<?> clazz, String
methodName, List<Class<?>> parameterTypes)
- {
- Asserts.nullCheckForClass(clazz);
- Asserts.assertNotNull(methodName, "methodName parameter can not be
null");
- Asserts.assertNotNull(parameterTypes, "parameterTypes parameter can
not be null");
-
- List<Method> methodList = new ArrayList<Method>();
-
- Method[] methods = SecurityUtil.doPrivilegedGetDeclaredMethods(clazz);
-
- for (Method method : methods)
- {
- if (method.getName().equals(methodName))
- {
- Class<?>[] defineTypes = method.getParameterTypes();
-
- if (defineTypes.length != parameterTypes.size())
- {
- continue;
- }
-
- boolean ok = true;
-
- if (parameterTypes.size() > 0)
- {
- ok = false;
- }
-
- if (!ok)
- {
- for (int i = 0; i < defineTypes.length; i++)
- {
- if
(defineTypes[i].isAssignableFrom(parameterTypes.get(i)))
- {
- ok = true;
- }
- else
- {
- ok = false;
- }
- }
- }
-
- if (ok)
- {
- methodList.add(method);
- }
- }
-
- }
-
- return methodList;
- }
-
- public static Method getClassMethodWithTypes(Class<?> clazz, String
methodName, List<Class<?>> parameterTypes)
- {
- Asserts.nullCheckForClass(clazz);
- Asserts.assertNotNull(methodName, "methodName parameter can not be
null");
- Asserts.assertNotNull(parameterTypes, "parameterTypes parameter can
not be null");
-
- Method[] methods = SecurityUtil.doPrivilegedGetDeclaredMethods(clazz);
-
- int j = 0;
- for (Method method : methods)
- {
- if (method.getName().equals(methodName))
- {
- if (parameterTypes != null && parameterTypes.size() > 0)
- {
- Class<?>[] defineTypes = method.getParameterTypes();
-
- if (defineTypes.length != parameterTypes.size())
- {
- continue;
- }
-
- boolean ok = false;
-
- for (Class<?> defineType : defineTypes)
- {
- if (defineType.equals(parameterTypes.get(j)))
- {
- ok = true;
- }
- else
- {
- ok = false;
- }
- }
-
- if (ok)
- {
- return method;
- }
- }
- else
- {
- return method;
- }
- }
- }
-
- return null;
- }
-
- /**
* Learn whether the specified class is defined with type parameters.
* @param clazz to check
* @return true if there are type parameters
Modified:
openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/util/WebBeansUtil.java
URL:
http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/util/WebBeansUtil.java?rev=1442762&r1=1442761&r2=1442762&view=diff
==============================================================================
---
openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/util/WebBeansUtil.java
(original)
+++
openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/util/WebBeansUtil.java
Tue Feb 5 21:40:37 2013
@@ -29,7 +29,6 @@ import java.lang.reflect.ParameterizedTy
import java.lang.reflect.Type;
import java.lang.reflect.TypeVariable;
import java.util.ArrayList;
-import java.util.Arrays;
import java.util.Collections;
import java.util.Comparator;
import java.util.EnumSet;
@@ -446,8 +445,6 @@ public final class WebBeansUtil
/**
* New WebBeans component class.
*
- * @param <T>
- * @param clazz impl. class
* @return the new component
*/
public <T> NewManagedBean<T> createNewComponent(OwbBean<T> bean, Class<T>
type)
@@ -902,8 +899,7 @@ public final class WebBeansUtil
if (pLeft!= null &&
pLeft.getBeanClass().getSuperclass().equals(pb.getBeanClass()))
{
- Method superMethod =
ClassUtil.getClassMethodWithTypes(pb.getBeanClass(), method.getName(),
- Arrays.asList(method.getParameterTypes()));
+ Method superMethod =
webBeansContext.getSecurityService().doPrivilegedGetDeclaredMethod(pb.getBeanClass(),
method.getName(), method.getParameterTypes());
//Added by GE, method check is necessary otherwise
getting wrong method qualifier annotations
if (superMethod != null &&
superMethod.equals(pb.getCreatorMethod()))
@@ -930,8 +926,8 @@ public final class WebBeansUtil
}
else
{
- Method superMethod =
ClassUtil.getClassMethodWithTypes(pb.getBeanClass(), method.getName(),
- Arrays.asList(method.getParameterTypes()));
+ Method superMethod =
webBeansContext.getSecurityService().doPrivilegedGetDeclaredMethod(pb.getBeanClass(),
+
method.getName(),
method.getParameterTypes());
//Added by GE, method check is necessary otherwise
getting wrong method qualifier annotations
if (superMethod != null &&
superMethod.equals(pb.getCreatorMethod()))
{