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.cedarsoft.couchdb.io.CouchDocSerializer.java

private static <T> void serializeInlineAttachments(@Nonnull CouchDoc<T> doc, @Nonnull JsonGenerator generator)
        throws IOException {
    if (!doc.hasInlineAttachments()) {
        return;/* ww w.  j  av a  2  s. co m*/
    }

    generator.writeObjectFieldStart(PROPERTY_ATTACHMENTS);

    for (CouchDoc.Attachment attachment : doc.getAttachments()) {
        if (!attachment.isInline()) {
            throw new IllegalStateException("Cannot serialize non-inline attachments: " + attachment);
        }
        generator.writeObjectFieldStart(attachment.getId().asString());

        generator.writeStringField(PROPERTY_CONTENT_TYPE, attachment.getContentType().toString());
        generator.writeStringField(PROPERTY_DATA, new String(Base64.encode(attachment.getData())));

        generator.writeEndObject();
    }

    generator.writeEndObject();
}

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

public final static void rabbitmqNode2JSON(RabbitmqNode node, JsonGenerator jgenerator) throws IOException {
    jgenerator.writeStartObject();/*  w  w w . j  a va  2 s.  com*/
    jgenerator.writeNumberField(RMQN_ID, node.getId());
    jgenerator.writeNumberField(RMQN_VERSION, node.getVersion());
    jgenerator.writeStringField(RMQN_NAME, node.getName());
    jgenerator.writeStringField(RMQN_URL, node.getUrl());
    jgenerator.writeStringField(RMQN_USER, node.getUser());
    jgenerator.writeBooleanField(RMQN_PASSWD, node.getPasswd() != null);
    jgenerator.writeStringField(RMQN_DESCRIPTION, node.getDescription());
    if (node.getCluster() != null)
        jgenerator.writeNumberField(RMQN_CLUSTER, node.getCluster().getId());
    else
        jgenerator.writeNumberField(RMQN_CLUSTER, -1);
    jgenerator.writeNumberField(RMQN_OSINSTANCE, node.getOsInstance().getId());
    jgenerator.writeNumberField(RMQN_SPT_TEAM, node.getSupportTeam().getId());
    jgenerator.writeEndObject();
}

From source file:com.cedarsoft.couchdb.DesignDocumentsUpdater.java

/**
 * Creates the json content for the design document
 *
 * @return a string containing the json content for this design document
 *
 * @throws IOException/* w  w w .  j  a  v  a 2s  .  co m*/
 */
public static String createJson(@Nonnull DesignDocument designDocument, @Nullable Revision revision)
        throws IOException {
    //noinspection TypeMayBeWeakened
    StringWriter writer = new StringWriter();
    JsonGenerator generator = new JsonFactory().createJsonGenerator(writer);
    generator.writeStartObject();

    generator.writeStringField("_id", designDocument.getId());
    if (revision != null) {
        generator.writeStringField("_rev", revision.asString());
    }
    generator.writeStringField("language", "javascript");

    generator.writeObjectFieldStart("views");

    for (View view : designDocument.getViews()) {
        generator.writeObjectFieldStart(view.getName());

        generator.writeStringField("map", view.getMappingFunction());
        @Nullable
        String reduceFunction = view.getReduceFunction();
        if (reduceFunction != null) {
            generator.writeStringField("reduce", reduceFunction);
        }
        generator.writeEndObject();
    }

    generator.writeEndObject();
    generator.writeEndObject();
    generator.flush();
    return writer.toString();
}

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

private static void convertExecutionToJson(JsonGenerator json,
        HystrixRequestEvents.ExecutionSignature executionSignature, List<Integer> latencies)
        throws IOException {
    json.writeStartObject();//  w ww.j  a v  a 2  s  . c  o m
    json.writeStringField("name", executionSignature.getCommandName());
    json.writeArrayFieldStart("events");
    ExecutionResult.EventCounts eventCounts = executionSignature.getEventCounts();
    for (HystrixEventType eventType : HystrixEventType.values()) {
        if (!eventType.equals(HystrixEventType.COLLAPSED)) {
            if (eventCounts.contains(eventType)) {
                int eventCount = eventCounts.getCount(eventType);
                if (eventCount > 1) {
                    json.writeStartObject();
                    json.writeStringField("name", eventType.name());
                    json.writeNumberField("count", eventCount);
                    json.writeEndObject();
                } else {
                    json.writeString(eventType.name());
                }
            }
        }
    }
    json.writeEndArray();
    json.writeArrayFieldStart("latencies");
    for (int latency : latencies) {
        json.writeNumber(latency);
    }
    json.writeEndArray();
    if (executionSignature.getCachedCount() > 0) {
        json.writeNumberField("cached", executionSignature.getCachedCount());
    }
    if (executionSignature.getEventCounts().contains(HystrixEventType.COLLAPSED)) {
        json.writeObjectFieldStart("collapsed");
        json.writeStringField("name", executionSignature.getCollapserKey().name());
        json.writeNumberField("count", executionSignature.getCollapserBatchSize());
        json.writeEndObject();
    }
    json.writeEndObject();
}

