Example usage for com.fasterxml.jackson.core JsonGenerator writeStartObject

List of usage examples for com.fasterxml.jackson.core JsonGenerator writeStartObject

Introduction

In this page you can find the example usage for com.fasterxml.jackson.core JsonGenerator writeStartObject.

Prototype

public abstract void writeStartObject() throws IOException, JsonGenerationException;

Source Link

Document

Method for writing starting marker of a JSON Object value (character '{'; plus possible white space decoration if pretty-printing is enabled).

Usage

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();
}