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/04/02 21:43:27 UTC
svn commit: r1463717 - in
/cxf/trunk/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs:
AbstractJAXRSFactoryBean.java provider/AbstractJAXBProvider.java
utils/JAXRSUtils.java utils/ResourceUtils.java
Author: sergeyb
Date: Tue Apr 2 19:43:27 2013
New Revision: 1463717
URL: http://svn.apache.org/r1463717
Log:
Throwing NoContentException in case of emtpy payloads and gfew other minor updates
Modified:
cxf/trunk/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/AbstractJAXRSFactoryBean.java
cxf/trunk/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/provider/AbstractJAXBProvider.java
cxf/trunk/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/utils/JAXRSUtils.java
cxf/trunk/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/utils/ResourceUtils.java
Modified: cxf/trunk/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/AbstractJAXRSFactoryBean.java
URL: http://svn.apache.org/viewvc/cxf/trunk/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/AbstractJAXRSFactoryBean.java?rev=1463717&r1=1463716&r2=1463717&view=diff
==============================================================================
--- cxf/trunk/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/AbstractJAXRSFactoryBean.java (original)
+++ cxf/trunk/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/AbstractJAXRSFactoryBean.java Tue Apr 2 19:43:27 2013
@@ -28,7 +28,6 @@ import java.util.Map;
import java.util.ResourceBundle;
import java.util.logging.Logger;
-import javax.ws.rs.NotFoundException;
import javax.xml.namespace.QName;
import org.apache.cxf.Bus;
@@ -53,6 +52,7 @@ import org.apache.cxf.jaxrs.utils.Inject
import org.apache.cxf.jaxrs.utils.ResourceUtils;
import org.apache.cxf.service.Service;
import org.apache.cxf.service.factory.FactoryBeanListener;
+import org.apache.cxf.service.factory.ServiceConstructionException;
import org.apache.cxf.service.model.BindingInfo;
import org.apache.cxf.service.model.BindingOperationInfo;
import org.apache.cxf.service.model.EndpointInfo;
@@ -311,7 +311,7 @@ public class AbstractJAXRSFactoryBean ex
new org.apache.cxf.common.i18n.Message("NO_RESOURCES_AVAILABLE",
BUNDLE);
LOG.severe(msg.toString());
- throw new NotFoundException();
+ throw new ServiceConstructionException(msg);
}
}
Modified: cxf/trunk/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/provider/AbstractJAXBProvider.java
URL: http://svn.apache.org/viewvc/cxf/trunk/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/provider/AbstractJAXBProvider.java?rev=1463717&r1=1463716&r2=1463717&view=diff
==============================================================================
--- cxf/trunk/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/provider/AbstractJAXBProvider.java (original)
+++ cxf/trunk/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/provider/AbstractJAXBProvider.java Tue Apr 2 19:43:27 2013
@@ -43,6 +43,7 @@ import javax.ws.rs.InternalServerErrorEx
import javax.ws.rs.WebApplicationException;
import javax.ws.rs.core.MediaType;
import javax.ws.rs.core.MultivaluedMap;
+import javax.ws.rs.core.NoContentException;
import javax.ws.rs.core.Response;
import javax.ws.rs.ext.ContextResolver;
import javax.ws.rs.ext.MessageBodyReader;
@@ -218,10 +219,10 @@ public abstract class AbstractJAXBProvid
jaxbElementClassMap = map;
}
- protected void reportEmptyContentLength() {
+ protected void reportEmptyContentLength() throws NoContentException {
String message = new org.apache.cxf.common.i18n.Message("EMPTY_BODY", BUNDLE).toString();
LOG.warning(message);
- throw new BadRequestException();
+ throw new NoContentException(message);
}
protected <X> X getStreamHandlerFromCurrentMessage(Class<X> staxCls) {
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=1463717&r1=1463716&r2=1463717&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 Tue Apr 2 19:43:27 2013
@@ -77,6 +77,7 @@ import javax.ws.rs.core.Cookie;
import javax.ws.rs.core.HttpHeaders;
import javax.ws.rs.core.MediaType;
import javax.ws.rs.core.MultivaluedMap;
+import javax.ws.rs.core.NoContentException;
import javax.ws.rs.core.PathSegment;
import javax.ws.rs.core.Request;
import javax.ws.rs.core.Response;
@@ -1201,6 +1202,8 @@ public final class JAXRSUtils {
is,
type,
m);
+ } catch (NoContentException e) {
+ throw new BadRequestException(e);
} catch (IOException e) {
throw e;
} catch (WebApplicationException ex) {
Modified: cxf/trunk/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/utils/ResourceUtils.java
URL: http://svn.apache.org/viewvc/cxf/trunk/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/utils/ResourceUtils.java?rev=1463717&r1=1463716&r2=1463717&view=diff
==============================================================================
--- cxf/trunk/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/utils/ResourceUtils.java (original)
+++ cxf/trunk/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/utils/ResourceUtils.java Tue Apr 2 19:43:27 2013
@@ -673,6 +673,10 @@ public final class ResourceUtils {
for (Map.Entry<Class<?>, ResourceProvider> entry : map.entrySet()) {
bean.setResourceProvider(entry.getKey(), entry.getValue());
}
+ Map<String, Object> appProps = app.getProperties();
+ if (appProps != null) {
+ bean.getProperties(true).putAll(appProps);
+ }
bean.setApplication(app);
return bean;