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.google.openrtb.json.OpenRtbJsonWriter.java

@SuppressWarnings("deprecation")
protected void writeVideoFields(Video video, JsonGenerator gen) throws IOException {
    if (checkRequired(video.getMimesCount())) {
        writeStrings("mimes", video.getMimesList(), gen);
    }//from  ww w.j  a  va2s.  co  m
    if (video.hasMinduration()) {
        gen.writeNumberField("minduration", video.getMinduration());
    }
    if (video.hasMaxduration()) {
        gen.writeNumberField("maxduration", video.getMaxduration());
    }
    if (video.hasProtocol()) {
        gen.writeNumberField("protocol", video.getProtocol().getNumber());
    }
    if (checkRequired(video.getProtocolsCount())) {
        writeEnums("protocols", video.getProtocolsList(), gen);
    }
    if (video.hasW()) {
        gen.writeNumberField("w", video.getW());
    }
    if (video.hasH()) {
        gen.writeNumberField("h", video.getH());
    }
    if (video.hasStartdelay()) {
        gen.writeNumberField("startdelay", video.getStartdelay());
    }
    if (video.hasLinearity()) {
        gen.writeNumberField("linearity", video.getLinearity().getNumber());
    }
    if (video.hasSequence()) {
        gen.writeNumberField("sequence", video.getSequence());
    }
    writeEnums("battr", video.getBattrList(), gen);
    if (video.hasMaxextended()) {
        gen.writeNumberField("maxextended", video.getMaxextended());
    }
    if (video.hasMinbitrate()) {
        gen.writeNumberField("minbitrate", video.getMinbitrate());
    }
    if (video.hasMaxbitrate()) {
        gen.writeNumberField("maxbitrate", video.getMaxbitrate());
    }
    if (video.hasBoxingallowed()) {
        writeIntBoolField("boxingallowed", video.getBoxingallowed(), gen);
    }
    writeEnums("playbackmethod", video.getPlaybackmethodList(), gen);
    writeEnums("delivery", video.getDeliveryList(), gen);
    if (video.hasPos()) {
        gen.writeNumberField("pos", video.getPos().getNumber());
    }
    if (video.getCompanionadCount() != 0) {
        // OpenRTB 2.2+
        gen.writeArrayFieldStart("companionad");
        for (Banner companionad : video.getCompanionadList()) {
            writeBanner(companionad, gen);
        }
        gen.writeEndArray();
    }
    if (video.hasCompanionad21()) {
        // OpenRTB 2.1-
        gen.writeFieldName("companionad");
        writeCompanionAd21(video.getCompanionad21(), gen);
    }
    writeEnums("api", video.getApiList(), gen);
    writeEnums("companiontype", video.getCompaniontypeList(), gen);
    if (video.hasSkip()) {
        writeIntBoolField("skip", video.getSkip(), gen);
    }
    if (video.hasSkipmin()) {
        gen.writeNumberField("skipmin", video.getSkipmin());
    }
    if (video.hasSkipafter()) {
        gen.writeNumberField("skipafter", video.getSkipafter());
    }
}

From source file:net.opentsdb.meta.TSMeta.java

/**
 * Formats the JSON output for writing to storage. It drops objects we don't
 * need or want to store (such as the UIDMeta objects or the total dps) to
 * save space. It also serializes in order so that we can make a proper CAS
 * call. Otherwise the POJO serializer may place the fields in any order
 * and CAS calls would fail all the time.
 * @return A byte array to write to storage
 *//*from  w w w . j a  v a  2  s .co  m*/
private byte[] getStorageJSON() {
    // 256 bytes is a good starting value, assumes default info
    final ByteArrayOutputStream output = new ByteArrayOutputStream(256);
    try {
        final JsonGenerator json = JSON.getFactory().createGenerator(output);
        json.writeStartObject();
        json.writeStringField("tsuid", tsuid);
        json.writeStringField("displayName", display_name);
        json.writeStringField("description", description);
        json.writeStringField("notes", notes);
        json.writeNumberField("created", created);
        if (custom == null) {
            json.writeNullField("custom");
        } else {
            json.writeObjectFieldStart("custom");
            for (Map.Entry<String, String> entry : custom.entrySet()) {
                json.writeStringField(entry.getKey(), entry.getValue());
            }
            json.writeEndObject();
        }
        json.writeStringField("units", units);
        json.writeStringField("dataType", data_type);
        json.writeNumberField("retention", retention);
        json.writeNumberField("max", max);
        json.writeNumberField("min", min);

        json.writeEndObject();
        json.close();
        return output.toByteArray();
    } catch (IOException e) {
        throw new RuntimeException("Unable to serialize TSMeta", e);
    }
}

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

