List of usage examples for com.fasterxml.jackson.core JsonGenerator flush
@Override public abstract void flush() throws IOException;
From source file:gov.bnl.channelfinder.PropertiesResource.java
/** * GET method for retrieving the list of properties in the database. * * @return list of properties//from ww w .java2 s.c o m */ @GET @Produces({ MediaType.APPLICATION_JSON }) public Response list() { Client client = getNewClient(); final String user = securityContext.getUserPrincipal() != null ? securityContext.getUserPrincipal().getName() : ""; final ObjectMapper mapper = new ObjectMapper(); mapper.addMixIn(XmlProperty.class, OnlyXmlProperty.class); try { MultivaluedMap<String, String> parameters = uriInfo.getQueryParameters(); int size = 10000; if (parameters.containsKey("~size")) { Optional<String> maxSize = parameters.get("~size").stream().max((o1, o2) -> { return Integer.valueOf(o1).compareTo(Integer.valueOf(o2)); }); if (maxSize.isPresent()) { size = Integer.valueOf(maxSize.get()); } } final SearchResponse response = client.prepareSearch("properties").setTypes("property") .setQuery(new MatchAllQueryBuilder()).setSize(size).execute().actionGet(); StreamingOutput stream = new StreamingOutput() { @Override public void write(OutputStream os) throws IOException, WebApplicationException { JsonGenerator jg = mapper.getFactory().createGenerator(os, JsonEncoding.UTF8); jg.writeStartArray(); if (response != null) { for (SearchHit hit : response.getHits()) { jg.writeObject(mapper.readValue(hit.source(), XmlProperty.class)); } } jg.writeEndArray(); jg.flush(); jg.close(); } }; Response r = Response.ok(stream).build(); audit.info(user + "|" + uriInfo.getPath() + "|GET|OK|" + r.getStatus() + "|returns " + response.getHits().getTotalHits() + " properties"); return r; } catch (Exception e) { return handleException(user, "GET", Response.Status.INTERNAL_SERVER_ERROR, e); } finally { client.close(); } }
From source file:org.talend.daikon.exception.TalendRuntimeException.java
/** * Describe this error in json into the given writer. * /*from w w w . j av a2 s . c o m*/ * @param writer where to write this error. */ public void writeTo(Writer writer) { try { JsonGenerator generator = (new JsonFactory()).createGenerator(writer); generator.writeStartObject(); { generator.writeStringField("code", //$NON-NLS-1$ code.getProduct() + '_' + code.getGroup() + '_' + code.getCode()); generator.writeStringField("message", code.getCode()); //$NON-NLS-1$ if (cause != null) { generator.writeStringField("cause", cause.getMessage()); //$NON-NLS-1$ } if (context != null) { generator.writeFieldName("context"); //$NON-NLS-1$ generator.writeStartObject(); for (Map.Entry<String, Object> entry : context.entries()) { generator.writeStringField(entry.getKey(), entry.getValue().toString()); } generator.writeEndObject(); } } generator.writeEndObject(); generator.flush(); } catch (IOException e) { LOGGER.error("Unable to write exception to " + writer + ".", e); } }
From source file:gov.bnl.channelfinder.TagsResource.java
/** * GET method for retrieving the list of tags in the database. * * @return list of tags/*w ww . j a v a 2s.co m*/ */ @GET @Produces({ MediaType.APPLICATION_JSON }) public Response list() { Client client = getNewClient(); String user = securityContext.getUserPrincipal() != null ? securityContext.getUserPrincipal().getName() : ""; final ObjectMapper mapper = new ObjectMapper(); mapper.addMixIn(XmlTag.class, OnlyXmlTag.class); try { MultivaluedMap<String, String> parameters = uriInfo.getQueryParameters(); int size = 10000; if (parameters.containsKey("~size")) { Optional<String> maxSize = parameters.get("~size").stream().max((o1, o2) -> { return Integer.valueOf(o1).compareTo(Integer.valueOf(o2)); }); if (maxSize.isPresent()) { size = Integer.valueOf(maxSize.get()); } } final SearchResponse response = client.prepareSearch("tags").setTypes("tag") .setQuery(new MatchAllQueryBuilder()).setSize(size).execute().actionGet(); StreamingOutput stream = new StreamingOutput() { @Override public void write(OutputStream os) throws IOException, WebApplicationException { JsonGenerator jg = mapper.getFactory().createGenerator(os, JsonEncoding.UTF8); jg.writeStartArray(); if (response != null) { for (SearchHit hit : response.getHits()) { jg.writeObject(mapper.readValue(hit.source(), XmlTag.class)); } } jg.writeEndArray(); jg.flush(); jg.close(); } }; Response r = Response.ok(stream).build(); log.fine(user + "|" + uriInfo.getPath() + "|GET|OK|" + r.getStatus() + response.getTook() + "|returns " + response.getHits().getTotalHits() + " tags"); return r; } catch (Exception e) { return handleException(user, Response.Status.INTERNAL_SERVER_ERROR, e); } finally { client.close(); } }
From source file:com.attribyte.essem.ESReporter.java
static final void generateTimer(final JsonGenerator generator, final ReportProtos.EssemReport.Timer timer, final String application, final String host, final String instance, final long timestamp) throws IOException { generator.writeStartObject();//from w w w . j av a2 s . co m writeStringField(generator, Fields.APPLICATION_FIELD, application); writeStringField(generator, Fields.HOST_FIELD, host); writeStringField(generator, Fields.INSTANCE_FIELD, instance); writeStringField(generator, Fields.NAME_FIELD, timer.getName().trim()); generator.writeNumberField(Fields.ONE_MINUTE_RATE_FIELD, timer.getOneMinuteRate()); generator.writeNumberField(Fields.FIVE_MINUTE_RATE_FIELD, timer.getFiveMinuteRate()); generator.writeNumberField(Fields.FIFTEEN_MINUTE_RATE_FIELD, timer.getFifteenMinuteRate()); generator.writeNumberField(Fields.MEAN_RATE_FIELD, timer.getMeanRate()); generator.writeNumberField(Fields.COUNT_FIELD, timer.getCount()); generator.writeNumberField(Fields.MAX_FIELD, timer.getMax()); generator.writeNumberField(Fields.MIN_FIELD, timer.getMin()); generator.writeNumberField(Fields.MEAN_FIELD, timer.getMean()); generator.writeNumberField(Fields.P50_FIELD, timer.getMedian()); generator.writeNumberField(Fields.P75_FIELD, timer.getPercentile75()); generator.writeNumberField(Fields.P95_FIELD, timer.getPercentile95()); generator.writeNumberField(Fields.P98_FIELD, timer.getPercentile98()); generator.writeNumberField(Fields.P99_FIELD, timer.getPercentile99()); generator.writeNumberField(Fields.P999_FIELD, timer.getPercentile999()); generator.writeNumberField(Fields.STD_FIELD, timer.getStd()); generator.writeNumberField(Fields.TIMESTAMP_FIELD, timestamp); generator.writeEndObject(); generator.flush(); }
From source file:com.googlecode.jmxtrans.model.output.SensuWriter.java
private void serialize(Server server, Query query, List<Result> results, OutputStream outputStream) throws IOException { JsonGenerator g = jsonFactory.createGenerator(outputStream, JsonEncoding.UTF8); g.useDefaultPrettyPrinter();// w w w . j av a 2 s.co m g.writeStartObject(); g.writeStringField("name", "jmxtrans"); g.writeStringField("type", "metric"); g.writeStringField("handler", handler); StringBuilder jsonoutput = new StringBuilder(); List<String> typeNames = getTypeNames(); for (Result result : results) { for (Map.Entry<String, Object> values : result.getValues().entrySet()) { if (isNumeric(values.getValue())) { Object value = values.getValue(); jsonoutput.append(KeyUtils.getKeyString(server, query, result, values, typeNames, null)) .append(" ").append(value).append(" ") .append(TimeUnit.SECONDS.convert(result.getEpoch(), TimeUnit.MILLISECONDS)) .append(System.getProperty("line.separator")); } } } g.writeStringField("output", jsonoutput.toString()); g.writeEndObject(); g.flush(); g.close(); }
From source file:org.apache.olingo.client.core.serialization.JsonSerializer.java
@SuppressWarnings("unchecked") @Override/*w w w. j av a 2 s . co m*/ public <T> void write(final Writer writer, final ResWrap<T> container) throws ODataSerializerException { final T obj = container == null ? null : container.getPayload(); try { final JsonGenerator json = new JsonFactory().createGenerator(writer); if (obj instanceof EntityCollection) { new JsonEntitySetSerializer(serverMode, contentType) .doContainerSerialize((ResWrap<EntityCollection>) container, json); } else if (obj instanceof Entity) { new JsonEntitySerializer(serverMode, contentType).doContainerSerialize((ResWrap<Entity>) container, json); } else if (obj instanceof Property) { new JsonPropertySerializer(serverMode, contentType) .doContainerSerialize((ResWrap<Property>) container, json); } else if (obj instanceof Link) { link((Link) obj, json); } else if (obj instanceof URI) { reference((ResWrap<URI>) container, json); } json.flush(); } catch (final IOException e) { throw new ODataSerializerException(e); } catch (final EdmPrimitiveTypeException e) { throw new ODataSerializerException(e); } }
From source file:org.talend.dataprep.schema.xls.serialization.XlsRunnable.java
/** * @see Runnable#run()//from w w w . j ava2 s . c om */ @Override public void run() { try { Workbook workbook = WorkbookFactory.create(rawContent); JsonGenerator generator = jsonFactory.createGenerator(jsonOutput); // if no sheet name just get the first one (take it easy mate :-) ) Sheet sheet = isEmpty(metadata.getSheetName()) ? workbook.getSheetAt(0) : workbook.getSheet(metadata.getSheetName()); if (sheet == null) { // auto generated sheet name so take care!! "sheet-" + i if (StringUtils.startsWith(metadata.getSheetName(), "sheet-")) { String sheetNumberStr = StringUtils.removeStart(metadata.getSheetName(), "sheet-"); sheet = workbook.getSheetAt(Integer.valueOf(sheetNumberStr)); } // still null so use the first one if (sheet == null) { sheet = workbook.getSheetAt(0); } } generator.writeStartArray(); List<ColumnMetadata> columns = metadata.getRowMetadata().getColumns(); serializeColumns(workbook, generator, sheet, columns); generator.writeEndArray(); generator.flush(); } catch (Exception e) { // Consumer may very well interrupt consumption of stream (in case of limit(n) use for sampling). // This is not an issue as consumer is allowed to partially consumes results, it's up to the // consumer to ensure data it consumed is consistent. LOG.debug("Unable to continue serialization for {}. Skipping remaining content.", metadata.getId(), e); } finally { try { jsonOutput.close(); } catch (IOException e) { LOG.error("Unable to close output", e); } } }
From source file:com.google.openrtb.json.OpenRtbJsonWriter.java
/** * Serializes a {@link BidRequest} to JSON, with a provided {@link JsonGenerator} * which allows several choices of output and encoding. *//*from w w w . j a va2s . c o m*/ public final void writeBidRequest(BidRequest req, JsonGenerator gen) throws IOException { gen.writeStartObject(); writeBidRequestFields(req, gen); writeExtensions(req, gen); gen.writeEndObject(); gen.flush(); }
From source file:com.google.openrtb.json.OpenRtbJsonWriter.java
/** * Serializes a {@link BidResponse} to JSON, with a provided {@link JsonGenerator} * which allows several choices of output and encoding. */// w ww.j a v a 2s . c o m public final void writeBidResponse(BidResponse resp, JsonGenerator gen) throws IOException { gen.writeStartObject(); writeBidResponseFields(resp, gen); writeExtensions(resp, gen); gen.writeEndObject(); gen.flush(); }
From source file:io.airlift.event.client.EventJsonSerializer.java
@Override public void serialize(T event, JsonGenerator jsonGenerator, SerializerProvider provider) throws IOException { jsonGenerator.writeStartObject();//from w w w.j a va 2 s.c o m jsonGenerator.writeStringField("type", eventTypeMetadata.getTypeName()); if (eventTypeMetadata.getUuidField() != null) { eventTypeMetadata.getUuidField().writeField(jsonGenerator, event); } else { jsonGenerator.writeStringField("uuid", UUID.randomUUID().toString()); } if (eventTypeMetadata.getHostField() != null) { eventTypeMetadata.getHostField().writeField(jsonGenerator, event); } else { jsonGenerator.writeStringField("host", hostName); } if (eventTypeMetadata.getTimestampField() != null) { eventTypeMetadata.getTimestampField().writeField(jsonGenerator, event); } else { jsonGenerator.writeFieldName("timestamp"); EventDataType.DATETIME.writeFieldValue(jsonGenerator, new DateTime()); } jsonGenerator.writeObjectFieldStart("data"); for (EventFieldMetadata field : eventTypeMetadata.getFields()) { field.writeField(jsonGenerator, event); } jsonGenerator.writeEndObject(); jsonGenerator.writeEndObject(); jsonGenerator.flush(); }