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(