Example usage for com.fasterxml.jackson.core JsonGenerator writeEndArray

List of usage examples for com.fasterxml.jackson.core JsonGenerator writeEndArray

Introduction

In this page you can find the example usage for com.fasterxml.jackson.core JsonGenerator writeEndArray.

Prototype

public abstract void writeEndArray() throws IOException, JsonGenerationException;

Source Link

Document

Method for writing closing marker of a JSON Array value (character ']'; plus possible white space decoration if pretty-printing is enabled).

Usage

From source file:com.ntsync.shared.RawContact.java

private static void writeImList(JsonGenerator g, List<RawImData> list) throws IOException {
    if (list != null) {
        g.writeArrayFieldStart(ContactConstants.IM);
        for (RawImData listItem : list) {
            g.writeStartObject();/*w w  w .ja  v a2 s. c o m*/
            writeField(g, ContactConstants.DATA, listItem.getData());
            g.writeStringField(ContactConstants.TYPE, String.valueOf(listItem.getType().getVal()));
            writeField(g, ContactConstants.LABEL, listItem.getLabel());
            g.writeStringField(ContactConstants.PROTOCOL_TYPE, String.valueOf(listItem.getProtType().getVal()));
            writeField(g, ContactConstants.PROTOCOL_CUSTOM_PROT, listItem.getCustomProtocolName());
            if (listItem.isSuperPrimary()) {
                g.writeBooleanField(ContactConstants.SUPERPRIMARY, true);
            }
            if (listItem.isPrimary()) {
                g.writeBooleanField(ContactConstants.PRIMARY, true);
            }
            g.writeEndObject();
        }
        g.writeEndArray();
    }
}

From source file:com.strategicgains.hyperexpress.serialization.jackson.HalResourceSerializer.java

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

    if (embedded.isEmpty())
        return;/*from  ww  w .java 2 s . c  o m*/

    jgen.writeObjectFieldStart(EMBEDDED);

    for (Entry<String, List<Resource>> entry : embedded.entrySet()) {
        if (entry.getValue().size() == 1 && !resource.isMultipleResources(entry.getKey())) {
            jgen.writeObjectFieldStart(entry.getKey());
            renderJson((HalResource) entry.getValue().iterator().next(), jgen, true);
            jgen.writeEndObject();
        } else {
            jgen.writeArrayFieldStart(entry.getKey());

            for (Resource r : entry.getValue()) {
                jgen.writeStartObject();
                renderJson((HalResource) r, jgen, true);
                jgen.writeEndObject();
            }

            jgen.writeEndArray();
        }
    }

    jgen.writeEndObject();
}

From source file:com.zenesis.qx.remote.SimpleQueue.java

@Override
public synchronized void serialize(JsonGenerator gen, SerializerProvider sp)
        throws IOException, JsonProcessingException {
    gen.writeStartArray();//from   ww w . j av a 2  s .c  om
    while (!values.isEmpty()) {
        CommandId id = values.keySet().iterator().next();
        Object data = values.remove(id);

        if (id.type == CommandType.DEFINE) {
            ProxyType type = (ProxyType) id.object;
            ProxySessionTracker tracker = ((ProxyObjectMapper) gen.getCodec()).getTracker();
            if (tracker.isTypeDelivered(type))
                continue;
        }

        gen.writeStartObject();
        gen.writeStringField("type", id.type.remoteId);
        if (id.object != null)
            gen.writeObjectField("object", id.object);
        if (id.name != null)
            gen.writeObjectField("name", id.name);
        if (data != null)
            gen.writeObjectField("data", data);
        gen.writeEndObject();
    }
    gen.writeEndArray();
    values.clear();
    needsFlush = false;
}

From source file:TDS.Shared.Messages.MessageJson.java

