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;