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