List of usage examples for com.fasterxml.jackson.core JsonGenerator writeStartObject
public abstract void writeStartObject() throws IOException, JsonGenerationException;
From source file:com.googlecode.jmxtrans.model.output.LibratoWriter.java
private void serialize(Server server, Query query, List<Result> results, OutputStream outputStream) throws IOException { JsonGenerator g = jsonFactory.createGenerator(outputStream, JsonEncoding.UTF8); g.writeStartObject(); g.writeArrayFieldStart("counters"); g.writeEndArray();/*from w ww. j a v a 2s . c o m*/ String source = getSource(server); g.writeArrayFieldStart("gauges"); List<String> typeNames = getTypeNames(); for (Result result : results) { Map<String, Object> resultValues = result.getValues(); for (Map.Entry<String, Object> values : resultValues.entrySet()) { if (isNumeric(values.getValue())) { g.writeStartObject(); g.writeStringField("name", KeyUtils.getKeyString(query, result, values, typeNames)); if (source != null && !source.isEmpty()) { g.writeStringField("source", source); } g.writeNumberField("measure_time", TimeUnit.SECONDS.convert(result.getEpoch(), TimeUnit.MILLISECONDS)); Object value = values.getValue(); if (value instanceof Integer) { g.writeNumberField("value", (Integer) value); } else if (value instanceof Long) { g.writeNumberField("value", (Long) value); } else if (value instanceof Float) { g.writeNumberField("value", (Float) value); } else if (value instanceof Double) { g.writeNumberField("value", (Double) value); } g.writeEndObject(); } } } g.writeEndArray(); g.writeEndObject(); g.flush(); g.close(); }
From source file:org.lable.rfc3881.auditlogger.serialization.ReferenceableSerializer.java
@Override public void serialize(Referenceable value, JsonGenerator generator, SerializerProvider provider) throws IOException { // Serialize CodeReference instead of whatever is backing Referenceable, to prevent the default serializer from // using the name of an enum implementing Referenceable. if (value instanceof CodeReference) { generator.writeStartObject(); writeField(generator, provider, "cs", ((CodeReference) value).getCodeSystem()); writeField(generator, provider, "code", ((CodeReference) value).getCode()); writeField(generator, provider, "csn", ((CodeReference) value).getCodeSystemName()); writeField(generator, provider, "dn", ((CodeReference) value).getDisplayName()); writeField(generator, provider, "ot", ((CodeReference) value).getOriginalText()); generator.writeEndObject();/*from w w w.j ava 2s . c o m*/ } else { provider.defaultSerializeValue(value.toCodeReference(), generator); } }
From source file:com.medvision360.medrecord.pv.PVSerializer.java
@Override public void serialize(Locatable locatable, OutputStream os, String encoding) throws IOException, SerializeException { final JsonGenerator jg = getJsonGenerator(os, encoding); // I feel like not putting the archetype in the path makes things a lot easier // String prefix = "[" + archetypeIdString + "]/"; String prefix = "/"; SerializeVisitor visitor = new PVSerializeVisitor(jg); jg.writeStartObject(); try {// www.j a va2 s . c om walk(locatable, visitor, prefix); } catch (InvocationTargetException e) { throw new SerializeException("Problem walking the RM object model", e); } catch (IllegalAccessException e) { throw new SerializeException("Problem walking the RM object model", e); } jg.writeEndObject(); jg.close(); }
From source file:org.n52.ar.layar.LayarResponse.java
/** * //w w w. ja v a 2 s . c om * "hotspots": [{ * * "id": "test_1", * * "anchor": { "geolocation": { "lat": 52.3729, "lon": 4.93 } }, * * "text": { "title": "The Layar Office", "description": "The Location of the Layar Office", "footnote": * "Powered by Layar" }, * * "imageURL": "http:\/\/custom.layar.nl\/layarimage.jpeg", } * * ] * * See http://layar.com/documentation/browser/api/getpois-response/hotspots/ * * @param generator * @param hotspots2 * @throws IOException * @throws JsonGenerationException */ private void createHotspots(JsonGenerator generator) throws JsonGenerationException, IOException { generator.writeFieldName("hotspots"); generator.writeStartArray(); for (Hotspot poi : this.hotspots) { generator.writeStartObject(); generator.writeStringField("id", poi.id); // generator.writeFieldName("actions"); // generator.writeStartArray(); // if (layarPOI.actions != null) { // for (final LayarAction layarAction : layarPOI.actions) { // layarAction.toJSON(generator); // } // } // generator.writeEndArray(); generator.writeObjectFieldStart("anchor"); generator.writeObjectFieldStart("geolocation"); generator.writeNumberField("lat", poi.lat); generator.writeNumberField("lon", poi.lon); generator.writeNumberField("alt", poi.alt); generator.writeEndObject(); generator.writeEndObject(); // generator.writeNumberField("distance", layarPOI.distance); // generator.writeNumberField("type", layarPOI.type); // generator.writeStringField("title", layarPOI.title); generator.writeObjectFieldStart("text"); generator.writeStringField("title", poi.title); generator.writeStringField("description", poi.description); generator.writeStringField("footnote", "Service URL: ..."); generator.writeEndObject(); generator.writeStringField("attribution", poi.attribution); if (poi.imageURL != null) { generator.writeStringField("imageURL", poi.imageURL.toString()); } else { generator.writeNullField("imageURL"); } generator.writeEndObject(); } generator.writeEndArray(); }
From source file:com.predic8.membrane.core.interceptor.authentication.session.TelekomSMSTokenProvider.java
@Override protected void sendSMS(String text, String recipientNumber) { recipientNumber = recipientNumber.replaceAll("^00", "\\+"); try {/*from w w w . j a v a 2 s .c om*/ ByteArrayOutputStream baos = new ByteArrayOutputStream(); JsonFactory jsonFactory = new JsonFactory(); JsonGenerator jg = jsonFactory.createGenerator(baos, JsonEncoding.UTF8); jg.writeStartObject(); jg.writeObjectFieldStart("outboundSMSMessageRequest"); jg.writeArrayFieldStart("address"); jg.writeString("tel:" + recipientNumber); jg.writeEndArray(); jg.writeStringField("senderAddress", senderAddress); jg.writeObjectFieldStart("outboundSMSTextMessage"); jg.writeStringField("message", text); jg.writeEndObject(); jg.writeStringField("outboundEncoding", "7bitGSM"); jg.writeStringField("clientCorrelator", "" + ((long) (Math.random() * Long.MAX_VALUE))); if (senderName != null) jg.writeStringField("senderName", senderName); jg.writeEndObject(); jg.writeEndObject(); jg.close(); Exchange exc = new Request.Builder() .post("https://gateway.developer.telekom.com/plone/sms/rest/" + environment.name().toLowerCase() + "/smsmessaging/v1/outbound/" + URLEncoder.encode(senderAddress, "UTF-8") + "/requests") .header("Host", "gateway.developer.telekom.com") .header("Authorization", "OAuth realm=\"developergarden.com\",oauth_token=\"" + getAccessToken() + "\"") .header("Accept", "application/json").header("Content-Type", "application/json") .body(baos.toByteArray()).buildExchange(); exc.setRule(new NullRule() { @Override public SSLProvider getSslOutboundContext() { return new SSLContext(new SSLParser(), new ResolverMap(), null); } }); hc.call(exc, false, true); if (exc.getResponse().getStatusCode() != 201) throw new RuntimeException("Could not send SMS: " + exc.getResponse()); log.debug("sent SMS to " + recipientNumber); } catch (Exception e2) { throw new RuntimeException(e2); } }
From source file:org.createnet.raptor.models.objects.serializer.RecordSetSerializer.java
@Override public void serialize(RecordSet r, JsonGenerator jg, SerializerProvider sp) throws IOException { final Stream stream = r.getStream(); ServiceObject obj = null;// w ww . ja v a 2 s. c o m if (stream != null) { obj = stream.getServiceObject(); } jg.writeStartObject(); jg.writeObjectFieldStart("channels"); for (Map.Entry<String, IRecord> item : r.channels.entrySet()) { String channelName = item.getKey(); IRecord channel = item.getValue(); // enforce stream schema if available if (r.getStream() != null) { if (!r.getStream().channels.containsKey(channelName)) { // skip unmanaged field return; } } if (channel == null) { continue; } if (channel.getValue() == null) { continue; } jg.writeObjectField(channelName, channel.getValue()); // jg.writeObjectFieldStart(channelName); // jg.writeObjectField("current-value", channel.getValue()); // jg.writeEndObject(); } jg.writeEndObject(); jg.writeNumberField("timestamp", r.getTimestampTime()); // try to get a value if (r.userId == null && obj != null) { r.userId = obj.userId; } if (r.userId != null) { jg.writeStringField("userId", r.userId); } // try to get a value if (r.objectId == null && obj != null) { r.objectId = obj.id; } if (r.objectId != null) { jg.writeStringField("objectId", r.objectId); } // try to get a value if (r.streamId == null && stream != null) { r.streamId = stream.name; } if (r.streamId != null) { jg.writeStringField("streamId", r.streamId); } jg.writeEndObject(); }
From source file:com.msopentech.odatajclient.engine.data.json.JSONEntrySerializer.java
@Override protected void doSerializeV3(AbstractJSONEntry<AbstractLinkResource<?, ?>> entry, JsonGenerator jgen, SerializerProvider provider) throws IOException, JsonProcessingException { jgen.writeStartObject(); if (entry.getMetadata() != null) { jgen.writeStringField(ODataConstants.JSON_METADATA, entry.getMetadata().toASCIIString()); }// w ww . java2s.co m if (StringUtils.isNotBlank(entry.getType())) { jgen.writeStringField(ODataConstants.JSON_TYPE, entry.getType()); } if (entry.getId() != null) { jgen.writeStringField(ODataConstants.JSON_ID, entry.getId()); } if (entry.getSelfLink() != null) { jgen.writeStringField(ODataConstants.JSON_READ_LINK, entry.getSelfLink().getHref()); } if (entry.getEditLink() != null) { jgen.writeStringField(ODataConstants.JSON_EDIT_LINK, entry.getEditLink().getHref()); } if (entry.getMediaContentSource() != null) { jgen.writeStringField(ODataConstants.JSON_MEDIAREAD_LINK, entry.getMediaContentSource()); } if (entry.getMediaContentType() != null) { jgen.writeStringField(ODataConstants.JSON_MEDIA_CONTENT_TYPE, entry.getMediaContentType()); } final Map<String, List<String>> entitySetLinks = new HashMap<String, List<String>>(); for (AbstractLinkResource link : (List<? extends AbstractLinkResource<?, ?>>) entry.getNavigationLinks()) { if (link.getInlineEntry() != null) { jgen.writeObjectField(link.getTitle(), link.getInlineEntry()); } else if (link.getInlineFeed() != null) { jgen.writeObjectField(link.getTitle(), link.getInlineFeed()); } else { ODataLinkType type = null; try { type = ODataLinkType.fromString(link.getRel(), link.getType()); } catch (IllegalArgumentException e) { // ignore } if (type == ODataLinkType.ENTITY_SET_NAVIGATION) { final List<String> uris; if (entitySetLinks.containsKey(link.getTitle())) { uris = entitySetLinks.get(link.getTitle()); } else { uris = new ArrayList<String>(); entitySetLinks.put(link.getTitle(), uris); } uris.add(link.getHref()); } else { jgen.writeStringField(link.getTitle() + ODataConstants.JSON_BIND_LINK_SUFFIX, link.getHref()); } } } for (Map.Entry<String, List<String>> entitySetLink : entitySetLinks.entrySet()) { jgen.writeArrayFieldStart(entitySetLink.getKey() + ODataConstants.JSON_BIND_LINK_SUFFIX); for (String uri : entitySetLink.getValue()) { jgen.writeString(uri); } jgen.writeEndArray(); } for (AbstractLinkResource link : (List<? extends AbstractLinkResource<?, ?>>) entry.getMediaEditLinks()) { if (link.getTitle() == null) { jgen.writeStringField(ODataConstants.JSON_MEDIAEDIT_LINK, link.getHref()); } if (link.getInlineEntry() != null) { jgen.writeObjectField(link.getTitle(), link.getInlineEntry()); } if (link.getInlineFeed() != null) { jgen.writeObjectField(link.getTitle(), link.getInlineFeed()); } } if (entry.getMediaEntryProperties() == null) { DOMTreeUtils.writeSubtree(client, jgen, entry.getContent()); } else { DOMTreeUtils.writeSubtree(client, jgen, entry.getMediaEntryProperties()); } jgen.writeEndObject(); }
From source file:org.emfjson.jackson.streaming.StreamWriter.java
private void serializeMapEntry(JsonGenerator generator, String key, EReference reference, Object value) throws IOException { generator.writeFieldName(key);/*from w w w. java 2 s .c om*/ generator.writeStartObject(); if (reference.isMany()) { @SuppressWarnings("unchecked") Collection<Map.Entry<String, String>> entries = (Collection<Entry<String, String>>) value; for (Map.Entry<String, String> entry : entries) { generator.writeStringField(entry.getKey(), entry.getValue()); } } else { @SuppressWarnings("unchecked") Map.Entry<String, String> entry = (Entry<String, String>) value; generator.writeStringField(entry.getKey(), entry.getValue()); } generator.writeEndObject(); }
From source file:org.jmxtrans.embedded.output.LibratoWriter.java
public void serialize(@Nonnull Iterable<QueryResult> counters, @Nonnull Iterable<QueryResult> gauges, @Nonnull OutputStream out) throws IOException { JsonGenerator g = jsonFactory.createGenerator(out, JsonEncoding.UTF8); g.writeStartObject(); g.writeArrayFieldStart("counters"); for (QueryResult counter : counters) { g.writeStartObject();/* ww w. jav a2 s . co m*/ g.writeStringField("name", counter.getName()); if (source != null && !source.isEmpty()) { g.writeStringField("source", source); } g.writeNumberField("measure_time", counter.getEpoch(TimeUnit.SECONDS)); if (counter.getValue() instanceof Integer) { g.writeNumberField("value", (Integer) counter.getValue()); } else if (counter.getValue() instanceof Long) { g.writeNumberField("value", (Long) counter.getValue()); } else if (counter.getValue() instanceof Float) { g.writeNumberField("value", (Float) counter.getValue()); } else if (counter.getValue() instanceof Double) { g.writeNumberField("value", (Double) counter.getValue()); } else if (counter.getValue() instanceof AtomicInteger) { g.writeNumberField("value", ((AtomicInteger) counter.getValue()).get()); } else if (counter.getValue() instanceof AtomicLong) { g.writeNumberField("value", ((AtomicLong) counter.getValue()).get()); } g.writeEndObject(); } g.writeEndArray(); g.writeArrayFieldStart("gauges"); for (QueryResult gauge : gauges) { g.writeStartObject(); g.writeStringField("name", gauge.getName()); if (source != null && !source.isEmpty()) { g.writeStringField("source", source); } g.writeNumberField("measure_time", gauge.getEpoch(TimeUnit.SECONDS)); if (gauge.getValue() instanceof Integer) { g.writeNumberField("value", (Integer) gauge.getValue()); } else if (gauge.getValue() instanceof Long) { g.writeNumberField("value", (Long) gauge.getValue()); } else if (gauge.getValue() instanceof Float) { g.writeNumberField("value", (Float) gauge.getValue()); } else if (gauge.getValue() instanceof Double) { g.writeNumberField("value", (Double) gauge.getValue()); } else if (gauge.getValue() instanceof AtomicInteger) { g.writeNumberField("value", ((AtomicInteger) gauge.getValue()).get()); } else if (gauge.getValue() instanceof AtomicLong) { g.writeNumberField("value", ((AtomicLong) gauge.getValue()).get()); } g.writeEndObject(); } g.writeEndArray(); g.writeEndObject(); g.flush(); g.close(); }
From source file:com.attribyte.essem.es.SearchRequest.java
@Override public void generate(final JsonGenerator generator) throws IOException { generator.writeStartObject(); {/*from www .j a v a 2 s .co m*/ if (!retrieveSource) generator.writeBooleanField("_source", false); if (explain) generator.writeBooleanField("explain", true); if (!disablePaging) { generator.writeNumberField("from", start); generator.writeNumberField("size", limit); } if (timeoutSeconds > 0) { generator.writeNumberField("timeout", timeoutSeconds * 1000); } if (sortField != null) generateSort(generator); if (fields != null && fields.size() > 0) generateFields(generator); if (query != null) { generator.writeFieldName("query"); query.generate(generator); } if (sort != null) { sort.generate(generator); } if (aggregations != null && aggregations.size() > 0) { generator.writeObjectFieldStart(Aggregation.AGGREGATION_OBJECT_NAME); for (Aggregation aggregation : aggregations) { aggregation.generate(generator); } generator.writeEndObject(); } } generator.writeEndObject(); }