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 2011/07/06 18:55:15 UTC
svn commit: r1143500 -
/felix/trunk/framework/src/main/java/org/apache/felix/framework/BundleRevisionDependencies.java
Author: rickhall
Date: Wed Jul 6 16:55:15 2011
New Revision: 1143500
URL: http://svn.apache.org/viewvc?rev=1143500&view=rev
Log:
Need to return provided wires in the order in which capabilities
were declared. (FELIX-2950)
Modified:
felix/trunk/framework/src/main/java/org/apache/felix/framework/BundleRevisionDependencies.java
Modified: felix/trunk/framework/src/main/java/org/apache/felix/framework/BundleRevisionDependencies.java
URL: http://svn.apache.org/viewvc/felix/trunk/framework/src/main/java/org/apache/felix/framework/BundleRevisionDependencies.java?rev=1143500&r1=1143499&r2=1143500&view=diff
==============================================================================
--- felix/trunk/framework/src/main/java/org/apache/felix/framework/BundleRevisionDependencies.java (original)
+++ felix/trunk/framework/src/main/java/org/apache/felix/framework/BundleRevisionDependencies.java Wed Jul 6 16:55:15 2011
@@ -130,15 +130,22 @@ class BundleRevisionDependencies
{
List<BundleWire> providedWires = new ArrayList<BundleWire>();
- Map<BundleCapability, Set<BundleWire>> caps =
+ Map<BundleCapability, Set<BundleWire>> providedCaps =
m_dependentsMap.get(revision);
- if (caps != null)
+ if (providedCaps != null)
{
- for (Entry<BundleCapability, Set<BundleWire>> entry : caps.entrySet())
+ // The wires are supposed to be in declared capability order, so
+ // get the capability list from the revision's wiring, which is
+ // in declared order (including fragments), and use it to create
+ // the provided wire list in declared order.
+ List<BundleCapability> resolvedCaps =
+ revision.getWiring().getCapabilities(namespace);
+ for (BundleCapability resolvedCap : resolvedCaps)
{
- if ((namespace == null) || entry.getKey().getNamespace().equals(namespace))
+ Set<BundleWire> dependentWires = providedCaps.get(resolvedCap);
+ if (dependentWires != null)
{
- providedWires.addAll(entry.getValue());
+ providedWires.addAll(dependentWires);
}
}
}