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 2012/12/28 12:34:36 UTC
svn commit: r1426463 -
/cxf/trunk/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/utils/JAXRSUtils.java
Author: sergeyb
Date: Fri Dec 28 11:34:35 2012
New Revision: 1426463
URL: http://svn.apache.org/viewvc?rev=1426463&view=rev
Log:
Optionally skipping WAE mapper
Modified:
cxf/trunk/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/utils/JAXRSUtils.java
Modified: cxf/trunk/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/utils/JAXRSUtils.java
URL: http://svn.apache.org/viewvc/cxf/trunk/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/utils/JAXRSUtils.java?rev=1426463&r1=1426462&r2=1426463&view=diff
==============================================================================
--- cxf/trunk/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/utils/JAXRSUtils.java (original)
+++ cxf/trunk/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/utils/JAXRSUtils.java Fri Dec 28 11:34:35 2012
@@ -151,7 +151,7 @@ public final class JAXRSUtils {
private static final ResourceBundle BUNDLE = BundleUtils.getBundle(JAXRSUtils.class);
private static final String PROPAGATE_EXCEPTION = "org.apache.cxf.propagate.exception";
private static final String REPORT_FAULT_MESSAGE_PROPERTY = "org.apache.cxf.jaxrs.report-fault-message";
-
+ private static final String SUPPORT_WAE_SPEC_OPTIMIZATION = "support.wae.spec.optimization";
private static final Map<Integer, Class<?>> EXCEPTIONS_MAP;
static {
EXCEPTIONS_MAP = new HashMap<Integer, Class<?>>();
@@ -1397,6 +1397,16 @@ public final class JAXRSUtils {
}
public static <T extends Throwable> Response convertFaultToResponse(T ex, Message inMessage) {
+
+ if (ex.getClass() == WebApplicationException.class) {
+ WebApplicationException webEx = (WebApplicationException)ex;
+ if (webEx.getResponse().hasEntity()
+ && webEx.getCause() == null
+ && MessageUtils.isTrue(inMessage.getContextualProperty(SUPPORT_WAE_SPEC_OPTIMIZATION))) {
+ return webEx.getResponse();
+ }
+ }
+
ExceptionMapper<T> mapper =
ProviderFactory.getInstance(inMessage).createExceptionMapper(ex.getClass(), inMessage);
if (mapper != null) {