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