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

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

Introduction

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

Prototype

public abstract void writeNumber(String encodedValue)
        throws IOException, JsonGenerationException, UnsupportedOperationException;

Source Link

Document

Write method that can be used for custom numeric types that can not be (easily?) converted to "standard" Java number types.

Usage

From source file:com.netflix.spectator.tdigest.Json.java

/** Encode the measurement using the generator. */
void encode(Map<String, String> commonTags, TDigestMeasurement m, JsonGenerator gen) throws IOException {
    TDigest digest = m.value();//from   ww w  .  j a  va  2 s .  co  m
    digest.compress();
    ByteBuffer buf = ByteBuffer.allocate(digest.byteSize());
    digest.asBytes(buf);

    gen.writeStartArray();
    gen.writeStartObject();
    gen.writeStringField("name", m.id().name());
    for (Map.Entry<String, String> e : commonTags.entrySet()) {
        gen.writeStringField(e.getKey(), e.getValue());
    }
    for (Tag t : m.id().tags()) {
        gen.writeStringField(t.key(), t.value());
    }
    gen.writeEndObject();
    gen.writeNumber(m.timestamp());
    gen.writeBinary(buf.array());
    gen.writeEndArray();
}

From source file:com.acmemotors.batch.LoaderJobConfiguration.java

@Bean
@StepScope//from  w ww .j  a  v  a 2 s . c o  m
public ItemProcessor<Map<String, Object>, String> processor(
        @Value("#{jobParameters['delay']}") final long delay) {
    return item -> {
        DefaultSerializerProvider provider = new DefaultSerializerProvider.Impl();

        provider.setNullValueSerializer(new JsonSerializer<Object>() {
            @Override
            public void serialize(Object value, JsonGenerator jgen, SerializerProvider provider)
                    throws IOException {
                if (value == null) {
                    jgen.writeString("");
                } else {
                    if (value instanceof String) {
                        jgen.writeString((String) value);
                    } else {
                        if (value instanceof Integer) {
                            jgen.writeNumber((Integer) value);
                        } else {
                            jgen.writeNumber((Double) value);
                        }
                    }
                }
            }
        });

        ObjectMapper mapper = new ObjectMapper();
        mapper.setSerializerProvider(provider);

        String processedItem = mapper.writeValueAsString(item);

        Thread.sleep(delay);

        return processedItem;
    };
}

From source file:org.apache.airavata.db.AbstractThriftSerializer.java

@Override
public void serialize(final T value, final JsonGenerator jgen, final SerializerProvider provider)
        throws IOException {
    jgen.writeStartObject();/*  ww  w  .j  av a2s  .  co  m*/
    for (final E field : getFieldValues()) {
        if (value.isSet(field)) {
            final Object fieldValue = value.getFieldValue(field);
            if (fieldValue != null) {
                log.debug("Adding field {} to the JSON string...",
                        CaseFormat.UPPER_CAMEL.to(CaseFormat.LOWER_CAMEL, field.getFieldName()));

                jgen.writeFieldName(CaseFormat.UPPER_CAMEL.to(CaseFormat.LOWER_CAMEL, field.getFieldName()));
                if (fieldValue instanceof Short) {
                    jgen.writeNumber((Short) fieldValue);
                } else if (fieldValue instanceof Integer) {
                    jgen.writeNumber((Integer) fieldValue);
                } else if (fieldValue instanceof Long) {
                    jgen.writeNumber((Long) fieldValue);
                } else if (fieldValue instanceof Double) {
                    jgen.writeNumber((Double) fieldValue);
                } else if (fieldValue instanceof Float) {
                    jgen.writeNumber((Float) fieldValue);
                } else if (fieldValue instanceof Boolean) {
                    jgen.writeBoolean((Boolean) fieldValue);
                } else if (fieldValue instanceof String) {
                    jgen.writeString(fieldValue.toString());
                } else if (fieldValue instanceof Collection) {
                    log.debug("Array opened for field {}.",
                            CaseFormat.UPPER_CAMEL.to(CaseFormat.LOWER_CAMEL, field.getFieldName()));
                    jgen.writeStartArray();
                    for (final Object arrayObject : (Collection<?>) fieldValue) {
                        jgen.writeObject(arrayObject);
                    }
                    jgen.writeEndArray();
                    log.debug("Array closed for field {}.",
                            CaseFormat.UPPER_CAMEL.to(CaseFormat.LOWER_CAMEL, field.getFieldName()));
                } else {
                    jgen.writeObject(fieldValue);
                }
            } else {
                log.debug("Skipping converting field {} to JSON:  value is null!",
                        CaseFormat.UPPER_CAMEL.to(CaseFormat.LOWER_CAMEL, field.getFieldName()));
            }
        } else {
            log.debug("Skipping converting field {} to JSON:  field has not been set!",
                    CaseFormat.UPPER_CAMEL.to(CaseFormat.LOWER_CAMEL, field.getFieldName()));
        }
    }
    jgen.writeEndObject();
}

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   ww  w. j a v  a2 s .com

    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:com.streamsets.datacollector.http.JMXJsonServlet.java

