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.netflix.hystrix.contrib.sample.stream.HystrixConfigurationJsonStream.java

private static void writeCommandConfigJson(JsonGenerator json, HystrixCommandKey key,
        HystrixCommandConfiguration commandConfig) throws IOException {
    json.writeObjectFieldStart(key.name());
    json.writeStringField("threadPoolKey", commandConfig.getThreadPoolKey().name());
    json.writeStringField("groupKey", commandConfig.getGroupKey().name());
    json.writeObjectFieldStart("execution");
    HystrixCommandConfiguration.HystrixCommandExecutionConfig executionConfig = commandConfig
            .getExecutionConfig();/*from   w w w.  j  a  v a  2s  .  c om*/
    json.writeStringField("isolationStrategy", executionConfig.getIsolationStrategy().name());
    json.writeStringField("threadPoolKeyOverride", executionConfig.getThreadPoolKeyOverride());
    json.writeBooleanField("requestCacheEnabled", executionConfig.isRequestCacheEnabled());
    json.writeBooleanField("requestLogEnabled", executionConfig.isRequestLogEnabled());
    json.writeBooleanField("timeoutEnabled", executionConfig.isTimeoutEnabled());
    json.writeBooleanField("fallbackEnabled", executionConfig.isFallbackEnabled());
    json.writeNumberField("timeoutInMilliseconds", executionConfig.getTimeoutInMilliseconds());
    json.writeNumberField("semaphoreSize", executionConfig.getSemaphoreMaxConcurrentRequests());
    json.writeNumberField("fallbackSemaphoreSize", executionConfig.getFallbackMaxConcurrentRequest());
    json.writeBooleanField("threadInterruptOnTimeout", executionConfig.isThreadInterruptOnTimeout());
    json.writeEndObject();
    json.writeObjectFieldStart("metrics");
    HystrixCommandConfiguration.HystrixCommandMetricsConfig metricsConfig = commandConfig.getMetricsConfig();
    json.writeNumberField("healthBucketSizeInMs", metricsConfig.getHealthIntervalInMilliseconds());
    json.writeNumberField("percentileBucketSizeInMilliseconds",
            metricsConfig.getRollingPercentileBucketSizeInMilliseconds());
    json.writeNumberField("percentileBucketCount", metricsConfig.getRollingCounterNumberOfBuckets());
    json.writeBooleanField("percentileEnabled", metricsConfig.isRollingPercentileEnabled());
    json.writeNumberField("counterBucketSizeInMilliseconds",
            metricsConfig.getRollingCounterBucketSizeInMilliseconds());
    json.writeNumberField("counterBucketCount", metricsConfig.getRollingCounterNumberOfBuckets());
    json.writeEndObject();
    json.writeObjectFieldStart("circuitBreaker");
    HystrixCommandConfiguration.HystrixCommandCircuitBreakerConfig circuitBreakerConfig = commandConfig
            .getCircuitBreakerConfig();
    json.writeBooleanField("enabled", circuitBreakerConfig.isEnabled());
    json.writeBooleanField("isForcedOpen", circuitBreakerConfig.isForceOpen());
    json.writeBooleanField("isForcedClosed", circuitBreakerConfig.isForceOpen());
    json.writeNumberField("requestVolumeThreshold", circuitBreakerConfig.getRequestVolumeThreshold());
    json.writeNumberField("errorPercentageThreshold", circuitBreakerConfig.getErrorThresholdPercentage());
    json.writeNumberField("sleepInMilliseconds", circuitBreakerConfig.getSleepWindowInMilliseconds());
    json.writeEndObject();
    json.writeEndObject();
}

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

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

    generator.writeStartObject();/*from w  ww  .ja  v a  2 s. c  o  m*/

    generator.writeNumberField(PROPERTY_TOTAL_ROWS, viewResponse.getTotalRows());
    generator.writeNumberField(PROPERTY_OFFSET, viewResponse.getOffset());

    //Now the rows
    generator.writeFieldName(PROPERTY_ROWS);
    generator.writeStartArray();

    for (Row<K, V, ?> row : viewResponse.getRows()) {
        rowSerializer.serialize(row, keySerializer, valueSerializer, generator);
    }

    generator.writeEndArray();

    generator.writeEndObject();
    generator.close();
}

From source file:com.cedarsoft.serialization.jackson.AbstractJacksonSerializer.java

/**
 * Serializes the object to the given serializeTo.
 * <p>//  w  w w .  ja  v a 2s.co  m
 * The serializer is responsible for writing start/close object/array brackets if necessary.
 * This method also writes the @type property.
 *
 * @param object    the object that is serialized
 * @param generator the serialize to object
 * @throws java.io.IOException if there is an io problem
 */
