[WW-4989] Uses JacksonXML handler a default handler for XML in the REST plugin (#288)

* WW-4989 Uses Jackson XML handler as a default for XML serialisation

* WW-4989 Renames class to match the same pattern for XML handler
This commit is contained in:
Lukasz Lenart
2018-12-14 14:58:48 +01:00
committed by Yasser Zamani
parent f4c8994da4
commit 85812fb9bb
3 changed files with 10 additions and 10 deletions
@@ -32,7 +32,7 @@ import java.io.Writer;
/**
* Handles JSON content using jackson-lib
*/
public class JacksonLibHandler extends AbstractContentTypeHandler {
public class JacksonJsonHandler extends AbstractContentTypeHandler {
private static final String DEFAULT_CONTENT_TYPE = "application/json";
private String defaultEncoding = "ISO-8859-1";
@@ -30,8 +30,8 @@
<bean type="org.apache.struts2.rest.ContentTypeHandlerManager" class="org.apache.struts2.rest.DefaultContentTypeHandlerManager" />
<bean type="org.apache.struts2.rest.handler.ContentTypeHandler" name="xml" class="org.apache.struts2.rest.handler.XStreamHandler" />
<bean type="org.apache.struts2.rest.handler.ContentTypeHandler" name="json" class="org.apache.struts2.rest.handler.JacksonLibHandler" />
<bean type="org.apache.struts2.rest.handler.ContentTypeHandler" name="xml" class="org.apache.struts2.rest.handler.JacksonXmlHandler" />
<bean type="org.apache.struts2.rest.handler.ContentTypeHandler" name="json" class="org.apache.struts2.rest.handler.JacksonJsonHandler" />
<bean type="org.apache.struts2.rest.handler.ContentTypeHandler" name="html" class="org.apache.struts2.rest.handler.HtmlHandler" />
<bean type="org.apache.struts2.rest.handler.ContentTypeHandler" name="x-www-form-urlencoded" class="org.apache.struts2.rest.handler.FormUrlEncodedHandler" />
<bean type="org.apache.struts2.rest.handler.ContentTypeHandler" name="multipart/form-data" class="org.apache.struts2.rest.handler.MultipartFormDataHandler" />
@@ -28,13 +28,13 @@ import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
public class JacksonLibHandlerTest extends TestCase {
public class JacksonJsonHandlerTest extends TestCase {
public void testFromObject() throws IOException {
Contact contact = new Contact("bob", true, 44);
StringWriter writer = new StringWriter();
JacksonLibHandler handler = new JacksonLibHandler();
JacksonJsonHandler handler = new JacksonJsonHandler();
handler.fromObject(new MockActionInvocation(), contact, "success", writer);
String data = writer.toString();
assertTrue(data.startsWith("{"));
@@ -47,7 +47,7 @@ public class JacksonLibHandlerTest extends TestCase {
Contact contact = new Contact("bob", true, 44);
StringWriter writer = new StringWriter();
JacksonLibHandler handler = new JacksonLibHandler();
JacksonJsonHandler handler = new JacksonJsonHandler();
handler.fromObject(new MockActionInvocation(), Arrays.asList(contact), "success", writer);
String data = writer.toString();
@@ -62,7 +62,7 @@ public class JacksonLibHandlerTest extends TestCase {
Contact target = new Contact();
StringReader reader = new StringReader("{\"age\":44,\"important\":true,\"name\":\"bob\"}");
JacksonLibHandler handler = new JacksonLibHandler();
JacksonJsonHandler handler = new JacksonJsonHandler();
handler.toObject(new MockActionInvocation(), reader, target);
assertEquals(contact, target);
}
@@ -75,18 +75,18 @@ public class JacksonLibHandlerTest extends TestCase {
List<Contact> target = new ArrayList<Contact>();
StringReader reader = new StringReader("[{\"age\":44,\"important\":true,\"name\":\"bob\"},{\"age\":33,\"important\":false,\"name\":\"john\"}]");
JacksonLibHandler handler = new JacksonLibHandler();
JacksonJsonHandler handler = new JacksonJsonHandler();
handler.toObject(new MockActionInvocation(), reader, target);
assertEquals(source.size(), target.size());
}
public void testContentType() throws IOException {
JacksonLibHandler handler = new JacksonLibHandler();
JacksonJsonHandler handler = new JacksonJsonHandler();
assertEquals(handler.getContentType(), "application/json;charset=ISO-8859-1");
}
public void testDefaultEncoding() throws IOException {
JacksonLibHandler handler = new JacksonLibHandler();
JacksonJsonHandler handler = new JacksonJsonHandler();
handler.setDefaultEncoding("UTF-8");
assertEquals(handler.getContentType(), "application/json;charset=UTF-8");
}