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/11/19 17:54:17 UTC

svn commit: r1543491 - in /cxf/trunk/rt/rs/extensions/search/src: main/java/org/apache/cxf/jaxrs/ext/search/ test/java/org/apache/cxf/jaxrs/ext/search/

Author: sergeyb
Date: Tue Nov 19 16:54:17 2013
New Revision: 1543491

URL: http://svn.apache.org/r1543491
Log:
[CXF-5400] Propagating SearchParseException by default

Modified:
    cxf/trunk/rt/rs/extensions/search/src/main/java/org/apache/cxf/jaxrs/ext/search/SearchContextImpl.java
    cxf/trunk/rt/rs/extensions/search/src/main/java/org/apache/cxf/jaxrs/ext/search/SearchParseException.java
    cxf/trunk/rt/rs/extensions/search/src/test/java/org/apache/cxf/jaxrs/ext/search/SearchContextImplTest.java

Modified: cxf/trunk/rt/rs/extensions/search/src/main/java/org/apache/cxf/jaxrs/ext/search/SearchContextImpl.java
URL: http://svn.apache.org/viewvc/cxf/trunk/rt/rs/extensions/search/src/main/java/org/apache/cxf/jaxrs/ext/search/SearchContextImpl.java?rev=1543491&r1=1543490&r2=1543491&view=diff
==============================================================================
--- cxf/trunk/rt/rs/extensions/search/src/main/java/org/apache/cxf/jaxrs/ext/search/SearchContextImpl.java (original)
+++ cxf/trunk/rt/rs/extensions/search/src/main/java/org/apache/cxf/jaxrs/ext/search/SearchContextImpl.java Tue Nov 19 16:54:17 2013
@@ -28,6 +28,7 @@ import java.util.logging.Logger;
 import javax.ws.rs.core.MultivaluedMap;
 
 import org.apache.cxf.common.logging.LogUtils;
+import org.apache.cxf.common.util.PropertyUtils;
 import org.apache.cxf.helpers.CastUtils;
 import org.apache.cxf.jaxrs.ext.search.client.CompleteCondition;
 import org.apache.cxf.jaxrs.ext.search.client.SearchConditionBuilder;
@@ -44,6 +45,7 @@ public class SearchContextImpl implement
     public static final String CUSTOM_SEARCH_QUERY_PARAM_NAME = "search.query.parameter.name";
     private static final String USE_PLAIN_QUERY_PARAMETERS = "search.use.plain.queries";
     private static final String USE_ALL_QUERY_COMPONENT = "search.use.all.query.component";
+    private static final String BLOCK_SEARCH_EXCEPTION = "search.block.search.exception";
     private static final Logger LOG = LogUtils.getL7dLogger(SearchContextImpl.class);
     private Message message;
     
@@ -93,7 +95,11 @@ public class SearchContextImpl implement
             try {
                 return parser.parse(theExpression);
             } catch (SearchParseException ex) {
-                return null;
+                if (PropertyUtils.isTrue(message.getContextualProperty(BLOCK_SEARCH_EXCEPTION))) {
+                    return null;
+                } else {
+                    throw ex;
+                }
             }
         } else {
             return null;

Modified: cxf/trunk/rt/rs/extensions/search/src/main/java/org/apache/cxf/jaxrs/ext/search/SearchParseException.java
URL: http://svn.apache.org/viewvc/cxf/trunk/rt/rs/extensions/search/src/main/java/org/apache/cxf/jaxrs/ext/search/SearchParseException.java?rev=1543491&r1=1543490&r2=1543491&view=diff
==============================================================================
--- cxf/trunk/rt/rs/extensions/search/src/main/java/org/apache/cxf/jaxrs/ext/search/SearchParseException.java (original)
+++ cxf/trunk/rt/rs/extensions/search/src/main/java/org/apache/cxf/jaxrs/ext/search/SearchParseException.java Tue Nov 19 16:54:17 2013
@@ -18,7 +18,7 @@
  */
 package org.apache.cxf.jaxrs.ext.search;
 
-public class SearchParseException extends Exception {
+public class SearchParseException extends RuntimeException {
 
     private static final long serialVersionUID = 1182999957472822704L;
 

Modified: cxf/trunk/rt/rs/extensions/search/src/test/java/org/apache/cxf/jaxrs/ext/search/SearchContextImplTest.java
URL: http://svn.apache.org/viewvc/cxf/trunk/rt/rs/extensions/search/src/test/java/org/apache/cxf/jaxrs/ext/search/SearchContextImplTest.java?rev=1543491&r1=1543490&r2=1543491&view=diff
==============================================================================
--- cxf/trunk/rt/rs/extensions/search/src/test/java/org/apache/cxf/jaxrs/ext/search/SearchContextImplTest.java (original)
+++ cxf/trunk/rt/rs/extensions/search/src/test/java/org/apache/cxf/jaxrs/ext/search/SearchContextImplTest.java Tue Nov 19 16:54:17 2013
@@ -39,6 +39,21 @@ public class SearchContextImplTest exten
     }
     
     @Test
+    public void testWrongQueryNoException() {
+        Message m = new MessageImpl();
+        m.put("search.block.search.exception", true);
+        m.put(Message.QUERY_STRING, "_s=ab");
+        assertNull(new SearchContextImpl(m).getCondition(Book.class));
+    }
+    
+    @Test(expected = SearchParseException.class)
+    public void testWrongQueryException() {
+        Message m = new MessageImpl();
+        m.put(Message.QUERY_STRING, "_s=ab");
+        assertNull(new SearchContextImpl(m).getCondition(Book.class));
+    }
+    
+    @Test
     public void testPlainQuery2() {
         Message m = new MessageImpl();
         m.put("search.use.plain.queries", true);