List of usage examples for com.fasterxml.jackson.core JsonGenerator writeArrayFieldStart
public final void writeArrayFieldStart(String fieldName) throws IOException, JsonGenerationException
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()); } }