public String create() throws ReturnStatusException {
    StringWriter sw = new StringWriter();
    JsonFactory jsonFactory = new JsonFactory();
    JsonGenerator jsonWriter;

    try {//from   w  w w.ja  v  a  2 s . c om
        if (_messageSystem == null)
            return "{}";

        jsonWriter = jsonFactory.createGenerator(sw);
        jsonWriter.writeStartObject();

        jsonWriter.writeStringField("c_l", _language); // "c_l": _language
        jsonWriter.writeFieldName("c_a"); // "c_a" :
        jsonWriter.writeStartArray(); // [

        // get all the message contexts across all the context types
        List<MessageContext> messageContexts = new ArrayList<MessageContext>();
        for (MessageContextType contextType : _messageSystem.getContextTypes()) {
            messageContexts.addAll(contextType.getContexts());
        }

        for (MessageContext messageContext : messageContexts) {
            writeContextElement(messageContext, jsonWriter);
        }

        jsonWriter.writeEndArray(); // ]
        jsonWriter.writeEndObject(); // }

        jsonWriter.close();
        sw.close();
    } catch (IOException e) {
        ReturnStatus rs = new ReturnStatus("failed", "Serialization failed: " + e.getMessage());
        throw new ReturnStatusException(rs);
    }

    return sw.getBuffer().toString();
}

From source file:com.sdl.odata.renderer.json.writer.JsonPropertyWriter.java

private void handleProperty(Object data, StructuralProperty property, JsonGenerator generator)
        throws IllegalAccessException, IOException, ODataException {
    Field field = property.getJavaField();
    field.setAccessible(true);/*from   w  w w. jav a2  s.  c  om*/
    Object value = field.get(data);
    LOG.trace("Property name is '{}' and its value is '{}'", property.getName(), value);
    Type type = getType(value);
    if (type == null) {
        String msg = String.format("Field type %s is not found in entity data model", field.getType());
        LOG.error(msg);
        throw new ODataRenderException(msg);
    }

    switch (type.getMetaType()) {
    case PRIMITIVE:
        generator.writeFieldName(property.getName());
        writePrimitive(value, generator);
        break;
    case COMPLEX:
        generator.writeArrayFieldStart(property.getName());
        generateComplex(value, (StructuredType) type, true);
        generator.writeEndArray();
        break;
    default:
        defaultHandling(type);
    }
}

From source file:com.spotify.apollo.meta.TypesafeConfigSerializer.java

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

    if (value.valueType() == ConfigValueType.OBJECT) {
        final ConfigObject object = (ConfigObject) value;

        jgen.writeStartObject();//from  ww w . j a v  a  2 s  .  co m
        for (Map.Entry<String, ConfigValue> valueEntry : object.entrySet()) {
            if (withOrigins) {
                final ConfigOrigin origin = valueEntry.getValue().origin();
                jgen.writeStringField(valueEntry.getKey() + "__origin",
                        origin.description() + (origin.filename() != null ? ", " + origin.filename() : ""));
            }
            jgen.writeObjectField(valueEntry.getKey(), valueEntry.getValue());
        }
        jgen.writeEndObject();
    } else if (value.valueType() == ConfigValueType.LIST) {
        final ConfigList list = (ConfigList) value;

        jgen.writeStartArray();
        for (ConfigValue configValue : list) {
            jgen.writeObject(configValue);
        }
        jgen.writeEndArray();
    } else {
        jgen.writeObject(value.unwrapped());
    }
}

From source file:org.springframework.cloud.netflix.metrics.atlas.AtlasMetricObserver.java

private int writeMetrics(JsonGenerator gen, List<Metric> metrics) throws IOException {
    int totalMetricsInBatch = 0;
    gen.writeArrayFieldStart("metrics");

    for (Metric m : metrics) {
        if (!validTags(m.getConfig().getTags()))
            continue;

        if (!Number.class.isAssignableFrom(m.getValue().getClass()))
            continue;

        gen.writeStartObject();/*www.  j a  v a 2  s  .com*/

        gen.writeObjectFieldStart("tags");
        gen.writeStringField("name", m.getConfig().getName());
        for (Tag tag : m.getConfig().getTags())
            gen.writeStringField(tag.getKey(), tag.getValue());
        gen.writeEndObject();

        gen.writeNumberField("start", m.getTimestamp());
        gen.writeNumberField("value", m.getNumberValue().doubleValue());

        gen.writeEndObject();

        totalMetricsInBatch++;
    }

    gen.writeEndArray();
    return totalMetricsInBatch;
}

From source file:gov.bnl.channelfinder.PropertiesResource.java

