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

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

Introduction

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

Prototype

public abstract void writeEndObject() throws IOException, JsonGenerationException;

Source Link

Document

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

Usage

From source file:com.predic8.membrane.core.interceptor.apimanagement.statistics.AMStatisticsCollector.java

private void collectFromMessage(JsonGenerator gen, Message msg) {
    try {/*from ww  w.  j  a  v a 2 s.c  om*/
        if (traceIncludesHeader) {
            if (msg.getHeader().getAllHeaderFields().length > 0) {
                gen.writeObjectFieldStart("headers");
                for (HeaderField hf : msg.getHeader().getAllHeaderFields()) {
                    gen.writeObjectField(hf.getHeaderName().toString(), hf.getValue());
                }
                gen.writeEndObject();
            }
        }
        String body = getBody(msg);
        if (body.length() > 0)
            gen.writeObjectField("body", body);
    } catch (IOException e) {
        e.printStackTrace();
    }
}

From source file:org.eclipse.winery.common.json.TTopologyTemplateSerializer.java

/**
 * Does NOT wrap the result into an object. Assumes that the current
 * position at jgen is in an object//from   w w  w .j  a v a  2 s  .c o  m
 *
 * @param value the list of entity templates to serialize
 */
public void serialize(List<TEntityTemplate> value, JsonGenerator jgen, SerializerProvider provider)
        throws IOException {
    List<TRelationshipTemplate> relationshipTemplates = new ArrayList<>();

    jgen.writeFieldName("nodeTemplates");
    jgen.writeStartObject();
    for (TEntityTemplate template : value) {
        if (template instanceof TNodeTemplate) {
            // write out as <id> : <default serialization>
            jgen.writeFieldName(template.getId());
            provider.defaultSerializeValue(template, jgen);

        } else {
            assert (template instanceof TRelationshipTemplate);
            relationshipTemplates.add((TRelationshipTemplate) template);
        }
    }
    jgen.writeEndObject();

    jgen.writeFieldName("relationshipTemplates");
    jgen.writeStartObject();
    for (TRelationshipTemplate template : relationshipTemplates) {
        // write out as <id> : <default serialization>
        jgen.writeFieldName(template.getId());
        provider.defaultSerializeValue(template, jgen);
    }
    jgen.writeEndObject();
}

From source file:org.springframework.data.elasticsearch.core.DefaultResultMapper.java

private String buildJSONFromFields(Collection<SearchHitField> values) {
    JsonFactory nodeFactory = new JsonFactory();
    try {/*from ww w . j a  v a2s  . co  m*/
        ByteArrayOutputStream stream = new ByteArrayOutputStream();
        JsonGenerator generator = nodeFactory.createGenerator(stream, JsonEncoding.UTF8);
        generator.writeStartObject();
        for (SearchHitField value : values) {
            if (value.getValues().size() > 1) {
                generator.writeArrayFieldStart(value.getName());
                for (Object val : value.getValues()) {
                    generator.writeObject(val);
                }
                generator.writeEndArray();
            } else {
                generator.writeObjectField(value.getName(), value.getValue());
            }
        }
        generator.writeEndObject();
        generator.flush();
        return new String(stream.toByteArray(), Charset.forName("UTF-8"));
    } catch (IOException e) {
        return null;
    }
}

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.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:com.predic8.membrane.core.interceptor.apimanagement.statistics.AMStatisticsCollector.java

private String collectStatisticFrom(Exchange exc, String apiKey) throws IOException {
    StatisticCollector statistics = new StatisticCollector(false);
    statistics.collectFrom(exc);/*from ww  w .j  a  v  a2 s . c  o  m*/

    JsonGenerator gen = getAndResetJsonGenerator();

    try {
        gen.writeStartObject();
        gen.writeObjectField("excId", exc.getId());
        gen.writeObjectField("excApiKey", apiKey);
        gen.writeObjectField("excStatus", exc.getStatus().toString());
        gen.writeObjectField("code", exc.getResponse().getStatusCode());
        gen.writeObjectField("time", getInflightTime(exc));
        gen.writeEndObject();
    } catch (IOException e) {
        e.printStackTrace();
    }
    return getStringFromJsonGenerator();
}

From source file:com.pavlovmedia.oss.osgi.gelf.lib.GelfMessageSerializer.java

