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;
                 }

Reply via email to