List of usage examples for com.fasterxml.jackson.core JsonGenerator close
@Override public abstract void close() throws IOException;
From source file:com.sdl.odata.renderer.json.util.JsonWriterUtilTest.java
@Test public void testWritePrimitiveValues() throws Exception { ByteArrayOutputStream stream = new ByteArrayOutputStream(); JsonGenerator jsonGenerator = new JsonFactory().createGenerator(stream, JsonEncoding.UTF8); jsonGenerator.writeStartObject();//from www. jav a 2 s .c om appendPrimitiveValue("MyString", "Some text", jsonGenerator); appendPrimitiveValue("MyByteProperty", Byte.MAX_VALUE, jsonGenerator); appendPrimitiveValue("MyShortProperty", (short) 1, jsonGenerator); appendPrimitiveValue("MyIntegerProperty", 2, jsonGenerator); appendPrimitiveValue("MyFloatProperty", 3.0f, jsonGenerator); appendPrimitiveValue("MyDoubleProperty", 4.0d, jsonGenerator); appendPrimitiveValue("MyLongProperty", (long) 5, jsonGenerator); appendPrimitiveValue("MyBooleanProperty", true, jsonGenerator); appendPrimitiveValue("MyUUIDProperty", UUID.fromString("23492a5b-c4f1-4a50-b7a5-d8ebd6067902"), jsonGenerator); appendPrimitiveValue("DecimalValueProperty", BigDecimal.valueOf(21), jsonGenerator); jsonGenerator.writeEndObject(); jsonGenerator.close(); assertEquals(prettyPrintJson(readContent(EXPECTED_PRIMITIVE_VALUES_PATH)), prettyPrintJson(stream.toString())); }
From source file:net.opentsdb.tree.Branch.java
/** * Returns serialized data for the branch to put in storage. This is necessary * to reduce storage space and for proper CAS calls * @return A byte array for storage//from www . j av a 2 s . co m */ private byte[] toStorageJson() { // grab some memory to avoid reallocs final ByteArrayOutputStream output = new ByteArrayOutputStream( (display_name.length() * 2) + (path.size() * 128)); try { final JsonGenerator json = JSON.getFactory().createGenerator(output); json.writeStartObject(); // we only need to write a small amount of information json.writeObjectField("path", path); json.writeStringField("displayName", display_name); json.writeEndObject(); json.close(); // TODO zero copy? return output.toByteArray(); } catch (IOException e) { throw new RuntimeException(e); } }
From source file:org.teiid.olingo.TeiidODataJsonSerializer.java
public SerializerResult complexCollection(final ServiceMetadata metadata, final EdmComplexType type, final Property result, final ContextURL contextURL, final URI nextLink) throws SerializerException { CircleStreamBuffer buffer = new CircleStreamBuffer(); try {/*www .j a v a2s .c om*/ JsonGenerator json = new JsonFactory().createGenerator(buffer.getOutputStream()); json.writeStartObject(); if (contextURL != null && (isODataMetadataFull || !isODataMetadataNone)) { json.writeStringField(Constants.JSON_CONTEXT, ContextURLBuilder.create(contextURL).toASCIIString()); } json.writeFieldName(Constants.VALUE); json.writeStartArray(); for (Object value : result.asCollection()) { json.writeStartObject(); writeComplexValue(metadata, type, ((ComplexValue) value).getValue(), null, json, null, (ComplexValue) value, null, result.getName()); json.writeEndObject(); } json.writeEndArray(); if (nextLink != null) { json.writeStringField(Constants.JSON_NEXT_LINK, nextLink.toASCIIString()); } json.close(); } catch (final IOException e) { throw new SerializerException("An I/O exception occurred.", e, SerializerException.MessageKeys.IO_EXCEPTION); } return SerializerResultImpl.with().content(buffer.getInputStream()).build(); }
From source file:org.sead.repositories.reference.RefRepository.java
private static void indexChildren(File index, JsonParser jp) throws IOException { JsonGenerator generator = new JsonFactory().createGenerator(index, JsonEncoding.UTF8); generator.useDefaultPrettyPrinter(); generator.writeStartObject();//www . ja v a 2 s . c o m JsonToken cur = jp.nextToken(); while (cur.equals(JsonToken.START_OBJECT)) { long start = jp.getTokenLocation().getByteOffset(); int depth = 1; while (depth > 0) { cur = jp.nextToken(); if (cur.equals(JsonToken.START_OBJECT)) { depth++; } else if (cur.equals(JsonToken.END_OBJECT)) { depth--; } else if (cur.equals(JsonToken.FIELD_NAME) && depth == 1) { if (jp.getText().equals("@id")) { cur = jp.nextToken(); String vName = jp.getText(); generator.writeNumberField(vName, start); } else { report(jp, cur); } } } cur = jp.nextToken(); } generator.writeEndObject(); generator.close(); }
From source file:TDS.Shared.Messages.MessageJson.java
public String create(ContextType contextType, List<String> contexts) throws ReturnStatusException { MessageContextType messageContextType = null; StringWriter sw = new StringWriter(); JsonFactory jsonFactory = new JsonFactory(); JsonGenerator jsonWriter; try {/*from w w w. ja v a2s .c om*/ if (_messageSystem != null) { messageContextType = _messageSystem.getMessageContextType(contextType); } if (messageContextType == null) return "{}"; jsonWriter = jsonFactory.createGenerator(sw); jsonWriter.writeStartObject(); jsonWriter.writeStringField("c_l", _language); // "c_l": _language jsonWriter.writeFieldName("c_a"); // "c_a" : jsonWriter.writeStartArray(); // [ for (String context : contexts) { MessageContext messageContext = messageContextType.getContext(context); writeContextElement(messageContext, jsonWriter); } jsonWriter.writeEndArray(); // ] jsonWriter.writeEndObject(); // } jsonWriter.close(); sw.close(); } catch (IOException e) { ReturnStatus rs = new ReturnStatus("failed", "Serialization failed: " + e.getMessage()); throw new ReturnStatusException(rs); } return sw.getBuffer().toString(); }
From source file:ch.ralscha.extdirectspring.controller.RouterController.java
@SuppressWarnings("resource") public void writeJsonResponse(HttpServletResponse response, Object responseObject, Class<?> jsonView, boolean streamResponse, boolean isMultipart) throws IOException { ObjectMapper objectMapper = this.configurationService.getJsonHandler().getMapper(); if (isMultipart) { response.setContentType(RouterController.TEXT_HTML.toString()); response.setCharacterEncoding(RouterController.TEXT_HTML.getCharset().name()); ByteArrayOutputStream bos = new ByteArrayOutputStream(1024); bos.write("<html><body><textarea>".getBytes(ExtDirectSpringUtil.UTF8_CHARSET)); String responseJson;/*w ww . j a va2s . c o m*/ if (jsonView == null) { responseJson = objectMapper.writeValueAsString(responseObject); } else { responseJson = objectMapper.writerWithView(jsonView).writeValueAsString(responseObject); } responseJson = responseJson.replace(""", "\\""); bos.write(responseJson.getBytes(ExtDirectSpringUtil.UTF8_CHARSET)); String frameDomain = this.configurationService.getConfiguration().getFrameDomain(); String frameDomainScript = ""; if (frameDomain != null) { frameDomainScript = String .format(this.configurationService.getConfiguration().getFrameDomainScript(), frameDomain); } bos.write(("</textarea>" + frameDomainScript + "</body></html>") .getBytes(ExtDirectSpringUtil.UTF8_CHARSET)); response.setContentLength(bos.size()); FileCopyUtils.copy(bos.toByteArray(), response.getOutputStream()); } else { response.setContentType(APPLICATION_JSON.toString()); response.setCharacterEncoding(APPLICATION_JSON.getCharset().name()); ServletOutputStream outputStream = response.getOutputStream(); if (!streamResponse) { ByteArrayOutputStream bos = new ByteArrayOutputStream(1024); JsonGenerator jsonGenerator = objectMapper.getFactory().createGenerator(bos, JsonEncoding.UTF8); if (jsonView == null) { objectMapper.writeValue(jsonGenerator, responseObject); } else { objectMapper.writerWithView(jsonView).writeValue(jsonGenerator, responseObject); } response.setContentLength(bos.size()); outputStream.write(bos.toByteArray()); jsonGenerator.close(); } else { JsonGenerator jsonGenerator = objectMapper.getFactory().createGenerator(outputStream, JsonEncoding.UTF8); if (jsonView == null) { objectMapper.writeValue(jsonGenerator, responseObject); } else { objectMapper.writerWithView(jsonView).writeValue(jsonGenerator, responseObject); } jsonGenerator.close(); } outputStream.flush(); } }
From source file:org.n52.ar.layar.LayarServlet.java
/** * http://layar.com/documentation/browser/api/getpois-request/ */// w ww . j a v a 2 s. com @Override protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { String userAgent = request.getHeader("User-agent"); log.debug("User-agent={}", userAgent); /* * mandatory: */ String userId = request.getParameter("userId"); String version = request.getParameter("version"); String countryCode = request.getParameter("countryCode"); String lang = request.getParameter("lang"); String action = request.getParameter("action"); if (action == null) { // response.sendError(HttpServletResponse.SC_BAD_REQUEST, // "Missing parameter 'action'"); // return; log.debug("No action given."); } String latParam = request.getParameter("lat"); if (latParam == null) { response.sendError(HttpServletResponse.SC_BAD_REQUEST, "Missing parameter 'lat'"); return; } String lonParam = request.getParameter("lon"); if (lonParam == null) { response.sendError(HttpServletResponse.SC_BAD_REQUEST, "Missing parameter 'lon'"); return; } String radiusParam = request.getParameter("radius"); if (radiusParam == null) { response.sendError(HttpServletResponse.SC_BAD_REQUEST, "Missing parameter 'radius'"); return; } /* * optional: */ String accurary = request.getParameter("accuracy"); String pageKey = request.getParameter("pageKey"); // String oauth_consumer_key = // request.getParameter("oauth_consumer_key"); // String oauth_signature_method = // request.getParameter("oauth_signature_method"); String radiolist = request.getParameter("RADIOLIST"); String searchbox = request.getParameter("SEARCHBOX"); String custom_slider = request.getParameter("CUSTOM_SLIDER"); String checkboxlist = request.getParameter("CHECKBOXLIST"); String localCountryCode = request.getParameter("localCountryCode"); String alt = request.getParameter("alt"); // current altitude String recognizedReferenceImage = request.getParameter("recognizedReferenceImage"); // convert parameters float lat = Float.parseFloat(latParam); float lon = Float.parseFloat(lonParam); double[] center = new double[] { lat, lon }; float radius = Float.parseFloat(radiusParam); // get nearby sensors LayarResponse layarResponse = new LayarResponse(); layarResponse.layer = request.getParameter("layerName"); if (layarResponse.layer == null) { response.sendError(HttpServletResponse.SC_BAD_REQUEST, "Missing parameter 'layerName'"); return; } response.setContentType("application/json; charset=utf-8"); JsonGenerator generator = this.factory.createJsonGenerator(response.getWriter()); generator.useDefaultPrettyPrinter(); // query SIR try { Collection<SirPOI> pois = querySIR(center, radius, REQUEST_FORMAT); for (SirPOI sirPOI : pois) { if (sirPOI instanceof Hotspot) { Hotspot h = (Hotspot) sirPOI; layarResponse.hotspots.add(h); } } } catch (Exception e) { log.error("Error querying SIR.", e); layarResponse.errorCode = LayarResponse.CODE_ERROR; layarResponse.errorString = e.toString() + ": " + e.getMessage(); layarResponse.showMessage = "Server side exception!"; } // write response layarResponse.toJSON(generator); // clean up generator.close(); response.flushBuffer(); }
From source file:org.jmxtrans.embedded.output.CopperEggWriter.java
public String write_tostring(JsonNode json) { ObjectMapper mapper = new ObjectMapper(); StringWriter out = new StringWriter(); try {/*from w w w .j a va 2 s . com*/ JsonFactory fac = new JsonFactory(); JsonGenerator gen = fac.createJsonGenerator(out); // Now write: mapper.writeTree(gen, json); gen.flush(); gen.close(); return out.toString(); } catch (Exception e) { exceptionCounter.incrementAndGet(); logger.warn("Exception in write_tostring: " + e); } return (null); }
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 {/*w w w . ja va 2s . c o 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:TDS.Shared.Messages.MessageJson.java
public String create() throws ReturnStatusException { StringWriter sw = new StringWriter(); JsonFactory jsonFactory = new JsonFactory(); JsonGenerator jsonWriter; try {// w ww .j a v a 2 s.c om if (_messageSystem == null) return "{}"; jsonWriter = jsonFactory.createGenerator(sw); jsonWriter.writeStartObject(); jsonWriter.writeStringField("c_l", _language); // "c_l": _language jsonWriter.writeFieldName("c_a"); // "c_a" : jsonWriter.writeStartArray(); // [ // get all the message contexts across all the context types List<MessageContext> messageContexts = new ArrayList<MessageContext>(); for (MessageContextType contextType : _messageSystem.getContextTypes()) { messageContexts.addAll(contextType.getContexts()); } for (MessageContext messageContext : messageContexts) { writeContextElement(messageContext, jsonWriter); } jsonWriter.writeEndArray(); // ] jsonWriter.writeEndObject(); // } jsonWriter.close(); sw.close(); } catch (IOException e) { ReturnStatus rs = new ReturnStatus("failed", "Serialization failed: " + e.getMessage()); throw new ReturnStatusException(rs); } return sw.getBuffer().toString(); }