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()))
                             {


Reply via email to