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:org.solmix.datax.wmix.serializer.DataServiceInfoSerializer.java

/**
 * {@inheritDoc}//from w w w .  j  av  a  2  s .c om
 * 
 * @see com.fasterxml.jackson.databind.JsonSerializer#serialize(java.lang.Object, com.fasterxml.jackson.core.JsonGenerator, com.fasterxml.jackson.databind.SerializerProvider)
 */
@Override
public void serialize(DataServiceInfo value, JsonGenerator jgen, SerializerProvider provider)
        throws IOException, JsonProcessingException {
    jgen.writeStartObject();
    jgen.writeStringField("ID", value.getId());
    //        jgen.writeStringField("recordXPath", "/data");
    jgen.writeStringField("dataFormat", "json");
    jgen.writeBooleanField("clientOnly", false);
    List<FieldInfo> fields = value.getFields();
    if (DataUtils.isNotNullAndEmpty(fields)) {
        jgen.writeFieldName("fields");
        jgen.writeStartArray();

        for (FieldInfo f : fields) {
            jgen.writeObject(convertFiledToMap(f));

        }
        jgen.writeEndArray();
    }
    Collection<OperationInfo> operations = value.getOperations();
    if (operations != null) {
        Iterator<OperationInfo> it = operations.iterator();
        jgen.writeFieldName("operationBindings");
        jgen.writeStartArray();
        while (it.hasNext()) {
            OperationInfo oi = it.next();
            jgen.writeStartObject();
            jgen.writeStringField("operationType", oi.getType().value());
            jgen.writeStringField("operationId", oi.getId());
            jgen.writeEndObject();
        }
        jgen.writeEndArray();
    }
    jgen.writeEndObject();
}

From source file:io.gravitee.definition.jackson.datatype.services.healthcheck.ser.RequestSerializer.java

@Override
public void serialize(Request request, JsonGenerator jgen, SerializerProvider provider) throws IOException {
    jgen.writeStartObject();/*from  w w w.  ja  v a 2 s.  com*/
    jgen.writeStringField("uri", request.getUri());
    jgen.writeStringField("method", request.getMethod().name());

    if (request.getHeaders() != null && !request.getHeaders().isEmpty()) {
        jgen.writeArrayFieldStart("headers");

        request.getHeaders().forEach(httpHeader -> {
            try {
                jgen.writeStartObject();
                jgen.writeStringField("name", httpHeader.getName());
                jgen.writeStringField("value", httpHeader.getValue());
                jgen.writeEndObject();
            } catch (IOException e) {
                e.printStackTrace();
            }
        });
        jgen.writeEndArray();
    }
    if (request.getBody() != null && !request.getBody().isEmpty()) {
        jgen.writeStringField("body", request.getBody());
    }
    jgen.writeEndObject();
}

From source file:io.mesosphere.mesos.frameworks.cassandra.scheduler.api.LiveEndpointsController.java