public void cue_serialize(@Nonnull Iterable<QueryResult> counters, @Nonnull OutputStream out)
        throws IOException {
    int first = 0;
    long time = 0;
    String myID = null;/* www  .  ja va 2s  . c o m*/
    JsonGenerator g = jsonFactory.createGenerator(out, JsonEncoding.UTF8);

    for (QueryResult counter : counters) {
        if (0 == first) {
            time = counter.getEpoch(TimeUnit.SECONDS);
            myID = counter.getType();
            first = 1;
            g.writeStartObject();
            g.writeStringField("identifier", myID);
            g.writeNumberField("timestamp", time);
            g.writeObjectFieldStart("values");
        }
        if (counter.getValue() instanceof Integer) {
            g.writeNumberField(counter.getName(), (Integer) counter.getValue());
        } else if (counter.getValue() instanceof Long) {
            g.writeNumberField(counter.getName(), (Long) counter.getValue());
        } else if (counter.getValue() instanceof Float) {
            g.writeNumberField(counter.getName(), (Float) counter.getValue());
        } else if (counter.getValue() instanceof Double) {
            g.writeNumberField(counter.getName(), (Double) counter.getValue());
        }
    }
    g.writeEndObject();
    g.writeEndObject();
    g.flush();
    g.close();
}

From source file:com.google.openrtb.json.OpenRtbJsonWriter.java

protected void writeAudioFields(Audio audio, JsonGenerator gen) throws IOException {
    // Common to Video & Audio

    if (checkRequired(audio.getMimesCount())) {
        writeStrings("mimes", audio.getMimesList(), gen);
    }/*from w  w  w . j a  va  2s . c o  m*/
    if (audio.hasMinduration()) {
        gen.writeNumberField("minduration", audio.getMinduration());
    }
    if (audio.hasMaxduration()) {
        gen.writeNumberField("maxduration", audio.getMaxduration());
    }
    if (checkRequired(audio.getProtocolsCount())) {
        writeEnums("protocols", audio.getProtocolsList(), gen);
    }
    if (audio.hasStartdelay()) {
        gen.writeNumberField("startdelay", audio.getStartdelay());
    }
    if (audio.hasSequence()) {
        gen.writeNumberField("sequence", audio.getSequence());
    }
    writeEnums("battr", audio.getBattrList(), gen);
    if (audio.hasMaxextended()) {
        gen.writeNumberField("maxextended", audio.getMaxextended());
    }
    if (audio.hasMinbitrate()) {
        gen.writeNumberField("minbitrate", audio.getMinbitrate());
    }
    if (audio.hasMaxbitrate()) {
        gen.writeNumberField("maxbitrate", audio.getMaxbitrate());
    }
    writeEnums("delivery", audio.getDeliveryList(), gen);
    if (audio.getCompanionadCount() != 0) {
        // OpenRTB 2.2+
        gen.writeArrayFieldStart("companionad");
        for (Banner companionad : audio.getCompanionadList()) {
            writeBanner(companionad, gen);
        }
        gen.writeEndArray();
    }
    writeEnums("api", audio.getApiList(), gen);
    writeEnums("companiontype", audio.getCompaniontypeList(), gen);

    // Audio only

    if (audio.hasMaxseq()) {
        gen.writeNumberField("maxseq", audio.getMaxseq());
    }
    if (audio.hasFeed()) {
        gen.writeNumberField("feed", audio.getFeed().getNumber());
    }
    if (audio.hasStitched()) {
        writeIntBoolField("stitched", audio.getStitched(), gen);
    }
    if (audio.hasNvol()) {
        gen.writeNumberField("nvol", audio.getNvol().getNumber());
    }
}

