[jboss-cvs] JBossAS SVN: r84380 - 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
Wed Feb 18 07:12:54 EST 2009


Author: adrian at jboss.org
Date: 2009-02-18 07:12:54 -0500 (Wed, 18 Feb 2009)
New Revision: 84380

Modified:
   projects/microcontainer/trunk/dependency/src/main/java/org/jboss/dependency/plugins/AbstractDependencyInfo.java
Log:
[JBMICROCONT-490] - Don't try to resolve already resolved dependencies

Modified: projects/microcontainer/trunk/dependency/src/main/java/org/jboss/dependency/plugins/AbstractDependencyInfo.java
===================================================================
--- projects/microcontainer/trunk/dependency/src/main/java/org/jboss/dependency/plugins/AbstractDependencyInfo.java	2009-02-18 12:07:09 UTC (rev 84379)
+++ projects/microcontainer/trunk/dependency/src/main/java/org/jboss/dependency/plugins/AbstractDependencyInfo.java	2009-02-18 12:12:54 UTC (rev 84380)
@@ -52,9 +52,6 @@
    /** Dependencies referencing me */
    private Set<DependencyItem> dependsOnMe = new CopyOnWriteArraySet<DependencyItem>();
 
-   /** Unresolved dependencies */
-   private Set<DependencyItem> unresolved = new CopyOnWriteArraySet<DependencyItem>();
-
    /** Install callbacks */
    private Set<CallbackItem<?>> installCallbacks = new CopyOnWriteArraySet<CallbackItem<?>>();
 
@@ -93,14 +90,12 @@
    public void addIDependOn(DependencyItem dependency)
    {
       iDependOn.add(dependency);
-      unresolved.add(dependency);
       flushJBossObjectCache();
    }
 
    public void removeIDependOn(DependencyItem dependency)
    {
       iDependOn.remove(dependency);
-      unresolved.remove(dependency);
       flushJBossObjectCache();
    }
    
@@ -149,15 +144,24 @@
 
    public Set<DependencyItem> getUnresolvedDependencies(ControllerState state)
    {
-      if (unresolved.isEmpty())
+      if (iDependOn.isEmpty())
          return Collections.emptySet();
 
-      Set<DependencyItem> result = new HashSet<DependencyItem>();
-      for (DependencyItem item : unresolved)
+      Set<DependencyItem> result = null;
+      for (DependencyItem item : iDependOn)
       {
          if (state == null || state.equals(item.getWhenRequired()))
-            result.add(item);
+         {
+            if (item.isResolved() == false)
+            {
+               if (result == null)
+                  result = new HashSet<DependencyItem>();
+               result.add(item);
+            }
+         }
       }
+      if (result == null)
+         return Collections.emptySet();
       return result;
    }
 
@@ -218,7 +222,15 @@
    public void toString(JBossStringBuilder buffer)
    {
       buffer.append("idependOn=").append(iDependOn);
-      if (unresolved.isEmpty() == false)
-         buffer.append(" unresolved=").append(unresolved);
+      try
+      {
+         Set<DependencyItem> unresolved = getUnresolvedDependencies(null);
+         if (unresolved.isEmpty() == false)
+            buffer.append(" unresolved=").append(unresolved);
+      }
+      catch (Throwable ignored)
+      {
+         buffer.append(" unresolved=" + ignored);
+      }
    }
 }




More information about the jboss-cvs-commits mailing list