List of usage examples for com.fasterxml.jackson.core JsonGenerator close
@Override public abstract void close() throws IOException;
From source file:com.ntsync.shared.RequestGenerator.java
private static byte[] createHeader(SyncAnchor syncAnchor, String pkgVersion, String clientId, String pwdSaltHexStr, Map<Long, String> newIdMap, boolean syncOnlyGroup, Restrictions restr, boolean explizitPhotoSave) throws HeaderCreateException { ByteArrayOutputStream out = new ByteArrayOutputStream(); try {//from w ww . j a va 2s .c o m JsonGenerator g = getJsonFactory().createGenerator(out); g.writeStartObject(); g.writeObjectFieldStart(CLIENT_FIELD_NAME); g.writeObjectFieldStart(PARAM_SYNC_ANCHOR); for (Byte contType : syncAnchor.containers()) { long anchor = syncAnchor.getAnchor(contType); if (anchor > 0) { String type = String.valueOf((char) contType.byteValue()); g.writeNumberField(type, anchor); } } g.writeEndObject(); if (syncOnlyGroup) { LOG.info("Sync only ContactGroups"); g.writeBooleanField(PARAM_SYNCONLYGROUP, true); } g.writeStringField(FIELD_SOFTWARE, "Android|" + pkgVersion); // Set ClientId if (clientId != null) { g.writeStringField(PARAM_CLIENTID, clientId); } if (restr != null) { g.writeBooleanField(PARAM_IS_PHOTO_SYNC_ENABLED, restr.isPhotoSyncSupported()); } if (explizitPhotoSave) { g.writeBooleanField(PARAM_FORCE_PHOTO_SAVE, true); } // Set PwdSalt if (pwdSaltHexStr != null) { g.writeStringField(FIELD_PWDSALT, pwdSaltHexStr); } if (newIdMap != null && !newIdMap.isEmpty()) { g.writeObjectFieldStart(TAG_CONTACTIDS); for (Map.Entry<Long, String> idRow : newIdMap.entrySet()) { String serverId = idRow.getValue(); if (serverId != null && serverId.length() > 0) { g.writeStringField(String.valueOf(idRow.getKey()), serverId); } } g.writeEndObject(); } g.writeEndObject(); g.writeEndObject(); g.close(); } catch (IOException ex) { throw new HeaderCreateException(ex); } return out.toByteArray(); }
From source file:com.baidubce.services.bmr.BmrClient.java
/** * Add steps to a BMR cluster.// ww w . j ava2 s . co 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:org.jmxtrans.embedded.output.StackdriverWriter.java
/** * Put the values into the JSON format expected by the Stackdriver custom metrics gateway * * @param results/* w w w. java 2s.com*/ * 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:net.opentsdb.meta.Annotation.java
/** * Serializes the object in a uniform matter for storage. Needed for * successful CAS calls/*from w w w.j a va2 s. c o m*/ * @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:org.apache.olingo.server.core.serializer.json.ODataJsonSerializer.java
@Override public SerializerResult serviceDocument(final ServiceMetadata metadata, final String serviceRoot) throws SerializerException { OutputStream outputStream = null; SerializerException cachedException = null; try {//from www. j av a 2 s. c o m CircleStreamBuffer buffer = new CircleStreamBuffer(); outputStream = buffer.getOutputStream(); JsonGenerator json = new JsonFactory().createGenerator(outputStream); new ServiceDocumentJsonSerializer(metadata, serviceRoot, isODataMetadataNone) .writeServiceDocument(json); json.close(); outputStream.close(); return SerializerResultImpl.with().content(buffer.getInputStream()).build(); } catch (final IOException e) { cachedException = new SerializerException(IO_EXCEPTION_TEXT, e, SerializerException.MessageKeys.IO_EXCEPTION); throw cachedException; } finally { closeCircleStreamBufferOutput(outputStream, cachedException); } }
From source file:org.sfs.nodes.compute.container.GetContainer.java
@Override public void handle(final SfsRequest httpServerRequest) { VertxContext<Server> vertxContext = httpServerRequest.vertxContext(); aVoid().flatMap(new Authenticate(httpServerRequest)) .flatMap(new ValidateActionAuthenticated(httpServerRequest)) .map(aVoid -> fromSfsRequest(httpServerRequest)).map(new ValidateContainerPath()) .flatMap(new LoadAccountAndContainer(vertxContext)) .flatMap(new ValidateActionContainerListObjects(httpServerRequest)).flatMap(persistentContainer -> { HttpServerResponse httpServerResponse = httpServerRequest.response(); MultiMap queryParams = httpServerRequest.params(); MultiMap headerParams = httpServerRequest.headers(); String format = queryParams.get(FORMAT); String accept = headerParams.get(ACCEPT); MediaType parsedAccept = null; if (equalsIgnoreCase("xml", format)) { parsedAccept = APPLICATION_XML_UTF_8; } else if (equalsIgnoreCase("json", format)) { parsedAccept = JSON_UTF_8; }/*from w w w . j av a 2s .c o m*/ if (parsedAccept == null) { if (!isNullOrEmpty(accept)) { parsedAccept = parse(accept); } } if (parsedAccept == null || (!PLAIN_TEXT_UTF_8.is(parsedAccept) && !APPLICATION_XML_UTF_8.is(parsedAccept) && !JSON_UTF_8.equals(parsedAccept))) { parsedAccept = PLAIN_TEXT_UTF_8; } Observable<Optional<ContainerStats>> oContainerStats; boolean hasPrefix = !Strings.isNullOrEmpty(queryParams.get(SfsHttpQueryParams.PREFIX)); if (hasPrefix) { oContainerStats = just(persistentContainer) .flatMap(new LoadContainerStats(httpServerRequest.vertxContext())) .map(Optional::of); } else { oContainerStats = Defer.just(Optional.<ContainerStats>absent()); } Observable<ObjectList> oObjectListing = just(persistentContainer) .flatMap(new ListObjects(httpServerRequest)); MediaType finalParsedAccept = parsedAccept; return combineSinglesDelayError(oContainerStats, oObjectListing, (containerStats, objectList) -> { if (containerStats.isPresent()) { Metadata metadata = persistentContainer.getMetadata(); for (String key : metadata.keySet()) { SortedSet<String> values = metadata.get(key); if (values != null && !values.isEmpty()) { httpServerResponse.putHeader( format("%s%s", X_ADD_CONTAINER_META_PREFIX, key), values); } } httpServerResponse.putHeader(X_CONTAINER_OBJECT_COUNT, valueOf(containerStats.get().getObjectCount())); httpServerResponse.putHeader(X_CONTAINER_BYTES_USED, BigDecimal.valueOf(containerStats.get().getBytesUsed()) .setScale(0, ROUND_HALF_UP).toString()); } BufferOutputStream bufferOutputStream = new BufferOutputStream(); if (JSON_UTF_8.is(finalParsedAccept)) { try { JsonFactory jsonFactory = vertxContext.verticle().jsonFactory(); JsonGenerator jg = jsonFactory.createGenerator(bufferOutputStream, UTF8); jg.writeStartArray(); for (ListedObject listedObject : ordered(objectList.getObjects())) { jg.writeStartObject(); jg.writeStringField("hash", base16().lowerCase().encode(listedObject.getEtag())); jg.writeStringField("last_modified", toDateTimeString(listedObject.getLastModified())); jg.writeNumberField("bytes", listedObject.getLength()); jg.writeStringField("content_type", listedObject.getContentType()); jg.writeStringField("name", listedObject.getName()); jg.writeEndObject(); } jg.writeEndArray(); jg.close(); } catch (IOException e) { throw new RuntimeException(e); } } else if (APPLICATION_XML_UTF_8.is(finalParsedAccept)) { String charset = UTF_8.toString(); XMLStreamWriter writer = null; try { writer = newFactory().createXMLStreamWriter(bufferOutputStream, charset); writer.writeStartDocument(charset, "1.0"); writer.writeStartElement("container"); writer.writeAttribute("name", fromPaths(persistentContainer.getId()).containerName().get()); for (ListedObject listedObject : ordered(objectList.getObjects())) { writer.writeStartElement("object"); writer.writeStartElement("name"); writer.writeCharacters(listedObject.getName()); writer.writeEndElement(); writer.writeStartElement("hash"); writer.writeCharacters( base16().lowerCase().encode(listedObject.getEtag())); writer.writeEndElement(); writer.writeStartElement("bytes"); writer.writeCharacters(valueOf(listedObject.getLength())); writer.writeEndElement(); writer.writeStartElement("content_type"); writer.writeCharacters(listedObject.getContentType()); writer.writeEndElement(); writer.writeStartElement("last_modified"); writer.writeCharacters( toDateTimeString(listedObject.getLastModified())); writer.writeEndElement(); writer.writeEndElement(); } writer.writeEndElement(); writer.writeEndDocument(); } catch (XMLStreamException e) { throw new RuntimeException(e); } finally { try { if (writer != null) { writer.close(); } } catch (XMLStreamException e) { LOGGER.warn(e.getLocalizedMessage(), e); } } } else { String charset = UTF_8.toString(); try (OutputStreamWriter outputStreamWriter = new OutputStreamWriter( bufferOutputStream, charset)) { for (ListedObject listedObject : ordered(objectList.getObjects())) { outputStreamWriter.write(listedObject.getName()); outputStreamWriter.write("\n"); } } catch (IOException e) { throw new RuntimeException(e); } } objectList.clear(); return bufferOutputStream; }).flatMap(bufferOutputStream -> { Buffer buffer = bufferOutputStream.toBuffer(); httpServerResponse.putHeader(HttpHeaders.CONTENT_TYPE, finalParsedAccept.toString()) .putHeader(HttpHeaders.CONTENT_LENGTH, String.valueOf(buffer.length())); return AsyncIO.append(buffer, httpServerRequest.response()); }); }).single().subscribe(new ConnectionCloseTerminus<Void>(httpServerRequest) { @Override public void onNext(Void aVoid) { } } ); }
From source file:com.spotify.docker.client.DefaultDockerClient.java
@Override public LogStream execStart(String execId, ExecStartParameter... params) throws DockerException, InterruptedException { WebTarget resource = resource().path("exec").path(execId).path("start"); final StringWriter writer = new StringWriter(); try {/*from ww w .j a va 2s .c o m*/ final JsonGenerator generator = objectMapper().getFactory().createGenerator(writer); generator.writeStartObject(); for (ExecStartParameter param : params) { generator.writeBooleanField(param.getName(), true); } generator.writeEndObject(); generator.close(); } catch (IOException e) { throw new DockerException(e); } try { return request(POST, LogStream.class, resource, resource.request("application/vnd.docker.raw-stream"), Entity.json(writer.toString())); } catch (DockerRequestException e) { switch (e.status()) { case 404: throw new ExecNotFoundException(execId); default: throw e; } } }
From source file:tds.student.web.controls.dummy.GlobalJavascriptWriter.java
public void writeBrowserInfo() throws JsonGenerationException, IOException { StringWriter sw = new StringWriter(); JsonFactory jsonFactory = new JsonFactory(); JsonGenerator jsonWriter = jsonFactory.createGenerator(sw); jsonWriter.writeStartObject();// { // browser info BrowserParser browser = new BrowserParser(); jsonWriter.writeStringField("userAgent", browser.getUserAgent()); jsonWriter.writeStringField("osLabel", browser.getOSFullName()); jsonWriter.writeStringField("osName", String.valueOf(browser.getOsName())); jsonWriter.writeNumberField("osVersion", browser.getVersion()); jsonWriter.writeStringField("architecture", browser.getHardwareArchitecture()); jsonWriter.writeStringField("name", browser.getName()); jsonWriter.writeNumberField("version", browser.getVersion()); jsonWriter.writeBooleanField("isSecure", browser.isSecureBrowser()); String label;//from ww w . ja v a2s . c o m if (browser.isSecureBrowser()) label = String.format("Secure v%s", "" + browser.getVersion()); else label = String.format("%s v%s", browser.getName(), "" + browser.getVersion()); jsonWriter.writeStringField("label", label); jsonWriter.writeEndObject(); // } jsonWriter.close(); // TODO shiva: do we need to do sw.getBuffer () below. _writer.write(String.format("TDS.BrowserInfo = %s; ", sw.getBuffer().toString())); _writer.write("\n\r"); }
From source file:org.apache.olingo.server.core.serializer.json.ODataJsonSerializer.java
@Override public SerializerResult reference(final ServiceMetadata metadata, final EdmEntitySet edmEntitySet, final Entity entity, final ReferenceSerializerOptions options) throws SerializerException { OutputStream outputStream = null; SerializerException cachedException = null; try {//from www . j a v a 2s. c o m final ContextURL contextURL = checkContextURL(options == null ? null : options.getContextURL()); CircleStreamBuffer buffer = new CircleStreamBuffer(); final UriHelper uriHelper = new UriHelperImpl(); outputStream = buffer.getOutputStream(); final JsonGenerator json = new JsonFactory().createGenerator(outputStream); json.writeStartObject(); writeContextURL(contextURL, json); json.writeStringField(constants.getId(), uriHelper.buildCanonicalURL(edmEntitySet, entity)); json.writeEndObject(); json.close(); outputStream.close(); return SerializerResultImpl.with().content(buffer.getInputStream()).build(); } catch (final IOException e) { cachedException = new SerializerException(IO_EXCEPTION_TEXT, e, SerializerException.MessageKeys.IO_EXCEPTION); throw cachedException; } finally { closeCircleStreamBufferOutput(outputStream, cachedException); } }