On 7/22/09 8:18 AM, Guillaume Sauthier wrote:
Sahoo a écrit :
Guillaume,
The earlier behavior was incorrect and it was fixed as:
https://issues.apache.org/jira/browse/FELIX-1034
and
https://issues.apache.org/jira/browse/FELIX-1059
I've seen this discussion that seems related:
http://www.nabble.com/Interpretation-of-*-in-DynamicImport-Package-td23249684.html
Only for curiosity, I searched, with no success, the thread on
osgi-dev where there is a consensus around the '.*' semantic.
Do you have any pointer for me ?
It is very explicit in R4.2:
The .* wildcard means deep matching, that is, com.acme.*, matches
any sub-package of package com.acme, however, it does not match
com.acme.
Thanks for opening the issue, it will be fixed in the next release.
-> richard
You guessed it right, a portable way to achieve bootdelegation for
com.sun.corba and its subpackages is to specify like this:
com.sun.corba, com.sun.corba.*
Ok, I'll do that. I was writing 'com.sun.corba*' by pure lazyness :)
I think com.sun.corba* is a bug and you should file a bug.
Here it is: https://issues.apache.org/jira/browse/FELIX-1400
Thanks for the comments
--Guillaume
Thanks,
Sahoo
Guillaume Sauthier wrote:
Hi all
I have some questions about bootdelegation and dynamic import
package syntax and semantic.
I did not find the spec very clear about the expected behavior of a
package pattern description ( 'com.sun.corba.*' for example).
In previous versions of Felix (1.4.x at least), the package itself
('com.sun.corba') was included "in the pattern", meaning that if a
bundle want to load 'com.sun.corba.Anything', it will be delegated
to the boot classloader. All subpackages matching the pattern will
also be delegated to the boot loader ('com.sun.corba.orb.Other').
In current Felix (1.8.x), the package itself is no more delegated.
This behavior has been observed for both bootdelegation and dynamic
import package.
I was wondering what was the reason behind this change ?
In my use case, I want to delegate the package itself AND the
subpackages. In previous versions of Felix I was describing this
using this pattern:
'com.sun.corba.*'
Now, I have to describe my pattern in the following way:
'com.sun.corba*' Notice that I removed the '.' before the '*'
I could also achieve the same result with this other description:
'com.sun.corba,com.sun.corba.*' but it seems odd (for me) to write
my package name twice ...
Regarding the spec, the description format of a package/pattern
should be the following:
package-name | package-name '.*' | '*'
So it seems that describing a package like 'com.sun.corba*' is wrong.
But it works with Felix.
Must I fill a bug ?
What is the best interoperable way to describe bootdelegation ?
What should I write ?
Does someone know what works with Equinox ?
Thanks
--Guillaume