[jboss-cvs] JBossAS SVN: r93306 - projects/jboss-cl/branches/Branch_2_0/classloading/src/main/java/org/jboss/classloading/spi/dependency.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Wed Sep 9 02:04:22 EDT 2009


Author: thomas.diesler at jboss.com
Date: 2009-09-09 02:04:21 -0400 (Wed, 09 Sep 2009)
New Revision: 93306

Modified:
   projects/jboss-cl/branches/Branch_2_0/classloading/src/main/java/org/jboss/classloading/spi/dependency/Domain.java
Log:
[JBCL-24] Circular and self dependencies
warn on multiple matches - wip

Modified: projects/jboss-cl/branches/Branch_2_0/classloading/src/main/java/org/jboss/classloading/spi/dependency/Domain.java
===================================================================
--- projects/jboss-cl/branches/Branch_2_0/classloading/src/main/java/org/jboss/classloading/spi/dependency/Domain.java	2009-09-09 03:35:49 UTC (rev 93305)
+++ projects/jboss-cl/branches/Branch_2_0/classloading/src/main/java/org/jboss/classloading/spi/dependency/Domain.java	2009-09-09 06:04:21 UTC (rev 93306)
@@ -244,7 +244,7 @@
             return result;
       }
       
-      // TODO JBCL-24 check for self-dependency/circularity
+      Module firstMatch = null;
       for (Module other : modules)
       {
          List<Capability> capabilities = other.getCapabilities();
@@ -253,10 +253,22 @@
             for (Capability capability : capabilities)
             {
                if (capability.resolves(module, requirement))
-                  return other;
+               {
+                  if (firstMatch != null)
+                  {
+                     String otherName = other.getName() + ":" + other.getVersion(); 
+                     String firstName = firstMatch.getName() + ":" + firstMatch.getVersion(); 
+                     log.warn("Requirement " + requirement + " resolves agaist " + firstName + " and " + otherName + ". Using first.");
+                  }
+                  if (firstMatch == null)
+                     firstMatch = other;
+               }
             }
          }
       }
+      
+      if (firstMatch != null)
+         return firstMatch;
 
       // Check the parent afterwards when required
       if (parentDomain != null && parentFirst == false)




More information about the jboss-cvs-commits mailing list