From source file:com.baidubce.services.bmr.BmrClient.java

/**
 * Create a cluster with the specified options.
 *
 * @param request The request containing all options for creating a BMR cluster.
 * @return The response containing the ID of the newly created cluster.
 *//*  ww  w  . j a v a  2 s  .  com*/
public CreateClusterResponse createCluster(CreateClusterRequest request) {
    checkNotNull(request, "request should not be null.");
    checkStringNotEmpty(request.getImageType(), "The imageType should not be null or empty string.");
    checkStringNotEmpty(request.getImageVersion(), "The imageVersion should not be null or empty string.");
    checkNotNull(request.getInstanceGroups(), "The instanceGroups should not be null.");

    StringWriter writer = new StringWriter();
    try {
        JsonGenerator jsonGenerator = JsonUtils.jsonGeneratorOf(writer);
        jsonGenerator.writeStartObject();
        jsonGenerator.writeStringField("imageType", request.getImageType());
        jsonGenerator.writeStringField("imageVersion", request.getImageVersion());
        jsonGenerator.writeArrayFieldStart("instanceGroups");
        for (InstanceGroupConfig instanceGroup : request.getInstanceGroups()) {
            jsonGenerator.writeStartObject();
            if (instanceGroup.getName() != null) {
                jsonGenerator.writeStringField("name", instanceGroup.getName());
            }
            jsonGenerator.writeStringField("type", instanceGroup.getType());
            jsonGenerator.writeStringField("instanceType", instanceGroup.getInstanceType());
            jsonGenerator.writeNumberField("instanceCount", instanceGroup.getInstanceCount());
            jsonGenerator.writeEndObject();
        }
        jsonGenerator.writeEndArray();
        if (request.getName() != null) {
            jsonGenerator.writeStringField("name", request.getName());
        }
        if (request.getLogUri() != null) {
            jsonGenerator.writeStringField("logUri", request.getLogUri());
        }
        jsonGenerator.writeBooleanField("autoTerminate", request.getAutoTerminate());

        if (request.getApplications() != null) {
            jsonGenerator.writeArrayFieldStart("applications");
            for (ApplicationConfig application : request.getApplications()) {
                jsonGenerator.writeStartObject();
                jsonGenerator.writeStringField("name", application.getName());
                jsonGenerator.writeStringField("version", application.getVersion());
                if (application.getProperties() != null) {
                    jsonGenerator.writeObjectFieldStart("properties");
                    for (Map.Entry<String, Object> entry : application.getProperties().entrySet()) {
                        jsonGenerator.writeObjectField(entry.getKey(), entry.getValue());
                    }
                    jsonGenerator.writeEndObject();
                }
                jsonGenerator.writeEndObject();
            }
            jsonGenerator.writeEndArray();
        }

        if (request.getSteps() != null) {
            jsonGenerator.writeArrayFieldStart("steps");
            for (StepConfig step : request.getSteps()) {
                jsonGenerator.writeStartObject();
                if (step.getName() != null) {
                    jsonGenerator.writeStringField("name", step.getName());
                }
                jsonGenerator.writeStringField("type", step.getType());
                jsonGenerator.writeStringField("actionOnFailure", step.getActionOnFailure());
                jsonGenerator.writeObjectFieldStart("properties");
                for (Map.Entry<String, String> entry : step.getProperties().entrySet()) {
                    jsonGenerator.writeStringField(entry.getKey(), entry.getValue());
                }
                jsonGenerator.writeEndObject();
                jsonGenerator.writeEndObject();
            }
            jsonGenerator.writeEndArray();
        }

        jsonGenerator.writeEndObject();
        jsonGenerator.close();
    } catch (IOException e) {
        throw new BceClientException("Fail to generate json", e);
    }

    byte[] json = null;
    try {
        json = writer.toString().getBytes(DEFAULT_ENCODING);
    } catch (UnsupportedEncodingException e) {
        throw new BceClientException("Fail to get UTF-8 bytes", e);
    }

    InternalRequest internalRequest = this.createRequest(request, HttpMethodName.POST, CLUSTER);
    internalRequest.addHeader(Headers.CONTENT_LENGTH, String.valueOf(json.length));
    internalRequest.addHeader(Headers.CONTENT_TYPE, "application/json");
    internalRequest.setContent(RestartableInputStream.wrap(json));

    if (request.getClientToken() != null) {
        internalRequest.addParameter("clientToken", request.getClientToken());
    }

    return this.invokeHttpClient(internalRequest, CreateClusterResponse.class);
}

