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

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

Introduction

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

Prototype

public final void writeNumberField(String fieldName, BigDecimal value)
        throws IOException, JsonGenerationException 

Source Link

Document

Convenience method for outputting a field entry ("member") that has the specified numeric value.

Usage

From source file:com.viridiansoftware.metrics.elasticsearch.ElasticsearchReporter.java

private void reportGauge(String index, long timestamp, String name, Gauge gauge) throws IOException {
    Object value = gauge.getValue();
    if (value == null) {
        return;//from   w  w w.j av  a  2 s  . c o m
    }
    StringWriter writer = new StringWriter();
    JsonGenerator jsonGenerator = jsonFactory.createGenerator(writer);
    jsonGenerator.writeStartObject();
    jsonGenerator.writeNumberField(timestampFieldName, timestamp);
    jsonGenerator.writeStringField("@name", prefixMetricName(name));

    if (value instanceof Float) {
        jsonGenerator.writeNumberField("floatValue", (Float) value);
    } else if (value instanceof Double) {
        jsonGenerator.writeNumberField("doubleValue", (Double) value);
    } else if (value instanceof Byte) {
        jsonGenerator.writeNumberField("byteValue", ((Byte) value).intValue());
    } else if (value instanceof Short) {
        jsonGenerator.writeNumberField("shortValue", (Short) value);
    } else if (value instanceof Integer) {
        jsonGenerator.writeNumberField("integerValue", (Integer) value);
    } else if (value instanceof Long) {
        jsonGenerator.writeNumberField("longValue", (Long) value);
    } else {
        jsonGenerator.writeStringField("stringValue", value.toString());
    }

    jsonGenerator.writeEndObject();
    jsonGenerator.flush();
    addReportToBulkRequest(index, MetricElasticsearchTypes.GAUGE, writer.toString());
}

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

@Override
public void generate(final JsonGenerator generator) throws IOException {
    generator.writeStartObject();/*from w  ww.  ja  v  a 2  s  .c  om*/
    {
        generator.writeObjectFieldStart("range");
        {
            generator.writeObjectFieldStart(term);
            {
                if (includeMax) {
                    generator.writeNumberField("lte", maxValue);
                } else {
                    generator.writeNumberField("lt", maxValue);
                }
            }
            generator.writeEndObject();
        }
        generator.writeEndObject();
    }
    generator.writeEndObject();
}

From source file:ws.doerr.cssinliner.server.PathSerializer.java

@Override
public void serialize(Path value, JsonGenerator gen, SerializerProvider serializers)
        throws IOException, JsonProcessingException {
    gen.writeStartObject();// w  w  w. java  2  s  . c  o  m
    gen.writeStringField("name", value.getFileName().toString());
    gen.writeStringField("folder", value.getParent().toString());
    gen.writeStringField("path", value.toString());
    gen.writeNumberField("modified", value.toFile().lastModified());
    gen.writeEndObject();
}

From source file:org.fao.geonet.domain.SettingToObjectSerializer.java

@Override
public void serialize(Setting s, JsonGenerator jsonGenerator, SerializerProvider serializerProvider)
        throws IOException {
    jsonGenerator.writeStartObject();//from w w  w. ja v a2s  .c om
    jsonGenerator.writeStringField("name", s.getName());
    jsonGenerator.writeStringField("dataType", s.getDataType() == null ? null : s.getDataType().name());
    jsonGenerator.writeNumberField("position", s.getPosition());
    jsonGenerator.writeFieldName("value");
    writeSettingValue(s, jsonGenerator);
    jsonGenerator.writeEndObject();
}

From source file:org.lambdamatic.internal.elasticsearch.codec.GeoBoundingBoxSerializer.java

@Override
public void serialize(final GeoBoundingBoxQuery query, final JsonGenerator generator,
        final SerializerProvider serializers) throws IOException, JsonProcessingException {

    generator.writeStartObject();/*from w w w.j a v  a 2s. co  m*/
    generator.writeObjectFieldStart("geo_bounding_box");
    generator.writeObjectFieldStart(query.getFieldName());
    generator.writeObjectFieldStart("top_left");
    generator.writeNumberField("lat", query.getTopLeftLatitude());
    generator.writeNumberField("lon", query.getTopLeftLongitude());
    generator.writeEndObject(); // end 'top_left'
    generator.writeObjectFieldStart("bottom_right");
    generator.writeNumberField("lat", query.getBottomRightLatitude());
    generator.writeNumberField("lon", query.getBottomRightLongitude());
    generator.writeEndObject(); // end 'bottom_right'
    generator.writeEndObject(); // end 'field name'
    generator.writeEndObject(); // end 'geo_bounding_box'
}

