Example usage for com.fasterxml.jackson.core JsonGenerator writeStringField

List of usage examples for com.fasterxml.jackson.core JsonGenerator writeStringField

Introduction

In this page you can find the example usage for com.fasterxml.jackson.core JsonGenerator writeStringField.

Prototype

public void writeStringField(String fieldName, String value) throws IOException, JsonGenerationException 

Source Link

Document

Convenience method for outputting a field entry ("member") that has a String value.

Usage

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();
}