Author: martinkoci
Date: Tue Jan 24 17:53:11 2012
New Revision: 1235378

URL: http://svn.apache.org/viewvc?rev=1235378&view=rev
Log:
OWB-637 [perf] ELContextStore.destroyDependents() creates unnecessary 
HashMap$KeyIterator instances

Modified:
    
openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/el/ELContextStore.java

Modified: 
openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/el/ELContextStore.java
URL: 
http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/el/ELContextStore.java?rev=1235378&r1=1235377&r2=1235378&view=diff
==============================================================================
--- 
openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/el/ELContextStore.java
 (original)
+++ 
openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/el/ELContextStore.java
 Tue Jan 24 17:53:11 2012
@@ -197,15 +197,18 @@ public class ELContextStore
      */
     public void destroyDependents()
     {
-        Set<Bean<?>> beans = dependentObjects.keySet();
-        for(Bean<?> bean : beans)
+        if (dependentObjects.size() > 0)
         {
-            Bean<Object> o = (Bean<Object>)bean;
-            CreationalStore store = dependentObjects.get(bean);
-            o.destroy(store.getObject(), 
(CreationalContext<Object>)store.getCreational());
-        }
+            Set<Bean<?>> beans = dependentObjects.keySet();
+            for(Bean<?> bean : beans)
+            {
+                Bean<Object> o = (Bean<Object>)bean;
+                CreationalStore store = dependentObjects.get(bean);
+                o.destroy(store.getObject(), 
(CreationalContext<Object>)store.getCreational());
+            }
 
-        dependentObjects.clear();
+            dependentObjects.clear();
+        }
         beanNameToDependentBeanMapping.clear();
     }
 


Reply via email to