Author: kwall
Date: Sat Jun 13 19:38:59 2015
New Revision: 1685311

URL: http://svn.apache.org/r1685311
Log:
QPID-6588: [Java Broker] Send JSON http responses as UTF-8 rather than platform 
encoding

Modified:
    
qpid/java/trunk/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/HttpManagementUtil.java
    
qpid/java/trunk/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/servlet/rest/AbstractServlet.java
    
qpid/java/trunk/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/servlet/rest/LogFileListingServlet.java
    
qpid/java/trunk/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/servlet/rest/LogRecordsServlet.java
    
qpid/java/trunk/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/servlet/rest/MessageContentServlet.java
    
qpid/java/trunk/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/servlet/rest/MessageServlet.java
    
qpid/java/trunk/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/servlet/rest/MetaDataServlet.java
    
qpid/java/trunk/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/servlet/rest/RestServlet.java
    
qpid/java/trunk/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/servlet/rest/SaslServlet.java
    
qpid/java/trunk/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/servlet/rest/StructureServlet.java
    
qpid/java/trunk/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/servlet/rest/TimeZoneServlet.java
    
qpid/java/trunk/systests/src/main/java/org/apache/qpid/systest/rest/RestTestHelper.java
    
qpid/java/trunk/systests/src/test/java/org/apache/qpid/systest/rest/MessagesRestTest.java

Modified: 
qpid/java/trunk/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/HttpManagementUtil.java
URL: 
http://svn.apache.org/viewvc/qpid/java/trunk/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/HttpManagementUtil.java?rev=1685311&r1=1685310&r2=1685311&view=diff
==============================================================================
--- 
qpid/java/trunk/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/HttpManagementUtil.java
 (original)
+++ 
qpid/java/trunk/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/HttpManagementUtil.java
 Sat Jun 13 19:38:59 2015
@@ -20,14 +20,8 @@
  */
 package org.apache.qpid.server.management.plugin;
 
-import java.io.BufferedWriter;
 import java.io.IOException;
 import java.io.OutputStream;
-import java.io.OutputStreamWriter;
-import java.io.Writer;
-import java.net.InetSocketAddress;
-import java.net.SocketAddress;
-import java.nio.charset.Charset;
 import java.nio.charset.StandardCharsets;
 import java.security.Principal;
 import java.security.PrivilegedAction;
@@ -93,11 +87,6 @@ public class HttpManagementUtil
         return (HttpManagementConfiguration) 
servletContext.getAttribute(ATTR_MANAGEMENT_CONFIGURATION);
     }
 
-    public static SocketAddress getSocketAddress(HttpServletRequest request)
-    {
-        return InetSocketAddress.createUnresolved(request.getServerName(), 
request.getServerPort());
-    }
-
     public static Subject getAuthorisedSubject(HttpSession session)
     {
         return (Subject) session.getAttribute(ATTR_SUBJECT);
@@ -231,21 +220,6 @@ public class HttpManagementUtil
         return null;
     }
 
-    public static Writer getOutputWriter(final HttpServletRequest request, 
final HttpServletResponse response)
-            throws IOException
-    {
-        return getOutputWriter(request, response, 
getManagementConfiguration(request.getServletContext()));
-    }
-
-    public static Writer getOutputWriter(final HttpServletRequest request, 
final HttpServletResponse response, HttpManagementConfiguration 
managementConfiguration)
-            throws IOException
-    {
-        Writer writer;
-        writer = new BufferedWriter(new 
OutputStreamWriter(getOutputStream(request,response, managementConfiguration)));
-
-        return writer;
-    }
-
     public static OutputStream getOutputStream(final HttpServletRequest 
request, final HttpServletResponse response)
             throws IOException
     {

Modified: 
qpid/java/trunk/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/servlet/rest/AbstractServlet.java
URL: 
http://svn.apache.org/viewvc/qpid/java/trunk/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/servlet/rest/AbstractServlet.java?rev=1685311&r1=1685310&r2=1685311&view=diff
==============================================================================
--- 
qpid/java/trunk/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/servlet/rest/AbstractServlet.java
 (original)
+++ 
qpid/java/trunk/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/servlet/rest/AbstractServlet.java
 Sat Jun 13 19:38:59 2015
@@ -36,8 +36,6 @@ import javax.servlet.http.HttpServlet;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
 
-import org.codehaus.jackson.JsonGenerationException;
-import org.codehaus.jackson.map.JsonMappingException;
 import org.codehaus.jackson.map.ObjectMapper;
 import org.codehaus.jackson.map.SerializationConfig;
 import org.slf4j.Logger;
@@ -46,6 +44,7 @@ import org.slf4j.LoggerFactory;
 import org.apache.qpid.server.management.plugin.HttpManagementConfiguration;
 import org.apache.qpid.server.management.plugin.HttpManagementUtil;
 import org.apache.qpid.server.model.Broker;
+import org.apache.qpid.server.model.ConfiguredObjectJacksonModule;
 import org.apache.qpid.server.util.ConnectionScopedRuntimeException;
 
 public abstract class AbstractServlet extends HttpServlet
@@ -143,12 +142,6 @@ public abstract class AbstractServlet ex
         );
     }
 