private Response liveEndpoints(final String forTool, final int limit) {
    final List<CassandraFrameworkProtos.CassandraNode> liveNodes = cluster.liveNodes(limit);

    if (liveNodes.isEmpty()) {
        return Response.status(400).build();
    }/* www . ja  v  a 2  s .c om*/

    final CassandraFrameworkProtos.CassandraFrameworkConfiguration configuration = cluster.getConfiguration()
            .get();

    final int nativePort = CassandraCluster.getPortMapping(configuration, CassandraCluster.PORT_NATIVE);
    final int rpcPort = CassandraCluster.getPortMapping(configuration, CassandraCluster.PORT_RPC);
    final int jmxPort = CassandraCluster.getPortMapping(configuration, CassandraCluster.PORT_JMX);

    final CassandraFrameworkProtos.CassandraNode first = liveNodes.get(0);

    try {
        switch (forTool) {
        case "cqlsh":
            // return a string: "HOST PORT"
            return Response.ok(first.getIp() + ' ' + nativePort).build();
        case "stress":
            // cassandra-stress options:
            // -node NODE1,NODE2,...
            // -port [native=NATIVE_PORT] [thrift=THRIFT_PORT] [jmx=JMX_PORT]
            final StringBuilder sb = new StringBuilder();
            sb.append("-node ");
            for (int i = 0; i < liveNodes.size(); i++) {
                if (i > 0) {
                    sb.append(',');
                }
                sb.append(liveNodes.get(i).getIp());
            }
            sb.append(" -port native=").append(nativePort).append(" thrift=").append(rpcPort).append(" jmx=")
                    .append(jmxPort);
            return Response.ok(sb.toString()).build();
        case "nodetool":
            // nodetool options:
            // -h HOST
            // -p JMX_PORT
            return Response
                    .ok("-h " + first.getJmxConnect().getIp() + " -p " + first.getJmxConnect().getJmxPort())
                    .build();
        case "json":
            // produce a simple JSON with the native port and live node IPs
            return JaxRsUtils.buildStreamingResponse(factory, new StreamingJsonResponse() {
                @Override
                public void write(final JsonGenerator json) throws IOException {
                    json.writeStringField("clusterName", configuration.getFrameworkName());
                    json.writeNumberField("nativePort", nativePort);
                    json.writeNumberField("rpcPort", rpcPort);
                    json.writeNumberField("jmxPort", jmxPort);

                    json.writeArrayFieldStart("liveNodes");
                    for (final CassandraFrameworkProtos.CassandraNode liveNode : liveNodes) {
                        json.writeString(liveNode.getIp());
                    }
                    json.writeEndArray();
                }
            });
        case "text":
            // produce a simple text with the native port in the first line and one line per live node IP
            return JaxRsUtils.buildStreamingResponse(Response.Status.OK, "text/plain",
                    new StreamingTextResponse() {
                        @Override
                        public void write(final PrintWriter pw) {
                            pw.println("NATIVE: " + nativePort);
                            pw.println("RPC: " + rpcPort);
                            pw.println("JMX: " + jmxPort);
                            for (final CassandraFrameworkProtos.CassandraNode liveNode : liveNodes) {
                                pw.println("IP: " + liveNode.getIp());
                            }
                        }
                    });
        }

        return Response.status(404).build();
    } catch (final Exception e) {
        LOGGER.error("Failed to all nodes list", e);
        return Response.serverError().build();
    }
}

From source file:models.ProcessSerializer.java

@Override
public void serialize(Process process, JsonGenerator jgen, SerializerProvider provider) throws IOException {
    jgen.writeStartObject();/*from   w w  w .  j a va  2s.co  m*/
    jgen.writeStringField("id", process.getId());
    jgen.writeFieldName("unit");
    jgen.writeObject(process.getUnit());
    jgen.writeFieldName("keywords");
    jgen.writeObject(process.getKeywords());

    jgen.writeFieldName("groups");
    jgen.writeStartArray();
    for (Group group : process.getGroups()) {
        jgen.writeStartObject();
        jgen.writeStringField("id", group.getId());
        jgen.writeStringField("label", group.getLabel());
        jgen.writeEndObject();
    }
    jgen.writeEndArray();

    jgen.writeFieldName("relations");
    jgen.writeStartArray();
    for (DerivedRelation relation : process.getUpstreamDerivedRelations()) {
        jgen.writeObject(relation);
    }
    for (DerivedRelation relation : process.getDownstreamDerivedRelations()) {
        jgen.writeObject(relation);
    }
    jgen.writeEndArray();

    jgen.writeFieldName("impacts");
    jgen.writeStartObject();
    for (Impact impact : process.getImpacts().values()) {
        jgen.writeFieldName(impact.getType().getId());
        jgen.writeStartObject();
        jgen.writeFieldName("value");
        jgen.writeObject(impact.getValue());
        jgen.writeFieldName("upstream");
        jgen.writeObject(getUpstreamImpacts(process, impact));
        jgen.writeFieldName("composition");
        jgen.writeObject(getImpactComposition(process, impact));
        jgen.writeEndObject();
    }
    jgen.writeEndObject();

    jgen.writeFieldName("flows");
    jgen.writeStartObject();
    for (ElementaryFlow flow : process.getCalculatedFlows().values()) {
        jgen.writeFieldName(flow.getType().getId());
        jgen.writeStartObject();
        jgen.writeFieldName("value");
        jgen.writeObject(flow.getValue());
        jgen.writeFieldName("upstream");
        jgen.writeObject(getUpstreamFlows(process, flow));
        jgen.writeEndObject();
    }
    jgen.writeEndObject();

    jgen.writeEndObject();
}