From source file:com.netflix.hystrix.contrib.requests.stream.HystrixRequestEventsJsonStream.java

private static void convertExecutionToJson(JsonGenerator json,
        HystrixRequestEvents.ExecutionSignature executionSignature, List<Integer> latencies)
        throws IOException {
    json.writeStartObject();//from   ww  w  . j  av  a2 s .com
    json.writeStringField("name", executionSignature.getCommandName());
    json.writeArrayFieldStart("events");
    ExecutionResult.EventCounts eventCounts = executionSignature.getEventCounts();
    for (HystrixEventType eventType : HystrixEventType.values()) {
        if (eventType != HystrixEventType.COLLAPSED) {
            if (eventCounts.contains(eventType)) {
                int eventCount = eventCounts.getCount(eventType);
                if (eventCount > 1) {
                    json.writeStartObject();
                    json.writeStringField("name", eventType.name());
                    json.writeNumberField("count", eventCount);
                    json.writeEndObject();
                } else {
                    json.writeString(eventType.name());
                }
            }
        }
    }
    json.writeEndArray();
    json.writeArrayFieldStart("latencies");
    for (int latency : latencies) {
        json.writeNumber(latency);
    }
    json.writeEndArray();
    if (executionSignature.getCachedCount() > 0) {
        json.writeNumberField("cached", executionSignature.getCachedCount());
    }
    if (executionSignature.getEventCounts().contains(HystrixEventType.COLLAPSED)) {
        json.writeObjectFieldStart("collapsed");
        json.writeStringField("name", executionSignature.getCollapserKey().name());
        json.writeNumberField("count", executionSignature.getCollapserBatchSize());
        json.writeEndObject();
    }
    json.writeEndObject();
}

From source file:eu.project.ttc.readers.TermSuiteJsonCasSerializer.java

private static void writeSDI(JsonGenerator jg, JCas jCas) throws IOException {
    SourceDocumentInformation sdi = (SourceDocumentInformation) jCas
            .getAnnotationIndex(SourceDocumentInformation.type).iterator().next();
    jg.writeStartObject();//from   w w w. j a  v a 2s.  c o  m
    writeStringField(jg, F_URI, sdi.getUri());
    writeIntField(jg, F_OFFSET_IN_SOURCE, sdi.getOffsetInSource());
    writeIntField(jg, F_DOCUMENT_INDEX, sdi.getDocumentIndex());
    writeIntField(jg, F_NB_DOCUMENTS, sdi.getNbDocuments());
    writeIntField(jg, F_DOCUMENT_SIZE, sdi.getDocumentSize());
    writeLongField(jg, F_CUMULATED_DOCUMENT_SIZE, sdi.getCumulatedDocumentSize());
    writeLongField(jg, F_CORPUS_SIZE, sdi.getCorpusSize());
    writeBooleanField(jg, F_LAST_SEGMENT, sdi.getLastSegment());
    writeOffsets(jg, sdi);
    jg.writeEndObject();
}

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

public final static void routingArea2JSON(RoutingArea routingArea, JsonGenerator jgenerator)
        throws IOException {
    jgenerator.writeStartObject();/*from   w w  w.  ja v  a 2s. c  o m*/
    jgenerator.writeNumberField(RAREA_ID, routingArea.getId());
    jgenerator.writeNumberField(RAREA_VERSION, routingArea.getVersion());
    jgenerator.writeStringField(RAREA_NAME, routingArea.getName());
    jgenerator.writeStringField(RAREA_TYPE, routingArea.getType());
    jgenerator.writeStringField(RAREA_MULTICAST, routingArea.getMulticast());
    jgenerator.writeStringField(RAREA_DESCRIPTION, routingArea.getDescription());
    jgenerator.writeArrayFieldStart(RAREA_SUBNETS_ID);
    for (Subnet subnet : routingArea.getSubnets())
        jgenerator.writeNumber(subnet.getId());
    jgenerator.writeEndArray();
    jgenerator.writeArrayFieldStart(RAREA_DC_ID);
    for (Datacenter dc : routingArea.getDatacenters())
        jgenerator.writeNumber(dc.getId());
    jgenerator.writeEndArray();
    jgenerator.writeEndObject();
}

From source file:io.protostuff.JsonIOUtil.java

/**
 * Serializes the {@code messages} into the generator using the given schema.
 */// w  w w . j a v  a2 s . c o  m
public static <T> void writeListTo(JsonGenerator generator, List<T> messages, Schema<T> schema, boolean numeric)
        throws IOException {
    generator.writeStartArray();
    if (messages.isEmpty()) {
        generator.writeEndArray();
        return;
    }

    final JsonOutput output = new JsonOutput(generator, numeric, schema);

    for (T m : messages) {
        generator.writeStartObject();

        schema.writeTo(output, m);
        if (output.isLastRepeated())
            generator.writeEndArray();

        generator.writeEndObject();
        output.reset();
    }

    generator.writeEndArray();
}

