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.predic8.membrane.core.interceptor.administration.AdminRESTInterceptor.java

@Mapping("/admin/rest/exchanges(/?\\?.*)?")
public Response getExchanges(QueryParameter params, String relativeRootPath) throws Exception {

    if (params.getString("waitForModification") != null) {
        getRouter().getExchangeStore().waitForModification(params.getLong("waitForModification"));
    }//from  ww w .  j  av  a 2s  .  com

    List<AbstractExchange> exchanges;
    synchronized (getRouter().getExchangeStore().getAllExchangesAsList()) {
        exchanges = new ArrayList<AbstractExchange>(getRouter().getExchangeStore().getAllExchangesAsList());
    }

    exchanges = filter(params, exchanges);

    Collections.sort(exchanges, ComparatorFactory.getAbstractExchangeComparator(
            params.getString("sort", "time"), params.getString("order", "desc")));

    int offset = params.getInt("offset", 0);
    int max = params.getInt("max", exchanges.size());

    final int total = exchanges.size();
    final List<AbstractExchange> paginated = exchanges.subList(offset,
            Math.min(offset + max, exchanges.size()));

    return json(new JSONContent() {
        public void write(JsonGenerator gen) throws Exception {
            gen.writeStartObject();
            gen.writeArrayFieldStart("exchanges");
            for (AbstractExchange e : paginated) {
                writeExchange(e, gen);
            }
            gen.writeEndArray();
            gen.writeNumberField("total", total);
            gen.writeNumberField("lastModified", getRouter().getExchangeStore().getLastModified());
            gen.writeEndObject();
        }
    });
}

From source file:com.predic8.membrane.core.interceptor.apimanagement.statistics.AMStatisticsCollector.java

private String combineJsons(String name, ArrayList<String> jsonStatisticsForRequests) throws IOException {
    JsonGenerator gen = getAndResetJsonGenerator();

    try {//from ww w .ja  v a 2s  .  c  o m
        gen.writeStartObject();
        gen.writeArrayFieldStart(name);
        if (!jsonStatisticsForRequests.isEmpty())
            gen.writeRaw(jsonStatisticsForRequests.get(0));
        for (int i = 1; i < jsonStatisticsForRequests.size(); i++) {
            gen.writeRaw("," + jsonStatisticsForRequests.get(i));
        }
        gen.writeEndArray();
        gen.writeEndObject();
    } catch (IOException e) {
        e.printStackTrace();
    }
    return getStringFromJsonGenerator();
}

From source file:com.strategicgains.hyperexpress.serialization.siren.jackson.SirenResourceSerializer.java

private void writeEntities(Resource resource, JsonGenerator jgen) throws JsonGenerationException, IOException {
    Map<String, List<Resource>> entities = resource.getResources();

    if (entities == null || entities.isEmpty())
        return;/*from  w  w  w. j  a  v  a  2  s.com*/

    jgen.writeArrayFieldStart(ENTITIES);

    for (Entry<String, List<Resource>> entry : entities.entrySet()) {
        for (Resource r : entry.getValue()) {
            jgen.writeStartObject();
            jgen.writeArrayFieldStart("rel");
            jgen.writeString(entry.getKey());
            jgen.writeEndArray();
            renderJson((SirenResource) r, jgen);
            jgen.writeEndObject();
        }
    }

    jgen.writeEndArray();
}

From source file:models.ProcessSerializer.java

