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)

Reply via email to