You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@openwebbeans.apache.org by st...@apache.org on 2011/03/22 12:58:55 UTC

svn commit: r1084142 - in /openwebbeans/trunk: webbeans-ejb/src/main/java/org/apache/webbeans/ejb/common/proxy/ webbeans-impl/src/main/java/org/apache/webbeans/inject/impl/ webbeans-impl/src/main/java/org/apache/webbeans/util/

Author: struberg
Date: Tue Mar 22 11:58:54 2011
New Revision: 1084142

URL: http://svn.apache.org/viewvc?rev=1084142&view=rev
Log:
OWB-545 further SecurityUtil elimination

Modified:
    openwebbeans/trunk/webbeans-ejb/src/main/java/org/apache/webbeans/ejb/common/proxy/EjbBeanProxyHandler.java
    openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/inject/impl/InjectionPointImpl.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/SecurityUtil.java

Modified: openwebbeans/trunk/webbeans-ejb/src/main/java/org/apache/webbeans/ejb/common/proxy/EjbBeanProxyHandler.java
URL: http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-ejb/src/main/java/org/apache/webbeans/ejb/common/proxy/EjbBeanProxyHandler.java?rev=1084142&r1=1084141&r2=1084142&view=diff
==============================================================================
--- openwebbeans/trunk/webbeans-ejb/src/main/java/org/apache/webbeans/ejb/common/proxy/EjbBeanProxyHandler.java (original)
+++ openwebbeans/trunk/webbeans-ejb/src/main/java/org/apache/webbeans/ejb/common/proxy/EjbBeanProxyHandler.java Tue Mar 22 11:58:54 2011
@@ -119,7 +119,10 @@ public class EjbBeanProxyHandler impleme
             }
             
             boolean access = method.isAccessible();
-            webBeansContext.getSecurityService().doPrivilegedSetAccessible(method, true);
+            if (!access)
+            {
+                webBeansContext.getSecurityService().doPrivilegedSetAccessible(method, true);
+            }
             try
             {
                 return proceed.invoke(proxyInstance, arguments);
@@ -127,8 +130,11 @@ public class EjbBeanProxyHandler impleme
             }
             finally
             {
-                webBeansContext.getSecurityService().doPrivilegedSetAccessible(method, access);
-            }            
+                if (!access)
+                {
+                    webBeansContext.getSecurityService().doPrivilegedSetAccessible(method, false);
+                }
+            }
         }
                 
         try
@@ -191,7 +197,10 @@ public class EjbBeanProxyHandler impleme
             //Call actual method on proxy
             //Actually it is called from OWB Proxy --> EJB Proxy --> Actual Bean Instance
             boolean access = method.isAccessible();
-            webBeansContext.getSecurityService().doPrivilegedSetAccessible(method, true);
+            if (!access)
+            {
+                webBeansContext.getSecurityService().doPrivilegedSetAccessible(method, true);
+            }
             try
             {
                 result = method.invoke(webbeansInstance, arguments);
@@ -199,7 +208,10 @@ public class EjbBeanProxyHandler impleme
             }
             finally
             {
-                webBeansContext.getSecurityService().doPrivilegedSetAccessible(method, access);
+                if (!access)
+                {
+                    webBeansContext.getSecurityService().doPrivilegedSetAccessible(method, false);
+                }
             }            
             
         }

Modified: openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/inject/impl/InjectionPointImpl.java
URL: http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/inject/impl/InjectionPointImpl.java?rev=1084142&r1=1084141&r2=1084142&view=diff
==============================================================================
--- openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/inject/impl/InjectionPointImpl.java (original)
+++ openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/inject/impl/InjectionPointImpl.java Tue Mar 22 11:58:54 2011
@@ -44,7 +44,6 @@ import javax.enterprise.inject.spi.Injec
 
 import org.apache.webbeans.config.WebBeansContext;
 import org.apache.webbeans.portable.AnnotatedElementFactory;
-import org.apache.webbeans.util.ClassUtil;
 import org.apache.webbeans.util.WebBeansUtil;
 
 class InjectionPointImpl implements InjectionPoint, Serializable
@@ -226,7 +225,7 @@ class InjectionPointImpl implements Inje
         if(c == 0)
         {
             String fieldName = in.readUTF();
-            Field field = ClassUtil.getFieldWithName(beanClass, fieldName);
+            Field field = webBeansContext.getSecurityService().doPrivilegedGetDeclaredField(beanClass, fieldName);
             
             this.injectionMember = field;
             

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=1084142&r1=1084141&r2=1084142&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 Mar 22 11:58:54 2011
@@ -1021,28 +1021,6 @@ public final class ClassUtil
         return false;
     }
 
-    public static Field getFieldWithName(Class<?> clazz, String fieldName)
-    {
-        Asserts.nullCheckForClass(clazz);
-        Asserts.assertNotNull(fieldName, "fieldName parameter can not be null");
-        try
-        {
-
-            return SecurityUtil.doPrivilegedGetDeclaredField(clazz,fieldName);
-
-        }
-        catch (SecurityException e)
-        {
-            // we must throw here!
-            throw new WebBeansException(e);
-        }
-        catch (NoSuchFieldException e2)
-        {
-            return null;
-        }
-
-    }
-
     /**
      * @param clazz webbeans implementation class
      * @param methodName name of the method that is searched

Modified: openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/util/SecurityUtil.java
URL: http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/util/SecurityUtil.java?rev=1084142&r1=1084141&r2=1084142&view=diff
==============================================================================
--- openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/util/SecurityUtil.java (original)
+++ openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/util/SecurityUtil.java Tue Mar 22 11:58:54 2011
@@ -50,17 +50,6 @@ public class SecurityUtil
         return (Method[])obj;
     }
 
-    public static <T> Field doPrivilegedGetDeclaredField(Class<T> clazz, String name) throws NoSuchFieldException
-    {
-        Object obj = AccessController.doPrivileged(
-                new PrivilegedActionForClass(clazz, name, METHOD_CLASS_GETDECLAREDFIELD));
-        if (obj instanceof NoSuchFieldException)
-        {
-            throw (NoSuchFieldException)obj;
-        }
-        return (Field)obj;
-    }
-
     public static <T> Field[] doPrivilegedGetDeclaredFields(Class<T> clazz)
     {
         Object obj = AccessController.doPrivileged(