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.cloudmine.api.persistance.CMJacksonModule.java

private static <JSON extends Transportable> JsonSerializer<JSON> jsonSerializerForType(final Class<JSON> type) {
    return new JsonSerializer<JSON>() {
        @Override//from  w  w  w  . j a v  a  2  s  .  c  o  m
        public void serialize(JSON value, JsonGenerator jgen, SerializerProvider provider) throws IOException {
            jgen.writeStartObject();
            String json;
            try {
                json = value.transportableRepresentation();
            } catch (ConversionException e) {
                LOG.error("Error while serializing, sending empty json", e);
                json = JsonUtilities.EMPTY_JSON;
            }
            jgen.writeRaw(JsonUtilities.unwrap(json));
            jgen.writeEndObject();
        }

        @Override
        public Class<JSON> handledType() {
            return type;
        }
    };
}

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

/**
 * Generates the ES bulk api "action" command.
 * @param generator The JSON generator.//from www.jav  a2s .  c  o  m
 * @param objType The object type.
 * @throws IOException
 */
static final void generateAction(final JsonGenerator generator, final String objType) throws IOException {
    generator.writeStartObject();
    generator.writeObjectFieldStart("index");
    generator.writeStringField("_type", objType);
    generator.writeEndObject();
    generator.writeEndObject();
    generator.flush();
}

From source file:com.netflix.hystrix.contrib.sample.stream.HystrixUtilizationJsonStream.java

private static void writeThreadPoolUtilizationJson(JsonGenerator json, HystrixThreadPoolKey threadPoolKey,
        HystrixThreadPoolUtilization utilization) throws IOException {
    json.writeObjectFieldStart(threadPoolKey.name());
    json.writeNumberField("activeCount", utilization.getCurrentActiveCount());
    json.writeNumberField("queueSize", utilization.getCurrentQueueSize());
    json.writeNumberField("corePoolSize", utilization.getCurrentCorePoolSize());
    json.writeNumberField("poolSize", utilization.getCurrentPoolSize());
    json.writeEndObject();
}

From source file:net.echinopsii.ariane.community.plugin.rabbitmq.directory.json.RabbitmqClusterJSON.java

public final static void rabbitmqCluster2JSON(RabbitmqCluster cluster, JsonGenerator jgenerator)
        throws IOException {
    jgenerator.writeStartObject();//from   w ww  . j a v a2s.c  o m
    jgenerator.writeNumberField(RMQC_ID, cluster.getId());
    jgenerator.writeNumberField(RMQC_VERSION, cluster.getVersion());
    jgenerator.writeStringField(RMQC_NAME, cluster.getName());
    jgenerator.writeStringField(RMQC_DESCRIPTION, cluster.getDescription());
    jgenerator.writeArrayFieldStart(RMQC_NODES_ID);
    for (RabbitmqNode node : cluster.getNodes())
        jgenerator.writeNumber(node.getId());
    jgenerator.writeEndArray();
    jgenerator.writeEndObject();
}

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

public static Group createGroup(Group g) throws IOException, MalformedURLException {
    // Server URL setup
    String _url = getBaseUri().build().toString();

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

    conn.setRequestMethod("POST");
    addRequestHeader(conn, true);//w  ww .  j a va2  s.c  o  m

    // 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);

    // Build JSON Object
    jgen.writeStartObject();
    jgen.writeStringField(Keys.Group.TITLE, g.getGroupTitle());
    jgen.writeArrayFieldStart(Keys.Group.MEMBERS);
    for (User member : g.getMembers()) {
        jgen.writeStartObject();
        jgen.writeStringField(Keys.User.ID, member.getID());
        jgen.writeEndObject();

    }
    jgen.writeEndArray();
    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);

    // prepare to get the id of the created Meeting
    // Map<String, String> responseMap = new HashMap<String, String>();

    /*
     * result should get valid={"meetingID":"##"}
     */
    String result = new String();
    if (!response.isEmpty()) {
        // responseMap = MAPPER.readValue(response,
        // new TypeReference<HashMap<String, String>>() {
        // });
        JsonNode groupNode = MAPPER.readTree(response);
        if (!groupNode.has(Keys.Group.ID)) {
            result = "invalid";
        } else
            result = groupNode.get(Keys.Group.ID).asText();
    }

    if (!result.equalsIgnoreCase("invalid"))
        g.setID(result);

    conn.disconnect();
    return g;
}

