Author: martinkoci
Date: Mon Feb 13 20:07:34 2012
New Revision: 1243672

URL: http://svn.apache.org/viewvc?rev=1243672&view=rev
Log:
OWB-638: [PERF] Avoid unnecessary AbstractList$Itr instances

Modified:
    
openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/AbstractInjectionTargetBean.java
    
openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/ProducerMethodBean.java
    
openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/container/BeanManagerImpl.java
    
openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/intercept/InterceptorUtil.java
    
openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/proxy/JavassistProxyFactory.java
    
openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/util/AnnotationUtil.java
    
openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/util/WebBeansUtil.java

Modified: 
openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/AbstractInjectionTargetBean.java
URL: 
http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/AbstractInjectionTargetBean.java?rev=1243672&r1=1243671&r2=1243672&view=diff
==============================================================================
--- 
openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/AbstractInjectionTargetBean.java
 (original)
+++ 
openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/AbstractInjectionTargetBean.java
 Mon Feb 13 20:07:34 2012
@@ -601,8 +601,9 @@ public abstract class AbstractInjectionT
         super.validatePassivationDependencies();
         
         //Check for interceptors and decorators
-        for(Decorator<?> dec : decorators)
+        for(int i = 0, size = decorators.size(); i < size; i++)
         {
+            Decorator<?> dec = decorators.get(i);
             WebBeansDecorator<?> decorator = (WebBeansDecorator<?>)dec;
             if(!decorator.isPassivationCapable())
             {
@@ -615,8 +616,9 @@ public abstract class AbstractInjectionT
             }
         }
         