From source file:com.google.openrtb.json.OpenRtbJsonWriter.java

protected void writeUserFields(User user, JsonGenerator gen) throws IOException {
    if (user.hasId()) {
        gen.writeStringField("id", user.getId());
    }/*from w w  w  . j av  a  2 s .co m*/
    if (user.hasBuyeruid()) {
        gen.writeStringField("buyeruid", user.getBuyeruid());
    }
    if (user.hasYob()) {
        gen.writeNumberField("yob", user.getYob());
    }
    if (user.hasGender() && Gender.forCode(user.getGender()) != null) {
        gen.writeStringField("gender", user.getGender());
    }
    if (user.hasKeywords()) {
        gen.writeStringField("keywords", user.getKeywords());
    }
    if (user.hasCustomdata()) {
        gen.writeStringField("customdata", user.getCustomdata());
    }
    if (user.hasGeo()) {
        gen.writeFieldName("geo");
        writeGeo(user.getGeo(), gen);
    }
    if (user.getDataCount() != 0) {
        gen.writeArrayFieldStart("data");
        for (Data data : user.getDataList()) {
            writeData(data, gen);
        }
        gen.writeEndArray();
    }
}

From source file:jp.classmethod.aws.brian.utils.TriggerSerializer.java

@Override
public void serialize(Trigger value, JsonGenerator jgen, SerializerProvider provider)
        throws IOException, JsonProcessingException {
    if (value == null) {
        jgen.writeNull();/*from w ww  .  j a  v  a  2 s.  com*/
        return;
    }

    jgen.writeStartObject();
    if (value.getKey() != null) {
        if (value.getKey().getGroup() != null)
            jgen.writeStringField("group", value.getKey().getGroup());
        if (value.getKey().getName() != null)
            jgen.writeStringField("name", value.getKey().getName());
    }
    if (value.getDescription() != null) {
        jgen.writeStringField("description", value.getDescription());
    }
    if (value.getStartTime() != null) {
        jgen.writeFieldName("startTime");
        provider.defaultSerializeDateValue(value.getStartTime(), jgen);
    }
    if (value.getEndTime() != null) {
        jgen.writeFieldName("endTime");
        provider.defaultSerializeDateValue(value.getEndTime(), jgen);
    }
    if (value.getNextFireTime() != null) {
        jgen.writeFieldName("nextFireTime");
        provider.defaultSerializeDateValue(value.getNextFireTime(), jgen);
    }
    if (value.getJobDataMap() != null) {
        jgen.writeObjectField("jobDataMap", value.getJobDataMap().getWrappedMap());
    }
    jgen.writeNumberField("misfireInstruction", value.getMisfireInstruction());
    jgen.writeNumberField("priority", value.getPriority());

    if (value instanceof CronTrigger) {
        CronTrigger cronTrigger = (CronTrigger) value;
        jgen.writeFieldName("cronEx");
        jgen.writeStartObject();
        if (cronTrigger.getCronExpression() != null) {
            jgen.writeStringField("cronExpression", cronTrigger.getCronExpression());
        }
        if (cronTrigger.getTimeZone() != null) {
            provider.defaultSerializeField("timeZone", cronTrigger.getTimeZone(), jgen);
        }
        jgen.writeEndObject();
    }
    if (value instanceof SimpleTrigger) {
        SimpleTrigger simpleTrigger = (SimpleTrigger) value;
        jgen.writeFieldName("simple");
        jgen.writeStartObject();
        jgen.writeNumberField("repeatInterval", simpleTrigger.getRepeatInterval());
        jgen.writeNumberField("repeatCount", simpleTrigger.getRepeatCount());
        jgen.writeNumberField("timesTriggered", simpleTrigger.getTimesTriggered());
        jgen.writeEndObject();
    }

    jgen.writeEndObject();
}

