[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
[equinox-dev] Wire Admin Bug

Hi, all! I started using Wire Admin service, met some problems concerning wire scopes.

My Producer has "mail.john" in scope, and my Consumer has "mail.*". But when I connect them with a Wire the resulting scope is empty.

I checked out the specification and the Equinox Wire Admin implementation source code. It seems like there is a bug, and a wrong specification implementation.

Section 108.6.5 "Scope name syntax" of the specification says:

Scope names are normal String objects and can, in principle, contain any
Unicode character. Scope names are used with the WirePermission class
that extends java.security.BasicPermission. The BasicPermission class
implements the implies method and performs the name matching. The
wildcard matching of this class is based on the concept of names where the
constituents of the name are separated with a period ('.'): for example,
org.osgi.service.http.port.

If we look into the source code (WireImpl.java:270) [1] we'll see that name matching for scopes is performed incorrectly (the '*' wildcard is processed only when it makes up the whole string).

Can you confirm that this is an error and what do I need to do to have it fixed?

Thanks in advance..

[1] http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.equinox/compendium/bundles/org.eclipse.equinox.wireadmin/src/org/eclipse/equinox/internal/wireadmin/WireImpl.java?revision=1.1&root=RT_Project