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

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

Introduction

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

Prototype

@Override
public abstract void close() throws IOException;

Source Link

Document

Method called to close this generator, so that no more content can be written.

Usage

From source file:org.springframework.data.couchbase.core.convert.translation.JacksonTranslationService.java

/**
 * Encode a {@link CouchbaseStorable} to a JSON string.
 *
 * @param source the source document to encode.
 *
 * @return the encoded JSON String./*ww w. ja v  a2s .c o m*/
 */
@Override
public final Object encode(final CouchbaseStorable source) {
    Writer writer = new StringWriter();

    try {
        JsonGenerator generator = factory.createGenerator(writer);
        encodeRecursive(source, generator);
        generator.close();
        writer.close();
    } catch (IOException ex) {
        throw new RuntimeException("Could not encode JSON", ex);
    }

    return writer.toString();
}

From source file:com.meetingninja.csse.database.UserDatabaseAdapter.java

/**
 * Registers a passed in User and returns that user with an assigned UserID
 *
 * @param registerMe/*from  www . ja  va  2  s  .  com*/
 * @param password
 * @return the passed-in user with an assigned ID by the server
 * @throws Exception
 */
public static User register(User registerMe, String password) throws Exception {
    // Server URL setup
    String _url = getBaseUri().build().toString();

    // Establish connection
    URL url = new URL(_url);
    HttpURLConnection conn = (HttpURLConnection) url.openConnection();

    // add request header
    conn.setRequestMethod(IRequest.POST);
    addRequestHeader(conn, true);

    // prepare POST payload
    ByteArrayOutputStream json = new ByteArrayOutputStream();
    // this type of print stream allows us to get a string easily
    PrintStream ps = new PrintStream(json);
    // Create a generator to build the JSON string
    JsonGenerator jgen = JFACTORY.createGenerator(ps, JsonEncoding.UTF8);

    password = Utilities.computeHash(password);
    // Build JSON Object
    jgen.writeStartObject();
    jgen.writeStringField(Keys.User.NAME, registerMe.getDisplayName());
    jgen.writeStringField("password", password);
    jgen.writeStringField(Keys.User.EMAIL, registerMe.getEmail());
    jgen.writeStringField(Keys.User.PHONE, registerMe.getPhone());
    jgen.writeStringField(Keys.User.COMPANY, registerMe.getCompany());
    jgen.writeStringField(Keys.User.TITLE, registerMe.getTitle());
    jgen.writeStringField(Keys.User.LOCATION, registerMe.getLocation());
    jgen.writeEndObject();
    jgen.close();

    // Get JSON Object payload from print stream
    String payload = json.toString("UTF8");
    ps.close();

    // Send payload
    int responseCode = sendPostPayload(conn, payload);
    String response = getServerResponse(conn);

    User createUser = new User(registerMe);

    /*
     * result should get valid={"userID":"##"}
     */
    String result = "";
    if (!response.isEmpty()) {
        JsonNode tree = MAPPER.readTree(response);
        if (!tree.has(Keys.User.ID)) {

            result = "duplicate email or username";
        } else {
            result = tree.get(Keys.User.ID).asText();
            createUser.setID(result);
        }
    }

    conn.disconnect();
    return createUser;
}

From source file:com.meetingninja.csse.database.UserDatabaseAdapter.java

public static User update(String userID, Map<String, String> key_values)
        throws JsonGenerationException, IOException, InterruptedException {
    // prepare POST payload
    ByteArrayOutputStream json = new ByteArrayOutputStream();
    // this type of print stream allows us to get a string easily
    PrintStream ps = new PrintStream(json);

    // Create a generator to build the JSON string
    JsonGenerator jgen = JFACTORY.createGenerator(ps, JsonEncoding.UTF8);
    for (String key : key_values.keySet()) {
        if (key.equals(Keys.User.EMAIL) && !Utilities.isValidEmailAddress(key_values.get(Keys.User.EMAIL)))
            throw new IOException("Error : [Update User] Incorrect email format");
        else {// w ww .j a  v  a  2  s  . c  o  m
            jgen.flush();
            // Build JSON Object
            jgen.writeStartObject();
            jgen.writeStringField(Keys.User.ID, userID);
            jgen.writeStringField("field", key);
            jgen.writeStringField("value", key_values.get(key));
            jgen.writeEndObject();
            jgen.writeRaw("\f");
        }
    }

    jgen.close();
    // Get JSON Object payload from print stream
    String payload = json.toString("UTF8");
    ps.close();
    String[] payloads = payload.split("\f\\s*");

    Thread t = new Thread(new Thread(new Runnable() {
        @Override
        public void run() {
            try {
                Thread.sleep(500);
            } catch (InterruptedException e) {
                e.getLocalizedMessage();
            }
        }
    }));
    String response = "";
    for (String p : payloads) {
        t.run();
        response = updateHelper(p);
    }
    return parseUser(MAPPER.readTree(response));
}