private void writeObject(JsonGenerator jg, Object value) throws IOException {
    if (value == null) {
        jg.writeNull();//from w  w  w. j  av  a  2 s. com
    } else {
        Class<?> c = value.getClass();
        if (c.isArray()) {
            jg.writeStartArray();
            int len = Array.getLength(value);
            for (int j = 0; j < len; j++) {
                Object item = Array.get(value, j);
                writeObject(jg, item);
            }
            jg.writeEndArray();
        } else if (value instanceof Number) {
            Number n = (Number) value;
            jg.writeNumber(n.toString());
        } else if (value instanceof Boolean) {
            Boolean b = (Boolean) value;
            jg.writeBoolean(b);
        } else if (value instanceof CompositeData) {
            CompositeData cds = (CompositeData) value;
            CompositeType comp = cds.getCompositeType();
            Set<String> keys = comp.keySet();
            jg.writeStartObject();
            for (String key : keys) {
                writeAttribute(jg, key, cds.get(key));
            }
            jg.writeEndObject();
        } else if (value instanceof TabularData) {
            TabularData tds = (TabularData) value;
            jg.writeStartArray();
            for (Object entry : tds.values()) {
                writeObject(jg, entry);
            }
            jg.writeEndArray();
        } else if (value instanceof GaugeValue) {
            ((GaugeValue) value).serialize(jg);
        } else {
            jg.writeString(value.toString());
        }
    }
}

From source file:org.neo4j.ontology.server.unmanaged.AnnotationResource.java

private void writeJsonNodeObject(JsonGenerator jg, Node term, Label annotationLabel, List<Long> dataSetsId)
        throws IOException {
    jg.writeStartObject(); // {
    jg.writeStringField("uri", term.getProperty("uri").toString()); // uri: "http://www.w3.org/2002/07/owl#Thing"
    jg.writeStringField("ontId", term.getProperty("name").toString()); // ontId: "OWL:Thing"
    jg.writeStringField("label", term.getProperty("rdfs:label", term.getProperty("name")).toString()); // ontId: "OWL:Thing"
    jg.writeFieldName("dataSets"); // dataSets:
    jg.writeStartArray(); // [
    for (Long dataSetId : dataSetsId) {
        jg.writeNumber(dataSetId); // 123
    }//www.  java2s  . c o  m
    jg.writeEndArray(); // ]
    writeJsonNodeObjectParents(jg, term, annotationLabel);
    jg.writeEndObject(); // }
}

From source file:com.streamsets.datacollector.bundles.content.SdcInfoContentGenerator.java

