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

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

Introduction

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

Prototype

public final void writeObjectFieldStart(String fieldName) throws IOException, JsonGenerationException 

Source Link

Document

Convenience method for outputting a field entry ("member") (that will contain a JSON Object value), and the START_OBJECT marker.

Usage

From source file:com.greglturnquist.embeddablesdr.SystemDependencySerializer.java

@Override
public void serialize(final SystemDependency systemDependency, JsonGenerator jgen, SerializerProvider provider)
        throws IOException, JsonGenerationException {

    Link link = entityLinks.linkToSingleResource(System.class, systemDependency.getTarget().getId());

    jgen.writeStartObject();//from w  ww .j  av  a  2s .  c  o m
    jgen.writeStringField("description", systemDependency.getDescription());
    jgen.writeObjectFieldStart("_links");
    jgen.writeObjectFieldStart("target");
    jgen.writeStringField("href", link.getHref());
    jgen.writeEndObject();
    jgen.writeEndObject();
    jgen.writeEndObject();
}

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 w  ww .  jav a2s .  co  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:org.springframework.cloud.netflix.hystrix.amqp.HystrixStreamTask.java

private void addServiceData(JsonGenerator json, ServiceInstance localService) throws IOException {
    json.writeObjectFieldStart("origin");
    json.writeStringField("host", localService.getHost());
    json.writeNumberField("port", localService.getPort());
    json.writeStringField("serviceId", localService.getServiceId());
    if (this.properties.isSendId()) {
        json.writeStringField("id", this.context.getId());
    }//from   w w w  .  ja v a  2  s.c  o  m
    json.writeEndObject();
}

From source file:net.logstash.logback.composite.loggingevent.MdcJsonProvider.java

@Override
public void writeTo(JsonGenerator generator, ILoggingEvent event) throws IOException {
    Map<String, String> mdcProperties = event.getMDCPropertyMap();
    if (mdcProperties != null && !mdcProperties.isEmpty()) {
        if (getFieldName() != null) {
            generator.writeObjectFieldStart(getFieldName());
        }//  w  ww.  j a v  a 2s.c  o  m
        if (!includeMdcKeyNames.isEmpty()) {
            mdcProperties = new HashMap<String, String>(mdcProperties);
            mdcProperties.keySet().retainAll(includeMdcKeyNames);
        }
        if (!excludeMdcKeyNames.isEmpty()) {
            mdcProperties = new HashMap<String, String>(mdcProperties);
            mdcProperties.keySet().removeAll(excludeMdcKeyNames);
        }
        JsonWritingUtils.writeMapEntries(generator, mdcProperties);
        if (getFieldName() != null) {
            generator.writeEndObject();
        }
    }
}

From source file:api.controller.ApiDocsController.java