-    public Writer getOutputWriter(final HttpServletRequest request, final 
HttpServletResponse response)
-            throws IOException
-    {
-        return HttpManagementUtil.getOutputWriter(request, response, 
_managementConfiguration);
-    }
-
     public OutputStream getOutputStream(final HttpServletRequest request, 
final HttpServletResponse response)
             throws IOException
     {
@@ -265,20 +258,23 @@ public abstract class AbstractServlet ex
         }
     }
 
-    protected void sendJsonResponse(Object object, HttpServletRequest request, 
HttpServletResponse response) throws IOException,
-            JsonGenerationException, JsonMappingException
+    protected void sendJsonResponse(Object object, HttpServletRequest request, 
HttpServletResponse response) throws IOException
     {
         response.setStatus(HttpServletResponse.SC_OK);
-
         response.setHeader("Cache-Control","no-cache");
         response.setHeader("Pragma","no-cache");
         response.setDateHeader ("Expires", 0);
         response.setContentType("application/json");
 
-        final Writer writer = getOutputWriter(request, response);
-        ObjectMapper mapper = new ObjectMapper();
+        writeObjectToResponse(object, request, response);
+    }
+
+    protected void writeObjectToResponse(Object object, HttpServletRequest 
request,  HttpServletResponse response) throws IOException
+    {
+        OutputStream stream = getOutputStream(request, response);
+        ObjectMapper mapper = ConfiguredObjectJacksonModule.newObjectMapper();
         mapper.configure(SerializationConfig.Feature.INDENT_OUTPUT, true);
-        mapper.writeValue(writer, object);
+        mapper.writeValue(stream, object);
     }
 
     protected String[] getPathInfoElements(HttpServletRequest request)

Modified: 
qpid/java/trunk/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/servlet/rest/LogFileListingServlet.java
URL: 
http://svn.apache.org/viewvc/qpid/java/trunk/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/servlet/rest/LogFileListingServlet.java?rev=1685311&r1=1685310&r2=1685311&view=diff
==============================================================================
--- 
qpid/java/trunk/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/servlet/rest/LogFileListingServlet.java
 (original)
+++ 
qpid/java/trunk/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/servlet/rest/LogFileListingServlet.java
 Sat Jun 13 19:38:59 2015
@@ -18,6 +18,7 @@
 package org.apache.qpid.server.management.plugin.servlet.rest;
 
 import java.io.IOException;
+import java.io.OutputStream;
 import java.io.Writer;
 import java.util.Collections;
 import java.util.List;
@@ -57,10 +58,10 @@ public class LogFileListingServlet exten
         response.setContentType("application/json");
         response.setStatus(HttpServletResponse.SC_OK);
 
-        final Writer writer = getOutputWriter(request, response);
+        final OutputStream stream = getOutputStream(request, response);
         ObjectMapper mapper = new ObjectMapper();
         mapper.configure(SerializationConfig.Feature.INDENT_OUTPUT, true);
-        mapper.writeValue(writer, logFiles);
+        mapper.writeValue(stream, logFiles);
 
         response.setStatus(HttpServletResponse.SC_OK);
     }

