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)