You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@felix.apache.org by "Richard S. Hall (JIRA)" <ji...@apache.org> on 2010/02/25 10:08:28 UTC

[jira] Commented: (FELIX-759) Version range in import declaration creates a filter using invalid operators (<,>)

    [ https://issues.apache.org/jira/browse/FELIX-759?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12838255#action_12838255 ] 

Richard S. Hall commented on FELIX-759:
---------------------------------------

Just as a follow up, since I saw this issue due to some JIRA changes...this was discussed in CPEG at one point in time and the idea of adding such operators to Filter was rejected...at least for now.

> Version range in import declaration creates a filter using invalid operators (<,>)
> ----------------------------------------------------------------------------------
>
>                 Key: FELIX-759
>                 URL: https://issues.apache.org/jira/browse/FELIX-759
>             Project: Felix
>          Issue Type: Bug
>          Components: Maven Bundle Plugin
>         Environment: Maven Bundle Plugin 1.4.3
> Apache Felix Bundle Repository (1.2.0)
> Apache Felix 1.2.1/Equinox 3.4.0
>            Reporter: Dirk Mahler
>         Attachments: BundleInfo.java.diff, Parser.java
>
>
> If a version range is given for an import-declaration (e.g. bundle http://www.springsource.com/repository/app/bundle/version/detail?name=com.springsource.javax.jms&version=1.1.0) the maven bundle plugin creates version filters for the OBR repository which might contain the operators < and >, e.g.:
> <require extend="false" filter="(&amp;(package=javax.transaction.xa)(version&gt;=1.0.1)(version&lt;2.0.0))" multiple="false" name="package" optional="true">Import package javax.transaction.xa ;version=[1.0.1,2.0.0)</require>
> These operators are currently not supported by Felix and Equinox, the OSGi specification (at least 4.0.1) only states "<=" and ">=" as valid ones.
> The resulting problem are exceptions while reading the repository descriptor:
> Caused by: org.osgi.framework.InvalidSyntaxException: expected ~=|>=|<=
>         at org.apache.felix.framework.FilterImpl.<init>(FilterImpl.java:81)
>         at org.apache.felix.framework.BundleContextImpl.createFilter(BundleContextImpl.java:104)
>         at org.apache.felix.bundlerepository.RequirementImpl.setFilter(RequirementImpl.java:57)
> A simple patch for the class org.osgi.impl.bundle.obr.resource.BundleInfo.java is attached to this issue. The solution is to replace (version<2.0.0) by (!(version>=2.0.0))

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.