Dmitriy B. created SYNCOPE-1490:
-----------------------------------
Summary: Incorrect decoding when constructing fiql query
Key: SYNCOPE-1490
URL: https://issues.apache.org/jira/browse/SYNCOPE-1490
Project: Syncope
Issue Type: Bug
Components: core
Affects Versions: 2.0.12
Reporter: Dmitriy B.
The incoming org.apache.cxf.jaxrs.ext.search.PrimitiveStatement#value value is
already decoded in
org.apache.syncope.core.persistence.api.search.SearchCondVisitor#visitPrimitive.
Thus, the useless logic that does decoding should be removed.
Otherwise, it leads to incorrect behavior: e.g. when special chars present it
the property values.
For example, I have user with "phone" attribute and value of this attribute is
"+1234556789112"
After double decoding, I'll have the " 1234556789112" instead of the original
value.
Example of search request:
{code:language=java}
String fiqlQuery = SyncopeClient.getUserSearchConditionBuilder()
.is("phone").equalTo("+1234556789112")
.query();
AnyQuery anyQuery = new
AnyQuery.Builder().realm(SyncopeConstants.ROOT_REALM).fiql(fiqlQuery).build();
PagedResult<UserTO> matchingUsers = userService.search(anyQuery);
{code}
--
This message was sent by Atlassian Jira
(v8.3.2#803003)