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:io.airlift.event.client.JsonEventWriter.java

public <T> void writeEvents(EventClient.EventGenerator<T> events, OutputStream out) throws IOException {
    Preconditions.checkNotNull(events, "events is null");
    Preconditions.checkNotNull(out, "out is null");

    final JsonGenerator jsonGenerator = jsonFactory.createJsonGenerator(out, JsonEncoding.UTF8);

    jsonGenerator.writeStartArray();//from  ww  w  .jav  a 2 s. c om

    events.generate(new EventClient.EventPoster<T>() {
        @Override
        public void post(T event) throws IOException {
            JsonSerializer<T> serializer = getSerializer(event);
            if (serializer == null) {
                throw new InvalidEventException("Event class [%s] has not been registered as an event",
                        event.getClass().getName());
            }

            serializer.serialize(event, jsonGenerator, null);
        }
    });

    jsonGenerator.writeEndArray();
    jsonGenerator.flush();
}

From source file:org.eclipse.winery.repository.resources.entitytypes.nodetypes.ImplementationsOfOneNodeTypeResource.java

/**
 * required by implementations.jsp/*from w w  w  .  j a v a  2s  . c om*/
 *
 * @return for each node type implementation implementing the associated
 *         node type
 */
@Override
public String getImplementationsTableData() {
    String res;
    JsonFactory jsonFactory = new JsonFactory();
    StringWriter tableDataSW = new StringWriter();
    try {
        JsonGenerator jGenerator = jsonFactory.createGenerator(tableDataSW);
        jGenerator.writeStartArray();

        Collection<NodeTypeImplementationId> allNodeTypeImplementations = BackendUtils
                .getAllElementsRelatedWithATypeAttribute(NodeTypeImplementationId.class,
                        this.getTypeId().getQName());
        for (NodeTypeImplementationId ntiID : allNodeTypeImplementations) {
            jGenerator.writeStartArray();
            jGenerator.writeString(ntiID.getNamespace().getDecoded());
            jGenerator.writeString(ntiID.getXmlId().getDecoded());
            jGenerator.writeEndArray();
        }
        jGenerator.writeEndArray();
        jGenerator.close();
        tableDataSW.close();
        res = tableDataSW.toString();
    } catch (Exception e) {
        ImplementationsOfOneNodeTypeResource.LOGGER.error(e.getMessage(), e);
        res = "[]";
    }
    return res;
}

From source file:org.h2gis.drivers.geojson.GeoJsonWriteDriver.java

/**
 * Write coordinate positions./*ww  w . j a  va 2s .  co m*/
 *
 * @param coordinate
 * @param gen
 * @throws IOException
 */
private void writeCoordinate(Coordinate coordinate, JsonGenerator gen) throws IOException {
    gen.writeStartArray();
    gen.writeNumber(coordinate.x);
    gen.writeNumber(coordinate.y);
    if (!Double.isNaN(coordinate.z)) {
        gen.writeNumber(coordinate.z);
    }
    gen.writeEndArray();
}

From source file:com.google.openrtb.json.OpenRtbNativeJsonWriter.java

protected void writeNativeResponseFields(NativeResponse resp, JsonGenerator gen) throws IOException {
    if (resp.hasVer()) {
        gen.writeStringField("ver", resp.getVer());
    }//  ww  w .  j a va2s.  co  m
    if (resp.getAssetsCount() != 0) {
        gen.writeArrayFieldStart("assets");
        for (NativeResponse.Asset asset : resp.getAssetsList()) {
            writeRespAsset(asset, gen);
        }
        gen.writeEndArray();
    }
    gen.writeFieldName("link");
    writeRespLink(resp.getLink(), gen);
    writeStrings("imptrackers", resp.getImptrackersList(), gen);
    if (resp.hasJstracker()) {
        gen.writeStringField("jstracker", resp.getJstracker());
    }
}

From source file:com.basho.riak.client.query.MapReduce.java

/**
 * Creates the JSON string of the M/R job for submitting to the
 * {@link RawClient}//from   www  . j  a  v  a 2 s .  c om
 * 
 * Uses Jackson to write out the JSON string. I'm not very happy with this
 * method, it is a candidate for change.
 * 
 * TODO re-evaluate this method, look for something smaller and more elegant.
 * 
 * @return a String of JSON
 * @throws RiakException
 *             if, for some reason, we can't create a JSON string.
 */
private String writeSpec() throws RiakException {

    final ByteArrayOutputStream out = new ByteArrayOutputStream();

    try {
        JsonGenerator jg = new JsonFactory().createJsonGenerator(out, JsonEncoding.UTF8);
        jg.setCodec(new ObjectMapper());

        jg.writeStartObject();

        jg.writeFieldName("inputs");
        writeInput(jg);

        jg.writeFieldName("query");
        jg.writeStartArray();

        writePhases(jg);

        jg.writeEndArray();
        if (timeout != null) {
            jg.writeNumberField("timeout", timeout);
        }

        jg.writeEndObject();
        jg.flush();

        return out.toString("UTF8");
    } catch (IOException e) {
        throw new RiakException(e);
    }
}

