You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@openwebbeans.apache.org by gp...@apache.org on 2011/04/01 15:37:00 UTC
svn commit: r1087704 - in
/openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans:
intercept/InterceptorHandler.java intercept/InvocationContextImpl.java
util/AnnotationUtil.java
Author: gpetracek
Date: Fri Apr 1 13:36:59 2011
New Revision: 1087704
URL: http://svn.apache.org/viewvc?rev=1087704&view=rev
Log:
OWB-557 improved performance
Modified:
openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/intercept/InterceptorHandler.java
openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/intercept/InvocationContextImpl.java
openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/util/AnnotationUtil.java
Modified: openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/intercept/InterceptorHandler.java
URL: http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/intercept/InterceptorHandler.java?rev=1087704&r1=1087703&r2=1087704&view=diff
==============================================================================
--- openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/intercept/InterceptorHandler.java (original)
+++ openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/intercept/InterceptorHandler.java Fri Apr 1 13:36:59 2011
@@ -284,24 +284,11 @@ public abstract class InterceptorHandler
//If here call actual method
//If not interceptor or decorator calls
//Do normal calling
- boolean access = method.isAccessible();
- if (!access)
+ if (!method.isAccessible())
{
webBeansContext.getSecurityService().doPrivilegedSetAccessible(method, true);
}
- try
- {
- result = method.invoke(instance, arguments);
-
- }
- finally
- {
- if (!access)
- {
- webBeansContext.getSecurityService().doPrivilegedSetAccessible(method, access);
- }
- }
-
+ result = method.invoke(instance, arguments);
}
catch (InvocationTargetException e)
{
Modified: openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/intercept/InvocationContextImpl.java
URL: http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/intercept/InvocationContextImpl.java?rev=1087704&r1=1087703&r2=1087704&view=diff
==============================================================================
--- openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/intercept/InvocationContextImpl.java (original)
+++ openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/intercept/InvocationContextImpl.java Fri Apr 1 13:36:59 2011
@@ -220,9 +220,8 @@ public class InvocationContextImpl imple
InterceptorData intc = datas.get(currentMethod - 1);
Method aroundInvokeMethod = intc.getAroundInvoke();
- boolean accessible = aroundInvokeMethod.isAccessible();
-
- if (!accessible)
+
+ if (!aroundInvokeMethod.isAccessible())
{
owbBean.getWebBeansContext().getSecurityService().doPrivilegedSetAccessible(aroundInvokeMethod, true);
}
@@ -239,28 +238,17 @@ public class InvocationContextImpl imple
result = aroundInvokeMethod.invoke(t, new Object[] { this });
- if(!accessible)
- {
- owbBean.getWebBeansContext().getSecurityService().doPrivilegedSetAccessible(aroundInvokeMethod, false);
- }
-
}
else
{
if(!(this.owbBean instanceof EnterpriseBeanMarker))
{
- boolean accessible = this.method.isAccessible();
- if(!accessible)
+ if(!this.method.isAccessible())
{
owbBean.getWebBeansContext().getSecurityService().doPrivilegedSetAccessible(method, true);
}
result = this.method.invoke(target, parameters);
-
- if(!accessible)
- {
- owbBean.getWebBeansContext().getSecurityService().doPrivilegedSetAccessible(method, false);
- }
}
else
{
@@ -289,9 +277,8 @@ public class InvocationContextImpl imple
InterceptorData intc = datas.get(currentMethod - 1);
Method aroundTimeoutMethod = intc.getAroundTimeout();
- boolean accessible = aroundTimeoutMethod.isAccessible();
-
- if (!accessible)
+
+ if (!aroundTimeoutMethod.isAccessible())
{
owbBean.getWebBeansContext().getSecurityService().doPrivilegedSetAccessible(aroundTimeoutMethod, true);
}
@@ -307,29 +294,17 @@ public class InvocationContextImpl imple
currentMethod++;
result = aroundTimeoutMethod.invoke(t, new Object[] { this });
-
- if(!accessible)
- {
- owbBean.getWebBeansContext().getSecurityService().doPrivilegedSetAccessible(aroundTimeoutMethod, false);
- }
-
}
else
{
if(!(this.owbBean instanceof EnterpriseBeanMarker))
{
- boolean accessible = method.isAccessible();
- if(!accessible)
+ if(!method.isAccessible())
{
owbBean.getWebBeansContext().getSecurityService().doPrivilegedSetAccessible(method, true);
}
result = this.method.invoke(target, parameters);
-
- if(!accessible)
- {
- owbBean.getWebBeansContext().getSecurityService().doPrivilegedSetAccessible(method, false);
- }
}
else
{
Modified: openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/util/AnnotationUtil.java
URL: http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/util/AnnotationUtil.java?rev=1087704&r1=1087703&r2=1087704&view=diff
==============================================================================
--- openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/util/AnnotationUtil.java (original)
+++ openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/util/AnnotationUtil.java Fri Apr 1 13:36:59 2011
@@ -612,11 +612,9 @@ public final class AnnotationUtil
*/
private static Object callMethod(Object instance, Method method)
{
- boolean accessible = method.isAccessible();
-
try
{
- if (!accessible )
+ if (!method.isAccessible())
{
doPrivilegedSetAccessible(method, true);
}
@@ -627,11 +625,6 @@ public final class AnnotationUtil
{
throw new WebBeansException("Exception in method call : " + method.getName(), e);
}
- finally
- {
- // reset accessible value
- doPrivilegedSetAccessible(method, accessible);
- }
}
private static Object doPrivilegedSetAccessible(AccessibleObject obj, boolean flag)