@Override
public void serialize(Process process, JsonGenerator jgen, SerializerProvider provider) throws IOException {
    jgen.writeStartObject();/*from w ww  . j  av a  2 s  .  c  o m*/
    jgen.writeStringField("id", process.getId());
    jgen.writeFieldName("unit");
    jgen.writeObject(process.getUnit());
    jgen.writeFieldName("keywords");
    jgen.writeObject(process.getKeywords());

    jgen.writeFieldName("groups");
    jgen.writeStartArray();
    for (Group group : process.getGroups()) {
        jgen.writeStartObject();
        jgen.writeStringField("id", group.getId());
        jgen.writeStringField("label", group.getLabel());
        jgen.writeEndObject();
    }
    jgen.writeEndArray();

    jgen.writeFieldName("relations");
    jgen.writeStartArray();
    for (DerivedRelation relation : process.getUpstreamDerivedRelations()) {
        jgen.writeObject(relation);
    }
    for (DerivedRelation relation : process.getDownstreamDerivedRelations()) {
        jgen.writeObject(relation);
    }
    jgen.writeEndArray();

    jgen.writeFieldName("impacts");
    jgen.writeStartObject();
    for (Impact impact : process.getImpacts().values()) {
        jgen.writeFieldName(impact.getType().getId());
        jgen.writeStartObject();
        jgen.writeFieldName("value");
        jgen.writeObject(impact.getValue());
        jgen.writeFieldName("upstream");
        jgen.writeObject(getUpstreamImpacts(process, impact));
        jgen.writeFieldName("composition");
        jgen.writeObject(getImpactComposition(process, impact));
        jgen.writeEndObject();
    }
    jgen.writeEndObject();

    jgen.writeFieldName("flows");
    jgen.writeStartObject();
    for (ElementaryFlow flow : process.getCalculatedFlows().values()) {
        jgen.writeFieldName(flow.getType().getId());
        jgen.writeStartObject();
        jgen.writeFieldName("value");
        jgen.writeObject(flow.getValue());
        jgen.writeFieldName("upstream");
        jgen.writeObject(getUpstreamFlows(process, flow));
        jgen.writeEndObject();
    }
    jgen.writeEndObject();

    jgen.writeEndObject();
}

From source file:net.logstash.logback.composite.loggingevent.CallerDataJsonProvider.java

@Override
public void writeTo(JsonGenerator generator, ILoggingEvent event) throws IOException {
    StackTraceElement callerData = extractCallerData(event);
    if (callerData == null) {
        return;//from  w  ww  .j  ava  2 s  .  c  o  m
    }
    if (getFieldName() != null) {
        generator.writeObjectFieldStart(getFieldName());
    }
    JsonWritingUtils.writeStringField(generator, classFieldName, callerData.getClassName());
    JsonWritingUtils.writeStringField(generator, methodFieldName, callerData.getMethodName());
    JsonWritingUtils.writeStringField(generator, fileFieldName, callerData.getFileName());
    JsonWritingUtils.writeNumberField(generator, lineFieldName, callerData.getLineNumber());
    if (getFieldName() != null) {
        generator.writeEndObject();
    }
}

From source file:org.lambdamatic.internal.elasticsearch.codec.RangeQuerySerializer.java

@Override
public void serialize(final RangeQuery rangeQuery, final JsonGenerator generator,
        final SerializerProvider serializers) throws IOException, JsonProcessingException {
    generator.writeStartObject();//w  ww  . j  a  v  a2s .c o  m
    generator.writeObjectFieldStart("range");
    generator.writeObjectFieldStart(rangeQuery.getFieldName());
    switch (rangeQuery.getType()) {
    case GT:
        generator.writeObjectField("gt", rangeQuery.getValue());
        break;
    case GTE:
        generator.writeObjectField("gte", rangeQuery.getValue());
        break;
    default:
        throw new CodecException("Unsupported (yet range type: " + rangeQuery.getType());
    }
    if (rangeQuery.getBoostFactor() != 1.0f) {
        generator.writeNumberField("boost", rangeQuery.getBoostFactor());
    }
    generator.writeEndObject();
    generator.writeEndObject();
    generator.writeEndObject();
}

From source file:com.arpnetworking.logback.serialization.MapOfJsonSerialziationStrategy.java

/**
 * Serialize an event./* w w w.  java2  s  .c o  m*/
 *
 * @param event The event.
 * @param eventName The event name.
 * @param map The message key to json-value pairs.
 * @return Serialization of message as a <code>String</code>.
 */
public String serialize(final ILoggingEvent event, final String eventName, final Map<String, String> map) {
    final StringWriter jsonWriter = new StringWriter();
    try {
        final JsonGenerator jsonGenerator = _jsonFactory.createGenerator(jsonWriter);
        // Start wrapper
        startStenoWrapper(event, eventName, jsonGenerator, _objectMapper);

        // Write event data
        jsonGenerator.writeObjectFieldStart("data");
        if (map != null) {
            for (final Map.Entry<String, String> entry : map.entrySet()) {
                if (entry.getValue() == null) {
                    jsonGenerator.writeObjectField(entry.getKey(), null);
                } else {
                    jsonGenerator.writeFieldName(entry.getKey());
                    jsonGenerator.writeRawValue(entry.getValue());
                }
            }
        }
        jsonGenerator.writeEndObject(); // End 'data' field

        // Output throwable
        writeThrowable(event.getThrowableProxy(), jsonGenerator, _objectMapper);

        // End wrapper
        endStenoWrapper(event, eventName, jsonGenerator, _objectMapper);
    } catch (final IOException e) {
        return "Unknown exception: " + e.getMessage();
    }

    return jsonWriter.toString();
}

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

