You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cxf.apache.org by se...@apache.org on 2013/09/05 17:54:02 UTC

svn commit: r1520352 - /cxf/trunk/rt/rs/extensions/search/src/main/java/org/apache/cxf/jaxrs/ext/search/jpa/AbstractJPATypedQueryVisitor.java

Author: sergeyb
Date: Thu Sep  5 15:54:02 2013
New Revision: 1520352

URL: http://svn.apache.org/r1520352
Log:
[CXF-5253] Also using notLike for wildcard strings

Modified:
    cxf/trunk/rt/rs/extensions/search/src/main/java/org/apache/cxf/jaxrs/ext/search/jpa/AbstractJPATypedQueryVisitor.java

Modified: cxf/trunk/rt/rs/extensions/search/src/main/java/org/apache/cxf/jaxrs/ext/search/jpa/AbstractJPATypedQueryVisitor.java
URL: http://svn.apache.org/viewvc/cxf/trunk/rt/rs/extensions/search/src/main/java/org/apache/cxf/jaxrs/ext/search/jpa/AbstractJPATypedQueryVisitor.java?rev=1520352&r1=1520351&r2=1520352&view=diff
==============================================================================
--- cxf/trunk/rt/rs/extensions/search/src/main/java/org/apache/cxf/jaxrs/ext/search/jpa/AbstractJPATypedQueryVisitor.java (original)
+++ cxf/trunk/rt/rs/extensions/search/src/main/java/org/apache/cxf/jaxrs/ext/search/jpa/AbstractJPATypedQueryVisitor.java Thu Sep  5 15:54:02 2013
@@ -208,7 +208,16 @@ public abstract class AbstractJPATypedQu
             }
             break;
         case NOT_EQUALS:
-            pred = builder.notEqual(exp, clazz.cast(value));
+            if (clazz.equals(String.class)) {
+                String theValue = SearchUtils.toSqlWildcardString(value.toString(), isWildcardStringMatch());
+                if (theValue.contains("%")) {
+                    pred = builder.notLike((Expression<String>)exp, theValue);
+                } else {
+                    pred = builder.notEqual(exp, clazz.cast(value));
+                }
+            } else {
+                pred = builder.notEqual(exp, clazz.cast(value));
+            }
             break;
         case LESS_THAN:
             pred = builder.lessThan(exp, clazz.cast(value));