From source file:org.apache.orc.bench.convert.json.JsonWriter.java

static void printStruct(JsonGenerator writer, StructColumnVector batch, TypeDescription schema, int row)
        throws IOException {
    writer.writeStartObject();// w w w .j  a  v a  2s.c  om
    List<String> fieldNames = schema.getFieldNames();
    List<TypeDescription> fieldTypes = schema.getChildren();
    for (int i = 0; i < fieldTypes.size(); ++i) {
        writer.writeFieldName(fieldNames.get(i));
        printValue(writer, batch.fields[i], fieldTypes.get(i), row);
    }
    writer.writeEndObject();
}

From source file:com.infinities.skyport.util.JsonUtil.java

public static String toLegendJson(Throwable e) {
    StringWriter wtr = new StringWriter();
    try {/*w  w w  .  j  a  va2  s  .c  om*/
        JsonGenerator g = new JsonFactory().createGenerator(wtr);
        g.writeStartArray();
        g.writeStartObject();
        g.writeStringField("RES", "FALSE");
        g.writeStringField("REASON", e.toString());
        // g.writeStringField("REASON", Objects.firstNonNull(e.getMessage(),
        // e.toString()));
        g.writeEndObject();
        g.writeEndArray();
        g.close();
    } catch (Exception ee) {
        ArrayNode array = getObjectMapper().createArrayNode();
        ObjectNode reason = getObjectMapper().createObjectNode();
        ObjectNode status = getObjectMapper().createObjectNode();

        status.put(JsonConstants.STATUS, String.valueOf("FALSE"));
        reason.put(JsonConstants.REASON, "an unexpected error occurred");
        array.add(status).add(reason);

        // "[{\"RES\":\"FALSE\"}, {\"REASON\":\"an unexpected error occurred\"}]";
        return array.toString();
    }

    return wtr.toString();
}

From source file:net.echinopsii.ariane.community.core.directory.wat.json.ds.organisational.EnvironmentJSON.java

public final static void environment2JSON(Environment environment, JsonGenerator jgenerator)
        throws IOException {
    jgenerator.writeStartObject();/*from w ww  .  j a v  a 2 s. c om*/
    jgenerator.writeNumberField(ENV_ID, environment.getId());
    jgenerator.writeNumberField(ENV_VERSION, environment.getVersion());
    jgenerator.writeStringField(ENV_NAME, environment.getName());
    jgenerator.writeStringField(ENV_DESCRIPTION, environment.getDescription());
    jgenerator.writeArrayFieldStart(ENV_OSI_ID);
    for (OSInstance osi : environment.getOsInstances())
        jgenerator.writeNumber(osi.getId());
    jgenerator.writeEndArray();
    jgenerator.writeEndObject();
}

From source file:org.elasticsearch.client.sniff.HostsSnifferTests.java

