You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@felix.apache.org by "Guillaume Nodet (JIRA)" <ji...@apache.org> on 2010/02/18 17:46:28 UTC
[jira] Resolved: (FELIX-1621) OBR fails to take bundles into
account that are already available in the framework
[ https://issues.apache.org/jira/browse/FELIX-1621?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Guillaume Nodet resolved FELIX-1621.
------------------------------------
Resolution: Fixed
Fix Version/s: bundlerepository-1.6.0
Assignee: Guillaume Nodet
Committing to https://svn.apache.org/repos/asf/felix/trunk ...
M bundlerepository/src/main/java/org/apache/felix/bundlerepository/LocalRepositoryImpl.java
Committed r911482
> OBR fails to take bundles into account that are already available in the framework
> ----------------------------------------------------------------------------------
>
> Key: FELIX-1621
> URL: https://issues.apache.org/jira/browse/FELIX-1621
> Project: Felix
> Issue Type: Bug
> Components: Bundle Repository (OBR)
> Affects Versions: felix-2.0.0
> Environment: linux with JDK 1.6 update 16
> Reporter: Jochen
> Assignee: Guillaume Nodet
> Fix For: bundlerepository-1.6.0
>
> Attachments: LocalRepositoryImpl.diff
>
>
> Create a bundle called 'base'. Create another bundle called 'dep'. 'dep' has to depend on 'base'.
> Deploy 'base' into felix. Keep 'dep' in a separate directory. Use bindex.jar (from osgi.org) to create the obr.xml.
> Create a third bundle with the following code in the activator:
> RepositoryAdmin repositoryAdmin = (RepositoryAdmin) arg0.getService(arg0.getServiceReference(RepositoryAdmin.class.getName()));
> try {
> repositoryAdmin.addRepository((new File(
> "/<pathtorep>/obr.xml")).toURI().toURL());
> } catch (MalformedURLException e) {
> e.printStackTrace();
> } catch (Exception e) {
> e.printStackTrace();
> }
> Resolver resolver = repositoryAdmin.resolver();
> resolver.add(repositoryAdmin.discoverResources("(&(symbolicname=<nameof'dep'>))")[0]);
> if (resolver.resolve()) {
> resolver.deploy(true);
> } else {
> Requirement[] reqs = resolver.getUnsatisfiedRequirements();
> for (int i = 0; i < reqs.length; i++) {
> System.out.println("Unable to resolve: " + reqs[i].getFilter());
> }
> }
> When the bundle is started it will give us the message that the 'base' bundle is not available although it is deploied and started in the framework.
> This issue is somewhat related to http://issues.apache.org/jira/browse/FELIX-280.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.