-        for(InterceptorData interceptorData : interceptorStack)
+        for(int i = 0, size = interceptorStack.size(); i < size; i++)
         {
+            InterceptorData interceptorData = interceptorStack.get(i);
             if(interceptorData.isDefinedWithWebBeansInterceptor())
             {
                 WebBeansInterceptor<?> interceptor = 
(WebBeansInterceptor<?>)interceptorData.getWebBeansInterceptor();

Modified: 
openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/ProducerMethodBean.java
URL: 
http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/ProducerMethodBean.java?rev=1243672&r1=1243671&r2=1243672&view=diff
==============================================================================
--- 
openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/ProducerMethodBean.java
 (original)
+++ 
openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/ProducerMethodBean.java
 Mon Feb 13 20:07:34 2012
@@ -219,8 +219,9 @@ public class ProducerMethodBean<T> exten
                         
AbstractInjectable.dependentInstanceOfProducerMethods.get();
                 if(dependents != null)
                 {
-                    for(DependentCreationalContext<Object> dependent : 
dependents)
+                    for(int i = 0, size = dependents.size(); i < size; i++)
                     {
+                        DependentCreationalContext<Object> dependent = 
dependents.get(i);
                         ((CreationalContextImpl)creationalContext).
                                 addDependent(instance, 
dependent.getContextual(), dependent.getInstance());
                     }

Modified: 
openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/container/BeanManagerImpl.java
URL: 
http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/container/BeanManagerImpl.java?rev=1243672&r1=1243671&r2=1243672&view=diff
==============================================================================
--- 
openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/container/BeanManagerImpl.java
 (original)
+++ 
openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/container/BeanManagerImpl.java
 Mon Feb 13 20:07:34 2012
@@ -1029,8 +1029,9 @@ public class BeanManagerImpl implements 
             return true;
         }
         
-        for(ExternalScope ext : additionalScopes)
+        for(int i = 0, size = additionalScopes.size(); i < size; i++)
         {
+            ExternalScope ext = additionalScopes.get(i);
             if(ext.getScope().equals(annotationType))
             {
                 return true;
@@ -1042,8 +1043,9 @@ public class BeanManagerImpl implements 
     
     public boolean isNormalScope(Class<? extends Annotation> annotationType)
     {
-        for (ExternalScope extScope : additionalScopes)
+        for(int i = 0, size = additionalScopes.size(); i < size; i++)
         {
+            ExternalScope extScope = additionalScopes.get(i);
             if (extScope.getScope().equals(annotationType))
             {
                 return extScope.isNormal();
@@ -1055,8 +1057,9 @@ public class BeanManagerImpl implements 
     
     public boolean isPassivatingScope(Class<? extends Annotation> 
annotationType)
     {
-        for (ExternalScope extScope : additionalScopes)
+        for(int i = 0, size = additionalScopes.size(); i < size; i++)
         {
+            ExternalScope extScope = additionalScopes.get(i);
             if (extScope.getScope().equals(annotationType))
             {
                 return extScope.isPassivating();

Modified: 
openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/intercept/InterceptorUtil.java
URL: 
http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/intercept/InterceptorUtil.java?rev=1243672&r1=1243671&r2=1243672&view=diff
==============================================================================
--- 
openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/intercept/InterceptorUtil.java
 (original)
+++ 
openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/intercept/InterceptorUtil.java
 Mon Feb 13 20:07:34 2012
@@ -558,14 +558,17 @@ public final class InterceptorUtil
      */
     public void filterCommonInterceptorStackList(List<InterceptorData> stack, 
Method method)
     {
-        Iterator<InterceptorData> it = stack.iterator();
-        while (it.hasNext())
+        if (stack.size() > 0)
         {
-            InterceptorData data = it.next();
-
-            if (shouldRemoveInterceptorCommon(data, method))
+            Iterator<InterceptorData> it = stack.iterator();
+            while (it.hasNext())
             {
-                it.remove();
+                InterceptorData data = it.next();
+
+                if (shouldRemoveInterceptorCommon(data, method))
+                {
+                    it.remove();
+                }
             }
         }
     }
@@ -664,25 +667,28 @@ public final class InterceptorUtil
     {
 
         List<InterceptorData> overridenInterceptors = null;
-        Iterator<InterceptorData> it = stack.iterator();
-        while (it.hasNext())
+        if (stack.size() > 0)
         {
-            InterceptorData interceptorData = it.next();
-            if (interceptorData.getAroundInvoke() != null)
+            Iterator<InterceptorData> it = stack.iterator();
+            while (it.hasNext())
             {
-                InterceptorData overridenInterceptor = 
getOverridenInterceptor(beanClass, interceptorData, stack);
-                if (null != overridenInterceptor)
+                InterceptorData interceptorData = it.next();
+                if (interceptorData.getAroundInvoke() != null)
                 {
-                    if (overridenInterceptors == null)
+                    InterceptorData overridenInterceptor = 
getOverridenInterceptor(beanClass, interceptorData, stack);
+                    if (null != overridenInterceptor)
                     {
-                        overridenInterceptors = new 
ArrayList<InterceptorData>();
-                    }
-                    overridenInterceptors.add(overridenInterceptor);
-                    if (logger.wblWillLogDebug())
-                    {
-                        logger.debug("REMOVING parent " + 
overridenInterceptor);
-                    }
+                        if (overridenInterceptors == null)
+                        {
+                            overridenInterceptors = new 
ArrayList<InterceptorData>();
+                        }
+                        overridenInterceptors.add(overridenInterceptor);
+                        if (logger.wblWillLogDebug())
+                        {
+                            logger.debug("REMOVING parent " + 
overridenInterceptor);
+                        }
 
+                    }
                 }
             }
         }

Modified: 
openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/proxy/JavassistProxyFactory.java
URL: 
http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/proxy/JavassistProxyFactory.java?rev=1243672&r1=1243671&r2=1243672&view=diff
==============================================================================
--- 
openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/proxy/JavassistProxyFactory.java
 (original)
+++ 
openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/proxy/JavassistProxyFactory.java
 Mon Feb 13 20:07:34 2012
@@ -357,7 +357,7 @@ public final class JavassistProxyFactory
         }
         
         boolean notInInterceptorClassAndLifecycle = false;
-        if(interceptors != null)
+        if(interceptors != null && interceptors.size() > 0)
         {
             Iterator<InterceptorData> its = interceptors.iterator();
             while(its.hasNext())

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=1243672&r1=1243671&r2=1243672&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
 Mon Feb 13 20:07:34 2012
@@ -513,7 +513,7 @@ public final class AnnotationUtil
      *
      * @param qualifier1
      * @param qualifier2
-     * @return
+     * @return 
      */
     public static boolean isQualifierEqual(Annotation qualifier1, Annotation 
qualifier2)
     {
@@ -535,8 +535,9 @@ public final class AnnotationUtil
         List<Method> bindingQualifierMethods
                 = getBindingQualifierMethods(qualifier1AnnotationType);
 
-        for (Method method : bindingQualifierMethods)
+        for (int i = 0, size = bindingQualifierMethods.size(); i < size; i++)
         {
+            Method method = bindingQualifierMethods.get(i);
             Object value1 = callMethod(qualifier1, method);
             Object value2 = callMethod(qualifier2, method);
 
@@ -690,7 +691,7 @@ public final class AnnotationUtil
      * which are not annotated with @Nonbinding.
      *
      * @param qualifierAnnotationType
-     * @return
+     * @return a {@link RandomAccess} List instance
      */
     private static List<Method> getBindingQualifierMethods(
             Class<? extends Annotation> qualifierAnnotationType)

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=1243672&r1=1243671&r2=1243672&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
 Mon Feb 13 20:07:34 2012
@@ -1214,42 +1214,45 @@ public final class WebBeansUtil
      */
     public static boolean isContainsInterceptorMethod(List<InterceptorData> 
stack, InterceptorType type)
     {
-        Iterator<InterceptorData> it = stack.iterator();
-        while (it.hasNext())
+        if (stack.size() > 0)
         {
-            Method m = null;
-            InterceptorData data = it.next();
-
-            if (type.equals(InterceptorType.AROUND_INVOKE))
-            {
-                m = data.getAroundInvoke();
-            }
-            else if (type.equals(InterceptorType.AROUND_TIMEOUT))
-            {
-                m = data.getAroundTimeout();
-            }
-            else if (type.equals(InterceptorType.POST_CONSTRUCT))
-            {
-                m = data.getPostConstruct();
-            }
-            else if (type.equals(InterceptorType.POST_ACTIVATE))
+            Iterator<InterceptorData> it = stack.iterator();
+            while (it.hasNext())
             {
-                m = data.getPostActivate();
-            }
-            else if (type.equals(InterceptorType.PRE_DESTROY))
-            {
-                m = data.getPreDestroy();
-            }
-            else if (type.equals(InterceptorType.PRE_PASSIVATE))
-            {
-                m = data.getPrePassivate();
-            }
+                Method m = null;
+                InterceptorData data = it.next();
 
-            if (m != null)
-            {
-                return true;
-            }
+                if (type.equals(InterceptorType.AROUND_INVOKE))
+                {
+                    m = data.getAroundInvoke();
+                }
+                else if (type.equals(InterceptorType.AROUND_TIMEOUT))
+                {
+                    m = data.getAroundTimeout();
+                }
+                else if (type.equals(InterceptorType.POST_CONSTRUCT))
+                {
+                    m = data.getPostConstruct();
+                }
+                else if (type.equals(InterceptorType.POST_ACTIVATE))
+                {
+                    m = data.getPostActivate();
+                }
+                else if (type.equals(InterceptorType.PRE_DESTROY))
+                {
+                    m = data.getPreDestroy();
+                }
+                else if (type.equals(InterceptorType.PRE_PASSIVATE))
+                {
+                    m = data.getPrePassivate();
+                }
 
+                if (m != null)
+                {
+                    return true;
+                }
+
+            }
         }
 
         return false;


Reply via email to