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

Richard S. Hall edited comment on FELIX-759 at 2/25/10 9:07 AM:
----------------------------------------------------------------

Just as a follow up, since I saw this issue again due to some JIRA change 
emails...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.

      was (Author: rickhall):
    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.

Reply via email to