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.zenesis.qx.remote.SimpleQueue.java
@Override public synchronized void serialize(JsonGenerator gen, SerializerProvider sp) throws IOException, JsonProcessingException { gen.writeStartArray();/*from www. j av a2s . co m*/ while (!values.isEmpty()) { CommandId id = values.keySet().iterator().next(); Object data = values.remove(id); if (id.type == CommandType.DEFINE) { ProxyType type = (ProxyType) id.object; ProxySessionTracker tracker = ((ProxyObjectMapper) gen.getCodec()).getTracker(); if (tracker.isTypeDelivered(type)) continue; } gen.writeStartObject(); gen.writeStringField("type", id.type.remoteId); if (id.object != null) gen.writeObjectField("object", id.object); if (id.name != null) gen.writeObjectField("name", id.name); if (data != null) gen.writeObjectField("data", data); gen.writeEndObject(); } gen.writeEndArray(); values.clear(); needsFlush = false; }
From source file:io.protostuff.JsonOutput.java
@Override public void writeString(int fieldNumber, String value, boolean repeated) throws IOException { if (lastNumber == fieldNumber) { // repeated field generator.writeString(value);/*w w w. j ava 2 s . co m*/ return; } final JsonGenerator generator = this.generator; if (lastRepeated) generator.writeEndArray(); final String name = numeric ? Integer.toString(fieldNumber) : schema.getFieldName(fieldNumber); if (repeated) { generator.writeArrayFieldStart(name); generator.writeString(value); } else generator.writeStringField(name, value); lastNumber = fieldNumber; lastRepeated = repeated; }
From source file:org.numenta.nupic.algorithms.CLAClassifierSerializer.java
@Override public void serialize(CLAClassifier cla, JsonGenerator jgen, SerializerProvider arg2) throws IOException, JsonProcessingException { jgen.writeStartObject();//from www .ja v a2s .c o m jgen.writeNumberField("alpha", cla.alpha); jgen.writeNumberField("actValueAlpha", cla.actValueAlpha); jgen.writeNumberField("learnIteration", cla.learnIteration); jgen.writeNumberField("recordNumMinusLearnIteration", cla.recordNumMinusLearnIteration); jgen.writeNumberField("maxBucketIdx", cla.maxBucketIdx); StringBuilder sb = new StringBuilder(); for (int i : cla.steps.toArray()) { sb.append(i).append(","); } sb.setLength(sb.length() - 1); jgen.writeStringField("steps", sb.toString()); sb = new StringBuilder(); for (Tuple t : cla.patternNZHistory) { sb.append(t.get(0)).append("-").append(Arrays.toString((int[]) t.get(1))).append(";"); } sb.setLength(sb.length() - 1); jgen.writeStringField("patternNZHistory", sb.toString()); sb = new StringBuilder(); for (Tuple t : cla.activeBitHistory.keySet()) { sb.append(t.get(0)).append(",").append(t.get(1)).append("-"); BitHistory bh = cla.activeBitHistory.get(t); sb.append(bh.id).append("=").append(bh.stats).append("=").append(bh.lastTotalUpdate).append(";"); } sb.setLength(sb.length() - 1); jgen.writeStringField("activeBitHistory", sb.toString()); jgen.writeArrayFieldStart("actualValues"); for (Object o : cla.actualValues) { jgen.writeObject(o); } jgen.writeEndArray(); jgen.writeEndObject(); }
From source file:org.h2gis.drivers.geojson.GeoJsonWriteDriver.java
/** * Write the spatial table to GeoJSON format. * * @param progress/* w ww. ja va 2 s . com*/ * @throws SQLException */ private void writeGeoJson(ProgressVisitor progress) throws SQLException, IOException { FileOutputStream fos = null; try { fos = new FileOutputStream(fileName); // Read Geometry Index and type final TableLocation parse = TableLocation.parse(tableName, JDBCUtilities.isH2DataBase(connection.getMetaData())); List<String> spatialFieldNames = SFSUtilities.getGeometryFields(connection, parse); if (spatialFieldNames.isEmpty()) { throw new SQLException(String.format("The table %s does not contain a geometry field", tableName)); } // Read table content Statement st = connection.createStatement(); try { JsonFactory jsonFactory = new JsonFactory(); JsonGenerator jsonGenerator = jsonFactory.createGenerator(new BufferedOutputStream(fos), JsonEncoding.UTF8); // header of the GeoJSON file jsonGenerator.writeStartObject(); jsonGenerator.writeStringField("type", "FeatureCollection"); writeCRS(jsonGenerator, SFSUtilities.getAuthorityAndSRID(connection, parse, spatialFieldNames.get(0))); jsonGenerator.writeArrayFieldStart("features"); ResultSet rs = st.executeQuery(String.format("select * from `%s`", tableName)); try { ResultSetMetaData resultSetMetaData = rs.getMetaData(); int geoFieldIndex = JDBCUtilities.getFieldIndex(resultSetMetaData, spatialFieldNames.get(0)); cacheMetadata(resultSetMetaData); while (rs.next()) { writeFeature(jsonGenerator, rs, geoFieldIndex); } progress.endStep(); // footer jsonGenerator.writeEndArray(); jsonGenerator.writeEndObject(); jsonGenerator.flush(); jsonGenerator.close(); } finally { rs.close(); } } finally { st.close(); } } catch (FileNotFoundException ex) { throw new SQLException(ex); } finally { try { if (fos != null) { fos.close(); } } catch (IOException ex) { throw new SQLException(ex); } } }
From source file:com.codealot.url2text.Response.java
/** * Convenience method for writing header and metadata lists. * /*from ww w .java 2 s. c om*/ * @param jsonGenerator * @param header * @param array * @throws JsonGenerationException * @throws IOException */ private void outputNameAndValueArray(final JsonGenerator jsonGenerator, final String header, final List<NameAndValue> array) throws JsonGenerationException, IOException { jsonGenerator.writeFieldName(header); jsonGenerator.writeStartObject(); for (final NameAndValue nameAndValue : array) { jsonGenerator.writeStringField(nameAndValue.getName(), nameAndValue.getValue()); } jsonGenerator.writeEndObject(); }
From source file:de.escalon.hypermedia.spring.hydra.LinkListSerializer.java
private void writeIriTemplate(String rel, String href, List<String> variableNames, ActionDescriptor actionDescriptorForHttpGet, JsonGenerator jgen) throws IOException { jgen.writeObjectFieldStart(rel);/*from ww w. jav a2s. c o m*/ jgen.writeStringField("@type", "hydra:IriTemplate"); jgen.writeStringField("hydra:template", href); jgen.writeArrayFieldStart("hydra:mapping"); writeHydraVariableMapping(jgen, actionDescriptorForHttpGet, variableNames); jgen.writeEndArray(); jgen.writeEndObject(); }
From source file:org.n52.tamis.core.json.serialize.processes.execute.ExecuteInputSerializer.java
private void writeAsData(JsonGenerator jsonGenerator, ExecuteInput input) throws IOException { /*// w ww . j a v a2 s. c o m * write the input as WPS "Data" element * * expected structure looks like: * * { "Data": { "_mimeType": "text/xml", "_schema": * "http://schemas.opengis.net/gml/3.2.1/base/feature.xsd", * "__text": "value" }, * "_id": "target-variable-point" * } * * */ logger.info("Input \"{}\" is serialized as WPS \"Data\".", input); jsonGenerator.writeStartObject(); jsonGenerator.writeObjectFieldStart("Data"); jsonGenerator.writeStringField("_text", input.getValue()); /* * TODO parameters "_mimeType" and "_schema"? */ // jsonGenerator.writeStringField("_mimeType", "application/om+xml; // version=2.0"); // jsonGenerator.writeStringField("_schema", // "http://schemas.opengis.net/om/2.0/observation.xsd"); jsonGenerator.writeEndObject(); jsonGenerator.writeStringField("_id", input.getId()); jsonGenerator.writeEndObject(); }
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 ww w .j av a 2s . com*/ 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:org.seedstack.seed.core.internal.data.DataManagerImpl.java
private void dumpAll(List<DataSetMarker<Object>> dataSetMarker, OutputStream outputStream) { try {// w ww . j a v a 2 s. c o m JsonGenerator jsonGenerator = this.jsonFactory .createGenerator(new OutputStreamWriter(outputStream, Charset.forName(UTF_8))); ObjectWriter objectWriter = objectMapper.writer(); jsonGenerator.writeStartArray(); for (DataSetMarker<Object> objectDataSetMarker : dataSetMarker) { // start jsonGenerator.writeStartObject(); // metadata jsonGenerator.writeStringField(GROUP, objectDataSetMarker.getGroup()); jsonGenerator.writeStringField(NAME, objectDataSetMarker.getName()); // items jsonGenerator.writeArrayFieldStart(ITEMS); while (objectDataSetMarker.getItems().hasNext()) { objectWriter.writeValue(jsonGenerator, objectDataSetMarker.getItems().next()); } jsonGenerator.writeEndArray(); // end jsonGenerator.writeEndObject(); } jsonGenerator.writeEndArray(); jsonGenerator.flush(); } catch (Exception e) { throw SeedException.wrap(e, DataErrorCode.EXPORT_FAILED); } }
From source file:com.greplin.gec.GecLog4jAppender.java
/** * Writes a formatted msg for errors that don't have exceptions. * * @param message the log message//from w ww .ja v a 2s . c om * @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 = ExceptionUtils.getFullStackTrace(new Exception()); String[] lines = backtrace.split("\n"); StringBuilder builder = new StringBuilder(); for (String line : lines) { if (!line.contains("com.greplin.gec.GecLog4jAppender.")) { 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(); }