From source file:com.cloudera.exhibit.server.json.ExhibitSerializer.java

@Override
public void serialize(Exhibit exhibit, JsonGenerator gen, SerializerProvider provider) throws IOException {
    ExhibitDescriptor desc = exhibit.descriptor();
    // start object
    gen.writeStartObject();//from w w  w  .  j a  va2s  .c o m

    // Write attrs
    gen.writeObjectFieldStart("attrs");
    serializeObs(exhibit.attributes(), exhibit.attributes().descriptor(), gen);
    gen.writeEndObject();

    // Write frame column names
    gen.writeObjectFieldStart("columns");
    for (Map.Entry<String, ObsDescriptor> fd : desc.frames().entrySet()) {
        gen.writeArrayFieldStart(fd.getKey());
        for (ObsDescriptor.Field f : fd.getValue()) {
            // TODO: type info?
            gen.writeString(f.name);
        }
        gen.writeEndArray();
    }
    gen.writeEndObject();

    // Write frame obs
    gen.writeObjectFieldStart("frames");
    for (Map.Entry<String, ObsDescriptor> fd : desc.frames().entrySet()) {
        gen.writeArrayFieldStart(fd.getKey());
        ObsDescriptor od = fd.getValue();
        for (Obs obs : exhibit.frames().get(fd.getKey())) {
            gen.writeStartArray();
            serializeObsArray(obs, fd.getValue(), gen);
            gen.writeEndArray();
        }
        gen.writeEndArray();
    }
    gen.writeEndObject();

    // finish object
    gen.writeEndObject();
}

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

private void writeJsonNodeObject(JsonGenerator jg, Node term, Label annotationLabel) throws IOException {
    jg.writeStartObject(); // {
    jg.writeStringField("uri", term.getProperty("uri").toString()); // uri: "http://www.w3.org/2002/07/owl#Thing"
    jg.writeStringField("ontId", term.getProperty("name").toString()); // ontId: "OWL:Thing"
    jg.writeStringField("label", term.getProperty("rdfs:label", term.getProperty("name")).toString()); // ontId: "OWL:Thing"
    jg.writeFieldName("dataSets"); // dataSets:
    jg.writeStartArray(); // [
    jg.writeEndArray(); // ]
    writeJsonNodeObjectParents(jg, term, annotationLabel);
    jg.writeEndObject(); // }
}

From source file:org.teiid.olingo.TeiidODataJsonSerializer.java