@Override
public void serialize(@Nonnull T object, @Nonnull JsonGenerator generator) throws IOException {
    if (isObjectType()) {
        generator.writeStartObject();

        beforeTypeAndVersion(object, generator);
        writeTypeAndVersion(generator);
    }

    serialize(generator, object, getFormatVersion());

    if (isObjectType()) {
        generator.writeEndObject();
    }
}

From source file:com.github.fge.jsonpatch.mergepatch.ObjectMergePatch.java

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

    /*
     * Write removed members as JSON nulls
     */
    for (final String member : removedMembers)
        jgen.writeNullField(member);

    /*
     * Write modified members; delegate to serialization for writing values
     */
    for (final Map.Entry<String, JsonMergePatch> entry : modifiedMembers.entrySet()) {
        jgen.writeFieldName(entry.getKey());
        entry.getValue().serialize(jgen, provider);
    }

    jgen.writeEndObject();
}

From source file:org.springframework.cloud.netflix.hystrix.amqp.HystrixStreamTask.java

private void addServiceData(JsonGenerator json, ServiceInstance localService) throws IOException {
    json.writeObjectFieldStart("origin");
    json.writeStringField("host", localService.getHost());
    json.writeNumberField("port", localService.getPort());
    json.writeStringField("serviceId", localService.getServiceId());
    if (this.properties.isSendId()) {
        json.writeStringField("id", this.context.getId());
    }//from   ww w .  j a v  a2  s  .c o  m
    json.writeEndObject();
}

From source file:api.controller.ApiDocsController.java

@RequestMapping(method = RequestMethod.GET, headers = "Accept=application/json")
public @ResponseBody String genDocs() throws IOException {
    StringWriter sw = new StringWriter();
    JsonGenerator g = new JsonFactory().createGenerator(sw);
    g.useDefaultPrettyPrinter();// w  ww  . j ava  2  s. c  om

    g.writeStartObject();
    g.writeStringField("swagger", "2.0");
    g.writeObjectFieldStart("info");
    g.writeStringField("title", "Java, SpringMVC, Jetty, Heroku API example");
    g.writeStringField("description", "Example of simple microservice for API");
    g.writeObjectFieldStart("contact");
    g.writeStringField("name", "zedar");
    g.writeStringField("url", "https://github.com/zedar");
    g.writeEndObject();
    g.writeObjectFieldStart("license");
    g.writeStringField("name", "Creative Commons 4.0 International");
    g.writeStringField("url", "http://creativecommons.org/licenses/by/4.0/");
    g.writeEndObject();
    g.writeStringField("version", "0.0.1");
    g.writeEndObject();
    g.writeStringField("host", "api-springmvc-jetty.herokuapp.com");
    g.writeStringField("basePath", "/api");
    g.writeArrayFieldStart("schemes");
    g.writeString("https");
    g.writeEndArray();
    g.writeObjectFieldStart("paths");
    g.writeObjectFieldStart("/actions");
    g.writeObjectFieldStart("get");
    g.writeArrayFieldStart("tags");
    g.writeString("action");
    g.writeEndArray();
    g.writeStringField("summary", "Find actions with optional query");
    g.writeArrayFieldStart("parameters");
    g.writeStartObject();
    g.writeStringField("name", "query");
    g.writeStringField("in", "query");
    g.writeStringField("type", "string");
    g.writeEndObject();
    g.writeEndArray();
    g.writeObjectFieldStart("responses");
    g.writeObjectFieldStart("200");
    g.writeStringField("description", "Response with list of found actions");
    g.writeObjectFieldStart("schema");
    g.writeStringField("type", "array");
    g.writeObjectFieldStart("items");
    g.writeStringField("$ref", "#/definitions/Action");
    g.writeEndObject();
    g.writeEndObject();
    g.writeEndObject();
    g.writeObjectFieldStart("default");
    g.writeStringField("description", "Unexpected error");
    g.writeObjectFieldStart("schema");
    g.writeStringField("$ref", "#/definitions/Error");
    g.writeEndObject();
    g.writeEndObject();
    g.writeEndObject();
    g.writeEndObject();
    g.writeEndObject();
    g.writeEndObject();
    g.writeObjectFieldStart("definitions");
    g.writeObjectFieldStart("Action");
    g.writeArrayFieldStart("required");
    g.writeString("id");
    g.writeString("name");
    g.writeEndArray();
    g.writeObjectFieldStart("properties");
    g.writeObjectFieldStart("id");
    g.writeStringField("type", "string");
    g.writeEndObject();
    g.writeObjectFieldStart("name");
    g.writeStringField("type", "string");
    g.writeEndObject();
    g.writeObjectFieldStart("description");
    g.writeStringField("type", "string");
    g.writeEndObject();
    g.writeObjectFieldStart("url");
    g.writeStringField("type", "string");
    g.writeEndObject();
    g.writeObjectFieldStart("tags");
    g.writeStringField("type", "string");
    g.writeEndObject();
    g.writeEndObject();
    g.writeEndObject();
    g.writeObjectFieldStart("Error");
    g.writeArrayFieldStart("required");
    g.writeString("code");
    g.writeString("message");
    g.writeEndArray();
    g.writeObjectFieldStart("properties");
    g.writeObjectFieldStart("code");
    g.writeStringField("type", "string");
    g.writeEndObject();
    g.writeObjectFieldStart("message");
    g.writeStringField("type", "string");
    g.writeEndObject();
    g.writeEndObject();
    g.writeEndObject();
    g.writeEndObject();
    g.writeEndObject();

    g.close();
    String out = sw.toString();
    log.debug("API-DOCS:" + out);

    return out;
}