From source file:org.rgiskard.jackson.ModuleJsonSerializer.java

@Override
public void serialize(Module module, JsonGenerator jg, SerializerProvider sp)
        throws IOException, JsonProcessingException {
    jg.writeStartObject();//from  www.j a v a  2s . c o  m
    jg.writeStringField("code", module.getCode());
    jg.writeFieldName("results");
    jg.writeStartArray();
    for (Result result : module.getResults()) {
        jg.writeStartObject();
        jg.writeNumberField("grade", result.getGrade());
        jg.writeEndObject();
    }
    jg.writeEndArray();
    jg.writeEndObject();
}

From source file:com.joliciel.jochre.search.highlight.Snippet.java

public void toJson(JsonGenerator jsonGen, DecimalFormat df) {
    try {//from  www  .  j  a va 2s .  co  m
        jsonGen.writeStartObject();
        jsonGen.writeNumberField("docId", docId);
        jsonGen.writeStringField("field", this.getField());
        jsonGen.writeNumberField("start", this.getStartOffset());
        jsonGen.writeNumberField("end", this.getEndOffset());
        double roundedScore = df.parse(df.format(this.getScore())).doubleValue();
        jsonGen.writeNumberField("score", roundedScore);
        jsonGen.writeArrayFieldStart("terms");
        for (HighlightTerm term : this.getHighlightTerms()) {
            term.toJson(jsonGen, df);
        }
        jsonGen.writeEndArray(); // terms

        jsonGen.writeEndObject();
        jsonGen.flush();
    } catch (java.text.ParseException e) {
        LogUtils.logError(LOG, e);
        throw new RuntimeException(e);
    } catch (IOException ioe) {
        LogUtils.logError(LOG, ioe);
        throw new RuntimeException(ioe);
    }
}

From source file:org.jmxtrans.embedded.output.StackdriverWriter.java

/**
 * Put the values into the JSON format expected by the Stackdriver custom metrics gateway
 *
  * @param results//from   w ww  . jav a2 s . co  m
  *            Iterable collection of data points (gauges and counters)
 * @param out
 *            OutputStream to write JSON to
 * @throws IOException
 */
public void serialize(@Nonnull Iterable<QueryResult> results, @Nonnull OutputStream out) throws IOException {
    JsonGenerator g = jsonFactory.createGenerator(out, JsonEncoding.UTF8);
    g.writeStartObject();
    g.writeNumberField("timestamp", System.currentTimeMillis() / 1000);
    g.writeNumberField("proto_version", STACKDRIVER_PROTOCOL_VERSION);
    g.writeArrayFieldStart("data");

    for (QueryResult metric : results) {
        g.writeStartObject();
        g.writeStringField("name", metric.getName());
        if (instanceId != null && !instanceId.isEmpty()) {
            g.writeStringField("instance", instanceId);
        }
        g.writeNumberField("collected_at", metric.getEpoch(TimeUnit.SECONDS));
        if (metric.getValue() instanceof Integer) {
            g.writeNumberField("value", (Integer) metric.getValue());
        } else if (metric.getValue() instanceof Long) {
            g.writeNumberField("value", (Long) metric.getValue());
        } else if (metric.getValue() instanceof Float) {
            g.writeNumberField("value", (Float) metric.getValue());
        } else if (metric.getValue() instanceof Double) {
            g.writeNumberField("value", (Double) metric.getValue());
        }
        g.writeEndObject();
    }

    g.writeEndArray();
    g.writeEndObject();
    g.flush();
    g.close();
}

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

@Override
public void generate(final JsonGenerator generator) throws IOException {
    generator.writeStartObject();/*  w w w.j  a v a  2  s  . com*/
    {
        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();
}