From source file:org.elasticsearch.client.sniff.HostsSnifferTests.java

private static SniffResponse buildSniffResponse(HostsSniffer.Scheme scheme) throws IOException {
    int numNodes = RandomInts.randomIntBetween(getRandom(), 1, 5);
    List<HttpHost> hosts = new ArrayList<>(numNodes);
    JsonFactory jsonFactory = new JsonFactory();
    StringWriter writer = new StringWriter();
    JsonGenerator generator = jsonFactory.createGenerator(writer);
    generator.writeStartObject();/*from   ww w  .  ja v a 2 s  .  c om*/
    if (getRandom().nextBoolean()) {
        generator.writeStringField("cluster_name", "elasticsearch");
    }
    if (getRandom().nextBoolean()) {
        generator.writeObjectFieldStart("bogus_object");
        generator.writeEndObject();
    }
    generator.writeObjectFieldStart("nodes");
    for (int i = 0; i < numNodes; i++) {
        String nodeId = RandomStrings.randomAsciiOfLengthBetween(getRandom(), 5, 10);
        generator.writeObjectFieldStart(nodeId);
        if (getRandom().nextBoolean()) {
            generator.writeObjectFieldStart("bogus_object");
            generator.writeEndObject();
        }
        if (getRandom().nextBoolean()) {
            generator.writeArrayFieldStart("bogus_array");
            generator.writeStartObject();
            generator.writeEndObject();
            generator.writeEndArray();
        }
        boolean isHttpEnabled = rarely() == false;
        if (isHttpEnabled) {
            String host = "host" + i;
            int port = RandomInts.randomIntBetween(getRandom(), 9200, 9299);
            HttpHost httpHost = new HttpHost(host, port, scheme.toString());
            hosts.add(httpHost);
            generator.writeObjectFieldStart("http");
            if (getRandom().nextBoolean()) {
                generator.writeArrayFieldStart("bound_address");
                generator.writeString("[fe80::1]:" + port);
                generator.writeString("[::1]:" + port);
                generator.writeString("127.0.0.1:" + port);
                generator.writeEndArray();
            }
            if (getRandom().nextBoolean()) {
                generator.writeObjectFieldStart("bogus_object");
                generator.writeEndObject();
            }
            generator.writeStringField("publish_address", httpHost.toHostString());
            if (getRandom().nextBoolean()) {
                generator.writeNumberField("max_content_length_in_bytes", 104857600);
            }
            generator.writeEndObject();
        }
        if (getRandom().nextBoolean()) {
            String[] roles = { "master", "data", "ingest" };
            int numRoles = RandomInts.randomIntBetween(getRandom(), 0, 3);
            Set<String> nodeRoles = new HashSet<>(numRoles);
            for (int j = 0; j < numRoles; j++) {
                String role;
                do {
                    role = RandomPicks.randomFrom(getRandom(), roles);
                } while (nodeRoles.add(role) == false);
            }
            generator.writeArrayFieldStart("roles");
            for (String nodeRole : nodeRoles) {
                generator.writeString(nodeRole);
            }
            generator.writeEndArray();
        }
        int numAttributes = RandomInts.randomIntBetween(getRandom(), 0, 3);
        Map<String, String> attributes = new HashMap<>(numAttributes);
        for (int j = 0; j < numAttributes; j++) {
            attributes.put("attr" + j, "value" + j);
        }
        if (numAttributes > 0) {
            generator.writeObjectFieldStart("attributes");
        }
        for (Map.Entry<String, String> entry : attributes.entrySet()) {
            generator.writeStringField(entry.getKey(), entry.getValue());
        }
        if (numAttributes > 0) {
            generator.writeEndObject();
        }
        generator.writeEndObject();
    }
    generator.writeEndObject();
    generator.writeEndObject();
    generator.close();
    return SniffResponse.buildResponse(writer.toString(), hosts);
}

From source file:org.elasticsearch.client.sniff.ElasticsearchHostsSnifferTests.java