From source file:com.cedarsoft.serialization.test.performance.JacksonTest.java

@Test
public void testIt() throws IOException {
    FileType fileType = new FileType("Canon Raw", new Extension(".", "cr2", true), false);

    ByteArrayOutputStream out = new ByteArrayOutputStream();
    JsonGenerator generator = jsonFactory.createGenerator(out, JsonEncoding.UTF8);

    generator.writeStartObject();//from w  w w .j  ava  2 s  .  c o m
    generator.writeStringField("id", fileType.getId());
    generator.writeBooleanField("dependent", fileType.isDependent());

    generator.writeFieldName("extension");
    generator.writeStartObject();

    generator.writeStringField("extension", fileType.getExtension().getExtension());
    generator.writeBooleanField("default", fileType.getExtension().isDefault());
    generator.writeStringField("delimiter", fileType.getExtension().getDelimiter());

    generator.writeEndObject();

    //    generator.writeFieldName( "id" );
    //    generator.writeString( fileType.getId() );

    generator.writeEndObject();

    generator.close();
    assertEquals(JSON, out.toString());
}

From source file:com.joliciel.jochre.search.highlight.HighlightTerm.java

public void toJson(JsonGenerator jsonGen, DecimalFormat df) {
    try {/*from  www.  ja v a 2s  .c o m*/
        jsonGen.writeStartObject();
        jsonGen.writeStringField("field", this.getField());
        jsonGen.writeNumberField("start", this.getStartOffset());
        jsonGen.writeNumberField("end", this.getEndOffset());
        jsonGen.writeNumberField("pageIndex", this.getPageIndex());
        jsonGen.writeNumberField("imageIndex", this.getImageIndex());
        double roundedWeight = df.parse(df.format(this.getWeight())).doubleValue();
        jsonGen.writeNumberField("weight", roundedWeight);
        jsonGen.writeEndObject();

        jsonGen.flush();
    } catch (java.text.ParseException e) {
        LogUtils.logError(LOG, e);
        throw new RuntimeException(e);
    } catch (IOException ioe) {
        LogUtils.logError(LOG, ioe);
        throw new RuntimeException(ioe);
    }
}

From source file:com.medvision360.medrecord.pv.PVSerializer.java

@Override
public void serialize(Locatable locatable, OutputStream os, String encoding)
        throws IOException, SerializeException {
    final JsonGenerator jg = getJsonGenerator(os, encoding);

    // I feel like not putting the archetype in the path makes things a lot easier
    // String prefix = "[" + archetypeIdString + "]/";
    String prefix = "/";

    SerializeVisitor visitor = new PVSerializeVisitor(jg);

    jg.writeStartObject();/*www.ja  va2  s.  c  o  m*/
    try {
        walk(locatable, visitor, prefix);
    } catch (InvocationTargetException e) {
        throw new SerializeException("Problem walking the RM object model", e);
    } catch (IllegalAccessException e) {
        throw new SerializeException("Problem walking the RM object model", e);
    }
    jg.writeEndObject();
    jg.close();
}

From source file:ijfx.ui.module.json.ModuleSerializer.java

@Override
public void serialize(ModuleInfo t, JsonGenerator jg, SerializerProvider sp)
        throws IOException, JsonProcessingException {
    jg.writeStartObject();//from w  ww .j  a  v  a  2 s.c  o  m

    jg.writeStringField("className", t.getDelegateClassName());
    jg.writeStringField("label", t.getLabel());
    jg.writeObjectField("iconPath", t.getIconPath());
    jg.writeObjectField("isEnabled", t.isEnabled());
    jg.writeObjectField("isValid", t.isValid());
    jg.writeObjectField("title", t.getTitle());
    jg.writeObjectField("description", t.getDescription());
    jg.writeObjectField("priority", t.getPriority());
    jg.writeObjectField("inputs", t.inputs());
    jg.writeObjectField("outputs", t.outputs());
    jg.writeEndObject();
    //jg.writeObjectField("",t.);
    //jg.writeObjectField("",t.);

}