Modified: 
qpid/java/trunk/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/servlet/rest/LogRecordsServlet.java
URL: 
http://svn.apache.org/viewvc/qpid/java/trunk/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/servlet/rest/LogRecordsServlet.java?rev=1685311&r1=1685310&r2=1685311&view=diff
==============================================================================
--- 
qpid/java/trunk/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/servlet/rest/LogRecordsServlet.java
 (original)
+++ 
qpid/java/trunk/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/servlet/rest/LogRecordsServlet.java
 Sat Jun 13 19:38:59 2015
@@ -17,6 +17,7 @@
 package org.apache.qpid.server.management.plugin.servlet.rest;
 
 import java.io.IOException;
+import java.io.OutputStream;
 import java.io.Writer;
 import java.util.ArrayList;
 import java.util.LinkedHashMap;
@@ -81,10 +82,10 @@ public class LogRecordsServlet extends A
             }
         }
 
-        final Writer writer = getOutputWriter(request,response);
+        final OutputStream stream = getOutputStream(request, response);
         ObjectMapper mapper = new ObjectMapper();
         mapper.configure(SerializationConfig.Feature.INDENT_OUTPUT, true);
-        mapper.writeValue(writer, logRecords);
+        mapper.writeValue(stream, logRecords);
 
         response.setStatus(HttpServletResponse.SC_OK);
 

Modified: 
qpid/java/trunk/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/servlet/rest/MessageContentServlet.java
URL: 
http://svn.apache.org/viewvc/qpid/java/trunk/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/servlet/rest/MessageContentServlet.java?rev=1685311&r1=1685310&r2=1685311&view=diff
==============================================================================
--- 
qpid/java/trunk/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/servlet/rest/MessageContentServlet.java
 (original)
+++ 
qpid/java/trunk/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/servlet/rest/MessageContentServlet.java
 Sat Jun 13 19:38:59 2015
@@ -18,6 +18,7 @@
 package org.apache.qpid.server.management.plugin.servlet.rest;
 
 import java.io.IOException;
+import java.io.OutputStream;
 import java.nio.ByteBuffer;
 
 import javax.servlet.ServletException;

Modified: 
qpid/java/trunk/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/servlet/rest/MessageServlet.java
URL: 
http://svn.apache.org/viewvc/qpid/java/trunk/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/servlet/rest/MessageServlet.java?rev=1685311&r1=1685310&r2=1685311&view=diff
==============================================================================
--- 
qpid/java/trunk/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/servlet/rest/MessageServlet.java
 (original)
+++ 
qpid/java/trunk/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/servlet/rest/MessageServlet.java
 Sat Jun 13 19:38:59 2015
@@ -18,7 +18,7 @@
 package org.apache.qpid.server.management.plugin.servlet.rest;
 
 import java.io.IOException;
-import java.io.Writer;
+import java.io.OutputStream;
 import java.security.AccessControlException;
 import java.util.ArrayList;
 import java.util.HashMap;
@@ -43,9 +43,7 @@ import org.apache.qpid.server.message.Se
 import org.apache.qpid.server.model.Queue;
 import org.apache.qpid.server.model.VirtualHost;
 import org.apache.qpid.server.queue.ClearQueueTransaction;
-import org.apache.qpid.server.queue.CopyMessagesTransaction;
 import org.apache.qpid.server.queue.DeleteMessagesTransaction;
-import org.apache.qpid.server.queue.MoveMessagesTransaction;
 import org.apache.qpid.server.queue.QueueEntry;
 import org.apache.qpid.server.queue.QueueEntryVisitor;
 import org.apache.qpid.server.security.SecurityManager;
@@ -89,10 +87,7 @@ public class MessageServlet extends Abst
         response.setDateHeader ("Expires", 0);
         response.setContentType("application/json");
 
-        final Writer writer = getOutputWriter(request,response);
-        ObjectMapper mapper = new ObjectMapper();
-        mapper.configure(SerializationConfig.Feature.INDENT_OUTPUT, true);
-        mapper.writeValue(writer, messageFinder.getMessageObject());
+        writeObjectToResponse(messageFinder.getMessageObject(), request, 
response);
     }
 
     private void getMessageList(HttpServletRequest request, 
HttpServletResponse response) throws IOException
@@ -123,10 +118,7 @@ public class MessageServlet extends Abst
         response.setHeader("Pragma","no-cache");
         response.setDateHeader ("Expires", 0);
 