@Override
public void serialize(Api api, JsonGenerator jgen, SerializerProvider provider) throws IOException {
    jgen.writeStartObject();//from w  w w  .j av a  2s.  co  m
    jgen.writeStringField("id", api.getId());
    jgen.writeStringField("name", api.getName());
    jgen.writeObjectField("version", api.getVersion());

    if (api.getProxy() != null) {
        jgen.writeObjectField("proxy", api.getProxy());
    }

    if (api.getPaths() != null) {
        jgen.writeObjectFieldStart("paths");
        api.getPaths().forEach((s, path) -> {
            try {
                jgen.writeObjectField(s, path);
            } catch (IOException e) {
                e.printStackTrace();
            }
        });

        jgen.writeEndObject();
    }

    if (api.getServices() != null && !api.getServices().isEmpty()) {
        jgen.writeObjectField("services", api.getServices());
    }

    if (api.getResources() != null && !api.getResources().isEmpty()) {
        jgen.writeArrayFieldStart("resources");
        for (Resource resource : api.getResources()) {
            jgen.writeObject(resource);
        }
        jgen.writeEndArray();
    }

    if (api.getProperties() != null) {
        jgen.writeObjectFieldStart("properties");
        api.getProperties().forEach((s, property) -> {
            try {
                jgen.writeObjectField(s, property);
            } catch (IOException e) {
                e.printStackTrace();
            }
        });

        jgen.writeEndObject();
    }

    if (api.getTags() != null && !api.getTags().isEmpty()) {
        jgen.writeArrayFieldStart("tags");
        api.getTags().forEach(tag -> {
            try {
                jgen.writeObject(tag);
            } catch (IOException e) {
                e.printStackTrace();
            }
        });
        jgen.writeEndArray();
    }

    jgen.writeEndObject();
}

From source file:org.n52.tamis.core.json.serialize.processes.execute.ExecuteOutputSerializer.java

@Override
public void serialize(ExecuteOutput output_simple, JsonGenerator jsonGenerator, SerializerProvider serProvider)
        throws IOException, JsonProcessingException {

    logger.info("Start serialization of output \"{}\"", output_simple);

    /*//from  w w  w  . ja  v  a 2 s  . co m
     * write the input as WPS "Data" element
     * 
     * expected structure looks like:
     * 
     *    {
          "_mimeType": "text/xml",
          "_id": "complexOutput",
          "_transmission": "reference"
      }
     */

    jsonGenerator.writeStartObject();

    jsonGenerator.writeStringField("_mimeType", output_simple.getType());

    jsonGenerator.writeStringField("_id", output_simple.getId());

    jsonGenerator.writeStringField("_transmission", output_simple.getTransmission());

    jsonGenerator.writeEndObject();

    logger.info("serialization of output ended.");
}

From source file:com.googlecode.wickedcharts.highcharts.jackson.CrosshairSerializer.java

@Override
public void serialize(final Crosshair value, final JsonGenerator jgen, final SerializerProvider provider)
        throws IOException, JsonProcessingException {

    if (value.getColor() != null || value.getDashStyle() != null || value.getWidth() != null
            || value.getzIndex() != null) {
        jgen.writeStartObject();//from w  w  w. j a v  a  2  s . c o m
        if (value.getColor() != null) {
            jgen.writeObjectField("color", value.getColor());
        }
        if (value.getDashStyle() != null) {
            jgen.writeObjectField("dashStyle", value.getDashStyle());
        }
        if (value.getWidth() != null) {
            jgen.writeObjectField("width", value.getWidth());
        }
        if (value.getzIndex() != null) {
            jgen.writeObjectField("zIndex", value.getzIndex());
        }
        jgen.writeEndObject();
    } else {
        // if no attributes are given, simply render true
        jgen.writeBoolean(true);
    }

}