How to correctly escape the following FIQL expression?
ctype==ou=sample,o=isp
?
I have set the jaxrs:properties
<entry key="search.lax.property.match" value="true"/>
<entry key="fiql.support.single.equals.operator" value="false"/>
<entry key="search.decode.values" value="true"/>
but the request URL
http://localhost:9080/syncope/rest/users?fiql=ctype%3D%3Dou%3Dsample,o%3Disp
fails with
17:47:19.129 ERROR
org.apache.syncope.core.rest.cxf.service.AbstractServiceImpl - Invalid
FIQL expression: ctype==ou=sample,o=isp
org.apache.cxf.jaxrs.ext.search.SearchParseException: Not a comparison
expression: o=isp
at
org.apache.syncope.common.lib.search.SyncopeFiqlParser.parseComparison(SyncopeFiqlParser.java:90)
~[syncope-common-lib-2.0.7-SNAPSHOT.jar:2.0.7-SNAPSHOT]
at
org.apache.cxf.jaxrs.ext.search.fiql.FiqlParser.parseAndsOrsBrackets(FiqlParser.java:230)
~[cxf-rt-rs-extension-search-3.1.13.jar:3.1.13]
at
org.apache.cxf.jaxrs.ext.search.fiql.FiqlParser.parse(FiqlParser.java:167)
~[cxf-rt-rs-extension-search-3.1.13.jar:3.1.13]
at
org.apache.cxf.jaxrs.ext.search.SearchContextImpl.getCondition(SearchContextImpl.java:101)
~[cxf-rt-rs-extension-search-3.1.13.jar:3.1.13]
at
org.apache.cxf.jaxrs.ext.search.SearchContextImpl.getCondition(SearchContextImpl.java:82)
~[cxf-rt-rs-extension-search-3.1.13.jar:3.1.13]
at
org.apache.cxf.jaxrs.ext.search.SearchContextImpl.getCondition(SearchContextImpl.java:76)
~[cxf-rt-rs-extension-search-3.1.13.jar:3.1.13]
As you can see from the stacktrace, I am using my own parser [1].
TIA
Regards.
[1]
https://github.com/apache/syncope/blob/2_0_X/common/lib/src/main/java/org/apache/syncope/common/lib/search/SyncopeFiqlParser.java
--
Francesco Chicchiriccò
Tirasa - Open Source Excellence
http://www.tirasa.net/
Member at The Apache Software Foundation
Syncope, Cocoon, Olingo, CXF, OpenJPA, PonyMail
http://home.apache.org/~ilgrosso/