Example usage for com.fasterxml.jackson.core JsonFactory createGenerator

List of usage examples for com.fasterxml.jackson.core JsonFactory createGenerator

Introduction

In this page you can find the example usage for com.fasterxml.jackson.core JsonFactory createGenerator.

Prototype

public JsonGenerator createGenerator(Writer out) throws IOException 

Source Link

Document

Method for constructing JSON generator for writing JSON content using specified Writer.

Usage

From source file:eu.project.ttc.models.index.JsonTermIndexIO.java

public static void save(Writer writer, TermIndex termIndex, JsonOptions options) throws IOException {
    JsonFactory jsonFactory = new JsonFactory(); // or, for data binding, org.codehaus.jackson.mapper.MappingJsonFactory 
    //      jsonFactory.configure(f, state)
    JsonGenerator jg = jsonFactory.createGenerator(writer); // or Stream, Reader
    jg.useDefaultPrettyPrinter();//from   w w w.  j  a  v  a 2  s . c o  m

    jg.writeStartObject();

    jg.writeFieldName(METADATA);
    jg.writeStartObject();
    jg.writeFieldName(NAME);
    jg.writeString(termIndex.getName());
    jg.writeFieldName(LANG);
    jg.writeString(termIndex.getLang().getCode());
    if (termIndex.getCorpusId() != null) {
        jg.writeFieldName(CORPUS_ID);
        jg.writeString(termIndex.getCorpusId());
    }

    jg.writeFieldName(OCCURRENCE_STORAGE);
    if (options.isMongoDBOccStore()) {
        jg.writeString(OCCURRENCE_STORAGE_MONGODB);
        jg.writeFieldName(OCCURRENCE_MONGODB_STORE_URI);
        jg.writeString(options.getMongoDBOccStore());
    } else if (options.isEmbeddedOccurrences())
        jg.writeString(OCCURRENCE_STORAGE_EMBEDDED);
    else
        throw new IllegalStateException("Unknown storage mode");

    jg.writeFieldName(NB_WORD_ANNOTATIONS);
    jg.writeNumber(termIndex.getWordAnnotationsNum());
    jg.writeFieldName(NB_SPOTTED_TERMS);
    jg.writeNumber(termIndex.getSpottedTermsNum());

    jg.writeEndObject();

    jg.writeFieldName(INPUT_SOURCES);
    int idCnt = 0;
    Map<String, Integer> inputSources = Maps.newTreeMap();
    for (Document d : termIndex.getDocuments())
        if (!inputSources.containsKey(d.getUrl()))
            inputSources.put(d.getUrl(), ++idCnt);
    jg.writeStartObject();
    for (String uri : inputSources.keySet()) {
        jg.writeFieldName(inputSources.get(uri).toString());
        jg.writeString(uri);
    }
    jg.writeEndObject();

    jg.writeFieldName(WORDS);
    jg.writeStartArray();
    for (Word w : termIndex.getWords()) {
        jg.writeStartObject();
        jg.writeFieldName(LEMMA);
        jg.writeString(w.getLemma());
        jg.writeFieldName(STEM);
        jg.writeString(w.getStem());
        if (w.isCompound()) {
            jg.writeFieldName(COMPOUND_TYPE);
            jg.writeString(w.getCompoundType().name());
            jg.writeFieldName(COMPONENTS);
            jg.writeStartArray();
            for (Component c : w.getComponents()) {
                jg.writeStartObject();
                jg.writeFieldName(LEMMA);
                jg.writeString(c.getLemma());
                jg.writeFieldName(BEGIN);
                jg.writeNumber(c.getBegin());
                jg.writeFieldName(END);
                jg.writeNumber(c.getEnd());
                jg.writeEndObject();
            }
            jg.writeEndArray();
        }

        jg.writeEndObject();
    }
    jg.writeEndArray();

    Set<TermVariation> termVariations = Sets.newHashSet();

    jg.writeFieldName(TERMS);
    jg.writeStartArray();
    for (Term t : termIndex.getTerms()) {
        termVariations.addAll(t.getVariations());

        jg.writeStartObject();
        jg.writeFieldName(ID);
        jg.writeNumber(t.getId());
        jg.writeFieldName(RANK);
        jg.writeNumber(t.getRank());
        jg.writeFieldName(GROUPING_KEY);
        jg.writeString(t.getGroupingKey());
        jg.writeFieldName(WORDS);
        jg.writeStartArray();
        for (TermWord tw : t.getWords()) {
            jg.writeStartObject();
            jg.writeFieldName(SYN);
            jg.writeString(tw.getSyntacticLabel());
            jg.writeFieldName(LEMMA);
            jg.writeString(tw.getWord().getLemma());
            jg.writeEndObject();
        }
        jg.writeEndArray();

        jg.writeFieldName(FREQUENCY);
        jg.writeNumber(t.getFrequency());
        jg.writeFieldName(FREQ_NORM);
        jg.writeNumber(t.getFrequencyNorm());
        jg.writeFieldName(GENERAL_FREQ_NORM);
        jg.writeNumber(t.getGeneralFrequencyNorm());
        jg.writeFieldName(SPECIFICITY);
        jg.writeNumber(t.getSpecificity());
        jg.writeFieldName(SPOTTING_RULE);
        jg.writeString(t.getSpottingRule());

        if (options.withOccurrences() && options.isEmbeddedOccurrences()) {
            jg.writeFieldName(OCCURRENCES);
            jg.writeStartArray();
            for (TermOccurrence termOcc : t.getOccurrences()) {
                jg.writeStartObject();
                jg.writeFieldName(BEGIN);
                jg.writeNumber(termOcc.getBegin());
                jg.writeFieldName(END);
                jg.writeNumber(termOcc.getEnd());
                jg.writeFieldName(TEXT);
                jg.writeString(termOcc.getCoveredText());
                jg.writeFieldName(FILE);
                jg.writeNumber(inputSources.get(termOcc.getSourceDocument().getUrl()));
                jg.writeEndObject();
            }
            jg.writeEndArray();
        }

        if (options.isWithContexts() && t.isContextVectorComputed()) {
            jg.writeFieldName(CONTEXT);
            jg.writeStartObject();

            jg.writeFieldName(TOTAL_COOCCURRENCES);
            jg.writeNumber(t.getContextVector().getTotalCoccurrences());
            jg.writeFieldName(CO_OCCURRENCES);
            jg.writeStartArray();
            if (t.isContextVectorComputed()) {
                for (ContextVector.Entry contextEntry : t.getContextVector().getEntries()) {
                    jg.writeStartObject();
                    jg.writeFieldName(CO_TERM);
                    jg.writeString(contextEntry.getCoTerm().getGroupingKey());
                    jg.writeFieldName(NB_COCCS);
                    jg.writeNumber(contextEntry.getNbCooccs());
                    jg.writeFieldName(ASSOC_RATE);
                    jg.writeNumber(contextEntry.getAssocRate());
                    jg.writeEndObject();
                }
            }
            jg.writeEndArray();
            jg.writeEndObject();
        }

        jg.writeEndObject();
    }
    jg.writeEndArray();

    /* Variants */
    jg.writeFieldName(TERM_VARIATIONS);
    jg.writeStartArray();
    for (TermVariation v : termVariations) {
        jg.writeStartObject();
        jg.writeFieldName(BASE);
        jg.writeString(v.getBase().getGroupingKey());
        jg.writeFieldName(VARIANT);
        jg.writeString(v.getVariant().getGroupingKey());
        jg.writeFieldName(VARIANT_TYPE);
        jg.writeString(v.getVariationType().getShortName());
        jg.writeFieldName(INFO);
        jg.writeString(v.getInfo().toString());
        jg.writeFieldName(VARIANT_SCORE);
        jg.writeNumber(v.getScore());
        jg.writeEndObject();
    }
    jg.writeEndArray();

    jg.writeEndObject();
    jg.close();
}

