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

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

Ok, I looked into it and I realize what is going wrong. Peter's approach to 
mandatory attributes requires that all filters include a subset check on 
"mandatory:" otherwise they will falsely match capabilities with mandatory 
attributes. Since the test repository didn't include such a check, it was 
matching when it shouldn't have been.

Ultimately, this is why I think Peter's approach is flawed since we cannot 
assume people will always obey this rule. In the new framework resolver I avoid 
this situation by doing the mandatory check in the filter implementation.

> Mandatory directive is ignored on the Export-Package when it comes to resolve 
> the bundles
> -----------------------------------------------------------------------------------------
>
>                 Key: FELIX-1531
>                 URL: https://issues.apache.org/jira/browse/FELIX-1531
>             Project: Felix
>          Issue Type: Bug
>          Components: Bundle Repository (OBR)
>    Affects Versions: bundlerepository-1.4.3
>         Environment: not applicable
>            Reporter: hehe ji
>            Assignee: Guillaume Nodet
>             Fix For: bundlerepository-1.6.0
>
>
> When I try to resolve a bundle (bundleFooImport.jar) with the following 
> manifest:
> Import-Package: a.b.c;company=foo
> In the bundle repository, I have a bundle (bundleFoo.jar) with the following 
> manifest:
> Export-Package:a.b.c;version=3;company=foo;security=true;mandatory:="company,security"
> The repository.xml for the bundleFoo.jar 
> <capability name='package'>
>       <p n='company' v='foo'/>
>         <p n='mandatory:' t='set' v='company,security'/>
>       <p n='package' v='a.b.c'/>
>       <p n='security' v='true'/>
>       <p n='version' t='version' v='3.0.0'/>
>     </capability>
> For some reason, the felix resolve resolves the bundleFooImport.jar with 
> bundle bundleFoo.jar, which is wrong. According to the osgi specification, 
> bundleFoo.jar bundle insists the bundle imports specifying company and 
> security attributes, which was not the case of bundleFooImport.jar. Clearly, 
> the felix implementation of the mandatory directive is NOT correct.
> Please let me know if you need any more details.
> Thanks
> Hehe

-- 
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