-        final Writer writer = getOutputWriter(request,response);
-        ObjectMapper mapper = new ObjectMapper();
-        mapper.configure(SerializationConfig.Feature.INDENT_OUTPUT, true);
-        mapper.writeValue(writer, messages);
+        writeObjectToResponse(messages, request, response);
     }
 
     private Queue<?> getQueueFromRequest(HttpServletRequest request)

Modified: 
qpid/java/trunk/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/servlet/rest/MetaDataServlet.java
URL: 
http://svn.apache.org/viewvc/qpid/java/trunk/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/servlet/rest/MetaDataServlet.java?rev=1685311&r1=1685310&r2=1685311&view=diff
==============================================================================
--- 
qpid/java/trunk/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/servlet/rest/MetaDataServlet.java
 (original)
+++ 
qpid/java/trunk/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/servlet/rest/MetaDataServlet.java
 Sat Jun 13 19:38:59 2015
@@ -21,7 +21,7 @@
 package org.apache.qpid.server.management.plugin.servlet.rest;
 
 import java.io.IOException;
-import java.io.Writer;
+import java.io.OutputStream;
 import java.util.ArrayList;
 import java.util.Collection;
 import java.util.HashMap;
@@ -39,7 +39,6 @@ import javax.servlet.http.HttpServletRes
 import org.codehaus.jackson.map.ObjectMapper;
 import org.codehaus.jackson.map.SerializationConfig;
 
-import org.apache.qpid.server.model.BrokerModel;
 import org.apache.qpid.server.model.ConfiguredAutomatedAttribute;
 import org.apache.qpid.server.model.ConfiguredObject;
 import org.apache.qpid.server.model.ConfiguredObjectAttribute;
@@ -65,8 +64,6 @@ public class MetaDataServlet extends Abs
         super.init();
     }
 
-
-
     @Override
     protected void doGetWithSubjectAndActor(final HttpServletRequest request, 
final HttpServletResponse response)
             throws ServletException, IOException
@@ -81,10 +78,10 @@ public class MetaDataServlet extends Abs
             classToDataMap.put(clazz.getSimpleName(), processCategory(clazz));
         }
 
-        final Writer writer = getOutputWriter(request, response);
+        final OutputStream stream = getOutputStream(request, response);
         ObjectMapper mapper = new ObjectMapper();
         mapper.configure(SerializationConfig.Feature.INDENT_OUTPUT, true);
-        mapper.writeValue(writer, classToDataMap);
+        mapper.writeValue(stream, classToDataMap);
 
         response.setContentType("application/json");
         response.setStatus(HttpServletResponse.SC_OK);

Modified: 
qpid/java/trunk/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/servlet/rest/RestServlet.java
URL: 
http://svn.apache.org/viewvc/qpid/java/trunk/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/servlet/rest/RestServlet.java?rev=1685311&r1=1685310&r2=1685311&view=diff
==============================================================================
--- 
qpid/java/trunk/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/servlet/rest/RestServlet.java
 (original)
+++ 
qpid/java/trunk/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/servlet/rest/RestServlet.java
 Sat Jun 13 19:38:59 2015
@@ -17,7 +17,7 @@
 package org.apache.qpid.server.management.plugin.servlet.rest;
 
 import java.io.IOException;
-import java.io.Writer;
+import java.io.OutputStream;
 import java.security.AccessControlException;
 import java.util.ArrayList;
 import java.util.Arrays;
@@ -391,10 +391,7 @@ public class RestServlet extends Abstrac
         }
 
 
-        Writer writer = getOutputWriter(request, response);
-        ObjectMapper mapper = ConfiguredObjectJacksonModule.newObjectMapper();
-        mapper.configure(SerializationConfig.Feature.INDENT_OUTPUT, true);
-        mapper.writeValue(writer, extractInitialConfig && output.size() == 1 ? 
output.get(0) : output);
+        writeObjectToResponse(extractInitialConfig && output.size() == 1 ? 
output.get(0) : output, request, response);
     }
 
     private boolean isSingleObjectRequest(HttpServletRequest request)
