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:be.dnsbelgium.rdap.jackson.ContactSerializer.java

@Override
public void serialize(Contact contact, JsonGenerator jsonGenerator, SerializerProvider serializerProvider)
        throws IOException {
    jsonGenerator.writeStartArray();//  ww w.  j  a va 2  s .c  o  m
    // start write version
    jsonGenerator.writeStartArray();
    jsonGenerator.writeString("version");
    jsonGenerator.writeStartObject();
    jsonGenerator.writeEndObject();
    jsonGenerator.writeString("text");
    jsonGenerator.writeString("4.0");
    jsonGenerator.writeEndArray();
    // end write version
    for (Contact.Property property : contact.getProperties()) {
        // start write property
        jsonGenerator.writeStartArray();
        // start write property name
        String key = (property.getGroup() == null) ? property.getName()
                : property.getGroup() + "." + property.getName();
        jsonGenerator.writeString(property.getName().toLowerCase(Locale.ENGLISH));
        // end write property name
        // start write property parameters
        jsonGenerator.writeStartObject();
        if (property.getGroup() != null) {
            jsonGenerator.writeFieldName("group");
            jsonGenerator.writeString(property.getGroup());
        }
        if (property.getParameters() != null) {

            Iterator<String> it = property.getParameters().keys();
            while (it.hasNext()) {
                String k = it.next();
                if (k.equalsIgnoreCase("value")) {
                    continue;
                }
                Set<String> values = property.getParameters().get(k);
                if (values.size() == 0) {
                    // no parameters for this property, skip this step
                    continue;
                }
                jsonGenerator.writeFieldName(k.toLowerCase(Locale.ENGLISH));
                if (values.size() == 1) {
                    jsonGenerator.writeString(values.toArray(new String[values.size()])[0]);
                    continue;
                }
                // start write all property parameter values (array)
                jsonGenerator.writeStartArray();
                for (String str : property.getParameters().get(k)) {
                    jsonGenerator.writeString(str);
                }
                jsonGenerator.writeEndArray();
                // end write all property parameter values (array)

            }
        }
        jsonGenerator.writeEndObject();
        // end write property parameters
        // start write property type
        String value = "text";
        if (property.getParameters() != null) {
            Set<String> types = property.getParameters().get("VALUE");
            if (types != null) {
                value = types.iterator().next();
            }
        }
        jsonGenerator.writeString(value);
        // end write property type
        // start write property value
        JsonSerializer s = serializerProvider.findValueSerializer(property.getValue().getClass(), null);
        s.serialize(property.getValue(), jsonGenerator, serializerProvider);
        // end write property value
        jsonGenerator.writeEndArray();
        // end write property
    }
    jsonGenerator.writeEndArray();
}

From source file:ratpack.codahale.metrics.internal.WebSocketReporter.java

private void writeCounters(JsonGenerator json, SortedMap<String, Counter> counters) throws IOException {
    json.writeArrayFieldStart("counters");
    for (Map.Entry<String, Counter> entry : counters.entrySet()) {
        Counter counter = entry.getValue();

        json.writeStartObject();
        json.writeStringField("name", entry.getKey());
        json.writeNumberField("count", counter.getCount());
        json.writeEndObject();//  ww  w. ja v a2  s.c  o m
    }
    json.writeEndArray();
}

From source file:ninja.leaping.configurate.json.JSONConfigurationLoader.java

private void generateObject(JsonGenerator generator, ConfigurationNode node) throws IOException {
    if (!node.hasMapChildren()) {
        throw new IOException("Node passed to generateObject does not have map children!");
    }//from  w w  w . j a v a 2s.  co  m
    generator.writeStartObject();
    for (Map.Entry<Object, ? extends ConfigurationNode> ent : node.getChildrenMap().entrySet()) {
        generator.writeFieldName(ent.getKey().toString());
        generateValue(generator, ent.getValue());
    }
    generator.writeEndObject();

}

From source file:ratpack.codahale.metrics.internal.WebSocketReporter.java

private void writeTimers(JsonGenerator json, SortedMap<String, Timer> timers) throws IOException {
    json.writeArrayFieldStart("timers");
    for (Map.Entry<String, Timer> entry : timers.entrySet()) {
        Timer timer = entry.getValue();

        json.writeStartObject();
        json.writeStringField("name", entry.getKey());
        json.writeNumberField("count", timer.getCount());
        json.writeNumberField("meanRate", convertRate(timer.getMeanRate()));
        json.writeNumberField("oneMinuteRate", convertRate(timer.getOneMinuteRate()));
        json.writeNumberField("fiveMinuteRate", convertRate(timer.getFiveMinuteRate()));
        json.writeNumberField("fifteenMinuteRate", convertRate(timer.getFifteenMinuteRate()));

        Snapshot snapshot = timer.getSnapshot();
        json.writeNumberField("min", convertDuration(snapshot.getMin()));
        json.writeNumberField("max", convertDuration(snapshot.getMax()));
        json.writeNumberField("mean", convertDuration(snapshot.getMean()));
        json.writeNumberField("stdDev", convertDuration(snapshot.getStdDev()));
        json.writeNumberField("50thPercentile", convertDuration(snapshot.getMedian()));
        json.writeNumberField("75thPercentile", convertDuration(snapshot.get75thPercentile()));
        json.writeNumberField("95thPercentile", convertDuration(snapshot.get95thPercentile()));
        json.writeNumberField("98thPercentile", convertDuration(snapshot.get98thPercentile()));
        json.writeNumberField("99thPercentile", convertDuration(snapshot.get99thPercentile()));
        json.writeNumberField("999thPercentile", convertDuration(snapshot.get999thPercentile()));
        json.writeEndObject();// w  w w  . j  ava 2s  . com
    }
    json.writeEndArray();
}