From source file:com.cedarsoft.couchdb.io.RowSerializer.java

public <K, V, D> void serialize(@Nonnull Row<K, V, D> row, @Nonnull JacksonSerializer<? super K> keySerializer,
        @Nonnull JacksonSerializer<? super V> valueSerializer,
        @Nullable JacksonSerializer<? super D> documentSerializer, @Nonnull OutputStream out)
        throws IOException {
    JsonFactory jsonFactory = JacksonSupport.getJsonFactory();
    JsonGenerator generator = jsonFactory.createJsonGenerator(out, JsonEncoding.UTF8);

    serialize(row, keySerializer, valueSerializer, documentSerializer, generator);
    generator.close();
}

From source file:com.tage.calcite.adapter.druid.DruidQuery.java

/** Generates a JSON string to query metadata about a data source. */
static String metadataQuery(String dataSourceName, List<String> intervals) {
    final StringWriter sw = new StringWriter();
    final JsonFactory factory = new JsonFactory();
    try {//w  ww . j a v  a2  s . c  om
        final JsonGenerator generator = factory.createGenerator(sw);
        generator.writeStartObject();
        generator.writeStringField("queryType", "segmentMetadata");
        generator.writeStringField("dataSource", dataSourceName);
        generator.writeBooleanField("merge", true);
        generator.writeArrayFieldStart("analysisTypes");
        generator.writeString("aggregators");
        generator.writeEndArray();
        writeFieldIf(generator, "intervals", intervals);
        generator.writeEndObject();
        generator.close();
    } catch (IOException e) {
        throw Throwables.propagate(e);
    }
    return sw.toString();
}

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

public void testToJson() throws Exception {
    File outFile = new File("test.json");
    outFile.deleteOnExit();/*ww  w.  jav  a  2  s.c o m*/
    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.ning.metrics.action.hdfs.data.Row.java

public String toJSON() throws IOException {
    final StringWriter s = new StringWriter();
    final JsonGenerator generator = new JsonFactory().createJsonGenerator(s);
    generator.setPrettyPrinter(new DefaultPrettyPrinter());
    toJSON(generator);/*from  w  ww .jav a2  s .  c  o m*/
    generator.close();

    return s.toString();
}

From source file:com.meltmedia.jackson.crypto.EncryptedJsonSerializer.java

@Override
public void serialize(Object object, JsonGenerator generator, SerializerProvider provider)
        throws IOException, JsonProcessingException {

    StringWriter writer = new StringWriter();
    JsonGenerator nestedGenerator = generator.getCodec().getFactory().createGenerator(writer);
    if (baseSer == null) {
        provider.defaultSerializeValue(object, nestedGenerator);
    } else {//from www  .j  av  a 2 s.  c  o  m
        baseSer.serialize(object, nestedGenerator, provider);
    }
    nestedGenerator.close();
    String value = writer.getBuffer().toString();
    EncryptedJson encrypted = service.encrypt(value, this.annotation.encoding());
    generator.writeObject(encrypted);
}

From source file:org.dswarm.xsd2jsonschema.model.JSRoot.java

@Override
public void render(final JsonGenerator jgen) throws IOException {
    jgen.writeStartObject();/* w ww  .j  ava2 s.  c o m*/

    jgen.writeStringField("title", getName());
    jgen.writeStringField("type", getType());

    renderDescription(jgen);

    renderInternal(jgen);

    jgen.writeEndObject();

    jgen.flush();
    jgen.close();
}

From source file:org.hawkular.apm.server.elasticsearch.SpanServiceElasticsearch.java

private String serialize(Object object) throws IOException {
    StringWriter out = new StringWriter();

    JsonGenerator gen = mapper.getFactory().createGenerator(out);
    gen.writeObject(object);/*from  w  w  w .j av  a  2  s . c  o  m*/

    gen.close();
    out.close();

    return out.toString();
}