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:io.pdef.json.JsonJacksonFormat.java

private <K, V> void writeMap(@Nonnull final Map<K, V> object, final MapDescriptor<K, V> descriptor,
        final JsonGenerator generator) throws IOException {
    DataTypeDescriptor<K> keyd = descriptor.getKey();
    DataTypeDescriptor<V> valued = descriptor.getValue();

    generator.writeStartObject();/*from w  w  w  .ja v  a 2 s . c  o  m*/
    for (Map.Entry<K, V> entry : object.entrySet()) {
        K key = entry.getKey();
        V value = entry.getValue();
        if (key == null) {
            throw new JsonFormatException("Null map key");
        }

        String k = objectFormat.writeMapKey(key, keyd);
        generator.writeFieldName(k);
        write(value, valued, generator);
    }
    generator.writeEndObject();
}

From source file:io.gravitee.definition.jackson.datatype.api.ser.EndpointSerializer.java

@Override
public void serialize(Endpoint endpoint, JsonGenerator jgen, SerializerProvider provider) throws IOException {
    jgen.writeStartObject();/*  w w w  .  j  a  va  2s .c o  m*/
    jgen.writeStringField("name", endpoint.getName());
    jgen.writeStringField("target", endpoint.getTarget());
    jgen.writeNumberField("weight", endpoint.getWeight());
    jgen.writeBooleanField("backup", endpoint.isBackup());
    jgen.writeBooleanField("healthcheck", endpoint.isHealthcheck());

    HttpClientOptions options = (endpoint.getHttpClientOptions() != null) ? endpoint.getHttpClientOptions()
            : new HttpClientOptions();
    jgen.writeObjectField("http", options);

    if (endpoint.getHttpProxy() != null) {
        jgen.writeObjectField("proxy", endpoint.getHttpProxy());
    }

    if (endpoint.getHttpClientSslOptions() != null) {
        jgen.writeObjectField("ssl", endpoint.getHttpClientSslOptions());
    }

    jgen.writeEndObject();
}

From source file:org.h2gis.drivers.geojson.GeoJsonWriteDriver.java

/**
 * Write the GeoJSON properties./*from  w  w  w . j av a 2s  .  c om*/
 *
 * @param jsonGenerator
 * @param rs
 * @throws IOException
 */
private void writeProperties(JsonGenerator jsonGenerator, ResultSet rs) throws IOException, SQLException {
    if (columnCountProperties != -1) {
        jsonGenerator.writeObjectFieldStart("properties");
        for (Map.Entry<String, Integer> entry : cachedColumnNames.entrySet()) {
            String string = entry.getKey();
            Integer fieldId = entry.getValue();
            jsonGenerator.writeObjectField(string, rs.getObject(fieldId));
        }
        jsonGenerator.writeEndObject();
    }
}

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

@Override
public void serialize(Item value, JsonGenerator jgen, SerializerProvider provider) throws IOException {
    jgen.writeStartObject();//  w  w w.  jav  a  2 s . c  o  m
    jgen.writeStringField("name", value.getName());
    jgen.writeStringField("shortName", value.getShortName());
    jgen.writeArrayFieldStart("links");
    jgen.writeObject(new Link("self", "types", value.getTypeId(), "collections", value.getCollectionId(),
            "items", value));
    jgen.writeObject(new Link("points-raw", "types", value.getTypeId(), "collections", value.getCollectionId(),
            "items", value, "points"));
    jgen.writeObject(new Link("points-image", "types", value.getTypeId(), "collections",
            value.getCollectionId(), "items", value, "points"));
    jgen.writeObject(new Link("points-gpx", "types", value.getTypeId(), "collections", value.getCollectionId(),
            "items", value, "points"));
    jgen.writeEndArray();
    jgen.writeEndObject();
}

From source file:net.echinopsii.ariane.community.core.directory.wat.json.ds.technical.system.OSInstanceJSON.java

