List of usage examples for com.fasterxml.jackson.core JsonGenerator writeNumberField
public final void writeNumberField(String fieldName, BigDecimal value) throws IOException, JsonGenerationException
From source file:com.hpcloud.mon.resource.serialization.SubAlarmExpressionSerializer.java
@Override public void serialize(AlarmSubExpression value, JsonGenerator jgen, SerializerProvider provider) throws IOException, JsonProcessingException { jgen.writeStartObject();//from www . j a v a 2 s . c om jgen.writeStringField("function", value.getFunction().name()); jgen.writeStringField("metric_name", value.getMetricDefinition().name); jgen.writeObjectField("dimensions", value.getMetricDefinition().dimensions == null ? Collections.emptyMap() : value.getMetricDefinition().dimensions); jgen.writeStringField("operator", value.getOperator().name()); jgen.writeNumberField("threshold", value.getThreshold()); jgen.writeNumberField("period", value.getPeriod()); jgen.writeNumberField("periods", value.getPeriods()); jgen.writeEndObject(); }
From source file:net.solarnetwork.node.upload.bulkjsonwebpost.DatumSerializer.java
@Override public void serialize(Datum datum, JsonGenerator generator, SerializerProvider provider) throws IOException, JsonGenerationException { generator.writeStartObject();//from ww w. j a v a 2 s . c o m generator.writeStringField("__type__", datum.getClass().getSimpleName()); Map<String, Object> props = ClassUtils.getBeanProperties(datum, null, true); for (Map.Entry<String, Object> me : props.entrySet()) { Object val = me.getValue(); if (val instanceof Number) { if (val instanceof Integer) { generator.writeNumberField(me.getKey(), (Integer) val); } else if (val instanceof Long) { generator.writeNumberField(me.getKey(), (Long) val); } else if (val instanceof Double) { generator.writeNumberField(me.getKey(), (Double) val); } else if (val instanceof Float) { generator.writeNumberField(me.getKey(), (Float) val); } else if (val instanceof BigDecimal) { generator.writeNumberField(me.getKey(), (BigDecimal) val); } } else if (val instanceof Date) { generator.writeNumberField(me.getKey(), ((Date) val).getTime()); } else if (val instanceof String) { generator.writeStringField(me.getKey(), (String) val); } } generator.writeEndObject(); }
From source file:com.jxt.web.vo.AgentActiveThreadCountList.java
@Override public void serialize(AgentActiveThreadCountList agentActiveThreadStatusList, JsonGenerator jgen, SerializerProvider provider) throws IOException, JsonProcessingException { List<AgentActiveThreadCount> agentActiveThreadRepository = agentActiveThreadStatusList .getAgentActiveThreadRepository(); jgen.writeStartObject();/*from www . ja v a 2 s .c o m*/ for (AgentActiveThreadCount agentActiveThread : agentActiveThreadRepository) { jgen.writeFieldName(agentActiveThread.getAgentId()); jgen.writeStartObject(); jgen.writeNumberField("code", agentActiveThread.getCode()); jgen.writeStringField("message", agentActiveThread.getCodeMessage()); TCmdActiveThreadCountRes activeThreadCount = agentActiveThread.getActiveThreadCount(); if (activeThreadCount != null) { if (activeThreadCount.getActiveThreadCountSize() >= 4) { List<Integer> values = activeThreadCount.getActiveThreadCount(); jgen.writeFieldName("status"); jgen.writeStartArray(); jgen.writeNumber(values.get(0)); jgen.writeNumber(values.get(1)); jgen.writeNumber(values.get(2)); jgen.writeNumber(values.get(3)); jgen.writeEndArray(); } } jgen.writeEndObject(); } jgen.writeEndObject(); }
From source file:io.mesosphere.mesos.frameworks.cassandra.scheduler.api.NodeController.java
/** * Returns a JSON with the IP addresses of all seed nodes and native, thrift and JMX port numbers. * * Example://w ww . java 2 s.c o m * <pre>{@code { * "nativePort" : 9042, * "rpcPort" : 9160, * "jmxPort" : 7199, * "seeds" : [ "127.0.0.1" ] * }}</pre> */ @GET @Path("/seed/all") public Response seedNodes() { final CassandraFrameworkProtos.CassandraFrameworkConfiguration configuration = cluster.getConfiguration() .get(); return JaxRsUtils.buildStreamingResponse(factory, new StreamingJsonResponse() { @Override public void write(final JsonGenerator json) throws IOException { json.writeNumberField("nativePort", CassandraCluster.getPortMapping(configuration, CassandraCluster.PORT_NATIVE)); json.writeNumberField("rpcPort", CassandraCluster.getPortMapping(configuration, CassandraCluster.PORT_RPC)); json.writeNumberField("jmxPort", CassandraCluster.getPortMapping(configuration, CassandraCluster.PORT_JMX)); JaxRsUtils.writeSeedIps(cluster, json); } }); }
From source file:com.attribyte.essem.es.DateHistogramAggregation.java
@Override public void generate(final JsonGenerator generator) throws IOException { generator.writeObjectFieldStart(name); {//from w w w . j a v a 2 s.c o m if (filter != null) { generator.writeFieldName("filter"); filter.generate(generator); } generator.writeObjectFieldStart(type); { generator.writeStringField("field", field); generator.writeStringField("interval", interval); generator.writeNumberField("min_doc_count", 0); switch (order) { //Key ascending is default... case DOC_COUNT_ASC: generator.writeObjectFieldStart("order"); generator.writeStringField("_count", "asc"); generator.writeEndObject(); break; case DOC_COUNT_DESC: generator.writeObjectFieldStart("order"); generator.writeStringField("_count", "desc"); generator.writeEndObject(); break; case KEY_DESC: generator.writeObjectFieldStart("order"); generator.writeStringField("_key", "desc"); generator.writeEndObject(); break; } } generator.writeEndObject(); if (subs != null && subs.size() > 0) { generator.writeObjectFieldStart(AGGREGATION_OBJECT_NAME); for (Aggregation sub : subs) { sub.generate(generator); } generator.writeEndObject(); } } generator.writeEndObject(); }
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();// w w w . j a v a 2 s. com 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:com.basho.riak.client.query.IndexMapReduce.java
@Override protected void writeInput(final JsonGenerator jsonGenerator) throws IOException { jsonGenerator.writeStartObject();/* w w w. j a va2 s.com*/ IndexWriter e = new IndexWriter() { private void writeCommon(String bucket, String index) throws IOException { jsonGenerator.writeStringField(BUCKET, bucket); jsonGenerator.writeStringField(INDEX, index); } public void write(String bucket, String index, long from, long to) throws IOException { writeCommon(bucket, index); jsonGenerator.writeNumberField(START, from); jsonGenerator.writeNumberField(END, to); } public void write(String bucket, String index, long value) throws IOException { writeCommon(bucket, index); jsonGenerator.writeNumberField(KEY, value); } public void write(String bucket, String index, String from, String to) throws IOException { writeCommon(bucket, index); jsonGenerator.writeStringField(START, from); jsonGenerator.writeStringField(END, to); } public void write(String bucket, String index, String value) throws IOException { writeCommon(bucket, index); jsonGenerator.writeStringField(KEY, value); } }; indexQuery.write(e); jsonGenerator.writeEndObject(); }
From source file:com.predic8.membrane.core.interceptor.statistics.StatisticsProvider.java
private void createJson(Exchange exc, ResultSet r, int offset, int max, int total) throws IOException, JsonGenerationException, SQLException { StringWriter jsonTxt = new StringWriter(); JsonGenerator jsonGen = jsonFactory.createGenerator(jsonTxt); jsonGen.writeStartObject();//from w w w . j av a 2 s . c om jsonGen.writeArrayFieldStart("statistics"); int size = 0; r.absolute(offset + 1); //jdbc doesn't support paginating. This can be inefficient. while (size < max && !r.isAfterLast()) { size++; writeRecord(r, jsonGen); r.next(); } jsonGen.writeEndArray(); jsonGen.writeNumberField("total", total); jsonGen.writeEndObject(); jsonGen.flush(); createResponse(exc, jsonTxt); }
From source file:tds.student.web.backing.TestShellScriptsBacking.java
private void addTestConfig() throws JsonGenerationException, IOException { // get test configp[ TestConfig testConfig = _testOpportunity.getTestConfig(); // get json config StringWriter sw = new StringWriter(); JsonFactory jsonFactory = new JsonFactory(); JsonGenerator writer = jsonFactory.createGenerator(sw); // create test config json writer.writeStartObject();// { // writer.writeObjectField ("type", "object"); // properties writer.writeStringField("urlBase", UrlHelper.getBase()); writer.writeNumberField("reviewPage", getViewPageNumber()); writer.writeBooleanField("hasAudio", _testProps.getRequirements().isHasAudio()); writer.writeBooleanField("autoMute", shouldAutoMuteVolume()); // test config (DB) writer.writeStringField("testName", _testProps.getDisplayName()); writer.writeNumberField("testLength", testConfig.getTestLength()); writer.writeNumberField("startPosition", testConfig.getStartPosition()); writer.writeNumberField("contentLoadTimeout", testConfig.getContentLoadTimeout()); writer.writeNumberField("requestInterfaceTimeout", testConfig.getRequestInterfaceTimeout()); writer.writeNumberField("oppRestartMins", testConfig.getOppRestartMins()); writer.writeNumberField("interfaceTimeout", testConfig.getInterfaceTimeout()); // app settings (DB or settings.config) writer.writeNumberField("interfaceTimeoutDialog", TestShellSettings.getTimeoutDialog().getValue()); writer.writeNumberField("autoSaveInterval", TestShellSettings.getAutoSaveInterval().getValue()); writer.writeNumberField("forbiddenAppsInterval", TestShellSettings.getForbiddenAppsInterval().getValue()); writer.writeBooleanField("disableSaveWhenInactive", TestShellSettings.isDisableSaveWhenInactive().getValue()); writer.writeBooleanField("disableSaveWhenForbiddenApps", TestShellSettings.isDisableSaveWhenForbiddenApps().getValue()); writer.writeBooleanField("allowSkipAudio", TestShellSettings.isAllowSkipAudio().getValue()); writer.writeBooleanField("showSegmentLabels", TestShellSettings.isShowSegmentLabels().getValue()); writer.writeNumberField("audioTimeout", TestShellSettings.getAudioTimeout().getValue()); writer.writeBooleanField("enableLogging", TestShellSettings.isEnableLogging().getValue()); writer.writeEndObject(); // } writer.close();/*from ww w.j a v a 2 s. c om*/ // write out javascript StringBuilder javascript = new StringBuilder(); javascript.append("var tdsTestConfig = "); javascript.append(sw.toString()); javascript.append("; "); this.getClientScript().addToJsCode(javascript.toString()); }
From source file:com.googlecode.jmxtrans.model.output.StackdriverWriter.java
/** * Take query results, make a JSON String * /*from ww w . j a va 2 s . c om*/ * @param results List of Result objects * @return a String containing a JSON message, or null if there are no values to report * * @throws IOException if there is some problem generating the JSON, should be uncommon */ private String getGatewayMessage(final List<Result> results) throws IOException { int valueCount = 0; Writer writer = new StringWriter(); JsonGenerator g = jsonFactory.createGenerator(writer); g.writeStartObject(); g.writeNumberField("timestamp", System.currentTimeMillis() / 1000); g.writeNumberField("proto_version", STACKDRIVER_PROTOCOL_VERSION); g.writeArrayFieldStart("data"); List<String> typeNames = this.getTypeNames(); for (Result metric : results) { Map<String, Object> values = metric.getValues(); if (values != null) { for (Entry<String, Object> entry : values.entrySet()) { if (isNumeric(entry.getValue())) { // we have a numeric value, write a value into the message StringBuilder nameBuilder = new StringBuilder(); // put the prefix if set if (this.prefix != null) { nameBuilder.append(prefix); nameBuilder.append("."); } // put the class name or its alias if available if (!metric.getKeyAlias().isEmpty()) { nameBuilder.append(metric.getKeyAlias()); } else { nameBuilder.append(metric.getClassName()); } // Wildcard "typeNames" substitution String typeName = com.googlecode.jmxtrans.model.naming.StringUtils .cleanupStr(TypeNameValuesStringBuilder.getDefaultBuilder().build(typeNames, metric.getTypeName())); if (typeName != null && typeName.length() > 0) { nameBuilder.append("."); nameBuilder.append(typeName); } // add the attribute name nameBuilder.append("."); nameBuilder.append(metric.getAttributeName()); // put the value name if it differs from the attribute name if (!entry.getKey().equals(metric.getAttributeName())) { nameBuilder.append("."); nameBuilder.append(entry.getKey()); } // check for Float/Double NaN since these will cause the message validation to fail if (entry.getValue() instanceof Float && ((Float) entry.getValue()).isNaN()) { logger.info("Metric value for " + nameBuilder.toString() + " is NaN, skipping"); continue; } if (entry.getValue() instanceof Double && ((Double) entry.getValue()).isNaN()) { logger.info("Metric value for " + nameBuilder.toString() + " is NaN, skipping"); continue; } valueCount++; g.writeStartObject(); g.writeStringField("name", nameBuilder.toString()); g.writeNumberField("value", Double.valueOf(entry.getValue().toString())); // if the metric is attached to an instance, include that in the message if (instanceId != null && !instanceId.isEmpty()) { g.writeStringField("instance", instanceId); } g.writeNumberField("collected_at", metric.getEpoch() / 1000); g.writeEndObject(); } } } } g.writeEndArray(); g.writeEndObject(); g.flush(); g.close(); // return the message if there are any values to report if (valueCount > 0) { return writer.toString(); } else { return null; } }