/**
 * GET method for retrieving the list of properties in the database.
 *
 * @return list of properties//from   www . j a v  a2s. co m
 */
@GET
@Produces({ MediaType.APPLICATION_JSON })
public Response list() {
    Client client = getNewClient();
    final String user = securityContext.getUserPrincipal() != null
            ? securityContext.getUserPrincipal().getName()
            : "";
    final ObjectMapper mapper = new ObjectMapper();
    mapper.addMixIn(XmlProperty.class, OnlyXmlProperty.class);
    try {
        MultivaluedMap<String, String> parameters = uriInfo.getQueryParameters();
        int size = 10000;
        if (parameters.containsKey("~size")) {
            Optional<String> maxSize = parameters.get("~size").stream().max((o1, o2) -> {
                return Integer.valueOf(o1).compareTo(Integer.valueOf(o2));
            });
            if (maxSize.isPresent()) {
                size = Integer.valueOf(maxSize.get());
            }

        }
        final SearchResponse response = client.prepareSearch("properties").setTypes("property")
                .setQuery(new MatchAllQueryBuilder()).setSize(size).execute().actionGet();
        StreamingOutput stream = new StreamingOutput() {
            @Override
            public void write(OutputStream os) throws IOException, WebApplicationException {
                JsonGenerator jg = mapper.getFactory().createGenerator(os, JsonEncoding.UTF8);
                jg.writeStartArray();
                if (response != null) {
                    for (SearchHit hit : response.getHits()) {
                        jg.writeObject(mapper.readValue(hit.source(), XmlProperty.class));
                    }
                }
                jg.writeEndArray();
                jg.flush();
                jg.close();
            }
        };
        Response r = Response.ok(stream).build();
        audit.info(user + "|" + uriInfo.getPath() + "|GET|OK|" + r.getStatus() + "|returns "
                + response.getHits().getTotalHits() + " properties");
        return r;
    } catch (Exception e) {
        return handleException(user, "GET", Response.Status.INTERNAL_SERVER_ERROR, e);
    } finally {
        client.close();
    }
}

From source file:org.pentaho.metaverse.impl.model.kettle.json.AbstractStepMetaJsonSerializer.java

protected void writeFieldTransforms(T meta, JsonGenerator json, SerializerProvider serializerProvider)
        throws IOException, JsonGenerationException {

    json.writeArrayFieldStart(JSON_PROPERTY_TRANSFORMS);

    IFieldLineageMetadataProvider mapper = getFieldLineageMetadataProvider(meta);
    try {/*from w w  w. j  av  a  2 s .co  m*/
        Set<ComponentDerivationRecord> changes = mapper.getChangeRecords(meta);
        if (changes != null) {
            for (ComponentDerivationRecord change : changes) {
                if (change.hasDelta()) {
                    json.writeObject(change);
                }
            }
        }
    } catch (MetaverseAnalyzerException e) {
        LOGGER.warn(Messages.getString("WARNING.Serialization.Step.WriteFieldTransforms",
                meta.getParentStepMeta().getName()), e);
    }

    json.writeEndArray();

}

From source file:com.ntsync.shared.RawContact.java

private static void writeList(StringBuilder hashValue, JsonGenerator g, String key,
        List<? extends IListRawData<?>> list, boolean hashRel) throws IOException {
    if (list != null) {
        g.writeArrayFieldStart(key);/*from  w w w . j a  v a2s .  co m*/
        for (IListRawData<?> listItem : list) {
            g.writeStartObject();
            writeField(g, ContactConstants.DATA, listItem.getData());
            g.writeStringField(ContactConstants.TYPE, String.valueOf(listItem.getType().getVal()));
            writeField(g, ContactConstants.LABEL, listItem.getLabel());
            if (listItem.isSuperPrimary()) {
                g.writeBooleanField(ContactConstants.SUPERPRIMARY, true);
            }
            if (listItem.isPrimary()) {
                g.writeBooleanField(ContactConstants.PRIMARY, true);
            }
            g.writeEndObject();

            if (hashRel) {
                hashValue.append(listItem.getData());
                hashValue.append(':');
                hashValue.append(listItem.getType().getVal());
            }
        }
        g.writeEndArray();
    }
}