@Override
public void serialize(GelfMessage value, JsonGenerator jgen, SerializerProvider provider)
        throws IOException, JsonProcessingException {
    jgen.writeStartObject();//  w ww. j a  v  a 2  s  . c o m
    jgen.writeStringField("version", value.version);
    jgen.writeStringField("host", value.host);
    jgen.writeStringField("short_message", value.short_message);
    jgen.writeStringField("full_message", value.full_message);

    BigDecimal bd = new BigDecimal(value.timestamp);
    bd = bd.divide(new BigDecimal(1000), BigDecimal.ROUND_DOWN);
    jgen.writeNumberField("timestamp", bd);
    jgen.writeNumberField("level", value.level);
    for (String key : value.additionalFields.keySet()) {
        jgen.writeStringField("_" + key, value.additionalFields.get(key));
    }
    jgen.writeEndObject();
}

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 w w  w.  j a va  2 s  .  c o 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:com.baasbox.configuration.PropertiesConfigurationHelper.java

public static String dumpConfigurationSectionAsFlatJson(String section) {
    Class en = CONFIGURATION_SECTIONS.get(section);
    try {// www  .  j a  va2 s.  c  o m
        JsonFactory jfactory = new JsonFactory();
        StringWriter sw = new StringWriter();
        String enumDescription = "";
        JsonGenerator gen = jfactory.createJsonGenerator(sw);
        gen.writeStartArray();
        EnumSet values = EnumSet.allOf(en);
        for (Object v : values) {
            String key = (String) (en.getMethod("getKey")).invoke(v);

            boolean isVisible = (Boolean) (en.getMethod("isVisible")).invoke(v);
            String valueAsString;
            if (isVisible)
                valueAsString = (String) (en.getMethod("getValueAsString")).invoke(v);
            else
                valueAsString = "--HIDDEN--";
            boolean isEditable = (Boolean) (en.getMethod("isEditable")).invoke(v);
            boolean isOverridden = (Boolean) (en.getMethod("isOverridden")).invoke(v);
            String valueDescription = (String) (en.getMethod("getValueDescription")).invoke(v);
            Class type = (Class) en.getMethod("getType").invoke(v);

            gen.writeStartObject(); //               {
            gen.writeStringField("key", key);
            gen.writeStringField("value", valueAsString);
            gen.writeStringField("description", valueDescription); //                  ,"description":"description"
            gen.writeStringField("type", type.getSimpleName()); //                  ,"type":"type"
            gen.writeBooleanField("editable", isEditable);
            gen.writeBooleanField("overridden", isOverridden);
            gen.writeEndObject(); //               }
        }
        if (gen.getOutputContext().inArray())
            gen.writeEndArray(); //            ]
        gen.close();
        return sw.toString();
    } catch (Exception e) {
        BaasBoxLogger.error("Cannot generate a json for " + en.getSimpleName()
                + " Enum. Is it an Enum that implements the IProperties interface?", e);
    }
    return "{}";
}

From source file:com.attribyte.essem.es.IntRangeQuery.java

@Override
public void generate(final JsonGenerator generator) throws IOException {
    generator.writeStartObject();/*from  w ww.j  a  v  a  2  s .  c  o m*/
    {
        generator.writeObjectFieldStart("range");
        {
            generator.writeObjectFieldStart(term);
            {
                if (includeMin) {
                    generator.writeNumberField("gte", minValue);
                } else {
                    generator.writeNumberField("gt", minValue);
                }

                if (includeMax) {
                    generator.writeNumberField("lte", maxValue);
                } else {
                    generator.writeNumberField("lt", maxValue);
                }
            }
            generator.writeEndObject();
        }
        generator.writeEndObject();
    }
    generator.writeEndObject();
}

From source file:com.palominolabs.crm.sf.rest.HttpApiClient.java

@Nonnull
private String getSObjectFieldsAsJson(@Nonnull SObject sObject) throws IOException {
    StringWriter writer = new StringWriter();
    JsonGenerator jsonGenerator = this.objectMapper.getFactory().createGenerator(writer);

    jsonGenerator.writeStartObject();//  w  ww  . jav a 2  s . c om

    for (Map.Entry<String, String> entry : sObject.getAllFields().entrySet()) {
        if (entry.getValue() == null) {
            jsonGenerator.writeNullField(entry.getKey());
        } else {
            jsonGenerator.writeStringField(entry.getKey(), entry.getValue());
        }
    }

    jsonGenerator.writeEndObject();
    jsonGenerator.close();

    writer.close();

    return writer.toString();
}