Author: rickhall
Date: Mon Apr 16 19:16:58 2012
New Revision: 1326752

URL: http://svn.apache.org/viewvc?rev=1326752&view=rev
Log:
Apply patch to avoid calculating package space more than once. (FELIX-3465)

Modified:
    
felix/trunk/framework/src/main/java/org/apache/felix/framework/resolver/ResolverImpl.java
    
felix/trunk/resolver/src/main/java/org/apache/felix/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=1326752&r1=1326751&r2=1326752&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 Apr 16 19:16:58 2012
@@ -509,6 +509,12 @@ public class ResolverImpl implements Res
         }
         cycle.add(revision);
 
+        // Make sure package space hasn't already been calculated.
+        if (revisionPkgMap.containsKey(revision))
+        {
+            return;
+        }
+
         // Create parallel arrays for requirement and proposed candidate
         // capability or actual capability if revision is resolved or not.
         List<BundleRequirement> reqs = new ArrayList();

Modified: 
felix/trunk/resolver/src/main/java/org/apache/felix/resolver/ResolverImpl.java
URL: 
http://svn.apache.org/viewvc/felix/trunk/resolver/src/main/java/org/apache/felix/resolver/ResolverImpl.java?rev=1326752&r1=1326751&r2=1326752&view=diff
==============================================================================
--- 
felix/trunk/resolver/src/main/java/org/apache/felix/resolver/ResolverImpl.java 
(original)
+++ 
felix/trunk/resolver/src/main/java/org/apache/felix/resolver/ResolverImpl.java 
Mon Apr 16 19:16:58 2012
@@ -522,6 +522,12 @@ public class ResolverImpl implements Res
         }
         cycle.add(resource);
 
+        // Make sure package space hasn't already been calculated.
+        if (resourcePkgMap.containsKey(resource))
+        {
+            return;
+        }
+
         // Create parallel arrays for requirement and proposed candidate
         // capability or actual capability if resource is resolved or not.
         List<Requirement> reqs = new ArrayList();


Reply via email to