List of usage examples for com.fasterxml.jackson.core JsonGenerator writeEndArray
public abstract void writeEndArray() throws IOException, JsonGenerationException;
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(); }