Author: rickhall
Date: Thu Mar 10 15:00:15 2011
New Revision: 1080242
URL: http://svn.apache.org/viewvc?rev=1080242&view=rev
Log:
Need to wrap requirments and capabilities in wire when they come from
fragments. (FELIX-2858)
Modified:
felix/trunk/framework/src/main/java/org/apache/felix/framework/resolver/ResolverImpl.java
felix/trunk/framework/src/main/java/org/apache/felix/framework/resolver/WrappedModule.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=1080242&r1=1080241&r2=1080242&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 10 15:00:15 2011
@@ -479,8 +479,24 @@ public class ResolverImpl implements Res
// Use wires to get actual requirements and satisfying
capabilities.
for (Wire wire : module.getWires())
{
- reqs.add(wire.getRequirement());
- caps.add(wire.getCapability());
+ // Wrap the requirement as a hosted requirement
+ // if it comes from a fragment, since we will need
+ // to know the host.
+ Requirement r = wire.getRequirement();
+ if (!r.getModule().equals(wire.getImporter()))
+ {
+ r = new WrappedRequirement(wire.getImporter(), r);
+ }
+ // Wrap the capability as a hosted capability
+ // if it comes from a fragment, since we will need
+ // to know the host.
+ Capability c = wire.getCapability();
+ if (!c.getModule().equals(wire.getExporter()))
+ {
+ c = new WrappedCapability(wire.getExporter(), c);
+ }
+ reqs.add(r);
+ caps.add(c);
}
// Since the module is resolved, it could be dynamically importing,
Modified:
felix/trunk/framework/src/main/java/org/apache/felix/framework/resolver/WrappedModule.java
URL:
http://svn.apache.org/viewvc/felix/trunk/framework/src/main/java/org/apache/felix/framework/resolver/WrappedModule.java?rev=1080242&r1=1080241&r2=1080242&view=diff
==============================================================================
---
felix/trunk/framework/src/main/java/org/apache/felix/framework/resolver/WrappedModule.java
(original)
+++
felix/trunk/framework/src/main/java/org/apache/felix/framework/resolver/WrappedModule.java
Thu Mar 10 15:00:15 2011
@@ -137,6 +137,11 @@ class WrappedModule implements Module
return m_cachedRequirements;
}
+ public String toString()
+ {
+ return m_module.getId();
+ }
+
public Map getHeaders()
{
throw new UnsupportedOperationException("Not supported yet.");