Repository: cxf
Updated Branches:
  refs/heads/master a989069e5 -> 44c52c1e5


[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/c081ee4d
Tree: http://git-wip-us.apache.org/repos/asf/cxf/tree/c081ee4d
Diff: http://git-wip-us.apache.org/repos/asf/cxf/diff/c081ee4d

Branch: refs/heads/master
Commit: c081ee4dd10918d98ee7353bce560aa78f71339d
Parents: 0edab8d
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:32:07 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/c081ee4d/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/c081ee4d/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;
                 }

Reply via email to