@@ -563,10 +560,10 @@ public class RestServlet extends Abstrac
         else
         {
             response.setContentType("application/json");
-            Writer writer = getOutputWriter(request, response);
+            OutputStream stream = getOutputStream(request, response);
             ObjectMapper mapper = 
ConfiguredObjectJacksonModule.newObjectMapper();
             mapper.configure(SerializationConfig.Feature.INDENT_OUTPUT, true);
-            mapper.writeValue(writer, returnVal);
+            mapper.writeValue(stream, returnVal);
         }
 
     }
@@ -804,7 +801,7 @@ public class RestServlet extends Abstrac
         response.setContentType("application/json");
         response.setCharacterEncoding("UTF-8");
 
-        Writer out = getOutputWriter(request, response);
+        OutputStream out = getOutputStream(request, response);
         ObjectMapper mapper = new ObjectMapper();
         mapper.configure(SerializationConfig.Feature.INDENT_OUTPUT, true);
         mapper.writeValue(out, Collections.singletonMap("errorMessage", 
message));

Modified: 
qpid/java/trunk/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/servlet/rest/SaslServlet.java
URL: 
http://svn.apache.org/viewvc/qpid/java/trunk/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/servlet/rest/SaslServlet.java?rev=1685311&r1=1685310&r2=1685311&view=diff
==============================================================================
--- 
qpid/java/trunk/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/servlet/rest/SaslServlet.java
 (original)
+++ 
qpid/java/trunk/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/servlet/rest/SaslServlet.java
 Sat Jun 13 19:38:59 2015
@@ -21,7 +21,7 @@
 package org.apache.qpid.server.management.plugin.servlet.rest;
 
 import java.io.IOException;
-import java.io.Writer;
+import java.io.OutputStream;
 import java.security.Principal;
 import java.security.SecureRandom;
 import java.util.LinkedHashMap;
@@ -100,11 +100,10 @@ public class SaslServlet extends Abstrac
 
         outputObject.put("mechanisms", (Object) mechanisms);
 
-        final Writer writer = getOutputWriter(request, response);
-
+        final OutputStream stream = getOutputStream(request, response);
         ObjectMapper mapper = new ObjectMapper();
         mapper.configure(SerializationConfig.Feature.INDENT_OUTPUT, true);
-        mapper.writeValue(writer, outputObject);
+        mapper.writeValue(stream, outputObject);
 
     }
 
@@ -270,11 +269,7 @@ public class SaslServlet extends Abstrac
                 Map<String, Object> outputObject = new LinkedHashMap<String, 
Object>();
                 outputObject.put("challenge", 
DatatypeConverter.printBase64Binary(challenge));
 
-                final Writer writer = getOutputWriter(request, response);
-
-                ObjectMapper mapper = new ObjectMapper();
-                mapper.configure(SerializationConfig.Feature.INDENT_OUTPUT, 
true);
-                mapper.writeValue(writer, outputObject);
+                writeObjectToResponse(outputObject, request, response);
             }
             response.setStatus(HttpServletResponse.SC_OK);
         }
@@ -292,11 +287,7 @@ public class SaslServlet extends Abstrac
             outputObject.put("id", id);
             outputObject.put("challenge", 
DatatypeConverter.printBase64Binary(challenge));
 
-            final Writer writer = getOutputWriter(request, response);
-
-            ObjectMapper mapper = new ObjectMapper();
-            mapper.configure(SerializationConfig.Feature.INDENT_OUTPUT, true);
-            mapper.writeValue(writer, outputObject);
+            writeObjectToResponse(outputObject, request, response);
         }
     }
 

Modified: 
qpid/java/trunk/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/servlet/rest/StructureServlet.java
URL: 
http://svn.apache.org/viewvc/qpid/java/trunk/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/servlet/rest/StructureServlet.java?rev=1685311&r1=1685310&r2=1685311&view=diff
==============================================================================
--- 
qpid/java/trunk/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/servlet/rest/StructureServlet.java
 (original)