private static SniffResponse buildSniffResponse(HostsSniffer.Scheme scheme) throws IOException {
    int numNodes = RandomInts.randomIntBetween(getRandom(), 1, 5);
    List<HttpHost> hosts = new ArrayList<>(numNodes);
    JsonFactory jsonFactory = new JsonFactory();
    StringWriter writer = new StringWriter();
    JsonGenerator generator = jsonFactory.createGenerator(writer);
    generator.writeStartObject();//  w  w  w .j  a va 2 s .c o m
    if (getRandom().nextBoolean()) {
        generator.writeStringField("cluster_name", "elasticsearch");
    }
    if (getRandom().nextBoolean()) {
        generator.writeObjectFieldStart("bogus_object");
        generator.writeEndObject();
    }
    generator.writeObjectFieldStart("nodes");
    for (int i = 0; i < numNodes; i++) {
        String nodeId = RandomStrings.randomAsciiOfLengthBetween(getRandom(), 5, 10);
        generator.writeObjectFieldStart(nodeId);
        if (getRandom().nextBoolean()) {
            generator.writeObjectFieldStart("bogus_object");
            generator.writeEndObject();
        }
        if (getRandom().nextBoolean()) {
            generator.writeArrayFieldStart("bogus_array");
            generator.writeStartObject();
            generator.writeEndObject();
            generator.writeEndArray();
        }
        boolean isHttpEnabled = rarely() == false;
        if (isHttpEnabled) {
            String host = "host" + i;
            int port = RandomInts.randomIntBetween(getRandom(), 9200, 9299);
            HttpHost httpHost = new HttpHost(host, port, scheme.toString());
            hosts.add(httpHost);
            generator.writeObjectFieldStart("http");
            if (getRandom().nextBoolean()) {
                generator.writeArrayFieldStart("bound_address");
                generator.writeString("[fe80::1]:" + port);
                generator.writeString("[::1]:" + port);
                generator.writeString("127.0.0.1:" + port);
                generator.writeEndArray();
            }
            if (getRandom().nextBoolean()) {
                generator.writeObjectFieldStart("bogus_object");
                generator.writeEndObject();
            }
            generator.writeStringField("publish_address", httpHost.toHostString());
            if (getRandom().nextBoolean()) {
                generator.writeNumberField("max_content_length_in_bytes", 104857600);
            }
            generator.writeEndObject();
        }
        if (getRandom().nextBoolean()) {
            String[] roles = { "master", "data", "ingest" };
            int numRoles = RandomInts.randomIntBetween(getRandom(), 0, 3);
            Set<String> nodeRoles = new HashSet<>(numRoles);
            for (int j = 0; j < numRoles; j++) {
                String role;
                do {
                    role = RandomPicks.randomFrom(getRandom(), roles);
                } while (nodeRoles.add(role) == false);
            }
            generator.writeArrayFieldStart("roles");
            for (String nodeRole : nodeRoles) {
                generator.writeString(nodeRole);
            }
            generator.writeEndArray();
        }
        int numAttributes = RandomInts.randomIntBetween(getRandom(), 0, 3);
        Map<String, String> attributes = new HashMap<>(numAttributes);
        for (int j = 0; j < numAttributes; j++) {
            attributes.put("attr" + j, "value" + j);
        }
        if (numAttributes > 0) {
            generator.writeObjectFieldStart("attributes");
        }
        for (Map.Entry<String, String> entry : attributes.entrySet()) {
            generator.writeStringField(entry.getKey(), entry.getValue());
        }
        if (numAttributes > 0) {
            generator.writeEndObject();
        }
        generator.writeEndObject();
    }
    generator.writeEndObject();
    generator.writeEndObject();
    generator.close();
    return SniffResponse.buildResponse(writer.toString(), hosts);
}

From source file:com.netflix.hystrix.serial.SerialHystrixUtilization.java

private static void serializeUtilization(HystrixUtilization utilization, JsonGenerator json) {
    try {//from ww w  . ja v a 2  s  .com
        json.writeStartObject();
        json.writeStringField("type", "HystrixUtilization");
        json.writeObjectFieldStart("commands");
        for (Map.Entry<HystrixCommandKey, HystrixCommandUtilization> entry : utilization
                .getCommandUtilizationMap().entrySet()) {
            final HystrixCommandKey key = entry.getKey();
            final HystrixCommandUtilization commandUtilization = entry.getValue();
            writeCommandUtilizationJson(json, key, commandUtilization);

        }
        json.writeEndObject();

        json.writeObjectFieldStart("threadpools");
        for (Map.Entry<HystrixThreadPoolKey, HystrixThreadPoolUtilization> entry : utilization
                .getThreadPoolUtilizationMap().entrySet()) {
            final HystrixThreadPoolKey threadPoolKey = entry.getKey();
            final HystrixThreadPoolUtilization threadPoolUtilization = entry.getValue();
            writeThreadPoolUtilizationJson(json, threadPoolKey, threadPoolUtilization);
        }
        json.writeEndObject();
        json.writeEndObject();
        json.close();
    } catch (Exception e) {
        throw new RuntimeException(e);
    }
}