Example usage for com.fasterxml.jackson.databind.node ObjectNode serialize

List of usage examples for com.fasterxml.jackson.databind.node ObjectNode serialize

Introduction

In this page you can find the example usage for com.fasterxml.jackson.databind.node ObjectNode serialize.

Prototype

public final void serialize(JsonGenerator paramJsonGenerator, SerializerProvider paramSerializerProvider) 

Source Link

Usage

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;
}