Author: sergeyb
Date: Wed Oct 31 17:30:57 2012
New Revision: 1404262

URL: http://svn.apache.org/viewvc?rev=1404262&view=rev
Log:
Reporting 400 from AtomPojoProvider in case of read failures

Modified:
    
cxf/trunk/rt/rs/extensions/providers/src/main/java/org/apache/cxf/jaxrs/provider/atom/AtomPojoProvider.java

Modified: 
cxf/trunk/rt/rs/extensions/providers/src/main/java/org/apache/cxf/jaxrs/provider/atom/AtomPojoProvider.java
URL: 
http://svn.apache.org/viewvc/cxf/trunk/rt/rs/extensions/providers/src/main/java/org/apache/cxf/jaxrs/provider/atom/AtomPojoProvider.java?rev=1404262&r1=1404261&r2=1404262&view=diff
==============================================================================
--- 
cxf/trunk/rt/rs/extensions/providers/src/main/java/org/apache/cxf/jaxrs/provider/atom/AtomPojoProvider.java
 (original)
+++ 
cxf/trunk/rt/rs/extensions/providers/src/main/java/org/apache/cxf/jaxrs/provider/atom/AtomPojoProvider.java
 Wed Oct 31 17:30:57 2012
@@ -544,16 +544,18 @@ public class AtomPojoProvider extends Ab
         }
         
     }
-    
-    private void reportError(String message, Exception ex) {
+    private void reportError(String message, Exception ex, int status) {
         LOG.warning(message);
-        Response response = 
Response.status(500).type("text/plain").entity(message).build();
+        Response response = 
Response.status(status).type("text/plain").entity(message).build();
         if (ex == null) {
             throw new WebApplicationException(response);
         } else {
             throw new WebApplicationException(ex, response);
         }
     }
+    private void reportError(String message, Exception ex) {
+        reportError(message, ex, 500);
+    }
     
     private boolean isFeedRequested(MediaType mt) {
         if ("entry".equals(mt.getParameters().get("type"))) {
@@ -631,7 +633,7 @@ public class AtomPojoProvider extends Ab
             m.invoke(instance, new Object[]{objects});
             
         } catch (Exception ex) {
-            reportError("Object of type " + cls.getName() + " can not be 
deserialized from Feed", ex);
+            reportError("Object of type " + cls.getName() + " can not be 
deserialized from Feed", ex, 400);
         }
         return instance;
     }
@@ -650,7 +652,7 @@ public class AtomPojoProvider extends Ab
                 jaxbProvider.getJAXBContext(cls, cls).createUnmarshaller();
             return cls.cast(um.unmarshal(new 
StringReader(entry.getContent())));
         } catch (Exception ex) {
-            reportError("Object of type " + cls.getName() + " can not be 
deserialized from Entry", ex);
+            reportError("Object of type " + cls.getName() + " can not be 
deserialized from Entry", ex, 400);
         }
         return null;
     }


Reply via email to