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

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

Introduction

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

Prototype

public abstract void writeEndObject() throws IOException, JsonGenerationException;

Source Link

Document

Method for writing closing marker of a JSON Object value (character '}'; plus possible white space decoration if pretty-printing is enabled).

Usage

From source file:com.basho.riak.client.query.MapReduce.java

/**
 * Creates the JSON string of the M/R job for submitting to the
 * {@link RawClient}// w ww.j  a  v  a2 s  . c o m
 * 
 * Uses Jackson to write out the JSON string. I'm not very happy with this
 * method, it is a candidate for change.
 * 
 * TODO re-evaluate this method, look for something smaller and more elegant.
 * 
 * @return a String of JSON
 * @throws RiakException
 *             if, for some reason, we can't create a JSON string.
 */
private String writeSpec() throws RiakException {

    final ByteArrayOutputStream out = new ByteArrayOutputStream();

    try {
        JsonGenerator jg = new JsonFactory().createJsonGenerator(out, JsonEncoding.UTF8);
        jg.setCodec(new ObjectMapper());

        jg.writeStartObject();

        jg.writeFieldName("inputs");
        writeInput(jg);

        jg.writeFieldName("query");
        jg.writeStartArray();

        writePhases(jg);

        jg.writeEndArray();
        if (timeout != null) {
            jg.writeNumberField("timeout", timeout);
        }

        jg.writeEndObject();
        jg.flush();

        return out.toString("UTF8");
    } catch (IOException e) {
        throw new RiakException(e);
    }
}

From source file:com.codealot.url2text.Response.java

/**
 * Convenience method for writing header and metadata lists.
 * /*from  w w w  . j a v a2  s  .c o  m*/
 * @param jsonGenerator
 * @param header
 * @param array
 * @throws JsonGenerationException
 * @throws IOException
 */
private void outputNameAndValueArray(final JsonGenerator jsonGenerator, final String header,
        final List<NameAndValue> array) throws JsonGenerationException, IOException {
    jsonGenerator.writeFieldName(header);
    jsonGenerator.writeStartObject();

    for (final NameAndValue nameAndValue : array) {
        jsonGenerator.writeStringField(nameAndValue.getName(), nameAndValue.getValue());
    }
    jsonGenerator.writeEndObject();
}

From source file:org.neo4j.ontology.server.unmanaged.AnnotationResource.java

private void writeJsonNodeObjectifiedObject(JsonGenerator jg, Node term, Label annotationLabel)
        throws IOException {
    jg.writeStartObject(); // {
    jg.writeStringField("uri", term.getProperty("uri").toString()); // uri: "http://www.w3.org/2002/07/owl#Thing"
    jg.writeStringField("ontId", term.getProperty("name").toString()); // ontId: "OWL:Thing"
    jg.writeStringField("label", term.getProperty("rdfs:label", term.getProperty("name")).toString()); // ontId: "OWL:Thing"
    jg.writeFieldName("dataSets"); // dataSets:
    jg.writeStartObject(); // {
    jg.writeEndObject(); // }
    writeJsonNodeObjectifiedObjectParents(jg, term, annotationLabel);
    jg.writeEndObject(); // }
}

From source file:data.DefaultExchanger.java

public void exportData(String dbName, String catalogName, final JsonGenerator generator,
        JdbcTemplate jdbcTemplate) throws IOException {
    generator.writeFieldName(getTable());
    generator.writeStartArray();// w w  w .ja va 2 s.  c o m
    final int[] rowCount = { 0 };
    jdbcTemplate.query(getSelectSql(), new RowCallbackHandler() {
        @Override
        public void processRow(ResultSet rs) throws SQLException {
            try {
                generator.writeStartObject();
                setNode(generator, rs);
                generator.writeEndObject();
                rowCount[0]++;
            } catch (Exception e) {
                e.printStackTrace();
                throw new RuntimeException(e);
            }
        }
    });
    generator.writeEndArray();
    play.Logger.info("exported {{}} {}", rowCount[0], getTable());

    if (hasSequence()) {
        String sequenceName = sequenceName();
        long sequenceValue = 0;
        if (dbName.equalsIgnoreCase("MySQL")) {
            String sql = String.format("SELECT `AUTO_INCREMENT` FROM INFORMATION_SCHEMA.TABLES "
                    + "WHERE TABLE_SCHEMA = '%s' AND TABLE_NAME = '%s'", catalogName, getTable());
            sequenceValue = jdbcTemplate.queryForObject(sql, Long.class);
        } else if (dbName.equalsIgnoreCase("H2")) {
            sequenceValue = jdbcTemplate.queryForObject("CALL NEXT VALUE FOR " + sequenceName, Long.class);
        }
        generator.writeFieldName(sequenceName);
        generator.writeNumber(sequenceValue);
        play.Logger.info("exported sequence {{}}", sequenceName());
    }
}