@RequestMapping(method = RequestMethod.GET, headers = "Accept=application/json")
public @ResponseBody String genDocs() throws IOException {
    StringWriter sw = new StringWriter();
    JsonGenerator g = new JsonFactory().createGenerator(sw);
    g.useDefaultPrettyPrinter();/*  www. j a  v  a 2s.  c o  m*/

    g.writeStartObject();
    g.writeStringField("swagger", "2.0");
    g.writeObjectFieldStart("info");
    g.writeStringField("title", "Java, SpringMVC, Jetty, Heroku API example");
    g.writeStringField("description", "Example of simple microservice for API");
    g.writeObjectFieldStart("contact");
    g.writeStringField("name", "zedar");
    g.writeStringField("url", "https://github.com/zedar");
    g.writeEndObject();
    g.writeObjectFieldStart("license");
    g.writeStringField("name", "Creative Commons 4.0 International");
    g.writeStringField("url", "http://creativecommons.org/licenses/by/4.0/");
    g.writeEndObject();
    g.writeStringField("version", "0.0.1");
    g.writeEndObject();
    g.writeStringField("host", "api-springmvc-jetty.herokuapp.com");
    g.writeStringField("basePath", "/api");
    g.writeArrayFieldStart("schemes");
    g.writeString("https");
    g.writeEndArray();
    g.writeObjectFieldStart("paths");
    g.writeObjectFieldStart("/actions");
    g.writeObjectFieldStart("get");
    g.writeArrayFieldStart("tags");
    g.writeString("action");
    g.writeEndArray();
    g.writeStringField("summary", "Find actions with optional query");
    g.writeArrayFieldStart("parameters");
    g.writeStartObject();
    g.writeStringField("name", "query");
    g.writeStringField("in", "query");
    g.writeStringField("type", "string");
    g.writeEndObject();
    g.writeEndArray();
    g.writeObjectFieldStart("responses");
    g.writeObjectFieldStart("200");
    g.writeStringField("description", "Response with list of found actions");
    g.writeObjectFieldStart("schema");
    g.writeStringField("type", "array");
    g.writeObjectFieldStart("items");
    g.writeStringField("$ref", "#/definitions/Action");
    g.writeEndObject();
    g.writeEndObject();
    g.writeEndObject();
    g.writeObjectFieldStart("default");
    g.writeStringField("description", "Unexpected error");
    g.writeObjectFieldStart("schema");
    g.writeStringField("$ref", "#/definitions/Error");
    g.writeEndObject();
    g.writeEndObject();
    g.writeEndObject();
    g.writeEndObject();
    g.writeEndObject();
    g.writeEndObject();
    g.writeObjectFieldStart("definitions");
    g.writeObjectFieldStart("Action");
    g.writeArrayFieldStart("required");
    g.writeString("id");
    g.writeString("name");
    g.writeEndArray();
    g.writeObjectFieldStart("properties");
    g.writeObjectFieldStart("id");
    g.writeStringField("type", "string");
    g.writeEndObject();
    g.writeObjectFieldStart("name");
    g.writeStringField("type", "string");
    g.writeEndObject();
    g.writeObjectFieldStart("description");
    g.writeStringField("type", "string");
    g.writeEndObject();
    g.writeObjectFieldStart("url");
    g.writeStringField("type", "string");
    g.writeEndObject();
    g.writeObjectFieldStart("tags");
    g.writeStringField("type", "string");
    g.writeEndObject();
    g.writeEndObject();
    g.writeEndObject();
    g.writeObjectFieldStart("Error");
    g.writeArrayFieldStart("required");
    g.writeString("code");
    g.writeString("message");
    g.writeEndArray();
    g.writeObjectFieldStart("properties");
    g.writeObjectFieldStart("code");
    g.writeStringField("type", "string");
    g.writeEndObject();
    g.writeObjectFieldStart("message");
    g.writeStringField("type", "string");
    g.writeEndObject();
    g.writeEndObject();
    g.writeEndObject();
    g.writeEndObject();
    g.writeEndObject();

    g.close();
    String out = sw.toString();
    log.debug("API-DOCS:" + out);

    return out;
}

From source file:com.ning.metrics.serialization.event.TestSmileEnvelopeEvent.java

@BeforeTest
public void setUp() throws IOException {
    // Use same configuration as SmileEnvelopeEvent
    final SmileFactory f = new SmileFactory();
    f.configure(SmileGenerator.Feature.CHECK_SHARED_NAMES, true);
    f.configure(SmileGenerator.Feature.CHECK_SHARED_STRING_VALUES, true);
    f.configure(SmileParser.Feature.REQUIRE_HEADER, false);

    final ByteArrayOutputStream stream = new ByteArrayOutputStream();
    final JsonGenerator g = f.createJsonGenerator(stream);

    g.writeStartObject();/*from  w  w w . j  av  a  2 s .c  o  m*/
    g.writeStringField(SmileEnvelopeEvent.SMILE_EVENT_GRANULARITY_TOKEN_NAME, eventGranularity.toString());
    g.writeObjectFieldStart("name");
    g.writeStringField("first", "Joe");
    g.writeStringField("last", "Sixpack");
    g.writeEndObject(); // for field 'name'
    g.writeStringField("gender", "MALE");
    g.writeNumberField(SmileEnvelopeEvent.SMILE_EVENT_DATETIME_TOKEN_NAME, eventDateTime.getMillis());
    g.writeBooleanField("verified", false);
    g.writeEndObject();
    g.close(); // important: will force flushing of output, close underlying output stream

    serializedBytes = stream.toByteArray();
    // one sanity check; should be able to round-trip via String (iff using latin-1!)
    serializedString = stream.toString(SmileEnvelopeEvent.CHARSET.toString());
}

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;/*ww  w  .j a va 2 s. co  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.predic8.membrane.core.interceptor.authentication.session.TelekomSMSTokenProvider.java

@Override
protected void sendSMS(String text, String recipientNumber) {
    recipientNumber = recipientNumber.replaceAll("^00", "\\+");

    try {/*w  w w.  ja  v a  2  s  .  c  o m*/
        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:net.logstash.logback.LogstashAbstractFormatter.java

