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);
}
}