[jboss-cvs] JBossAS SVN: r86213 - projects/microcontainer/trunk/dependency/src/main/java/org/jboss/dependency/plugins.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Mon Mar 23 11:34:44 EDT 2009


Author: adrian at jboss.org
Date: 2009-03-23 11:34:44 -0400 (Mon, 23 Mar 2009)
New Revision: 86213

Modified:
   projects/microcontainer/trunk/dependency/src/main/java/org/jboss/dependency/plugins/AbstractController.java
Log:
[JBMICROCONT-421] - Don't construct iterators when the set is empty

Modified: projects/microcontainer/trunk/dependency/src/main/java/org/jboss/dependency/plugins/AbstractController.java
===================================================================
--- projects/microcontainer/trunk/dependency/src/main/java/org/jboss/dependency/plugins/AbstractController.java	2009-03-23 15:19:34 UTC (rev 86212)
+++ projects/microcontainer/trunk/dependency/src/main/java/org/jboss/dependency/plugins/AbstractController.java	2009-03-23 15:34:44 UTC (rev 86213)
@@ -1060,44 +1060,50 @@
          }
          try
          {
-            for (Iterator<ControllerContext> iter = toProcess.iterator(); iter.hasNext(); )
+            if (toProcess.isEmpty() == false)
             {
-               ControllerContext context = iter.next();
-               iter.remove();
-               Object name = context.getName();
-               try
+               for (Iterator<ControllerContext> iter = toProcess.iterator(); iter.hasNext(); )
                {
-                  if (fromState.equals(context.getState()) == false)
+                  ControllerContext context = iter.next();
+                  iter.remove();
+                  Object name = context.getName();
+                  try
                   {
-                     if (trace)
-                        log.trace("Skipping already installed " + name + " for " + toState.getStateString());
-                  }
-                  else
-                  {
-                     if (trace)
-                        log.trace("Dependencies resolved " + name + " for " + toState.getStateString());
-
-                     if (incrementState(context, trace))
+                     if (fromState.equals(context.getState()) == false)
                      {
-                        resolutions = true;
                         if (trace)
-                           log.trace(name + " " + toState.getStateString());
+                           log.trace("Skipping already installed " + name + " for " + toState.getStateString());
                      }
-                     
+                     else
+                     {
+                        if (trace)
+                           log.trace("Dependencies resolved " + name + " for " + toState.getStateString());
+
+                        if (incrementState(context, trace))
+                        {
+                           resolutions = true;
+                           if (trace)
+                              log.trace(name + " " + toState.getStateString());
+                        }
+                        
+                     }
                   }
+                  finally
+                  {
+                     installing.remove(context);
+                  }
                }
-               finally
-               {
-                  installing.remove(context);
-               }
             }
          }
          finally
          {
             // If we get here something has gone seriously wrong,
             // but try to tidyup as much state as possible
-            for (ControllerContext context : toProcess)
-               installing.remove(context);
+            if (toProcess.isEmpty() == false)
+            {
+               for (ControllerContext context : toProcess)
+                  installing.remove(context);
+            }
          }
       }
 




More information about the jboss-cvs-commits mailing list