felix-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Donald Whytock <dwhyt...@gmail.com>
Subject Re: Whiteboard filter question
Date Wed, 16 May 2012 20:58:12 GMT
Sorry...a little more of an inline response:

> Scenario 1
> - All services are registered according to their function
> - GET_ALL also registered as a StatusListener with *no* service properties
> - GET_ONE also registered as a StatusListener with "name=foo" service
> property
> - When sending status, all the services use *no* filter in the query
> Results
> - GET_ALL gets all the status (good)
> - GET_ONE gets all the status (bad)

Using no filter will detect all services, since there's nothing
limiting them.  This will get you both GET_ALL and GET_ONE.

> Scenario 2
> - All services are registered according to their function
> - GET_ALL also registered as a StatusListener with *no* service properties
> - GET_ONE also registered as a StatusListener with "name=foo" service
> property
> - When sending status, all the services use *"name=<name>"* filter in the
> query
> Results
> - GET_ALL gets no status (bad)
> - GET_ONE gets its desired status (good)

Using "name=<name>" will match GET_ONE if the name is "foo".  It won't
match GET_ALL because GET_ALL doesn't have a name property set.

> Scenario 3
> - All services are registered according to their function
> - GET_ALL also registered as a StatusListener with *"name=*"* service
> properties
> - GET_ONE also registered as a StatusListener with "name=foo" service
> property
> - When sending status, all the services use *"name=<name>"* filter in the
> query
> Results
> - GET_ALL gets no status (bad)
> - GET_ONE gets its desired status (good)

Wildcards only work in the filter, not in what the filter filters on.
So using "name=*" for GET_ALL will at best set the name property to
"*".  Which can in fact be searched for using escape characters or
percent literals, but it seems more straightforward to use some value
such as "all", or alternately use a different property such as
"all=yes", and then filter for (!(name=<name>)(all=yes)).

Don

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@felix.apache.org
For additional commands, e-mail: users-help@felix.apache.org


Mime
View raw message