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

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

Introduction

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

Prototype

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

Source Link

Document

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

Usage

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

@Mapping("/admin/rest/proxies(/?\\?.*)?")
public Response getProxies(final QueryParameter params, String relativeRootPath) throws Exception {
    final List<AbstractServiceProxy> proxies = getServiceProxies();

    if ("order".equals(params.getString("sort"))) {
        if (params.getString("order", "asc").equals("desc"))
            Collections.reverse(proxies);
    } else {//from   w ww  .  j  a  v  a  2s .c  o  m
        Collections.sort(proxies, ComparatorFactory.getAbstractServiceProxyComparator(
                params.getString("sort", "name"), params.getString("order", "asc")));
    }

    final int offset = params.getInt("offset", 0);
    int max = params.getInt("max", proxies.size());

    final List<AbstractServiceProxy> paginated = proxies.subList(offset,
            Math.min(offset + max, proxies.size()));

    return json(new JSONContent() {
        public void write(JsonGenerator gen) throws Exception {
            gen.writeStartObject();
            gen.writeArrayFieldStart("proxies");
            int i = offset;
            if (params.getString("order", "asc").equals("desc"))
                i = proxies.size() - i + 1;
            for (AbstractServiceProxy p : paginated) {
                gen.writeStartObject();
                gen.writeNumberField("order", i += params.getString("order", "asc").equals("desc") ? -1 : 1);
                gen.writeStringField("name", p.toString());
                gen.writeBooleanField("active", p.isActive());
                if (!p.isActive())
                    gen.writeStringField("error", p.getErrorState());
                gen.writeNumberField("listenPort", p.getKey().getPort());
                gen.writeStringField("virtualHost", p.getKey().getHost());
                gen.writeStringField("method", p.getKey().getMethod());
                gen.writeStringField("path", p.getKey().getPath());
                gen.writeStringField("targetHost", p.getTargetHost());
                gen.writeNumberField("targetPort", p.getTargetPort());
                gen.writeNumberField("count", p.getCount());
                gen.writeObjectFieldStart("actions");
                if (!isReadOnly()) {
                    gen.writeStringField("delete", "/admin/service-proxy/delete?name="
                            + URLEncoder.encode(RuleUtil.getRuleIdentifier(p), "UTF-8"));
                }
                if (!p.isActive())
                    gen.writeStringField("start", "/admin/service-proxy/start?name="
                            + URLEncoder.encode(RuleUtil.getRuleIdentifier(p), "UTF-8"));
                gen.writeEndObject();
                gen.writeEndObject();
            }
            gen.writeEndArray();
            gen.writeNumberField("total", proxies.size());
            gen.writeEndObject();
        }
    });
}

From source file:com.predic8.membrane.core.interceptor.apimanagement.statistics.AMStatisticsCollector.java

private String combineJsons(String name, ArrayList<String> jsonStatisticsForRequests) throws IOException {
    JsonGenerator gen = getAndResetJsonGenerator();

    try {/*ww  w.  j a  v a  2s  . c  om*/
        gen.writeStartObject();
        gen.writeArrayFieldStart(name);
        if (!jsonStatisticsForRequests.isEmpty())
            gen.writeRaw(jsonStatisticsForRequests.get(0));
        for (int i = 1; i < jsonStatisticsForRequests.size(); i++) {
            gen.writeRaw("," + jsonStatisticsForRequests.get(i));
        }
        gen.writeEndArray();
        gen.writeEndObject();
    } catch (IOException e) {
        e.printStackTrace();
    }
    return getStringFromJsonGenerator();
}

From source file:com.predic8.membrane.core.interceptor.authentication.session.TelekomSMSTokenProvider.java

