The <* is an operator that I added to the filter. It mean that the attribute can have multiple values and is therefor a set. This set must then be a subset of the right hand site. RFC 112 elaborates this further. I tried to get these operators (subset/superset) part of the spec but it was rejected. However, OBR needed them to model mandatory directive. There you have a set of attribute names that all needed to be present.

In this case, mandatory: is the set of attribute names in the expression, and we verify that they are all there with <* operator. Again, these operators did not make for the next OSGi release.

Hope this helps, RFC 1112 can be found here: 
http://www.osgi.org/Download/File?url=/download/rfc-0112_BundleRepository.pdf

Kind regards,

        Peter Kriens



On 29 sep 2008, at 13:00, Hampel, Michael wrote:

Hello,

today I ran into a problem when generating my repository.xml with
bindex:
Spring-core has a manifest entry:
org.eclipse.core.runtime;resolution:=optional;common=split

Bindex will generate the following <require> entry:

<require extend='false'
filter='(&amp;(package=org.eclipse.core.runtime)(version&gt;=0.0.0) (comm
on=split)(mandatory:&lt;*common))'
  multiple='false' name='package' optional='true'>
  Import package org.eclipse.core.runtime
</require>

The problem is the

mandatory:&lt;*common

entry - this will cause an org.osgi.framework.InvalidSyntaxException in
the org.eclipse.osgi.framework.internal.core.FilterImpl class for the
mandatory: input.

Why does bindex add this attribute and what does it stand for?

Thanx in advance for any help,

Michael





---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to