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/04 23:12:03 UTC
svn commit: r919203 -
/felix/trunk/framework/src/main/java/org/apache/felix/framework/resolver/ResolverImpl.java
Author: rickhall
Date: Thu Mar 4 22:12:02 2010
New Revision: 919203
URL: http://svn.apache.org/viewvc?rev=919203&view=rev
Log:
Check if we are able to permutate before doing it. (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=919203&r1=919202&r2=919203&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 Thu Mar 4 22:12:02 2010
@@ -1213,14 +1213,16 @@
// Permutate the candidate map.
for (int reqIdx = 0; reqIdx < currentBlame.m_reqs.size(); reqIdx++)
{
- Map<Requirement, Set<Capability>> copy = copyCandidateMap(candidateMap);
- Set<Capability> candidates = copy.get(currentBlame.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)
+ // Verify whether we have more than one candidate to create
+ // a permutation.
+ Set<Capability> candidates = candidateMap.get(currentBlame.m_reqs.get(reqIdx));
+ if (candidates.size() > 1)
{
+ Map<Requirement, Set<Capability>> copy = copyCandidateMap(candidateMap);
+ candidates = copy.get(currentBlame.m_reqs.get(reqIdx));
+ Iterator it = candidates.iterator();
+ it.next();
+ it.remove();
m_candidatePermutations.add(copy);
}
}