@Override
protected void sendSMS(String text, String recipientNumber) {
    recipientNumber = recipientNumber.replaceAll("^00", "\\+");

    try {//  www  . j  av a  2s .  co  m
        ByteArrayOutputStream baos = new ByteArrayOutputStream();
        JsonFactory jsonFactory = new JsonFactory();
        JsonGenerator jg = jsonFactory.createGenerator(baos, JsonEncoding.UTF8);

        jg.writeStartObject();
        jg.writeObjectFieldStart("outboundSMSMessageRequest");
        jg.writeArrayFieldStart("address");
        jg.writeString("tel:" + recipientNumber);
        jg.writeEndArray();
        jg.writeStringField("senderAddress", senderAddress);
        jg.writeObjectFieldStart("outboundSMSTextMessage");
        jg.writeStringField("message", text);
        jg.writeEndObject();
        jg.writeStringField("outboundEncoding", "7bitGSM");
        jg.writeStringField("clientCorrelator", "" + ((long) (Math.random() * Long.MAX_VALUE)));
        if (senderName != null)
            jg.writeStringField("senderName", senderName);
        jg.writeEndObject();
        jg.writeEndObject();

        jg.close();

        Exchange exc = new Request.Builder()
                .post("https://gateway.developer.telekom.com/plone/sms/rest/"
                        + environment.name().toLowerCase() + "/smsmessaging/v1/outbound/"
                        + URLEncoder.encode(senderAddress, "UTF-8") + "/requests")
                .header("Host", "gateway.developer.telekom.com")
                .header("Authorization",
                        "OAuth realm=\"developergarden.com\",oauth_token=\"" + getAccessToken() + "\"")
                .header("Accept", "application/json").header("Content-Type", "application/json")
                .body(baos.toByteArray()).buildExchange();

        exc.setRule(new NullRule() {
            @Override
            public SSLProvider getSslOutboundContext() {
                return new SSLContext(new SSLParser(), new ResolverMap(), null);
            }
        });
        hc.call(exc, false, true);

        if (exc.getResponse().getStatusCode() != 201)
            throw new RuntimeException("Could not send SMS: " + exc.getResponse());

        log.debug("sent SMS to " + recipientNumber);
    } catch (Exception e2) {
        throw new RuntimeException(e2);
    }
}

From source file:com.mattjbishop.halapino.LinkSerializer.java

private void writeOutLinks(Map<String, List<Link>> links, JsonGenerator jgen)
        throws IOException, JsonProcessingException {
    for (Map.Entry<String, List<Link>> entry : links.entrySet()) {
        if (entry.getValue().size() == 1) // Write single link
        {//from www  .ja  va2  s  . c  o  m
            Link link = entry.getValue().iterator().next();
            reconcileTemplated(link);
            jgen.writeObjectField(entry.getKey(), link);
        } else // Write link array
        {
            jgen.writeArrayFieldStart(entry.getKey());

            for (Link link : entry.getValue()) {
                reconcileTemplated(link);
                jgen.writeObject(link);
            }

            jgen.writeEndArray();
        }

    }

}

From source file:com.mattjbishop.halapino.EmbeddedSerializer.java

private void writeOutResources(Map<String, List<HALRepresentation>> resources, JsonGenerator jgen)
        throws IOException, JsonProcessingException {
    for (Map.Entry<String, List<HALRepresentation>> entry : resources.entrySet()) {

        if (entry.getValue().size() == 1) // Write single resource
        {/*from   w ww  . j av a2 s.c o  m*/
            HALRepresentation resource = entry.getValue().iterator().next();
            jgen.writeObjectField(entry.getKey(), resource);
        } else // write resource collection
        {
            jgen.writeArrayFieldStart(entry.getKey());

            for (HALRepresentation resource : entry.getValue()) {
                jgen.writeObject(resource);
            }

            jgen.writeEndArray();
        }
    }
}

From source file:com.navercorp.pinpoint.web.view.ApplicationAgentHostListSerializer.java

@Override
public void serialize(ApplicationAgentHostList applicationAgentHostList, JsonGenerator jsonGenerator,
        SerializerProvider provider) throws IOException {
    jsonGenerator.writeStartObject();/*w  w  w .j  a va2 s  .  c  o m*/
    jsonGenerator.writeNumberField("startIndex", applicationAgentHostList.getStartApplicationIndex());
    jsonGenerator.writeNumberField("endIndex", applicationAgentHostList.getEndApplicationIndex());
    jsonGenerator.writeNumberField("totalApplications", applicationAgentHostList.getTotalApplications());

    jsonGenerator.writeArrayFieldStart("applications");
    writeApplicationList(applicationAgentHostList, jsonGenerator);
    jsonGenerator.writeEndArray();

    jsonGenerator.writeEndObject();
}

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