/**
 * Writes a map as String fields to the generator if and only if the fieldName and values are not null.
 */// www  .  j  a va  2  s  . com
protected void writeMapStringFields(JsonGenerator generator, String fieldName, Map<String, String> map)
        throws IOException, JsonMappingException {
    if (shouldWriteField(fieldName) && map != null && !map.isEmpty()) {
        generator.writeObjectFieldStart(fieldName);
        for (Map.Entry<String, String> entry : map.entrySet()) {
            writeStringField(generator, entry.getKey(), entry.getValue());
        }
        generator.writeEndObject();
    }
}

From source file:com.arpnetworking.logback.serialization.BaseSerializationStrategy.java

/**
 * Complete writing the Steno JSON wrapper.
 *
 * @param event Instance of <code>ILoggingEvent</code>.
 * @param eventName The name of the event.
 * @param contextKeys The <code>List</code> of context keys.
 * @param contextValues The <code>List</code> of context values.
 * @param jsonGenerator <code>JsonGenerator</code> instance.
 * @param objectMapper <code>ObjectMapper</code> instance.
 * @throws IOException If writing JSON fails.
 *///from   w w w.j a  v  a  2 s .co  m
// CHECKSTYLE.OFF: NPathComplexity - Many combinations
protected void endStenoWrapper(final ILoggingEvent event, final String eventName,
        final List<String> contextKeys, final List<Object> contextValues, final JsonGenerator jsonGenerator,
        final ObjectMapper objectMapper) throws IOException {

    jsonGenerator.writeObjectFieldStart("context");
    if (_encoder.isInjectContextHost()) {
        jsonGenerator.writeStringField("host", HOST_CONVERTER.convert(event));
    }
    if (_encoder.isInjectContextProcess()) {
        jsonGenerator.writeStringField("processId", PROCESS_CONVERTER.convert(event));
    }
    if (_encoder.isInjectContextThread()) {
        jsonGenerator.writeStringField("threadId", THREAD_CONVERTER.convert(event));
    }
    if (_encoder.isInjectContextLogger()) {
        if (_encoder.isCompressLoggerName()) {
            jsonGenerator.writeStringField("logger", CONDENSED_LOGGER_CONVERTER.convert(event));
        } else {
            jsonGenerator.writeStringField("logger", LOGGER_CONVERTER.convert(event));
        }
    }
    if (_encoder.isInjectContextFile()) {
        jsonGenerator.writeStringField("file", FILE_CONVERTER.convert(event));
    }
    if (_encoder.isInjectContextClass()) {
        jsonGenerator.writeStringField("class", CLASS_CONVERTER.convert(event));
    }
    if (_encoder.isInjectContextMethod()) {
        jsonGenerator.writeStringField("method", METHOD_CONVERTER.convert(event));
    }
    if (_encoder.isInjectContextLine()) {
        jsonGenerator.writeStringField("line", LINE_CONVERTER.convert(event));
    }
    for (final String key : _encoder.getMdcProperties()) {
        final String value = event.getMDCPropertyMap().get(key);
        jsonGenerator.writeStringField(key, value);
    }
    writeKeyValuePairs(contextKeys, contextValues, jsonGenerator, objectMapper);
    jsonGenerator.writeEndObject(); // End 'context' field
    jsonGenerator.writeObjectField("id", createId());
    jsonGenerator.writeObjectField("version", "0");
    jsonGenerator.writeEndObject(); // End log message
    jsonGenerator.writeRaw('\n');
    jsonGenerator.flush();
}