+++ 
qpid/java/trunk/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/servlet/rest/StructureServlet.java
 Sat Jun 13 19:38:59 2015
@@ -17,7 +17,6 @@
 package org.apache.qpid.server.management.plugin.servlet.rest;
 
 import java.io.IOException;
-import java.io.Writer;
 import java.util.ArrayList;
 import java.util.Collection;
 import java.util.LinkedHashMap;
@@ -28,9 +27,6 @@ import javax.servlet.ServletException;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
 
-import org.codehaus.jackson.map.ObjectMapper;
-import org.codehaus.jackson.map.SerializationConfig;
-
 import org.apache.qpid.server.model.Broker;
 import org.apache.qpid.server.model.ConfiguredObject;
 
@@ -55,10 +51,7 @@ public class StructureServlet extends Ab
 
         Map<String,Object> structure = generateStructure(getBroker(), 
Broker.class);
 
-        final Writer writer = getOutputWriter(request, response);
-        ObjectMapper mapper = new ObjectMapper();
-        mapper.configure(SerializationConfig.Feature.INDENT_OUTPUT, true);
-        mapper.writeValue(writer, structure);
+        writeObjectToResponse(structure, request, response);
 
         response.setStatus(HttpServletResponse.SC_OK);
 

Modified: 
qpid/java/trunk/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/servlet/rest/TimeZoneServlet.java
URL: 
http://svn.apache.org/viewvc/qpid/java/trunk/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/servlet/rest/TimeZoneServlet.java?rev=1685311&r1=1685310&r2=1685311&view=diff
==============================================================================
--- 
qpid/java/trunk/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/servlet/rest/TimeZoneServlet.java
 (original)
+++ 
qpid/java/trunk/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/servlet/rest/TimeZoneServlet.java
 Sat Jun 13 19:38:59 2015
@@ -2,7 +2,6 @@ package org.apache.qpid.server.managemen
 
 
 import java.io.IOException;
-import java.io.Writer;
 import java.util.ArrayList;
 import java.util.Date;
 import java.util.List;
@@ -36,8 +35,7 @@ public class TimeZoneServlet extends Abs
             IOException
     {
         response.setContentType("application/json");
-        final Writer writer = getOutputWriter(request, response);
-        _mapper.writeValue(writer, getTimeZones());
+        writeObjectToResponse(getTimeZones(), request, response);
 
         response.setStatus(HttpServletResponse.SC_OK);
     }

Modified: 
qpid/java/trunk/systests/src/main/java/org/apache/qpid/systest/rest/RestTestHelper.java
URL: 
http://svn.apache.org/viewvc/qpid/java/trunk/systests/src/main/java/org/apache/qpid/systest/rest/RestTestHelper.java?rev=1685311&r1=1685310&r2=1685311&view=diff
==============================================================================
--- 
qpid/java/trunk/systests/src/main/java/org/apache/qpid/systest/rest/RestTestHelper.java
 (original)
+++ 
qpid/java/trunk/systests/src/main/java/org/apache/qpid/systest/rest/RestTestHelper.java
 Sat Jun 13 19:38:59 2015
@@ -54,9 +54,6 @@ import javax.net.ssl.TrustManagerFactory
 import javax.servlet.http.HttpServletResponse;
 import javax.xml.bind.DatatypeConverter;
 
-import org.codehaus.jackson.JsonGenerationException;
-import org.codehaus.jackson.JsonParseException;
-import org.codehaus.jackson.map.JsonMappingException;
 import org.codehaus.jackson.map.ObjectMapper;
 import org.codehaus.jackson.type.TypeReference;
 import org.junit.Assert;
@@ -214,8 +211,7 @@ public class RestTestHelper
         return httpCon;
     }
 
-    public List<Map<String, Object>> readJsonResponseAsList(HttpURLConnection 
connection) throws IOException,
-            JsonParseException, JsonMappingException
+    public List<Map<String, Object>> readJsonResponseAsList(HttpURLConnection 
connection) throws IOException
     {
         byte[] data = readConnectionInputStream(connection);
         ObjectMapper mapper = new ObjectMapper();
@@ -223,8 +219,7 @@ public class RestTestHelper
         return providedObject;
     }
 