public final static void osInstance2JSON(OSInstance osInstance, JsonGenerator jgenerator) throws IOException {
    jgenerator.writeStartObject();/*from  w w  w  .  ja  v  a  2  s  .com*/
    jgenerator.writeNumberField(OSI_ID, osInstance.getId());
    jgenerator.writeNumberField(OSI_VERSION, osInstance.getVersion());
    jgenerator.writeStringField(OSI_NAME, osInstance.getName());
    jgenerator.writeStringField(OSI_ADMIN_GATE_URI, osInstance.getAdminGateURI());
    jgenerator.writeStringField(OSI_DESCRIPTION, osInstance.getDescription());
    jgenerator.writeArrayFieldStart(OSI_SUBNETS_ID);
    if (osInstance.getNetworkSubnets() != null)
        for (Subnet subnet : osInstance.getNetworkSubnets())
            jgenerator.writeNumber(subnet.getId());
    jgenerator.writeEndArray();
    jgenerator.writeNumberField(OSI_EMBEDDING_OSI_ID,
            ((osInstance.getEmbeddingOSInstance() != null) ? osInstance.getEmbeddingOSInstance().getId() : -1));
    jgenerator.writeArrayFieldStart(OSI_EMBEDDED_OSI_ID);
    for (OSInstance eosi : osInstance.getEmbeddedOSInstances())
        jgenerator.writeNumber(eosi.getId());
    jgenerator.writeEndArray();
    jgenerator.writeNumberField(OSI_OST_ID,
            ((osInstance.getOsType() != null) ? osInstance.getOsType().getId() : -1));
    jgenerator.writeArrayFieldStart(OSI_APPS_ID);
    for (Application app : osInstance.getApplications())
        jgenerator.writeNumber(app.getId());
    jgenerator.writeEndArray();
    jgenerator.writeArrayFieldStart(OSI_TEAMS_ID);
    for (Team team : osInstance.getTeams())
        jgenerator.writeNumber(team.getId());
    jgenerator.writeEndArray();
    jgenerator.writeArrayFieldStart(OSI_ENVS_ID);
    for (Environment env : osInstance.getEnvironments())
        jgenerator.writeNumber(env.getId());
    jgenerator.writeEndArray();
    jgenerator.writeEndObject();
}

From source file:org.example.testcases.BasicTypesSerializer.java

private void writeObject(JsonGenerator jg, BasicTypes basicType) throws IOException {
    jg.writeStartObject();//from ww w  .  ja  va2 s.c om
    // write field aString...
    jg.writeFieldName("aString");
    jg.writeString(basicType.aString);
    // write field aBoolean...
    jg.writeFieldName("aBoolean");
    jg.writeBoolean(basicType.aBoolean);
    // write field aFloat...
    jg.writeFieldName("aFloat");
    jg.writeNumber(basicType.aFloat);
    // write field aDouble...
    jg.writeFieldName("aDouble");
    jg.writeNumber(basicType.aDouble);
    // write field aInt...
    jg.writeFieldName("aInt");
    jg.writeNumber(basicType.aInt);
    // write field aShort...
    jg.writeFieldName("aShort");
    jg.writeNumber(basicType.aShort);
    // write field aByte...
    jg.writeFieldName("aByte");
    jg.writeNumber(basicType.aByte);
    // done.
    jg.writeEndObject();
}

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

private void writeJsonNodeObject(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.writeStartArray(); // [
    jg.writeEndArray(); // ]
    writeJsonNodeObjectParents(jg, term, annotationLabel);
    jg.writeEndObject(); // }
}

From source file:de.escalon.hypermedia.hydra.serialize.JacksonHydraSerializer.java

@Override
public void serialize(Object bean, JsonGenerator jgen, SerializerProvider serializerProvider)
        throws IOException {
    if (!isUnwrappingSerializer()) {
        jgen.writeStartObject();//from  w  w w. j av  a  2  s .  c  o  m
    }
    Deque<String> deque = (Deque<String>) serializerProvider.getAttribute(KEY_LD_CONTEXT);
    if (deque == null) {
        deque = new ArrayDeque<String>();
        serializerProvider.setAttribute(KEY_LD_CONTEXT, deque);
    }

    serializeContext(bean, jgen, serializerProvider, deque);
    serializeType(bean, jgen, serializerProvider);
    serializeFields(bean, jgen, serializerProvider);
    if (!isUnwrappingSerializer()) {
        jgen.writeEndObject();
    }
    deque = (Deque<String>) serializerProvider.getAttribute(KEY_LD_CONTEXT);
    if (!deque.isEmpty()) {
        deque.pop();
    }
}

From source file:org.elasticsearch.metrics.ElasticsearchReporter.java

/**
 * This index template is automatically applied to all indices which start with the index name
 * The index template simply configures the name not to be analyzed
 *///from w w w .  j a  v a  2  s  .c  o  m
private void checkForIndexTemplate() {
    try {
        HttpURLConnection connection = openConnection("/_template/metrics_template", "HEAD");
        if (connection == null) {
            LOGGER.error("Could not connect to any configured elasticsearch instances: {}",
                    Arrays.asList(hosts));
            return;
        }
        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");
            if (putTemplateConnection == null) {
                LOGGER.error("Error adding metrics template to elasticsearch");
                return;
            }

            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() != 200) {
                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.oneops.metrics.es.ElasticsearchReporter.java

/**
 * This index template is automatically applied to all indices which start with the index name
 * The index template simply configures the name not to be analyzed
 *//*from   w w w.  j  av a  2 s  .  com*/
private void checkForIndexTemplate() {
    try {
        HttpURLConnection connection = openConnection("/_template/metrics_template", "HEAD");
        if (connection == null) {
            LOGGER.error("Could not connect to any configured elasticsearch instances: {}",
                    Arrays.asList(hosts));
            return;
        }
        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() != 200) {
                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);
    }
}