From source file:de.softwareforge.streamery.JsonStreamer.java

public JsonStreamer(final JsonFactory factory) throws IOException {
    this.jg = factory.createGenerator(System.out);
    writeStart(jg);/*  w  w w. j a  v  a 2  s .c  om*/
}

From source file:chiliad.parser.pdf.output.JSONOutput.java

public JSONOutput(Writer writer) {
    JsonFactory jfactory = new JsonFactory();
    try {// w w w.  j  a v  a 2  s .  c  om
        gen = jfactory.createGenerator(writer);
    } catch (IOException ex) {
        throw new ParserOutputException("Failed to writer JSON output.", ex);
    }
}

From source file:org.camunda.spin.impl.json.jackson.format.JacksonJsonDataFormatWriter.java

public void writeToWriter(Writer writer, Object input) {
    final ObjectMapper objectMapper = dataFormat.getObjectMapper();
    final JsonFactory factory = objectMapper.getFactory();

    try {// w  w w .ja v  a  2 s  . com
        JsonGenerator generator = factory.createGenerator(writer);
        objectMapper.writeTree(generator, (JsonNode) input);
    } catch (IOException e) {
        throw LOG.unableToWriteJsonNode(e);
    }

}

From source file:edu.usd.btl.REST.CategoriesResource.java

