Repository: cxf Updated Branches: refs/heads/2.7.x-fixes c5a89b7c1 -> 671b9fdc2
[CXF-5721] Duplicating single quote if possible Project: http://git-wip-us.apache.org/repos/asf/cxf/repo Commit: http://git-wip-us.apache.org/repos/asf/cxf/commit/671b9fdc Tree: http://git-wip-us.apache.org/repos/asf/cxf/tree/671b9fdc Diff: http://git-wip-us.apache.org/repos/asf/cxf/diff/671b9fdc Branch: refs/heads/2.7.x-fixes Commit: 671b9fdc20c097ecc9d2b5b9daeb2e7a921f52ed Parents: c5a89b7 Author: Sergey Beryozkin <sberyoz...@talend.com> Authored: Thu May 1 16:32:07 2014 +0100 Committer: Sergey Beryozkin <sberyoz...@talend.com> Committed: Thu May 1 16:35:24 2014 +0100 ---------------------------------------------------------------------- .../java/org/apache/cxf/jaxrs/ext/search/SearchUtils.java | 7 +++++++ .../apache/cxf/jaxrs/ext/search/sql/SQLPrinterVisitor.java | 3 ++- 2 files changed, 9 insertions(+), 1 deletion(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/cxf/blob/671b9fdc/rt/rs/extensions/search/src/main/java/org/apache/cxf/jaxrs/ext/search/SearchUtils.java ---------------------------------------------------------------------- diff --git a/rt/rs/extensions/search/src/main/java/org/apache/cxf/jaxrs/ext/search/SearchUtils.java b/rt/rs/extensions/search/src/main/java/org/apache/cxf/jaxrs/ext/search/SearchUtils.java index a91e56e..db9a81e 100644 --- a/rt/rs/extensions/search/src/main/java/org/apache/cxf/jaxrs/ext/search/SearchUtils.java +++ b/rt/rs/extensions/search/src/main/java/org/apache/cxf/jaxrs/ext/search/SearchUtils.java @@ -70,6 +70,13 @@ public final class SearchUtils { return value; } + public static String duplicateSingleQuoteIfNeeded(String value) { + if (value.indexOf('\'') != -1 && value.indexOf("\'\'") == -1) { + value = value.replaceAll("\'", "\'\'"); + } + return value; + } + public static boolean containsEscapedChar(String value) { return value.contains("\\%") || value.contains("\\\\") || value.contains("\\_"); } http://git-wip-us.apache.org/repos/asf/cxf/blob/671b9fdc/rt/rs/extensions/search/src/main/java/org/apache/cxf/jaxrs/ext/search/sql/SQLPrinterVisitor.java ---------------------------------------------------------------------- diff --git a/rt/rs/extensions/search/src/main/java/org/apache/cxf/jaxrs/ext/search/sql/SQLPrinterVisitor.java b/rt/rs/extensions/search/src/main/java/org/apache/cxf/jaxrs/ext/search/sql/SQLPrinterVisitor.java index e9f5342..3f62168 100644 --- a/rt/rs/extensions/search/src/main/java/org/apache/cxf/jaxrs/ext/search/sql/SQLPrinterVisitor.java +++ b/rt/rs/extensions/search/src/main/java/org/apache/cxf/jaxrs/ext/search/sql/SQLPrinterVisitor.java @@ -72,7 +72,8 @@ public class SQLPrinterVisitor<T> extends AbstractUntypedSearchConditionVisitor< validatePropertyValue(name, value); value = SearchUtils.toSqlWildcardString(value, isWildcardStringMatch()); - + value = SearchUtils.duplicateSingleQuoteIfNeeded(value); + if (tableAlias != null) { name = tableAlias + "." + name; }