You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@felix.apache.org by "Thomas Diesler (Updated) (JIRA)" <ji...@apache.org> on 2012/03/02 18:11:57 UTC
[jira] [Updated] (FELIX-3370) Complex Require-Bundle resolver
failure
[ https://issues.apache.org/jira/browse/FELIX-3370?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Thomas Diesler updated FELIX-3370:
----------------------------------
Description:
Consider this
{code}
// Bundle-SymbolicName: requirebundleB
// Export-Package: resources
// Bundle-SymbolicName: requirebundleC
// Export-Package: resources
// Bundle-SymbolicName: requirebundleD
// Export-Package: org.jboss.osgi.test.classloading.export;uses:=resources
// Import-Package: resources;bundle-symbolic-name=requirebundleC
// Bundle-SymbolicName: requirebundleE
// Require-Bundle: requirebundleD
// Import-Package: resources
Wiring wiringE = getWiring(env, resourceE);
assertEquals(0, wiringE.getProvidedResourceWires(null).size());
assertEquals(1, wiringE.getRequiredResourceWires(WIRING_PACKAGE_NAMESPACE).size());
wire = wiringE.getRequiredResourceWires(WIRING_PACKAGE_NAMESPACE).get(0);
assertEquals(resourceC, wire.getProvider());
{code}
The current implementation of the standalone resolver wires E to B
was:
Consider this
{code}
// Bundle-SymbolicName: requirebundleB
// Export-Package: resources
// Bundle-SymbolicName: requirebundleC
// Export-Package: resources
// Bundle-SymbolicName: requirebundleD
// Import-Package: resources;bundle-symbolic-name=requirebundleC
// Bundle-SymbolicName: requirebundleE
// Require-Bundle: requirebundleD
// Import-Package: resources
Wiring wiringE = getWiring(env, resourceE);
assertEquals(0, wiringE.getProvidedResourceWires(null).size());
assertEquals(1, wiringE.getRequiredResourceWires(WIRING_PACKAGE_NAMESPACE).size());
wire = wiringE.getRequiredResourceWires(WIRING_PACKAGE_NAMESPACE).get(0);
assertEquals(resourceC, wire.getProvider());
{code}
The current implementation of the standalone resolver wires E to B
I added the missing uses directive in D
// Bundle-SymbolicName: requirebundleD
// Export-Package: org.jboss.osgi.test.classloading.export;uses:=resources
// Import-Package: resources;bundle-symbolic-name=requirebundleC
> Complex Require-Bundle resolver failure
> ---------------------------------------
>
> Key: FELIX-3370
> URL: https://issues.apache.org/jira/browse/FELIX-3370
> Project: Felix
> Issue Type: Bug
> Reporter: Thomas Diesler
>
> Consider this
> {code}
> // Bundle-SymbolicName: requirebundleB
> // Export-Package: resources
>
> // Bundle-SymbolicName: requirebundleC
> // Export-Package: resources
>
> // Bundle-SymbolicName: requirebundleD
> // Export-Package: org.jboss.osgi.test.classloading.export;uses:=resources
> // Import-Package: resources;bundle-symbolic-name=requirebundleC
> // Bundle-SymbolicName: requirebundleE
> // Require-Bundle: requirebundleD
> // Import-Package: resources
> Wiring wiringE = getWiring(env, resourceE);
> assertEquals(0, wiringE.getProvidedResourceWires(null).size());
> assertEquals(1, wiringE.getRequiredResourceWires(WIRING_PACKAGE_NAMESPACE).size());
> wire = wiringE.getRequiredResourceWires(WIRING_PACKAGE_NAMESPACE).get(0);
> assertEquals(resourceC, wire.getProvider());
> {code}
> The current implementation of the standalone resolver wires E to B
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira