2014-11-06 12:13 GMT+01:00 Chetan Mehrotra <[email protected]>:

> On Thu, Nov 6, 2014 at 4:06 PM, Tommaso Teofili
> <[email protected]> wrote:
> > I'm a bit skeptical not because it wouldn't work but mostly because the
> > correct behavior would depend on oak-lucene SPI users to read the doc :-)
>
> Agreed yes. But then we do not have any other option and limiting
> features due to this issue would not be good. In a non OSGi world
> people can anyway do that easily
>

ok, let's go ahead with that, how to deal with this is an implementation
detail so we can always change that if needed.


>
> > Another concern (but I'm not 100% sure) is that this may break setups
> where
> > Lucene classes would be exported correctly by some other
> > Lucene-over-OSGi-enabling-bundle (e.g. ServiceMix) and used by other
> > non-Oak-bundles.
>
> For that we make use of mandatory package attributes [1] (rather
> esoteric feature!). It basically involvex specifying some attribute
> while exporting the package. For that package to be imported the
> importer must specify the attribute in import-package directive.
>
> So on Oak side when we export the Lucene package we set attribute
>
> Export-Package: org.apache.lucene;provider="oak";mandatory=:provider
>
> And on import side the importer must specify the attribute
>
> Import-Package : org.apache.lucene;provider="oak"
>
> This would ensure that only bundles which need to extend Oak Lucene
> import the required package and our export would not pollute the
> existing OSGi package namespace
>

ok, yes that would work, good point :-)

Regards,
Tommaso


>
> Chetan Mehrotra
> [1] http://www.osgi.org/download/r4v41/r4.core.pdf (Sec 3.6.6  pg 45)
>

Reply via email to