private static SniffResponse buildSniffResponse(ElasticsearchHostsSniffer.Scheme scheme) throws IOException {
    int numNodes = RandomNumbers.randomIntBetween(getRandom(), 1, 5);
    List<HttpHost> hosts = new ArrayList<>(numNodes);
    JsonFactory jsonFactory = new JsonFactory();
    StringWriter writer = new StringWriter();
    JsonGenerator generator = jsonFactory.createGenerator(writer);
    generator.writeStartObject();//from  w  ww.  java  2 s  .  c  o m
    if (getRandom().nextBoolean()) {
        generator.writeStringField("cluster_name", "elasticsearch");
    }
    if (getRandom().nextBoolean()) {
        generator.writeObjectFieldStart("bogus_object");
        generator.writeEndObject();
    }
    generator.writeObjectFieldStart("nodes");
    for (int i = 0; i < numNodes; i++) {
        String nodeId = RandomStrings.randomAsciiOfLengthBetween(getRandom(), 5, 10);
        generator.writeObjectFieldStart(nodeId);
        if (getRandom().nextBoolean()) {
            generator.writeObjectFieldStart("bogus_object");
            generator.writeEndObject();
        }
        if (getRandom().nextBoolean()) {
            generator.writeArrayFieldStart("bogus_array");
            generator.writeStartObject();
            generator.writeEndObject();
            generator.writeEndArray();
        }
        boolean isHttpEnabled = rarely() == false;
        if (isHttpEnabled) {
            String host = "host" + i;
            int port = RandomNumbers.randomIntBetween(getRandom(), 9200, 9299);
            HttpHost httpHost = new HttpHost(host, port, scheme.toString());
            hosts.add(httpHost);
            generator.writeObjectFieldStart("http");
            if (getRandom().nextBoolean()) {
                generator.writeArrayFieldStart("bound_address");
                generator.writeString("[fe80::1]:" + port);
                generator.writeString("[::1]:" + port);
                generator.writeString("127.0.0.1:" + port);
                generator.writeEndArray();
            }
            if (getRandom().nextBoolean()) {
                generator.writeObjectFieldStart("bogus_object");
                generator.writeEndObject();
            }
            generator.writeStringField("publish_address", httpHost.toHostString());
            if (getRandom().nextBoolean()) {
                generator.writeNumberField("max_content_length_in_bytes", 104857600);
            }
            generator.writeEndObject();
        }
        if (getRandom().nextBoolean()) {
            String[] roles = { "master", "data", "ingest" };
            int numRoles = RandomNumbers.randomIntBetween(getRandom(), 0, 3);
            Set<String> nodeRoles = new HashSet<>(numRoles);
            for (int j = 0; j < numRoles; j++) {
                String role;
                do {
                    role = RandomPicks.randomFrom(getRandom(), roles);
                } while (nodeRoles.add(role) == false);
            }
            generator.writeArrayFieldStart("roles");
            for (String nodeRole : nodeRoles) {
                generator.writeString(nodeRole);
            }
            generator.writeEndArray();
        }
        int numAttributes = RandomNumbers.randomIntBetween(getRandom(), 0, 3);
        Map<String, String> attributes = new HashMap<>(numAttributes);
        for (int j = 0; j < numAttributes; j++) {
            attributes.put("attr" + j, "value" + j);
        }
        if (numAttributes > 0) {
            generator.writeObjectFieldStart("attributes");
        }
        for (Map.Entry<String, String> entry : attributes.entrySet()) {
            generator.writeStringField(entry.getKey(), entry.getValue());
        }
        if (numAttributes > 0) {
            generator.writeEndObject();
        }
        generator.writeEndObject();
    }
    generator.writeEndObject();
    generator.writeEndObject();
    generator.close();
    return SniffResponse.buildResponse(writer.toString(), hosts);
}

From source file:org.apache.olingo.server.core.serializer.json.ODataJsonSerializer.java

void writeInlineCount(final String propertyName, final Integer count, final JsonGenerator json)
        throws IOException {
    if (count != null) {
        if (isIEEE754Compatible) {
            json.writeStringField(propertyName + constants.getCount(), String.valueOf(count));
        } else {//  w ww .  ja v a 2s  .  co  m
            json.writeNumberField(propertyName + constants.getCount(), count);
        }
    }
}