From source file:com.attribyte.essem.ESReporter.java

static final void generateHistogram(final JsonGenerator generator,
        final ReportProtos.EssemReport.Histogram histogram, final String application, final String host,
        final String instance, final long timestamp) throws IOException {

    generator.writeStartObject();/*w w  w  .j  a  v a2 s.com*/
    writeStringField(generator, Fields.APPLICATION_FIELD, application);
    writeStringField(generator, Fields.HOST_FIELD, host);
    writeStringField(generator, Fields.INSTANCE_FIELD, instance);
    writeStringField(generator, Fields.NAME_FIELD, histogram.getName().trim());
    generator.writeNumberField(Fields.COUNT_FIELD, histogram.getCount());
    generator.writeNumberField(Fields.MAX_FIELD, histogram.getMax());
    generator.writeNumberField(Fields.MIN_FIELD, histogram.getMin());
    generator.writeNumberField(Fields.MEAN_FIELD, histogram.getMean());
    generator.writeNumberField(Fields.P50_FIELD, histogram.getMedian());
    generator.writeNumberField(Fields.P75_FIELD, histogram.getPercentile75());
    generator.writeNumberField(Fields.P95_FIELD, histogram.getPercentile95());
    generator.writeNumberField(Fields.P98_FIELD, histogram.getPercentile98());
    generator.writeNumberField(Fields.P99_FIELD, histogram.getPercentile99());
    generator.writeNumberField(Fields.P999_FIELD, histogram.getPercentile999());
    generator.writeNumberField(Fields.STD_FIELD, histogram.getStd());
    generator.writeNumberField(Fields.TIMESTAMP_FIELD, timestamp);
    generator.writeEndObject();
    generator.flush();
}

From source file:com.neoteric.starter.metrics.report.elastic.ElasticsearchReporter.java

private void checkForIndexTemplate() {
    try {// ww w  .  j a  v a  2s  .  c  om
        HttpURLConnection connection = openConnection("/_template/metrics_template", "HEAD");
        connection.disconnect();
        boolean isTemplateMissing = connection.getResponseCode() == HttpURLConnection.HTTP_NOT_FOUND;

        // nothing there, lets create it
        if (isTemplateMissing) {
            LOGGER.debug("No metrics template found in elasticsearch. Adding...");
            HttpURLConnection putTemplateConnection = openConnection("/_template/metrics_template", "PUT");
            JsonGenerator json = new JsonFactory().createGenerator(putTemplateConnection.getOutputStream());
            json.writeStartObject();
            json.writeStringField("template", index + "*");
            json.writeObjectFieldStart("mappings");

            json.writeObjectFieldStart("_default_");
            json.writeObjectFieldStart("_all");
            json.writeBooleanField("enabled", false);
            json.writeEndObject();
            json.writeObjectFieldStart("properties");
            json.writeObjectFieldStart("name");
            json.writeObjectField("type", "string");
            json.writeObjectField("index", "not_analyzed");
            json.writeEndObject();
            json.writeEndObject();
            json.writeEndObject();

            json.writeEndObject();
            json.writeEndObject();
            json.flush();

            putTemplateConnection.disconnect();
            if (putTemplateConnection.getResponseCode() != HttpStatus.OK.value()) {
                LOGGER.error(
                        "Error adding metrics template to elasticsearch: {}/{}"
                                + putTemplateConnection.getResponseCode(),
                        putTemplateConnection.getResponseMessage());
            }
        }
        checkedForIndexTemplate = true;
    } catch (IOException e) {
        LOGGER.error("Error when checking/adding metrics template to elasticsearch", e);
    }
}

From source file:com.attribyte.essem.es.DateHistogramAggregation.java