-    public Map<String, Object> readJsonResponseAsMap(HttpURLConnection 
connection) throws IOException,
-            JsonParseException, JsonMappingException
+    public Map<String, Object> readJsonResponseAsMap(HttpURLConnection 
connection) throws IOException
     {
         byte[] data = readConnectionInputStream(connection);
 
@@ -254,8 +249,7 @@ public class RestTestHelper
         return baos.toByteArray();
     }
 
-    private void writeJsonRequest(HttpURLConnection connection, Map<String, 
Object> data) throws JsonGenerationException,
-            JsonMappingException, IOException
+    private void writeJsonRequest(HttpURLConnection connection, Map<String, 
Object> data) throws IOException
     {
         ObjectMapper mapper = new ObjectMapper();
         mapper.writeValue(connection.getOutputStream(), data);
@@ -310,8 +304,7 @@ public class RestTestHelper
         return response.get(0);
     }
 
-    public List<Map<String, Object>> getJsonAsList(String path) throws 
IOException, JsonParseException,
-            JsonMappingException
+    public List<Map<String, Object>> getJsonAsList(String path) throws 
IOException
     {
         HttpURLConnection connection = openManagementConnection(path, "GET");
         connection.connect();
@@ -596,7 +589,7 @@ public class RestTestHelper
         _useSsl = true;
     }
 
-    public void createTestQueues() throws IOException, 
JsonGenerationException, JsonMappingException
+    public void createTestQueues() throws IOException
     {
         for (int i = 0; i < EXPECTED_QUEUES.length; i++)
         {

Modified: 
qpid/java/trunk/systests/src/test/java/org/apache/qpid/systest/rest/MessagesRestTest.java
URL: 
http://svn.apache.org/viewvc/qpid/java/trunk/systests/src/test/java/org/apache/qpid/systest/rest/MessagesRestTest.java?rev=1685311&r1=1685310&r2=1685311&view=diff
==============================================================================
--- 
qpid/java/trunk/systests/src/test/java/org/apache/qpid/systest/rest/MessagesRestTest.java
 (original)
+++ 
qpid/java/trunk/systests/src/test/java/org/apache/qpid/systest/rest/MessagesRestTest.java
 Sat Jun 13 19:38:59 2015
@@ -21,6 +21,7 @@
 package org.apache.qpid.systest.rest;
 
 import java.io.IOException;
+import java.nio.charset.StandardCharsets;
 import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.HashMap;
@@ -123,16 +124,16 @@ public class MessagesRestTest extends Qp
         message = getRestTestHelper().getJsonAsMap("/service/message/test/" + 
queueName + "/" + lastMessageId);
         assertMessageAttributes(message);
         assertEquals("Unexpected message attribute mimeType", "text/plain", 
message.get("mimeType"));
-        assertEquals("Unexpected message attribute size", 
STRING_VALUE.getBytes().length, message.get("size"));
+        assertEquals("Unexpected message attribute size", 
STRING_VALUE.getBytes(StandardCharsets.UTF_8).length, message.get("size"));
 
         @SuppressWarnings("unchecked")
-        Map<String, Object> bytesMessageHeader = (Map<String, Object>) 
message.get("headers");
-        assertNotNull("Message headers are not found", bytesMessageHeader);
-        assertEquals("Unexpected message header value", STRING_VALUE, 
bytesMessageHeader.get(STRING_PROP));
+        Map<String, Object> messageHeader = (Map<String, Object>) 
message.get("headers");
+        assertNotNull("Message headers are not found", messageHeader);
+        assertEquals("Unexpected message header value", STRING_VALUE, 
messageHeader.get(STRING_PROP));
 
         // get content
         byte[] data = 
getRestTestHelper().getBytes("/service/message-content/test/" + queueName + "/" 
+ lastMessageId);
-        assertTrue("Unexpected message", 
Arrays.equals(STRING_VALUE.getBytes(), data));
+        assertTrue("Unexpected message for id " + lastMessageId + ":" + 
data.length, Arrays.equals(STRING_VALUE.getBytes(StandardCharsets.UTF_8), 
data));
 
     }
 



---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to