You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@cxf.apache.org by "Torsten Römer (JIRA)" <ji...@apache.org> on 2016/04/08 11:35:25 UTC

[jira] [Commented] (CXF-6769) Underscores in values of FIQL search expressions are incorrectly escaped

    [ https://issues.apache.org/jira/browse/CXF-6769?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15231929#comment-15231929 ] 

Torsten Römer commented on CXF-6769:
------------------------------------

I've just tried this and while this would solve our problem, we unfortunately can't use in our setup.

We are running in WildFly 8/10 which includes Apache CXF, but uses RESTEasy instead of CXF's RS implementation. So we basically just include cxf-rt-rs-extension-search in our WAR deployment and create our "own" instance of FiqlParser (all we want to do is to convert an FIQL expression to an SQL query):

{code}
        final FiqlParser<SearchBean> fiqlParser = new FiqlParser<>(SearchBean.class);
        final SearchCondition<SearchBean> searchCondition = fiqlParser.parse(search);
        final SQLPrinterVisitor<SearchBean> visitor = new SQLPrinterVisitor<SearchBean>(table);
        searchCondition.accept(visitor);
        final String sql = visitor.getQuery();
{code}

And like that we are not able to set the property.

Any suggestion?

> Underscores in values of FIQL search expressions are incorrectly escaped
> ------------------------------------------------------------------------
>
>                 Key: CXF-6769
>                 URL: https://issues.apache.org/jira/browse/CXF-6769
>             Project: CXF
>          Issue Type: Bug
>          Components: JAX-RS
>    Affects Versions: 3.1.2
>         Environment: Webapp deployed to WildFly 10
>            Reporter: Torsten Römer
>            Assignee: Sergey Beryozkin
>            Priority: Minor
>             Fix For: 3.1.6, 3.0.9, 3.2.0
>
>
> We are basically "just" using FIQLParser and SQLPrinterVisitor like this:
> final FiqlParser<SearchBean> fiqlParser = new FiqlParser<>(SearchBean.class);
> final SearchCondition<SearchBean> searchCondition = fiqlParser.parse(search);
> final SQLPrinterVisitor<SearchBean> visitor = new SQLPrinterVisitor<SearchBean>(table);
>         searchCondition.accept(visitor);
> final String sql = visitor.getQuery();
> A search expression like this:
> text==VAL_UE
> yields an SQL query like this:
> SELECT * FROM some_table WHERE text = 'VAL[backslash]_UE'
> (Note [backslash] is supposed to mean a literal "\" which is swallowed here)
> If the table contains a row with text "VAL_UE", the query returns no results because the underscore in the value was preceded with a backslash.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)