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/24 11:28:09 UTC
svn commit: r1471321 - in /cxf/trunk/rt/frontend/jaxrs/src:
main/java/org/apache/cxf/jaxrs/impl/ResponseImpl.java
test/java/org/apache/cxf/jaxrs/impl/ResponseImplTest.java
Author: sergeyb
Date: Wed Apr 24 09:28:09 2013
New Revision: 1471321
URL: http://svn.apache.org/r1471321
Log:
[CXF-4983] Updating ResponseImpl.getStatusInfo to deal with status codes which have no matching Status enums
Modified:
cxf/trunk/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/impl/ResponseImpl.java
cxf/trunk/rt/frontend/jaxrs/src/test/java/org/apache/cxf/jaxrs/impl/ResponseImplTest.java
Modified: cxf/trunk/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/impl/ResponseImpl.java
URL: http://svn.apache.org/viewvc/cxf/trunk/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/impl/ResponseImpl.java?rev=1471321&r1=1471320&r2=1471321&view=diff
==============================================================================
--- cxf/trunk/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/impl/ResponseImpl.java (original)
+++ cxf/trunk/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/impl/ResponseImpl.java Wed Apr 24 09:28:09 2013
@@ -106,19 +106,19 @@ public final class ResponseImpl extends
}
public StatusType getStatusInfo() {
- final Response.Status responseStatus = Response.Status.fromStatusCode(status);
return new Response.StatusType() {
public Family getFamily() {
- return responseStatus.getFamily();
+ return Response.Status.Family.familyOf(ResponseImpl.this.status);
}
public String getReasonPhrase() {
- return responseStatus.getReasonPhrase();
+ Response.Status statusEnum = Response.Status.fromStatusCode(ResponseImpl.this.status);
+ return statusEnum != null ? statusEnum.getReasonPhrase() : "";
}
public int getStatusCode() {
- return responseStatus.getStatusCode();
+ return ResponseImpl.this.status;
}
};
Modified: cxf/trunk/rt/frontend/jaxrs/src/test/java/org/apache/cxf/jaxrs/impl/ResponseImplTest.java
URL: http://svn.apache.org/viewvc/cxf/trunk/rt/frontend/jaxrs/src/test/java/org/apache/cxf/jaxrs/impl/ResponseImplTest.java?rev=1471321&r1=1471320&r2=1471321&view=diff
==============================================================================
--- cxf/trunk/rt/frontend/jaxrs/src/test/java/org/apache/cxf/jaxrs/impl/ResponseImplTest.java (original)
+++ cxf/trunk/rt/frontend/jaxrs/src/test/java/org/apache/cxf/jaxrs/impl/ResponseImplTest.java Wed Apr 24 09:28:09 2013
@@ -28,6 +28,8 @@ import javax.ws.rs.core.Link;
import javax.ws.rs.core.MultivaluedMap;
import javax.ws.rs.core.NewCookie;
import javax.ws.rs.core.Response;
+import javax.ws.rs.core.Response.Status;
+import javax.ws.rs.core.Response.StatusType;
import org.apache.cxf.jaxrs.utils.HttpUtils;
@@ -58,6 +60,33 @@ public class ResponseImplTest extends As
}
@Test
+ public void testStatuInfoForOKStatus() {
+ StatusType si = new ResponseImpl(200, "").getStatusInfo();
+ assertNotNull(si);
+ assertEquals(200, si.getStatusCode());
+ assertEquals(Status.Family.SUCCESSFUL, si.getFamily());
+ assertEquals("OK", si.getReasonPhrase());
+ }
+
+ @Test
+ public void testStatuInfoForClientErrorStatus() {
+ StatusType si = new ResponseImpl(400, "").getStatusInfo();
+ assertNotNull(si);
+ assertEquals(400, si.getStatusCode());
+ assertEquals(Status.Family.CLIENT_ERROR, si.getFamily());
+ assertEquals("Bad Request", si.getReasonPhrase());
+ }
+
+ @Test
+ public void testStatuInfoForClientErrorStatus2() {
+ StatusType si = new ResponseImpl(499, "").getStatusInfo();
+ assertNotNull(si);
+ assertEquals(499, si.getStatusCode());
+ assertEquals(Status.Family.CLIENT_ERROR, si.getFamily());
+ assertEquals("", si.getReasonPhrase());
+ }
+
+ @Test
public void testHasEntityAfterClose() {
Response r = new ResponseImpl(200, new ByteArrayInputStream("data".getBytes()));
assertTrue(r.hasEntity());