From source file:com.mattjbishop.halapino.LinkSerializer.java

private void writeOutLinks(Map<String, List<Link>> links, JsonGenerator jgen)
        throws IOException, JsonProcessingException {
    for (Map.Entry<String, List<Link>> entry : links.entrySet()) {
        if (entry.getValue().size() == 1) // Write single link
        {/*from  w  ww . j a v a2s .c om*/
            Link link = entry.getValue().iterator().next();
            reconcileTemplated(link);
            jgen.writeObjectField(entry.getKey(), link);
        } else // Write link array
        {
            jgen.writeArrayFieldStart(entry.getKey());

            for (Link link : entry.getValue()) {
                reconcileTemplated(link);
                jgen.writeObject(link);
            }

            jgen.writeEndArray();
        }

    }

}

From source file:org.bndtools.rt.repository.server.RepositoryResourceComponent.java

@GET
@Path("bundles")
@Produces(MediaType.APPLICATION_JSON)//from w ww . ja  va2 s.  c  o  m
public Response listBundles(@Context UriInfo uriInfo) throws Exception {
    MultivaluedMap<String, String> queryParams = uriInfo.getQueryParameters();
    List<String> patterns = queryParams.get("pattern");
    if (patterns == null || patterns.isEmpty())
        return Response.status(Status.BAD_REQUEST).entity("Bundle listing requires 'pattern' query parameter.")
                .build();

    UriBuilder uriBuilder = uriInfo.getAbsolutePathBuilder().path("{bsn}");
    StringWriter writer = new StringWriter();
    JsonGenerator generator = jsonFactory.createJsonGenerator(writer);
    generator.writeStartArray();

    for (String pattern : patterns) {
        List<String> list = repo.list(pattern);
        for (String bsn : list) {
            generator.writeStartObject();
            generator.writeStringField("bsn", bsn);
            generator.writeStringField("href", uriBuilder.build(bsn).toString());
            generator.writeEndObject();
        }
    }
    generator.writeEndArray();
    generator.close();

    return Response.ok(writer.toString(), MediaType.APPLICATION_JSON).build();
}

From source file:com.github.aptd.simulation.elements.train.CTrain.java

@Override
protected void writeState(final JsonGenerator p_generator) throws IOException {
    p_generator.writeStringField("state", m_state.name());
    p_generator.writeNumberField("ttindex", m_ttindex);
    p_generator.writeNumberField("positionontrack", m_positionontrack);
    p_generator.writeArrayFieldStart("doorsclosedlocked");
    for (final IDoor<?> l_door : m_doorsclosedlocked)
        p_generator.writeString(l_door.id());
    p_generator.writeEndArray();
    p_generator.writeArrayFieldStart("doorsnotclosedlocked");
    for (final IDoor<?> l_door : m_doorsnotclosedlocked)
        p_generator.writeString(l_door.id());
    p_generator.writeEndArray();/*from w  ww. j av a2s  .  co  m*/
    p_generator.writeArrayFieldStart("passengers");
    for (final IPassenger<?> l_passenger : m_passengers)
        p_generator.writeString(l_passenger.id());
    p_generator.writeEndArray();
}

From source file:org.neo4j.ontology.server.unmanaged.AnnotationResource.java

private void writeJsonNodeObjectParents(JsonGenerator jg, Node term, Label annotationLabel) throws IOException {
    jg.writeFieldName("parents"); // parents:
    jg.writeStartArray(); // [
    for (Relationship subClassOf : term.getRelationships(SUBCLASS_OF, OUTGOING)) {
        if (subClassOf.getEndNode().hasLabel(annotationLabel)) {
            jg.writeString(subClassOf.getEndNode().getProperty("uri").toString());
        }/*from  w  w w .  java  2s  .com*/
    }
    jg.writeEndArray(); // ]
}

From source file:org.solmix.datax.wmix.serializer.DSResponseSerializer.java

@Override
public void serialize(ResultObject response, JsonGenerator jgen, SerializerProvider provider)
        throws IOException, JsonProcessingException {
    if (response.isDSResponse()) {
        jgen.writeStartObject();//from ww  w . jav a  2 s  .com
        jgen.writeFieldName(RESPONSE);
        serialize((DSResponse) response.getReal(), jgen, provider);
        jgen.writeEndObject();
    } else if (response.isDSResponseList()) {
        List<DSResponse> res = (List<DSResponse>) response.getReal();
        jgen.writeStartObject();
        jgen.writeArrayFieldStart(RESPONSES);
        for (DSResponse re : res) {
            serialize(re, jgen, provider);
        }
        jgen.writeEndArray();
        jgen.writeEndObject();

    } else {
        jgen.writeObject(response.getReal());
    }

}