private void writeObject(JsonGenerator jg, Object value) throws IOException {
    if (value == null) {
        jg.writeNull();/*from   w ww.j av a2  s .c  o  m*/
    } else {
        Class<?> c = value.getClass();
        if (c.isArray()) {
            jg.writeStartArray();
            int len = Array.getLength(value);
            for (int j = 0; j < len; j++) {
                Object item = Array.get(value, j);
                writeObject(jg, item);
            }
            jg.writeEndArray();
        } else if (value instanceof Number) {
            Number n = (Number) value;
            if (value instanceof Double && (((Double) value).isInfinite() || ((Double) value).isNaN())) {
                jg.writeString(n.toString());
            } else {
                jg.writeNumber(n.toString());
            }
        } else if (value instanceof Boolean) {
            Boolean b = (Boolean) value;
            jg.writeBoolean(b);
        } else if (value instanceof CompositeData) {
            CompositeData cds = (CompositeData) value;
            CompositeType comp = cds.getCompositeType();
            Set<String> keys = comp.keySet();
            jg.writeStartObject();
            for (String key : keys) {
                writeAttribute(jg, key, cds.get(key));
            }
            jg.writeEndObject();
        } else if (value instanceof TabularData) {
            TabularData tds = (TabularData) value;
            jg.writeStartArray();
            for (Object entry : tds.values()) {
                writeObject(jg, entry);
            }
            jg.writeEndArray();
        } else if (value instanceof GaugeValue) {
            ((GaugeValue) value).serialize(jg);
        } else {
            jg.writeString(value.toString());
        }
    }
}

From source file:com.jxt.web.vo.AgentActiveThreadCountList.java

@Override
public void serialize(AgentActiveThreadCountList agentActiveThreadStatusList, JsonGenerator jgen,
        SerializerProvider provider) throws IOException, JsonProcessingException {
    List<AgentActiveThreadCount> agentActiveThreadRepository = agentActiveThreadStatusList
            .getAgentActiveThreadRepository();

    jgen.writeStartObject();/*from   w w w  . j a  va 2  s  .c  om*/

    for (AgentActiveThreadCount agentActiveThread : agentActiveThreadRepository) {
        jgen.writeFieldName(agentActiveThread.getAgentId());
        jgen.writeStartObject();

        jgen.writeNumberField("code", agentActiveThread.getCode());
        jgen.writeStringField("message", agentActiveThread.getCodeMessage());

        TCmdActiveThreadCountRes activeThreadCount = agentActiveThread.getActiveThreadCount();
        if (activeThreadCount != null) {
            if (activeThreadCount.getActiveThreadCountSize() >= 4) {
                List<Integer> values = activeThreadCount.getActiveThreadCount();

                jgen.writeFieldName("status");
                jgen.writeStartArray();
                jgen.writeNumber(values.get(0));
                jgen.writeNumber(values.get(1));
                jgen.writeNumber(values.get(2));
                jgen.writeNumber(values.get(3));
                jgen.writeEndArray();
            }
        }

        jgen.writeEndObject();
    }

    jgen.writeEndObject();
}

From source file:ijfx.service.overlay.io.OverlaySerializer.java

private void saveLineOverlay(LineOverlay overlay, JsonGenerator jg) throws IOException {

    jg.writeStartObject();//from   www  . ja  va2  s .c om
    jg.writeStringField(JsonOverlayToken.OVERLAY_TYPE, JsonOverlayToken.LINE_OVERLAY);

    Double[] lineStart = Utils.extractArray(overlay::getLineStart, overlay.numDimensions());
    Double[] lineEnd = Utils.extractArray(overlay::getLineEnd, overlay.numDimensions());

    writeNumberArray(jg, JsonOverlayToken.BEGIN, lineStart);
    writeNumberArray(jg, JsonOverlayToken.END, lineEnd);

    ColorRGB fcolor = overlay.getFillColor();
    ColorRGB lcolor = overlay.getLineColor();

    Integer[] fill_color = { fcolor.getRed(), fcolor.getGreen(), fcolor.getBlue() };
    Integer[] line_color = { lcolor.getRed(), lcolor.getGreen(), lcolor.getBlue() };

    double width = overlay.getLineWidth();

    writeNumberArray(jg, JsonOverlayToken.FILL_COLOR, fill_color);
    writeNumberArray(jg, JsonOverlayToken.LINE_COLOR, line_color);

    jg.writeFieldName(JsonOverlayToken.LINE_WIDTH);
    jg.writeNumber(width);

    jg.writeEndObject();

}