You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@felix.apache.org by ri...@apache.org on 2010/03/08 19:34:35 UTC

svn commit: r920439 - /felix/trunk/framework/src/main/java/org/apache/felix/framework/resolver/ResolverImpl.java

Author: rickhall
Date: Mon Mar  8 18:34:35 2010
New Revision: 920439

URL: http://svn.apache.org/viewvc?rev=920439&view=rev
Log:
Consistently permutate candidates. (FELIX-2037)

Modified:
    felix/trunk/framework/src/main/java/org/apache/felix/framework/resolver/ResolverImpl.java

Modified: felix/trunk/framework/src/main/java/org/apache/felix/framework/resolver/ResolverImpl.java
URL: http://svn.apache.org/viewvc/felix/trunk/framework/src/main/java/org/apache/felix/framework/resolver/ResolverImpl.java?rev=920439&r1=920438&r2=920439&view=diff
==============================================================================
--- felix/trunk/framework/src/main/java/org/apache/felix/framework/resolver/ResolverImpl.java (original)
+++ felix/trunk/framework/src/main/java/org/apache/felix/framework/resolver/ResolverImpl.java Mon Mar  8 18:34:35 2010
@@ -1155,36 +1155,9 @@
                     else if ((currentImportedBlame != null)
                         && !isCompatible(currentImportedBlame.m_cap, candSourceBlame.m_cap, modulePkgMap))
                     {
-//System.out.println("+++ CIB " + currentImportedBlame + " SB " + sourceBlame);
-                        // Try to remove the previously selected candidate associated
-                        // with the requirement blamed for adding the constraint. This
-                        // Permutate the candidate map.
-                        if (currentImportedBlame.m_reqs.size() != 0)
-                        {
-                            // Permutate the candidate map.
-                            for (int reqIdx = 0; reqIdx < currentImportedBlame.m_reqs.size(); reqIdx++)
-                            {
-                                Map<Requirement, Set<Capability>> copy = copyCandidateMap(candidateMap);
-                                Set<Capability> candidates =
-                                    copy.get(currentImportedBlame.m_reqs.get(reqIdx));
-                                Iterator it = candidates.iterator();
-                                it.next();
-                                it.remove();
-// TODO: PROTO3 RESOLVER - We could check before doing the candidate map copy.
-                                if (candidates.size() > 0)
-                                {
-                                    m_candidatePermutations.add(copy);
-                                }
-                            }
-                        }
-
-                        throw new ResolveException(
-                            "Constraint violation for package '" + usedPkgName
-                            + "' when resolving module " + current
-                            + " between existing constraint "
-                            + currentImportedBlame
-                            + " and candidate constraint "
-                            + candSourceBlame, null, null);
+                        permutateCandidates(
+                            current, usedPkgName, currentImportedBlame,
+                            candSourceBlame, candidateMap);
                     }
                 }