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

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

Introduction

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

Prototype

public abstract void writeEndArray() throws IOException, JsonGenerationException;

Source Link

Document

Method for writing closing marker of a JSON Array value (character ']'; plus possible white space decoration if pretty-printing is enabled).

Usage

From source file:org.emfjson.jackson.streaming.StreamWriter.java

public void generate(final JsonGenerator generator, Resource resource) {
    prepare(generator, resource);// w  w w  .j a  va  2s.c  o  m

    final EList<EObject> contents = resource.getContents();

    if (contents.size() == 1) {
        try {
            generate(generator, contents.get(0));
        } catch (IOException e) {
            e.printStackTrace();
        }
    } else {
        try {
            generator.writeStartArray();
            for (final EObject current : contents) {
                generate(generator, current);
            }
            generator.writeEndArray();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

From source file:com.streamsets.datacollector.http.JMXJsonServlet.java

private void writeObject(JsonGenerator jg, Object value) throws IOException {
    if (value == null) {
        jg.writeNull();//  w ww .j  av  a2s  . 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;
            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.pentaho.metaverse.impl.model.kettle.json.AbstractStepMetaJsonSerializer.java

protected void writeFields(JsonGenerator json, List<RowMetaInterface> fieldMetaList, String arrayObjectName)
        throws IOException {
    json.writeArrayFieldStart(arrayObjectName);
    for (RowMetaInterface fields : fieldMetaList) {
        List<ValueMetaInterface> valueMetaInterfaces = fields.getValueMetaList();
        for (ValueMetaInterface valueMetaInterface : valueMetaInterfaces) {
            FieldInfo fieldInfo = new FieldInfo(valueMetaInterface);
            json.writeObject(fieldInfo);
        }/*from w  w  w  .ja  v  a 2 s  .com*/
    }
    json.writeEndArray();
}

From source file:net.opentsdb.contrib.tsquare.web.view.GraphiteJsonResponseWriter.java

@Override
public void write(final AnnotatedDataPoints annotatedPoints, final ResponseContext context) throws IOException {
    final JsonGenerator jsonGenerator = getJsonGenerator(context);

    jsonGenerator.writeStartObject();/*from w  w w  .j a  v  a2  s.  com*/
    jsonGenerator.writeStringField("target", annotatedPoints.getDataPoints().metricName());

    if (includeAllTags) {
        jsonGenerator.writeArrayFieldStart("tags");
        for (final Map.Entry<String, String> entry : annotatedPoints.getDataPoints().getTags().entrySet()) {
            jsonGenerator.writeStartObject();
            jsonGenerator.writeStringField("key", entry.getKey());
            jsonGenerator.writeStringField("value", entry.getValue());
            jsonGenerator.writeEndObject();
        }
        jsonGenerator.writeEndArray();
    }

    if (includeAggregatedTags) {
        jsonGenerator.writeArrayFieldStart("aggregatedTags");
        for (final String tag : annotatedPoints.getDataPoints().getAggregatedTags()) {
            jsonGenerator.writeString(tag);
        }
        jsonGenerator.writeEndArray();
    }

    if (summarize) {
        final DataPointsAsDoubles doubles = new DataPointsAsDoubles(annotatedPoints.getDataPoints());
        final double aggValue = Aggregators.SUM.runDouble(doubles);
        jsonGenerator.writeNumberField("summarizedValue", aggValue);
    } else {
        jsonGenerator.writeArrayFieldStart("datapoints");

        for (final DataPoint p : annotatedPoints.getDataPoints()) {
            jsonGenerator.writeStartArray();

            if (p.isInteger()) {
                jsonGenerator.writeNumber(p.longValue());
            } else {
                jsonGenerator.writeNumber(p.doubleValue());
            }

            if (isMillisecondResolution()) {
                jsonGenerator.writeNumber(p.timestamp());
            } else {
                jsonGenerator.writeNumber(TimeUnit.MILLISECONDS.toSeconds(p.timestamp()));
            }

            jsonGenerator.writeEndArray();
        }

        jsonGenerator.writeEndArray();
    }

    jsonGenerator.writeEndObject();
}

From source file:net.opentsdb.contrib.tsquare.web.controller.ExtendedApiController.java

@RequestMapping(value = "/grep", method = RequestMethod.GET)
public void grep(@RequestParam(required = false, defaultValue = "") String type,
        @RequestParam(required = false, defaultValue = "wildcard") String method,
        @RequestParam(required = true) String q, final HttpServletResponse servletResponse) throws IOException {

    if (log.isInfoEnabled()) {
        log.info("Suggest {} using {} expression: {}", type, method, q);
    }//w ww.ja v  a 2s  .  c  o m

    // Do we have a valid type? Note that an empty "type" is valid.
    if (!Strings.isNullOrEmpty(type)) {
        Preconditions.checkArgument(getTsdbManager().getKnownUidKinds().contains(type), "Unknown type: %s",
                type);
    }

    // We can only query hbase using regex, so convert a wildcard query into
    // a regex if necessary.
    final String regex;
    if ("wildcard".equalsIgnoreCase(method)) {
        regex = TsWebUtils.wildcardToRegex(q);
        log.debug("Converted wildcard expression {} to regex: {}", q, regex);
    } else {
        regex = q;
    }

    final UidQuery query = getTsdbManager().newUidQuery();
    query.setRegex(regex);

    if (Strings.isNullOrEmpty(type)) {
        query.includeAllKinds();
    } else {
        query.includeKind(type);
    }

    servletResponse.setContentType("application/json");
    final OutputStream stream = servletResponse.getOutputStream();
    final JsonGenerator json = new JsonFactory().createJsonGenerator(stream);

    try {
        json.writeStartArray();

        query.run(new QueryCallback<Uid>() {
            @Override
            public boolean onResult(final Uid resultObject) {
                try {
                    json.writeString(resultObject.getName());
                    return true;
                } catch (IOException e) {
                    throw new IllegalArgumentException("Unable to serialize " + resultObject + " to JSON", e);
                }
            }
        });

        json.writeEndArray();
        json.flush();
    } finally {
        Closeables.close(stream, false);
    }
}

From source file:com.predic8.membrane.core.interceptor.administration.AdminRESTInterceptor.java

@Mapping("/admin/rest/exchanges/(-?\\d+)/(response|request)/header")
public Response getRequestHeader(QueryParameter params, String relativeRootPath) throws Exception {
    final AbstractExchange exc = router.getExchangeStore().getExchangeById(params.getGroupInt(1));

    if (exc == null) {
        return Response.notFound().build();
    }/*w ww . ja  va2  s.c  o  m*/

    final Message msg = params.getGroup(2).equals("response") ? exc.getResponse() : exc.getRequest();

    if (msg == null) {
        return Response.noContent().build();
    }

    return json(new JSONContent() {
        public void write(JsonGenerator gen) throws Exception {
            gen.writeStartObject();
            gen.writeArrayFieldStart("headers");
            for (HeaderField hf : msg.getHeader().getAllHeaderFields()) {
                gen.writeStartObject();
                gen.writeStringField("name", hf.getHeaderName().toString());
                gen.writeStringField("value", hf.getValue());
                gen.writeEndObject();
            }
            gen.writeEndArray();
            gen.writeEndObject();
        }
    });
}

From source file:org.pentaho.metaverse.impl.model.kettle.json.TransMetaJsonSerializer.java

@Override
protected void serializeSteps(TransMeta meta, JsonGenerator json) throws IOException {
    json.writeArrayFieldStart(JSON_PROPERTY_STEPS);
    for (StepMeta stepMeta : meta.getSteps()) {
        BaseStepMeta step = getBaseStepMetaFromStepMeta(stepMeta);
        LineageRepository repo = getLineageRepository();
        String id = stepMeta.getObjectId() == null ? stepMeta.getName() : stepMeta.getObjectId().toString();
        ObjectId stepId = new StringObjectId(id);
        try {//  w ww.j av  a  2  s  .  c om
            step.saveRep(repo, null, null, stepId);
        } catch (KettleException e) {
            LOGGER.warn(Messages.getString("INFO.Serialization.Trans.Step", stepMeta.getName()), e);
        }
        json.writeObject(step);
    }
    json.writeEndArray();
}

From source file:models.CoefficientSerializer.java

@Override
public void serialize(Coefficient coefficient, JsonGenerator jgen, SerializerProvider provider)
        throws IOException {
    jgen.writeStartObject();/*from w  w  w.  j av a 2 s .c o  m*/
    jgen.writeStringField("id", coefficient.getId());
    jgen.writeFieldName("unit");
    jgen.writeObject(coefficient.getUnit());
    jgen.writeFieldName("keywords");
    jgen.writeObject(coefficient.getKeywords());
    jgen.writeFieldName("value");
    jgen.writeObject(coefficient.getValue());

    jgen.writeFieldName("groups");
    jgen.writeStartArray();
    for (Group group : coefficient.getGroups()) {
        jgen.writeStartObject();
        jgen.writeStringField("id", group.getId());
        jgen.writeStringField("label", group.getLabel());
        jgen.writeEndObject();
    }
    jgen.writeEndArray();

    jgen.writeFieldName("relations");
    jgen.writeStartArray();
    for (DerivedRelation relation : coefficient.getDerivedRelations()) {
        jgen.writeObject(relation);
    }
    jgen.writeEndArray();
    jgen.writeEndObject();
}

From source file:models.ReferenceSerializer.java

@Override
public void serialize(Reference reference, JsonGenerator jgen, SerializerProvider provider) throws IOException {
    jgen.writeStartObject();/* w  ww  .j  a v a2  s  .com*/
    jgen.writeStringField("id", reference.getId());
    jgen.writeStringField("date", reference.getDate());
    jgen.writeStringField("publisher", reference.getPublisher());
    jgen.writeStringField("shortName", reference.getShortName());
    jgen.writeStringField("source", reference.getSource());
    jgen.writeStringField("title", reference.getTitle());
    jgen.writeStringField("url", reference.getURL());
    jgen.writeStringField("creator", reference.getCreator());
    jgen.writeFieldName("groups");
    jgen.writeStartArray();
    for (Group group : reference.getGroups()) {
        writeSimplifiedGroup(group, jgen);
    }
    jgen.writeEndArray();
    jgen.writeEndObject();
}

From source file:com.ning.metrics.action.hdfs.reader.HdfsListing.java

@SuppressWarnings({ "unchecked", "unused" })
public void toJson(final OutputStream out, final boolean pretty) throws IOException {
    final String parentPath = getParentPath() == null ? "" : getParentPath();

    final JsonGenerator generator = new JsonFactory().createJsonGenerator(out);
    generator.configure(JsonGenerator.Feature.AUTO_CLOSE_TARGET, false);
    if (pretty) {
        generator.setPrettyPrinter(new DefaultPrettyPrinter());
    }/*from  w  w w.  j a v a  2  s  . c  o  m*/

    generator.writeStartObject();
    generator.writeObjectField(JSON_LISTING_PATH, getPath());
    generator.writeObjectField(JSON_LISTING_PARENT_PATH, parentPath);
    generator.writeArrayFieldStart(JSON_LISTING_ENTRIES);
    // Important: need to flush before appending pre-serialized events
    generator.flush();

    for (HdfsEntry entry : getEntries()) {
        entry.toJson(generator);
    }
    generator.writeEndArray();

    generator.writeEndObject();
    generator.close();
}