You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@felix.apache.org by "Daniele Pirola (JIRA)" <ji...@apache.org> on 2014/09/25 15:04:34 UTC

[jira] [Created] (FELIX-4653) Different representation between Local and Remote Resource

Daniele Pirola created FELIX-4653:
-------------------------------------

             Summary: Different representation between Local and Remote Resource
                 Key: FELIX-4653
                 URL: https://issues.apache.org/jira/browse/FELIX-4653
             Project: Felix
          Issue Type: Bug
          Components: Bundle Repository (OBR)
    Affects Versions: bundlerepository-2.0.2
            Reporter: Daniele Pirola


Local and remote resource have different capability/requirement even if the bundles referred are the same. This is an error specially when the bundle is a fragment. These are the "local" and "remote" requirement of the same fragment bundle:

LOCAL
bundle:(&(symbolicname=org.eclipse.nebula.widgets.datechooser)(version>=0.0.0))

REMOTE
fragment:(&(fragment=org.eclipse.nebula.widgets.datechooser)(bundle-version>=0.0.0))

These are the "local" and "remote" capabilities of the bundle host

LOCAL
bundle:{symbolicname=org.eclipse.nebula.widgets.datechooser.rap, version=1.0.0}

REMOTE
bundle:{osgi.wiring.bundle=org.eclipse.nebula.widgets.datechooser, bundle-version=1.0.0}, fragment:{osgi.wiring.host=org.eclipse.nebula.widgets.datechooser, bundle-version=1.0.0}

Resolving the remote fragment lead to an unsatisfied requirement.
The error IMO is in the SpecXMLPullParser class when in the parseRequirement method besides requirement name also the filter osgi namespace are converted into felix namespace, so 

<requirement namespace='osgi.wiring.host'>
      <directive name='filter' value='(&amp;(osgi.wiring.host=....

becomes
fragment:(&(fragment...

insead of
fragment:(&(osgi.wiring.host...




--
This message was sent by Atlassian JIRA
(v6.3.4#6332)