From source file:jvmoptions.OptionAnalyzer.java

static Path toJson(String java6, String java7, String java8) throws Exception {
    Map<String, Map<String, String>> map6 = makeMap(java6);
    Map<String, Map<String, String>> map7 = makeMap(java7);
    Map<String, Map<String, String>> map8 = makeMap(java8);

    Path output = Paths.get("result", filename("json"));

    JsonFactory factory = new JsonFactory();
    JsonGenerator jg = factory.createGenerator(output.toFile(), JsonEncoding.UTF8).useDefaultPrettyPrinter();

    jg.writeStartObject();/*w w  w  . j a  v  a2  s . c  o m*/
    Stream.of(map6, map7, map8).map(Map::keySet).flatMap(Collection::stream).sorted().distinct().forEach(k -> {
        try {
            jg.writeFieldName(k);
            jg.writeStartObject();

            Map<String, String> base = pick(k, map8, map7, map6);
            jg.writeStringField("kind", base.get("kind"));
            jg.writeStringField("type", base.get("type"));
            jg.writeStringField("description", base.get("description"));
            jg.writeStringField("file", base.get("file"));

            write(jg, "java6", map6.get(k));
            write(jg, "java7", map7.get(k));
            write(jg, "java8", map8.get(k));

            jg.writeEndObject();
        } catch (IOException e) {
            throw new UncheckedIOException(e);
        }
    });
    jg.writeEndObject();

    jg.close();

    return output;
}

From source file:com.msopentech.odatajclient.engine.data.json.DOMTreeUtilsV4.java

public static void writeSubtree(final ODataClient client, final JsonGenerator jgen, final Node content,
        final boolean propType) throws IOException {
    for (Node child : XMLUtils.getChildNodes(content, Node.ELEMENT_NODE)) {
        final String childName = XMLUtils.getSimpleName(child);

        final Node typeAttr = child.getAttributes().getNamedItem(ODataConstants.ATTR_M_TYPE);
        if (typeAttr != null && EdmSimpleType.isGeospatial(typeAttr.getTextContent())) {
            jgen.writeStringField(/*from   w w  w  . j  ava2  s. c  om*/
                    propType ? ODataConstants.JSON_TYPE : childName + "@" + ODataConstants.JSON_TYPE,
                    typeAttr.getTextContent());

            jgen.writeObjectFieldStart(childName);
            GeospatialJSONHandler.serialize(jgen, (Element) child, typeAttr.getTextContent());
            jgen.writeEndObject();
        } else if (XMLUtils.hasOnlyTextChildNodes(child)) {
            if (child.hasChildNodes()) {
                final String out;
                if (typeAttr == null) {
                    out = child.getChildNodes().item(0).getNodeValue();
                } else {
                    if (typeAttr.getTextContent().startsWith("Edm.")) {
                        final EdmSimpleType type = EdmSimpleType.fromValue(typeAttr.getTextContent());
                        final ODataPrimitiveValue value = client.getPrimitiveValueBuilder().setType(type)
                                .setText(child.getChildNodes().item(0).getNodeValue()).build();
                        out = value.toString();

                        jgen.writeStringField(childName + "@" + ODataConstants.JSON_TYPE, type.toString());
                    } else {
                        // enum
                        out = child.getTextContent();
                        jgen.writeStringField(childName + "@" + ODataConstants.JSON_TYPE,
                                typeAttr.getTextContent());
                    }
                }
                jgen.writeStringField(childName, out);
            } else {
                if (child.getAttributes().getNamedItem(ODataConstants.ATTR_NULL) == null) {
                    if (typeAttr != null && EdmSimpleType.String.toString().equals(typeAttr.getTextContent())) {
                        jgen.writeStringField(childName + "@" + ODataConstants.JSON_TYPE,
                                typeAttr.getTextContent());
                        jgen.writeStringField(childName, StringUtils.EMPTY);
                    } else {
                        jgen.writeArrayFieldStart(childName);
                        jgen.writeEndArray();
                    }
                } else {
                    jgen.writeNullField(childName);
                }
            }
        } else {
            if (XMLUtils.hasElementsChildNode(child)) {
                jgen.writeArrayFieldStart(childName);

                for (Node nephew : XMLUtils.getChildNodes(child, Node.ELEMENT_NODE)) {
                    if (XMLUtils.hasOnlyTextChildNodes(nephew)) {
                        jgen.writeString(nephew.getChildNodes().item(0).getNodeValue());
                    } else {
                        jgen.writeStartObject();
                        DOMTreeUtils.writeSubtree(client, jgen, nephew);
                        jgen.writeEndObject();
                    }
                }

                jgen.writeEndArray();
            } else {
                jgen.writeObjectFieldStart(childName);
                if (typeAttr != null) {
                    jgen.writeStringField("@" + ODataConstants.JSON_TYPE, typeAttr.getTextContent());
                }

                DOMTreeUtils.writeSubtree(client, jgen, child);

                jgen.writeEndObject();
            }
        }
    }
}