From source file:com.predic8.membrane.core.interceptor.administration.AdminRESTInterceptor.java

@Mapping("/admin/rest/proxies(/?\\?.*)?")
public Response getProxies(final QueryParameter params, String relativeRootPath) throws Exception {
    final List<AbstractServiceProxy> proxies = getServiceProxies();

    if ("order".equals(params.getString("sort"))) {
        if (params.getString("order", "asc").equals("desc"))
            Collections.reverse(proxies);
    } else {/*from ww w. j a v  a 2s  . co m*/
        Collections.sort(proxies, ComparatorFactory.getAbstractServiceProxyComparator(
                params.getString("sort", "name"), params.getString("order", "asc")));
    }

    final int offset = params.getInt("offset", 0);
    int max = params.getInt("max", proxies.size());

    final List<AbstractServiceProxy> paginated = proxies.subList(offset,
            Math.min(offset + max, proxies.size()));

    return json(new JSONContent() {
        public void write(JsonGenerator gen) throws Exception {
            gen.writeStartObject();
            gen.writeArrayFieldStart("proxies");
            int i = offset;
            if (params.getString("order", "asc").equals("desc"))
                i = proxies.size() - i + 1;
            for (AbstractServiceProxy p : paginated) {
                gen.writeStartObject();
                gen.writeNumberField("order", i += params.getString("order", "asc").equals("desc") ? -1 : 1);
                gen.writeStringField("name", p.toString());
                gen.writeBooleanField("active", p.isActive());
                if (!p.isActive())
                    gen.writeStringField("error", p.getErrorState());
                gen.writeNumberField("listenPort", p.getKey().getPort());
                gen.writeStringField("virtualHost", p.getKey().getHost());
                gen.writeStringField("method", p.getKey().getMethod());
                gen.writeStringField("path", p.getKey().getPath());
                gen.writeStringField("targetHost", p.getTargetHost());
                gen.writeNumberField("targetPort", p.getTargetPort());
                gen.writeNumberField("count", p.getCount());
                gen.writeObjectFieldStart("actions");
                if (!isReadOnly()) {
                    gen.writeStringField("delete", "/admin/service-proxy/delete?name="
                            + URLEncoder.encode(RuleUtil.getRuleIdentifier(p), "UTF-8"));
                }
                if (!p.isActive())
                    gen.writeStringField("start", "/admin/service-proxy/start?name="
                            + URLEncoder.encode(RuleUtil.getRuleIdentifier(p), "UTF-8"));
                gen.writeEndObject();
                gen.writeEndObject();
            }
            gen.writeEndArray();
            gen.writeNumberField("total", proxies.size());
            gen.writeEndObject();
        }
    });
}

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

private void generateSort(final JsonGenerator generator) throws IOException {

    generator.writeArrayFieldStart("sort");
    {// w  ww .java  2  s  . co m
        generator.writeStartObject();
        {
            generator.writeObjectFieldStart(sortField);
            {
                generator.writeStringField("order", isAscending ? "asc" : "desc");
            }
            generator.writeEndObject();
        }
        generator.writeEndObject();
    }
    generator.writeEndArray();
}

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

private String combineJsons(String name, ArrayList<String> jsonStatisticsForRequests) throws IOException {
    JsonGenerator gen = getAndResetJsonGenerator();

    try {//from   w w w  .  j  a  v a  2s .  c om
        gen.writeStartObject();
        gen.writeArrayFieldStart(name);
        if (!jsonStatisticsForRequests.isEmpty())
            gen.writeRaw(jsonStatisticsForRequests.get(0));
        for (int i = 1; i < jsonStatisticsForRequests.size(); i++) {
            gen.writeRaw("," + jsonStatisticsForRequests.get(i));
        }
        gen.writeEndArray();
        gen.writeEndObject();
    } catch (IOException e) {
        e.printStackTrace();
    }
    return getStringFromJsonGenerator();
}

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

private String collectExchangeDataFrom(Exchange exc, String apiKey) throws IOException {
    JsonGenerator gen = getAndResetJsonGenerator();

    try {/*w ww .ja  v  a  2  s  .c  o  m*/
        gen.writeStartObject();
        gen.writeObjectField("excId", exc.getId());
        gen.writeObjectField("excApiKey", apiKey);
        gen.writeObjectFieldStart("Request");
        collectFromMessage(gen, exc.getRequest());
        gen.writeEndObject();
        gen.writeObjectFieldStart("Response");
        collectFromMessage(gen, exc.getResponse());
        gen.writeEndObject();
        gen.writeEndObject();
    } catch (IOException e) {
        e.printStackTrace();
    }
    return getStringFromJsonGenerator();
}

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);// w  w  w . j  ava  2 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();
}