Try to deal with encoding
[lgpl/argeo-commons.git] / server / runtime / org.argeo.server.json / src / main / java / org / argeo / server / json / JsonServerSerializer.java
index 90a9c135c2815a37637f4d2f85b685a32c7ab38c..4f762f16867c8f92fd15b172bf73849b3e0507d9 100644 (file)
@@ -21,23 +21,32 @@ public class JsonServerSerializer implements ServerSerializer {
        private JsonFactory jsonFactory = new JsonFactory();
        private ObjectMapper objectMapper = new ObjectMapper();
 
-       private Boolean prettyPrint = true;
+       private Boolean prettyPrint = false;
+
+       // private String encoding = "UTF8";
 
        public void serialize(Object obj, HttpServletRequest request,
                        HttpServletResponse response) {
                JsonGenerator jsonGenerator = null;
                try {
                        response.setContentType("application/json");
+                       // response.setHeader("Content-Encoding", "UTF-8");
 
                        StringWriter stringWriter = null;
                        if (log.isTraceEnabled()) {
                                stringWriter = new StringWriter();
-                               jsonGenerator = jsonFactory.createJsonGenerator(stringWriter);
-                       } else {
-                               jsonGenerator = jsonFactory.createJsonGenerator(response
-                                               .getWriter());
+                               JsonGenerator jsonGeneratorLog = jsonFactory
+                                               .createJsonGenerator(stringWriter);
+                               jsonGeneratorLog.useDefaultPrettyPrinter();
+                               objectMapper.writeValue(jsonGenerator, obj);
+                               jsonGeneratorLog.close();
                        }
 
+                       // jsonGenerator = jsonFactory.createJsonGenerator(response
+                       // .getOutputStream(), JsonEncoding.valueOf(encoding));
+                       jsonGenerator = jsonFactory.createJsonGenerator(response
+                                       .getWriter());
+
                        if (prettyPrint)
                                jsonGenerator.useDefaultPrettyPrinter();