CXF won't be that bad though and start picking up the matrix parameters
from a query component :-), so my guess Tomcat is stripping it.
When I run CXF JAXRSClientServerBook.testSearchBook123
I see in the server log:
Address:
http://localhost:9001/bookstore/books/search?_s=name==CXF*;id=ge=123;id=lt=124
If I update a test server method from :
@GET
@Path("/books/search")
@Produces("application/xml")
public Book getBook(@Context SearchContext searchContext)
to
...
public Book getBook(@QueryParam("_s") String s)
then I can see _s being equal to:
name==CXF*;id=ge=123;id=lt=124
Colm you can try it in CXF too :-)
Thanks, Sergey
On 30/08/16 14:16, Colm O hEigeartaigh wrote:
Actually it appears Francesco is right, encoding ';' as '%3B' gives the
correct result.
Colm.
On Tue, Aug 30, 2016 at 1:03 PM, Sergey Beryozkin <[email protected]>
wrote:
Hi Francesco
On 30/08/16 13:00, Francesco Chicchiriccò wrote:
Il 30 agosto 2016 13:50:18 CEST, "Francesco Chicchiriccò" <
[email protected]> ha scritto:
Hi Colm,
have you already tried via SyncopeClient? There should be integration
test cases for AND...
I'd think that the fiql string needs to be encoded, otherwise ; could be
interpreted by CXF as separator for matrix parameters...
No, only if it is provided as part of a path, like this:
http://cxf.apache.org/docs/jax-rs-search.html#JAX-RSSearch-S
earchExpressionsinURIPathsegments
Otherwise if it is a query component, it is not a problem
Cheers, Sergey
Il 30 agosto 2016 13:39:10 CEST, Colm O hEigeartaigh
<[email protected]> ha scritto:
Hi all,
I've created the following users in Syncope with attributes of "city"
and
"country":
alice/dublin/ireland
bob/dublin/canada
eve//usa
Search for users who live in dublin gives the correct total of "2":
curl -u admin:password
http://localhost:9080/syncope/rest/users?fiql=city==dublin
However, if I search for users who live in dublin and canada, I still
get
"2", meaning that the second search term is ignored:
curl -u admin:password
http://localhost:9080/syncope/rest/users?fiql=city==dublin;c
ountry==canada
The strange thing is that the "or" condition appears to work ok.
Searching
for users who live in dublin or the usa returns all 3 users as
expected:
curl -u admin:password
http://localhost:9080/syncope/rest/users?fiql=city==dublin,country==usa
This is reproducible on both 2.0.0-SNAPSHOT + 1.2.8. It is a bug IMO
but
wanted to get some feedback first before creating a JIRA.
Colm.
--
Sergey Beryozkin
Talend Community Coders
http://coders.talend.com/