List of usage examples for com.fasterxml.jackson.databind.node ObjectNode serialize
public final void serialize(JsonGenerator paramJsonGenerator, SerializerProvider paramSerializerProvider)
From source file:com.chenchengzhi.windtalkers.server.WindMessageFactory.java
protected HttpResponse throwError(Issue issue) throws IOException { HttpResponse errorResponse = new DefaultHttpResponse(HttpVersion.HTTP_1_1, HttpResponseStatus.valueOf(issue.getStatusCode().getCode())); ObjectNode errorNode = issue.translate(); StringWriter writer = new StringWriter(); JsonGenerator generator = jsonFactory.createJsonGenerator(writer); generator.setPrettyPrinter(new DefaultPrettyPrinter()); errorNode.serialize(generator, new DefaultSerializerProvider.Impl()); generator.flush();// w ww .ja v a 2 s. c om errorResponse.setContent(ChannelBuffers.copiedBuffer(writer.getBuffer(), Charsets.UTF_8)); errorResponse.setHeader(HttpHeaders.Names.CONTENT_TYPE, "application/json"); errorResponse.setHeader(HttpHeaders.Names.CONTENT_LENGTH, errorResponse.getContent().readableBytes()); return errorResponse; }
From source file:com.chenchengzhi.windtalkers.server.WindMessageFactory.java
@Override public HttpResponse serialize(Message message) throws IOException { Issue issue = message.get(Issue.class); if (issue != null) { return throwError(issue); }/*from w ww . j a v a2 s.c om*/ HttpResponse httpResponse = new DefaultHttpResponse(HttpVersion.HTTP_1_1, HttpResponseStatus.OK); ObjectNode response = message.getResponseBody(); if (response != null) { httpResponse.setHeader(HttpHeaders.Names.CONTENT_TYPE, "application/json"); StringWriter writer = new StringWriter(); JsonGenerator generator = jsonFactory.createJsonGenerator(writer); generator.setPrettyPrinter(new DefaultPrettyPrinter()); response.serialize(generator, new DefaultSerializerProvider.Impl()); generator.flush(); httpResponse.setContent(ChannelBuffers.copiedBuffer(writer.getBuffer(), Charsets.UTF_8)); } httpResponse.setHeader(HttpHeaders.Names.CONTENT_LENGTH, httpResponse.getContent().readableBytes()); return httpResponse; }