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)