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

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

Introduction

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

Prototype

public final void writeObjectFieldStart(String fieldName) throws IOException, JsonGenerationException 

Source Link

Document

Convenience method for outputting a field entry ("member") (that will contain a JSON Object value), and the START_OBJECT marker.

Usage

From source file:org.lambdamatic.internal.elasticsearch.codec.MatchQuerySerializer.java

@Override
public void serialize(final MatchQuery matchQuery, final JsonGenerator generator,
        final SerializerProvider serializers) throws IOException, JsonProcessingException {
    generator.writeStartObject();//from   www  . j  av  a 2  s . c  o  m
    generator.writeObjectFieldStart("match");
    // TODO: add a flag to indicate that custom settings were set if we need to support more than just 'boost'
    if (matchQuery.getBoostFactor() != 1.0f) {
        generator.writeObjectFieldStart(matchQuery.getFieldName());
        generator.writeObjectField("query", matchQuery.getValue());
        generator.writeNumberField("boost", matchQuery.getBoostFactor());
        generator.writeEndObject();
    } else {
        generator.writeObjectField(matchQuery.getFieldName(), matchQuery.getValue());
    }
    generator.writeEndObject();
    generator.writeEndObject();
}

From source file:org.lambdamatic.internal.elasticsearch.codec.GeoBoundingBoxSerializer.java

@Override
public void serialize(final GeoBoundingBoxQuery query, final JsonGenerator generator,
        final SerializerProvider serializers) throws IOException, JsonProcessingException {

    generator.writeStartObject();//  w  ww.  j  a  v a 2 s .  co m
    generator.writeObjectFieldStart("geo_bounding_box");
    generator.writeObjectFieldStart(query.getFieldName());
    generator.writeObjectFieldStart("top_left");
    generator.writeNumberField("lat", query.getTopLeftLatitude());
    generator.writeNumberField("lon", query.getTopLeftLongitude());
    generator.writeEndObject(); // end 'top_left'
    generator.writeObjectFieldStart("bottom_right");
    generator.writeNumberField("lat", query.getBottomRightLatitude());
    generator.writeNumberField("lon", query.getBottomRightLongitude());
    generator.writeEndObject(); // end 'bottom_right'
    generator.writeEndObject(); // end 'field name'
    generator.writeEndObject(); // end 'geo_bounding_box'
}

From source file:com.attribyte.essem.es.IntRangeQuery.java

@Override
public void generate(final JsonGenerator generator) throws IOException {
    generator.writeStartObject();/*  w  ww. j av  a 2 s. c o  m*/
    {
        generator.writeObjectFieldStart("range");
        {
            generator.writeObjectFieldStart(term);
            {
                if (includeMin) {
                    generator.writeNumberField("gte", minValue);
                } else {
                    generator.writeNumberField("gt", minValue);
                }

                if (includeMax) {
                    generator.writeNumberField("lte", maxValue);
                } else {
                    generator.writeNumberField("lt", maxValue);
                }
            }
            generator.writeEndObject();
        }
        generator.writeEndObject();
    }
    generator.writeEndObject();
}

From source file:net.uncontended.precipice.reporting.registry.ToJSON.java

public String write(Summary<Result, Rejected> summary) {
    Slice<Result, Rejected>[] slices = summary.getSlices();

    Class<Result> resultClazz = summary.resultClazz;
    Class<Rejected> rejectedClazz = summary.rejectedClazz;

    StringWriter w = new StringWriter();
    try {//from   w  ww  .  java  2 s  .  c  o  m
        JsonGenerator generator = jsonFactory.createGenerator(w);
        generator.writeStartObject();
        generator.writeObjectFieldStart("result-to-success?");
        for (Result r : resultClazz.getEnumConstants()) {
            generator.writeObjectField(r.toString(), r.isFailure());
        }
        generator.writeEndObject();
        generator.writeArrayFieldStart("rejected");
        for (Rejected r : rejectedClazz.getEnumConstants()) {
            generator.writeString(r.toString());
        }
        generator.writeEndArray();
        generator.writeArrayFieldStart("slices");
        writeSlice(generator, slices[0]);
        generator.writeEndArray();
        generator.writeEndObject();
        generator.flush();
    } catch (IOException e) {
        e.printStackTrace();
        return EMPTY;
    }

    return w.toString();
}

From source file:org.lambdamatic.internal.elasticsearch.codec.RangeQuerySerializer.java

@Override
public void serialize(final RangeQuery rangeQuery, final JsonGenerator generator,
        final SerializerProvider serializers) throws IOException, JsonProcessingException {
    generator.writeStartObject();//from  w  ww  .java2  s .c om
    generator.writeObjectFieldStart("range");
    generator.writeObjectFieldStart(rangeQuery.getFieldName());
    switch (rangeQuery.getType()) {
    case GT:
        generator.writeObjectField("gt", rangeQuery.getValue());
        break;
    case GTE:
        generator.writeObjectField("gte", rangeQuery.getValue());
        break;
    default:
        throw new CodecException("Unsupported (yet range type: " + rangeQuery.getType());
    }
    if (rangeQuery.getBoostFactor() != 1.0f) {
        generator.writeNumberField("boost", rangeQuery.getBoostFactor());
    }
    generator.writeEndObject();
    generator.writeEndObject();
    generator.writeEndObject();
}