@Path("/test")
@GET/*w  w  w  .  ja v  a 2  s .  co  m*/
@Produces("application/json")
public String getTestJson() throws Exception {
    // Create the node factory that gives us nodes.
    JsonNodeFactory factory = new JsonNodeFactory(false);

    // create a json factory to write the treenode as json. for the example
    // we just write to console
    JsonFactory jsonFactory = new JsonFactory();
    JsonGenerator generator = jsonFactory.createGenerator(System.out);
    ObjectMapper mapper = new ObjectMapper();

    // the root node - album
    JsonNode album = factory.objectNode();
    mapper.writeTree(generator, album);

    return "null";
}

From source file:com.proteanplatform.web.core.mvc.JsonView.java

@Override
public void render(Map<String, ?> model, HttpServletRequest request, HttpServletResponse response)
        throws Exception {
    response.setContentType(getContentType());

    ObjectMapper mapper = new ObjectMapper();
    JsonFactory factory = mapper.getFactory();
    JsonGenerator json = null;/*  ww  w .  j  a va  2 s  .  c  om*/

    try {
        json = factory.createGenerator(response.getWriter());
        json.writeObject(model);
    } finally {
        if (json != null) {
            json.close();
        }
    }
}

From source file:org.springframework.cloud.stream.metrics.config.MetricJsonSerializerTests.java

@Test
public void validateAlwaysGMTDateAndFormat() throws Exception {
    Date date = new Date(1493060197188L); // Mon Apr 24 14:56:37 EDT 2017
    Metric<Number> metric = new Metric<Number>("Hello", 123, date);

    JsonFactory factory = new JsonFactory();
    StringWriter writer = new StringWriter();
    JsonGenerator jsonGenerator = factory.createGenerator(writer);
    Serializer ser = new Serializer();
    ser.serialize(metric, jsonGenerator, null);
    jsonGenerator.flush();/*from w w  w  . j av a  2 s  . c om*/

    JSONObject json = new JSONObject(writer.toString());
    String serializedTimestamp = json.getString("timestamp");
    assertEquals("2017-04-24T18:56:37.188Z", serializedTimestamp);
}

From source file:ch.rasc.wampspring.message.SubscribeMessage.java

@Override
public String toJson(JsonFactory jsonFactory) throws IOException {
    try (StringWriter sw = new StringWriter(); JsonGenerator jg = jsonFactory.createGenerator(sw)) {
        jg.writeStartArray();/*from w  w  w.  j  ava  2s  .  c o  m*/
        jg.writeNumber(getTypeId());
        jg.writeString(getTopicURI());
        jg.writeEndArray();
        jg.close();
        return sw.toString();
    }
}

From source file:org.wrml.runtime.format.application.json.JsonModelPrinterFactory.java

@Override
public ModelPrinter createModelPrinter(final OutputStream out, final ModelWriteOptions writeOptions)
        throws IOException, ModelPrinterException {

    final JsonFactory jsonFactory = new JsonFactory();
    final JsonGenerator jsonGenerator;

    try {//w  w  w  .j  a v  a  2  s  .  com
        jsonGenerator = jsonFactory.createGenerator(out);
    } catch (final IOException e) {
        throw new ModelPrinterException(
                "An serious I/O related problem has occurred while attempting to print a Model.", e, null);
    }

    final JsonModelPrinter printer = new JsonModelPrinter(jsonGenerator, writeOptions);
    return printer;
}

From source file:ch.rasc.wampspring.message.CallResultMessage.java

@Override
public String toJson(JsonFactory jsonFactory) throws IOException {
    try (StringWriter sw = new StringWriter(); JsonGenerator jg = jsonFactory.createGenerator(sw)) {
        jg.writeStartArray();/*ww w.j a v a 2  s . c o m*/
        jg.writeNumber(getTypeId());
        jg.writeString(this.callID);
        jg.writeObject(this.result);
        jg.writeEndArray();
        jg.close();
        return sw.toString();
    }
}