Example usage for com.fasterxml.jackson.core JsonGenerator flush

List of usage examples for com.fasterxml.jackson.core JsonGenerator flush

Introduction

In this page you can find the example usage for com.fasterxml.jackson.core JsonGenerator flush.

Prototype

@Override
public abstract void flush() throws IOException;

Source Link

Document

Method called to flush any buffered content to the underlying target (output stream, writer), and to flush the target itself as well.

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();

    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:ren.hankai.cordwood.jackson.DateTimeSerializerTest.java

@Test
public void testSerialize() throws Exception {
    final ObjectMapper om = new ObjectMapper();
    final StringWriter sw = new StringWriter();
    final JsonGenerator jgen = om.getFactory().createGenerator(sw);

    final Date date = DateUtils.parseDate("2018-11-12 13:22:22", "yyyy-MM-dd HH:mm:ss");
    final DateTimeSerializer ser = new DateTimeSerializer();
    ser.serialize(date, jgen, om.getSerializerProvider());
    jgen.flush();

    Assert.assertEquals("\"2018-11-12 13:22:22\"", sw.toString());
}

From source file:com.nebhale.cyclinglibrary.web.json.AbstractJsonSerializerTest.java

@Test
public final void test() throws IOException, ParseException {
    ObjectMapper objectMapper = new ObjectMapper();
    objectMapper.registerModule(new SimpleModule().addSerializer(new LinkJsonSerializer()));

    T value = getValue();// w w w. j  a v  a  2  s.com
    StringWriter out = new StringWriter();
    JsonGenerator jsonGenerator = objectMapper.getFactory().createJsonGenerator(out);
    SerializerProvider serializerProvider = objectMapper.getSerializerProvider();

    try {
        getJsonSerializer().serialize(value, jsonGenerator, serializerProvider);
        jsonGenerator.flush();
        assertResult(out.toString());
    } finally {
        out.close();
        jsonGenerator.close();
    }
}

From source file:org.lockss.crawljax.TestRequestResponse.java

public void testToJson() throws Exception {
    File outFile = new File("test.json");
    outFile.deleteOnExit();/*from w w w. j a  va2 s  . c  om*/
    JsonGenerator generator = factory.createGenerator(outFile, JsonEncoding.UTF8);

    AjaxRequestResponse.toJson(generator, mReqResp);
    generator.flush();
    generator.close();

    Request req = mReqResp.getRequest();
    Response resp = mReqResp.getResponse();
    // load it in and check
    ObjectMapper mapper = new ObjectMapper();
    AjaxRequestResponse rr = mapper.readValue(outFile, AjaxRequestResponse.class);
    // same request data
    AjaxRequestResponse.Request rr_req = rr.getRequest();
    AjaxRequestResponse.Response rr_resp = rr.getResponse();

    assertEquals(rr_req.getMethod(), req.getMethod());
    assertEquals(rr_req.getUrl(), req.getUrl());
    assertEquals(rr_req.getVersion(), req.getVersion());

    // same response data
    assertEquals(rr_resp.getMessage(), resp.getMessage());
    assertEquals(rr_resp.getStatus(), resp.getStatus());
    assertEquals(new String(rr_resp.getContent()), new String(resp.getContent()));

}

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 .  ja  v  a2 s .  com*/

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

From source file:com.cinnober.msgcodec.json.JsonValueHandlerTest.java

@Test
public void testUInt64EncodeMaxUInt64() throws IOException {
    StringWriter out = new StringWriter();
    JsonGenerator g = f.createGenerator(out);

    JsonValueHandler.UINT64.writeValue(-1L, g);
    g.flush();
    assertEquals("18446744073709551615", out.toString());
}

From source file:org.dswarm.xsd2jsonschema.model.test.JSRootTest.java

@Test
public void testOverloadedRender() throws Exception {

    final ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
    final StringWriter writer = new StringWriter();
    File tmpFile;//from   ww  w  . j a  v a  2s .c  om

    final String render = obj.render();
    doRenderTest(render);

    obj.render(BaseJSTest.om, outputStream);
    doRenderTest(outputStream);
    outputStream.reset();

    obj.render(BaseJSTest.om, outputStream, JsonEncoding.UTF8);
    doRenderTest(outputStream);
    outputStream.reset();

    obj.render(BaseJSTest.om, writer);
    doRenderTest(writer);
    outputStream.reset();

    tmpFile = File.createTempFile("dmp-test", "tmp");
    obj.render(BaseJSTest.om, tmpFile, JsonEncoding.UTF8);
    doRenderTest(BaseJSTest.om.readTree(tmpFile));
    tmpFile.deleteOnExit();

    final JsonFactory factory = BaseJSTest.om.getFactory();

    obj.render(factory, outputStream);
    doRenderTest(outputStream);
    outputStream.reset();

    obj.render(factory, outputStream, JsonEncoding.UTF8);
    doRenderTest(outputStream);
    outputStream.reset();

    obj.render(factory, writer);
    doRenderTest(writer);
    outputStream.reset();

    tmpFile = File.createTempFile("dmp-test", "tmp");
    obj.render(factory, tmpFile, JsonEncoding.UTF8);
    doRenderTest(BaseJSTest.om.readTree(tmpFile));
    tmpFile.deleteOnExit();

    final JsonGenerator generator = factory.createGenerator(outputStream);
    obj.render(generator);
    generator.flush();
    doRenderTest(outputStream);
}

From source file:com.cinnober.msgcodec.json.JsonValueHandlerTest.java

@Test
public void testSafeInt64Encode10() throws IOException {
    StringWriter out = new StringWriter();
    JsonGenerator g = f.createGenerator(out);

    JsonValueHandler.INT64_SAFE.writeValue(10L, g);
    g.flush();
    assertEquals("10", out.toString());
}

From source file:ren.hankai.cordwood.jackson.DateTimeSerializerTest.java

@Test
public void testSerializeWithCustomFormat() throws Exception {
    final ObjectMapper om = new ObjectMapper();
    final StringWriter sw = new StringWriter();
    final JsonGenerator jgen = om.getFactory().createGenerator(sw);

    final Date date = DateUtils.parseDate("2018-11-12 11:11:11", "yyyy-MM-dd HH:mm:ss");
    final DateTimeSerializer ser = new DateTimeSerializer("yyyy|MM|dd HH|mm|ss");
    ser.serialize(date, jgen, om.getSerializerProvider());
    jgen.flush();

    Assert.assertEquals("\"2018|11|12 11|11|11\"", sw.toString());
}

From source file:com.cinnober.msgcodec.json.JsonValueHandlerTest.java

@Test
public void testSafeUInt64EncodeMaxUInt64() throws IOException {
    StringWriter out = new StringWriter();
    JsonGenerator g = f.createGenerator(out);

    JsonValueHandler.UINT64_SAFE.writeValue(-1L, g);
    g.flush();
    assertEquals("\"18446744073709551615\"", out.toString());
}