List of usage examples for com.fasterxml.jackson.core JsonGenerator writeStringField
public void writeStringField(String fieldName, String value) throws IOException, JsonGenerationException
From source file:com.baidubce.services.bmr.BmrClient.java
/** * Add steps to a BMR cluster./*from www. j a v a 2s .c o m*/ * * @param request containing the ID of target BMR cluster and several steps to be added. * @return The response containing a list of IDs of newly added steps. */ public AddStepsResponse addSteps(AddStepsRequest request) { checkNotNull(request, "request should not be null."); checkNotNull(request.getSteps(), "The parameter steps should not be null."); checkStringNotEmpty(request.getClusterId(), "The parameter clusterId should not be null or empty string."); StringWriter writer = new StringWriter(); List<StepConfig> steps = request.getSteps(); try { JsonGenerator jsonGenerator = JsonUtils.jsonGeneratorOf(writer); jsonGenerator.writeStartObject(); jsonGenerator.writeArrayFieldStart("steps"); for (StepConfig step : steps) { 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 (String propertyKey : step.getProperties().keySet()) { jsonGenerator.writeObjectField(propertyKey, step.getProperties().get(propertyKey)); } 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, request.getClusterId(), STEP); 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, AddStepsResponse.class); }
From source file:com.greplin.gec.GecLogbackAppender.java
/** * Writes a formatted msg for errors that don't have exceptions. * * @param message the log message//from w w w. j a va 2 s.c o m * @param level the error level * @param out the destination * @throws IOException if there are IO errors in the destination */ void writeFormattedException(final String message, final Level level, final Writer out) throws IOException { JsonGenerator generator = new JsonFactory().createJsonGenerator(out); String backtrace = GecLogbackAppender.getStackTrace(new Throwable()); String[] lines = backtrace.split("\n"); StringBuilder builder = new StringBuilder(); for (String line : lines) { if (!line.contains("com.greplin.gec.GecLogbackAppender.")) { builder.append(line); builder.append("\n"); } } backtrace = builder.toString(); generator.writeStartObject(); generator.writeStringField("project", this.project); generator.writeStringField("environment", this.environment); generator.writeStringField("serverName", this.serverName); generator.writeStringField("backtrace", backtrace); generator.writeStringField("message", message); generator.writeStringField("logMessage", message); generator.writeStringField("type", "N/A"); if (level != Level.ERROR) { generator.writeStringField("errorLevel", level.toString()); } writeContext(generator); generator.writeEndObject(); generator.close(); }
From source file:net.opentsdb.meta.Annotation.java
/** * Serializes the object in a uniform matter for storage. Needed for * successful CAS calls//from w w w . j av a 2s . com * @return The serialized object as a byte array */ private byte[] getStorageJSON() { // TODO - precalculate size final ByteArrayOutputStream output = new ByteArrayOutputStream(); try { final JsonGenerator json = JSON.getFactory().createGenerator(output); json.writeStartObject(); if (tsuid != null && !tsuid.isEmpty()) { json.writeStringField("tsuid", tsuid); } json.writeNumberField("startTime", start_time); json.writeNumberField("endTime", end_time); json.writeStringField("description", description); json.writeStringField("notes", notes); 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.writeEndObject(); json.close(); return output.toByteArray(); } catch (IOException e) { throw new RuntimeException("Unable to serialize Annotation", e); } }
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 {/* w w w . j a v a 2 s . 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.googlecode.jmxtrans.model.output.LibratoWriter.java
private void serialize(Server server, Query query, List<Result> results, OutputStream outputStream) throws IOException { JsonGenerator g = jsonFactory.createGenerator(outputStream, JsonEncoding.UTF8); g.writeStartObject();/*from www . java2 s. c om*/ g.writeArrayFieldStart("counters"); g.writeEndArray(); String source = getSource(server); g.writeArrayFieldStart("gauges"); List<String> typeNames = getTypeNames(); for (Result result : results) { Map<String, Object> resultValues = result.getValues(); for (Map.Entry<String, Object> values : resultValues.entrySet()) { if (isNumeric(values.getValue())) { g.writeStartObject(); g.writeStringField("name", KeyUtils.getKeyString(query, result, values, typeNames)); if (source != null && !source.isEmpty()) { g.writeStringField("source", source); } g.writeNumberField("measure_time", TimeUnit.SECONDS.convert(result.getEpoch(), TimeUnit.MILLISECONDS)); Object value = values.getValue(); if (value instanceof Integer) { g.writeNumberField("value", (Integer) value); } else if (value instanceof Long) { g.writeNumberField("value", (Long) value); } else if (value instanceof Float) { g.writeNumberField("value", (Float) value); } else if (value instanceof Double) { g.writeNumberField("value", (Double) value); } g.writeEndObject(); } } } g.writeEndArray(); g.writeEndObject(); g.flush(); g.close(); }
From source file:de.escalon.hypermedia.spring.hydra.LinkListSerializer.java
private void writeCollectionHolder(String fieldName, TypedResource collectionHolder, JsonGenerator jgen) throws IOException { jgen.writeObjectFieldStart(fieldName); String identifyingUri = collectionHolder.getIdentifyingUri(); if (identifyingUri != null) { jgen.writeStringField(JsonLdKeywords.AT_ID, identifyingUri); }/* w w w . j a v a2 s .com*/ jgen.writeStringField(JsonLdKeywords.AT_TYPE, collectionHolder.getSemanticType()); jgen.writeEndObject(); }
From source file:org.codehaus.modello.plugin.jsonschema.JsonSchemaGenerator.java
private void generateJsonSchema(Properties parameters) throws IOException, ModelloException { Model objectModel = getModel();/*ww w . jav a 2 s . c om*/ File directory = getOutputDirectory(); if (isPackageWithVersion()) { directory = new File(directory, getGeneratedVersion().toString()); } if (!directory.exists()) { directory.mkdirs(); } // we assume parameters not null String schemaFileName = parameters.getProperty(ModelloParameterConstants.OUTPUT_JSONSCHEMA_FILE_NAME); File schemaFile; if (schemaFileName != null) { schemaFile = new File(directory, schemaFileName); } else { schemaFile = new File(directory, objectModel.getId() + "-" + getGeneratedVersion() + ".schema.json"); } JsonGenerator generator = new JsonFactory().enable(Feature.AUTO_CLOSE_JSON_CONTENT) .enable(Feature.AUTO_CLOSE_TARGET).enable(Feature.ESCAPE_NON_ASCII) .enable(Feature.FLUSH_PASSED_TO_STREAM).enable(Feature.QUOTE_FIELD_NAMES) .enable(Feature.QUOTE_NON_NUMERIC_NUMBERS).disable(Feature.WRITE_NUMBERS_AS_STRINGS) .createGenerator(schemaFile, JsonEncoding.UTF8); generator.useDefaultPrettyPrinter(); ModelClass root = objectModel.getClass(objectModel.getRoot(getGeneratedVersion()), getGeneratedVersion()); try { generator.writeStartObject(); generator.writeStringField("$schema", "http://json-schema.org/draft-04/schema#"); writeClassDocumentation(generator, root, true); generator.writeObjectFieldStart("definitions"); for (ModelClass current : objectModel.getClasses(getGeneratedVersion())) { if (!root.equals(current)) { writeClassDocumentation(generator, current, false); } } // end "definitions" generator.writeEndObject(); // end main object generator.writeEndObject(); } finally { generator.close(); } }
From source file:de.escalon.hypermedia.spring.de.escalon.hypermedia.spring.jackson.LinkListSerializer.java
private void writeSupportedProperty(JsonGenerator jgen, String currentVocab, ActionInputParameter actionInputParameter, String propertyName, Property property, Object[] possiblePropertyValues) throws IOException { jgen.writeStartObject();/*from w w w . j av a 2 s. c o m*/ if (actionInputParameter.hasCallValue() || actionInputParameter.hasInputConstraints()) { // jgen.writeArrayFieldStart("@type"); // jgen.writeString("hydra:SupportedProperty"); jgen.writeStringField(JacksonHydraSerializer.AT_TYPE, getPropertyOrClassNameInVocab(currentVocab, "PropertyValueSpecification", JacksonHydraSerializer.HTTP_SCHEMA_ORG, "schema:")); //jgen.writeEndArray(); } jgen.writeStringField("hydra:property", propertyName); writePossiblePropertyValues(jgen, currentVocab, actionInputParameter, possiblePropertyValues); jgen.writeEndObject(); }
From source file:net.opentsdb.tree.Branch.java
/** * Returns serialized data for the branch to put in storage. This is necessary * to reduce storage space and for proper CAS calls * @return A byte array for storage//from w ww.j a v a 2 s . com */ private byte[] toStorageJson() { // grab some memory to avoid reallocs final ByteArrayOutputStream output = new ByteArrayOutputStream( (display_name.length() * 2) + (path.size() * 128)); try { final JsonGenerator json = JSON.getFactory().createGenerator(output); json.writeStartObject(); // we only need to write a small amount of information json.writeObjectField("path", path); json.writeStringField("displayName", display_name); json.writeEndObject(); json.close(); // TODO zero copy? return output.toByteArray(); } catch (IOException e) { throw new RuntimeException(e); } }