From source file:com.attribyte.essem.es.DateHistogramAggregation.java

@Override
public void generate(final JsonGenerator generator) throws IOException {
    generator.writeObjectFieldStart(name);
    {//from   ww w  . j  a v  a 2  s .  c om
        if (filter != null) {
            generator.writeFieldName("filter");
            filter.generate(generator);
        }

        generator.writeObjectFieldStart(type);
        {
            generator.writeStringField("field", field);
            generator.writeStringField("interval", interval);
            generator.writeNumberField("min_doc_count", 0);

            switch (order) { //Key ascending is default...
            case DOC_COUNT_ASC:
                generator.writeObjectFieldStart("order");
                generator.writeStringField("_count", "asc");
                generator.writeEndObject();
                break;
            case DOC_COUNT_DESC:
                generator.writeObjectFieldStart("order");
                generator.writeStringField("_count", "desc");
                generator.writeEndObject();
                break;
            case KEY_DESC:
                generator.writeObjectFieldStart("order");
                generator.writeStringField("_key", "desc");
                generator.writeEndObject();
                break;
            }
        }
        generator.writeEndObject();
        if (subs != null && subs.size() > 0) {
            generator.writeObjectFieldStart(AGGREGATION_OBJECT_NAME);
            for (Aggregation sub : subs) {
                sub.generate(generator);
            }
            generator.writeEndObject();
        }
    }
    generator.writeEndObject();
}

From source file:org.lambdamatic.internal.elasticsearch.codec.DocumentSearchSerializer.java

@Override
public void serialize(final DocumentSearch documentSearch, final JsonGenerator generator,
        final SerializerProvider serializers) throws IOException, JsonProcessingException {
    generator.writeStartObject();//from  w ww.  jav  a  2  s  .  com
    generator.writeObjectFieldStart("query");
    generator.writeObjectFieldStart("bool");
    if (documentSearch.getShouldMatchQuery() != null) {
        generator.writeObjectField("should", documentSearch.getShouldMatchQuery());
    }
    if (documentSearch.getMustMatchQuery() != null) {
        generator.writeObjectField("must", documentSearch.getMustMatchQuery());
    }
    if (documentSearch.getMustNotMatchQuery() != null) {
        generator.writeObjectField("must_not", documentSearch.getMustNotMatchQuery());
    }
    if (documentSearch.getFilterQuery() != null) {
        generator.writeObjectField("filter", documentSearch.getFilterQuery());
    }
    generator.writeEndObject(); // end "bool"
    generator.writeEndObject(); // end "query"
    // TODO: other search criteria (sort, from/size, etc.) come here
    generator.writeEndObject(); // end root

}

From source file:com.attribyte.essem.es.MinMaxQuery.java

@Override
public void generate(final JsonGenerator generator) throws IOException {
    generator.writeStartObject();/*from  w ww  . java2  s. co  m*/
    {
        generator.writeObjectFieldStart("range");
        {
            generator.writeObjectFieldStart(term);
            {
                if (endpointValue instanceof Float || endpointValue instanceof Double) {
                    generator.writeNumberField(mode.op, endpointValue.doubleValue());
                } else {
                    generator.writeNumberField(mode.op, endpointValue.longValue());
                }
            }
            generator.writeEndObject();
        }
        generator.writeEndObject();
    }
    generator.writeEndObject();
}

From source file:org.calrissian.mango.json.ser.BaseTupleStoreSerializer.java

@Override
public void serialize(T t, JsonGenerator jsonGenerator, SerializerProvider serializerProvider)
        throws IOException {

    jsonGenerator.writeStartObject();/*from  w  w w  . j  a va2  s. co m*/

    writeUniqueFields(t, jsonGenerator);

    jsonGenerator.writeObjectFieldStart("tuples");

    for (String key : t.keys())
        jsonGenerator.writeObjectField(key, t.getAll(key));

    jsonGenerator.writeEndObject();

}

From source file:com.sdl.odata.renderer.json.writer.JsonErrorResponseWriter.java

/**
 * Gets the json error output according to ODataException.
 *
 * @param exception ODataException/*from   w  w w .  ja  va  2 s . co  m*/
 * @return errorJsonResponse
 * @throws ODataRenderException If unable to render the json error message
 */
public String getJsonError(ODataException exception) throws ODataRenderException {
    checkNotNull(exception);

    LOG.debug("Start building Json error document");

    ByteArrayOutputStream outputStream = new ByteArrayOutputStream();

    try {
        JsonGenerator jsonGenerator = JSON_FACTORY.createGenerator(outputStream, JsonEncoding.UTF8);
        jsonGenerator.writeStartObject();

        jsonGenerator.writeObjectFieldStart(ERROR);

        jsonGenerator.writeStringField(CODE, String.valueOf(exception.getCode().getCode()));
        jsonGenerator.writeStringField(MESSAGE, String.valueOf(exception.getMessage()));
        // optional
        if (exception.getTarget() != null) {
            jsonGenerator.writeStringField(TARGET, String.valueOf(exception.getTarget()).replace("\"", "'"));
        }
        jsonGenerator.writeEndObject();
        jsonGenerator.close();

        return outputStream.toString();
    } catch (IOException e) {
        LOG.error("Not possible to write error JSON.");
        throw new ODataRenderException("Not possible to write error JSON: ", e);
    }
}