public SerializerResult complexCollection(final ServiceMetadata metadata, final EdmComplexType type,
        final Property result, final ContextURL contextURL, final URI nextLink) throws SerializerException {
    CircleStreamBuffer buffer = new CircleStreamBuffer();
    try {// w ww. j a  v a 2s .c om
        JsonGenerator json = new JsonFactory().createGenerator(buffer.getOutputStream());
        json.writeStartObject();

        if (contextURL != null && (isODataMetadataFull || !isODataMetadataNone)) {
            json.writeStringField(Constants.JSON_CONTEXT, ContextURLBuilder.create(contextURL).toASCIIString());
        }
        json.writeFieldName(Constants.VALUE);
        json.writeStartArray();
        for (Object value : result.asCollection()) {
            json.writeStartObject();
            writeComplexValue(metadata, type, ((ComplexValue) value).getValue(), null, json, null,
                    (ComplexValue) value, null, result.getName());
            json.writeEndObject();
        }
        json.writeEndArray();

        if (nextLink != null) {
            json.writeStringField(Constants.JSON_NEXT_LINK, nextLink.toASCIIString());
        }

        json.close();
    } catch (final IOException e) {
        throw new SerializerException("An I/O exception occurred.", e,
                SerializerException.MessageKeys.IO_EXCEPTION);
    }
    return SerializerResultImpl.with().content(buffer.getInputStream()).build();
}

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

/**
 * Coordinates of a Polygon are an array of LinearRing coordinate arrays.
 * The first element in the array represents the exterior ring. Any
 * subsequent elements represent interior rings (or holes).
 *
 * No holes:/*from  www.  j ava 2  s  .  co  m*/
 *
 * { "type": "Polygon", "coordinates": [ [ [100.0, 0.0], [101.0, 0.0],
 * [101.0, 1.0], [100.0, 1.0], [100.0, 0.0] ] ] }
 *
 * With holes:
 *
 * { "type": "Polygon", "coordinates": [ [ [100.0, 0.0], [101.0, 0.0],
 * [101.0, 1.0], [100.0, 1.0], [100.0, 0.0] ], [ [100.2, 0.2], [100.8, 0.2],
 * [100.8, 0.8], [100.2, 0.8], [100.2, 0.2] ] ] }
 *
 * @param geom
 * @param gen
 * @throws IOException
 */
private void write(Polygon geom, JsonGenerator gen) throws IOException {
    gen.writeStringField("type", "Polygon");
    gen.writeFieldName("coordinates");
    gen.writeStartArray();
    writeCoordinates(geom.getExteriorRing().getCoordinates(), gen);
    for (int i = 0; i < geom.getNumInteriorRing(); ++i) {
        writeCoordinates(geom.getInteriorRingN(i).getCoordinates(), gen);
    }
    gen.writeEndArray();
}

From source file:com.proofpoint.event.client.JsonEventWriter.java

public <T> Writer createEventWriter(final Iterator<T> eventIterator, final String token, final OutputStream out)
        throws IOException {
    checkNotNull(eventIterator, "eventIterator is null");
    checkNotNull(out, "out is null");

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

    jsonGenerator.writeStartArray();/*w ww  .ja  v a  2  s.  c  om*/

    return new Writer() {
        @Override
        public void write() throws Exception {
            if (eventIterator.hasNext()) {
                T event = eventIterator.next();
                JsonSerializer<T> serializer = getSerializer(event, token);
                if (serializer == null) {
                    throw new InvalidEventException("Event class [%s] has not been registered as an event",
                            event.getClass().getName());
                }

                serializer.serialize(event, jsonGenerator, null);
            } else {
                jsonGenerator.writeEndArray();
                jsonGenerator.flush();
                out.close();
            }
        }
    };
}

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

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

    json.writeArrayFieldStart(JSON_PROPERTY_EXTERNAL_RESOURCES);
    JobMeta jobMeta = new JobMeta();
    if (meta.getParentJob() != null && meta.getParentJob().getJobMeta() != null) {
        jobMeta = meta.getParentJob().getJobMeta();
    }/*w  w w.  j av  a2 s  .  c o  m*/
    List<ResourceReference> dependencies = meta.getResourceDependencies(jobMeta);
    for (ResourceReference dependency : dependencies) {
        for (ResourceEntry resourceEntry : dependency.getEntries()) {
            IExternalResourceInfo resourceInfo = ExternalResourceInfoFactory.createResource(resourceEntry);
            json.writeObject(resourceInfo);
        }
    }
    json.writeEndArray();
}