@Override
public void generate(final JsonGenerator generator) throws IOException {
    generator.writeObjectFieldStart(name);
    {// w  w  w .  j av  a 2s  .  c  om
        if (filter != null) {
            generator.writeFieldName("filter");
            filter.generate(generator);
        }

        generator.writeObjectFieldStart(type);
        {
            generator.writeStringField("field", field);
            generator.writeStringField("interval", interval);
            generator.writeNumberField("min_doc_count", 0);

            switch (order) { //Key ascending is default...
            case DOC_COUNT_ASC:
                generator.writeObjectFieldStart("order");
                generator.writeStringField("_count", "asc");
                generator.writeEndObject();
                break;
            case DOC_COUNT_DESC:
                generator.writeObjectFieldStart("order");
                generator.writeStringField("_count", "desc");
                generator.writeEndObject();
                break;
            case KEY_DESC:
                generator.writeObjectFieldStart("order");
                generator.writeStringField("_key", "desc");
                generator.writeEndObject();
                break;
            }
        }
        generator.writeEndObject();
        if (subs != null && subs.size() > 0) {
            generator.writeObjectFieldStart(AGGREGATION_OBJECT_NAME);
            for (Aggregation sub : subs) {
                sub.generate(generator);
            }
            generator.writeEndObject();
        }
    }
    generator.writeEndObject();
}

From source file:org.lamop.riche.model.RelationSourcePersonSerializer.java

@Override
public void serialize(RelationSourcePerson relation, JsonGenerator jsonGenerator, SerializerProvider sp)
        throws IOException, JsonProcessingException {

    jsonGenerator.writeStartObject();/* ww  w  . j ava  2 s.co m*/
    jsonGenerator.writeStringField("rolePublication", relation.getRolePublication());

    Source sourceSer = new Source();
    sourceSer.setId(relation.getSource().getId());
    sourceSer.setTitle(relation.getSource().getTitle());
    //        relation.getSource().getRelationPerson().clear();
    //        relation.getSource().getRelationWorkSource().clear();
    jsonGenerator.writeObjectField("source", sourceSer);
    //        
    //        relation.getPerson().getRelationSource().clear();

    Person p = new Person();
    p.setId(relation.getPerson().getId());
    p.setLabel(relation.getPerson().getLabel());
    jsonGenerator.writeObjectField("person", p);

    jsonGenerator.writeEndObject();

    //        jsonGenerator.writeStringField("username", user.getUsername());
    //        jsonGenerator.writeEndObject();
    //        throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
}

From source file:de.fraunhofer.iosb.ilt.sta.serialize.DataArrayValueSerializer.java

@Override
public void serialize(DataArrayValue value, JsonGenerator gen, SerializerProvider serializers)
        throws IOException, JsonProcessingException {
    gen.writeStartObject();//w ww  .ja va2s  .c  o  m
    Datastream datastream = value.getDatastream();
    if (datastream != null) {
        gen.writeStringField("Datastream@iot.navigationLink", datastream.getNavigationLink());
    }
    MultiDatastream multiDatastream = value.getMultiDatastream();
    if (multiDatastream != null) {
        gen.writeStringField("MultiDatastream@iot.navigationLink", multiDatastream.getNavigationLink());
    }
    gen.writeObjectField("components", value.getComponents());
    int count = value.getDataArray().size();
    if (count >= 0) {
        gen.writeNumberField("dataArray@iot.count", count);
    }
    gen.writeFieldName("dataArray");
    gen.writeObject(value.getDataArray());
    gen.writeEndObject();
}

From source file:com.github.lynxdb.server.api.http.handlers.EpQuery.java

private void saveResponse(OutputStream _output, List<Query> _queries) throws IOException {
    JsonFactory jFactory = new JsonFactory();
    JsonGenerator jGenerator;

    jGenerator = jFactory.createGenerator(_output, JsonEncoding.UTF8);
    jGenerator.writeStartArray();/*from  ww w  .  jav a 2  s.c  om*/

    for (Query q : _queries) {
        TimeSerie ts;

        ts = engine.query(q);

        jGenerator.writeStartObject();

        jGenerator.writeStringField("metric", q.getName());

        //tags
        jGenerator.writeObjectFieldStart("tags");
        if (q.getTags() != null) {
            for (String tagk : q.getTags().keySet()) {
                jGenerator.writeStringField(tagk, q.getTags().get(tagk));
            }
        }
        jGenerator.writeEndObject();

        //dps
        jGenerator.writeObjectFieldStart("dps");
        while (ts.hasNext()) {
            Entry e = ts.next();
            jGenerator.writeNumberField(String.valueOf(e.getTime()), e.getValue());
        }
        jGenerator.writeEndObject();

        //endQuery
        jGenerator.writeEndObject();
    }
    jGenerator.writeEndArray();
    jGenerator.close();
    _output.flush();
    _output.close();

}