public void serialize(ParentNode node, JsonGenerator jsonGenerator, SerializerProvider serializerProvider)
        throws IOException {

    if (node instanceof AndNode) {
        //and/*from w  ww.java 2  s.c  o  m*/
        jsonGenerator.writeObjectFieldStart("and");

    } else if (node instanceof OrNode) {
        //or
        jsonGenerator.writeObjectFieldStart("or");
    } else
        throw new IllegalArgumentException("Unsupported parent: " + node);
    jsonGenerator.writeArrayFieldStart("children");
    for (Node child : node.children()) {
        serialize(child, jsonGenerator, serializerProvider);
    }
    jsonGenerator.writeEndArray();
    jsonGenerator.writeEndObject();

}

From source file:org.jmxtrans.embedded.output.StackdriverWriter.java

/**
 * Put the values into the JSON format expected by the Stackdriver custom metrics gateway
 *
  * @param results/*from  w  ww.  j  a  va 2 s  . c  o m*/
  *            Iterable collection of data points (gauges and counters)
 * @param out
 *            OutputStream to write JSON to
 * @throws IOException
 */
public void serialize(@Nonnull Iterable<QueryResult> results, @Nonnull OutputStream out) throws IOException {
    JsonGenerator g = jsonFactory.createGenerator(out, JsonEncoding.UTF8);
    g.writeStartObject();
    g.writeNumberField("timestamp", System.currentTimeMillis() / 1000);
    g.writeNumberField("proto_version", STACKDRIVER_PROTOCOL_VERSION);
    g.writeArrayFieldStart("data");

    for (QueryResult metric : results) {
        g.writeStartObject();
        g.writeStringField("name", metric.getName());
        if (instanceId != null && !instanceId.isEmpty()) {
            g.writeStringField("instance", instanceId);
        }
        g.writeNumberField("collected_at", metric.getEpoch(TimeUnit.SECONDS));
        if (metric.getValue() instanceof Integer) {
            g.writeNumberField("value", (Integer) metric.getValue());
        } else if (metric.getValue() instanceof Long) {
            g.writeNumberField("value", (Long) metric.getValue());
        } else if (metric.getValue() instanceof Float) {
            g.writeNumberField("value", (Float) metric.getValue());
        } else if (metric.getValue() instanceof Double) {
            g.writeNumberField("value", (Double) metric.getValue());
        }
        g.writeEndObject();
    }

    g.writeEndArray();
    g.writeEndObject();
    g.flush();
    g.close();
}

From source file:com.strategicgains.hyperexpress.serialization.jackson.HalResourceSerializer.java

private void writeCuries(List<Namespace> namespaces, boolean isEmbedded, JsonGenerator jgen)
        throws IOException, JsonGenerationException, JsonProcessingException {
    if (isEmbedded || namespaces.isEmpty())
        return;//  ww w  . j  ava 2  s  .  com

    if (namespaces.size() == 1) // Write single namespace
    {
        jgen.writeObjectField(CURIES, namespaces.iterator().next());
    } else // Write namespace array
    {
        jgen.writeArrayFieldStart(CURIES);

        for (Namespace ns : namespaces) {
            jgen.writeObject(ns);
        }

        jgen.writeEndArray();
    }
}

From source file:com.google.openrtb.json.OpenRtbNativeJsonWriter.java

protected void writeNativeResponseFields(NativeResponse resp, JsonGenerator gen) throws IOException {
    if (resp.hasVer()) {
        gen.writeStringField("ver", resp.getVer());
    }//from w  w w .  j av a2  s . c  o  m
    if (resp.getAssetsCount() != 0) {
        gen.writeArrayFieldStart("assets");
        for (NativeResponse.Asset asset : resp.getAssetsList()) {
            writeRespAsset(asset, gen);
        }
        gen.writeEndArray();
    }
    gen.writeFieldName("link");
    writeRespLink(resp.getLink(), gen);
    writeStrings("imptrackers", resp.getImptrackersList(), gen);
    if (resp.hasJstracker()) {
        gen.writeStringField("jstracker", resp.getJstracker());
    }
}