List of usage examples for com.fasterxml.jackson.core JsonGenerator writeStartArray
public abstract void writeStartArray() throws IOException, JsonGenerationException;
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 a 2s . c o m 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:com.cedarsoft.serialization.jackson.AbstractJacksonSerializer.java
protected <T> void serializeArray(@Nonnull Iterable<? extends T> elements, @Nonnull Class<T> type, @Nullable String propertyName, @Nonnull JsonGenerator serializeTo, @Nonnull Version formatVersion) throws IOException { JacksonSerializer<? super T> serializer = getSerializer(type); Version delegateVersion = delegatesMappings.getVersionMappings().resolveVersion(type, formatVersion); if (propertyName == null) { serializeTo.writeStartArray(); } else {/*from w w w . j a va2 s . c o m*/ serializeTo.writeArrayFieldStart(propertyName); } for (T element : elements) { if (serializer.isObjectType()) { serializeTo.writeStartObject(); } serializer.serialize(serializeTo, element, delegateVersion); if (serializer.isObjectType()) { serializeTo.writeEndObject(); } } serializeTo.writeEndArray(); }
From source file:models.SourceRelationSerializer.java
@Override public void serialize(SourceRelation relation, JsonGenerator jgen, SerializerProvider provider) throws IOException { jgen.writeStartObject();//from www . j a va2 s. c om jgen.writeStringField("id", relation.getId()); jgen.writeNumberField("exponent", relation.getExponent()); jgen.writeFieldName("type"); jgen.writeObject(relation.getType()); jgen.writeFieldName("source"); writeSimplifiedGroup(relation.getSource(), jgen); jgen.writeFieldName("coeff"); writeSimplifiedGroup(relation.getCoeff(), jgen); jgen.writeFieldName("destination"); writeSimplifiedGroup(relation.getDestination(), jgen); jgen.writeFieldName("derivedRelations"); jgen.writeStartArray(); for (DerivedRelation derivedRelation : relation.getDerivedRelations()) { jgen.writeObject(derivedRelation); } jgen.writeEndArray(); jgen.writeEndObject(); }
From source file:DAO.BestellingDAOJson.java
public void createBestelling(Bestelling bestelling, int klant_id) throws SQLException { try {/*from w w w . j a v a2s. c om*/ JsonFactory jfactory = new JsonFactory(); /*** write to file ***/ JsonGenerator jGenerator = jfactory.createJsonGenerator( new FileOutputStream("C:\\Users\\maurice\\Desktop\\Workshoptest.json"), JsonEncoding.UTF8); jGenerator.writeStartObject(); jGenerator.writeNumberField("klantID", bestelling.getKlant_id()); jGenerator.writeNumberField("bestelID", bestelling.getBestelling_id()); jGenerator.writeFieldName("ArtikelBestellingArray"); jGenerator.writeStartArray(); for (ArtikelBestelling artikel : (ArrayList<ArtikelBestelling>) bestelling.getArtikelBestellingList()) { jGenerator.writeStartObject(); jGenerator.writeNumberField("artikelID", artikel.getArtikelPojo().getArtikelID()); jGenerator.writeNumberField("artikelAantal", artikel.getAantal_artikelen()); jGenerator.writeEndObject(); } jGenerator.writeEndArray(); jGenerator.writeEndObject(); jGenerator.close(); } catch (JsonGenerationException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } }
From source file:gov.bnl.channelfinder.ChannelsResource.java
/** * GET method for retrieving a collection of Channel instances, * based on a multi-parameter query specifiying patterns for tags, property values, * and channel names to match against.//from ww w . java 2 s . c o m * * @return HTTP Response */ @GET @Produces({ "application/json" }) public Response query() { StringBuffer performance = new StringBuffer(); long start = System.currentTimeMillis(); long totalStart = System.currentTimeMillis(); Client client = ElasticSearchClient.getSearchClient(); start = System.currentTimeMillis(); String user = securityContext.getUserPrincipal() != null ? securityContext.getUserPrincipal().getName() : ""; try { MultivaluedMap<String, String> parameters = uriInfo.getQueryParameters(); BoolQueryBuilder qb = boolQuery(); int size = 10000; for (Entry<String, List<String>> parameter : parameters.entrySet()) { switch (parameter.getKey()) { case "~name": for (String value : parameter.getValue()) { DisMaxQueryBuilder nameQuery = disMaxQuery(); for (String pattern : value.split("\\|")) { nameQuery.add(wildcardQuery("name", pattern.trim())); } qb.must(nameQuery); } break; case "~tag": for (String value : parameter.getValue()) { DisMaxQueryBuilder tagQuery = disMaxQuery(); for (String pattern : value.split("\\|")) { tagQuery.add(wildcardQuery("tags.name", pattern.trim())); } qb.must(nestedQuery("tags", tagQuery)); } break; case "~size": Optional<String> maxSize = parameter.getValue().stream().max((o1, o2) -> { return Integer.valueOf(o1).compareTo(Integer.valueOf(o2)); }); if (maxSize.isPresent()) { size = Integer.valueOf(maxSize.get()); } default: DisMaxQueryBuilder propertyQuery = disMaxQuery(); for (String value : parameter.getValue()) { for (String pattern : value.split("\\|")) { propertyQuery.add(nestedQuery("properties", boolQuery().must(matchQuery("properties.name", parameter.getKey().trim())) .must(wildcardQuery("properties.value", pattern.trim())))); } } qb.must(propertyQuery); break; } } performance.append("|prepare:" + (System.currentTimeMillis() - start)); start = System.currentTimeMillis(); final SearchResponse qbResult = client.prepareSearch("channelfinder").setQuery(qb).setSize(size) .execute().actionGet(); performance.append( "|query:(" + qbResult.getHits().getTotalHits() + ")" + (System.currentTimeMillis() - start)); start = System.currentTimeMillis(); final ObjectMapper mapper = new ObjectMapper(); mapper.addMixIn(XmlProperty.class, OnlyXmlProperty.class); mapper.addMixIn(XmlTag.class, OnlyXmlTag.class); start = System.currentTimeMillis(); StreamingOutput stream = new StreamingOutput() { @Override public void write(OutputStream os) throws IOException, WebApplicationException { JsonGenerator jg = mapper.getFactory().createGenerator(os, JsonEncoding.UTF8); jg.writeStartArray(); if (qbResult != null) { for (SearchHit hit : qbResult.getHits()) { jg.writeObject(mapper.readValue(hit.source(), XmlChannel.class)); jg.flush(); } } jg.writeEndArray(); jg.flush(); jg.close(); } }; performance.append("|parse:" + (System.currentTimeMillis() - start)); Response r = Response.ok(stream).build(); log.info(user + "|" + uriInfo.getPath() + "|GET|OK" + performance.toString() + "|total:" + (System.currentTimeMillis() - totalStart) + "|" + r.getStatus() + "|returns " + qbResult.getHits().getTotalHits() + " channels"); // log.info( qbResult.getHits().getTotalHits() + " " +(System.currentTimeMillis() - totalStart)); return r; } catch (Exception e) { return handleException(user, "GET", Response.Status.INTERNAL_SERVER_ERROR, e); } finally { } }
From source file:gov.bnl.channelfinder.PropertiesResource.java
/** * GET method for retrieving the list of properties in the database. * * @return list of properties//from w ww . j a v a 2 s. c om */ @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.neo4j.ontology.server.unmanaged.AnnotationResource.java
private void writeJsonNodeObject(JsonGenerator jg, Node term, Label annotationLabel) throws IOException { jg.writeStartObject(); // { jg.writeStringField("uri", term.getProperty("uri").toString()); // uri: "http://www.w3.org/2002/07/owl#Thing" jg.writeStringField("ontId", term.getProperty("name").toString()); // ontId: "OWL:Thing" jg.writeStringField("label", term.getProperty("rdfs:label", term.getProperty("name")).toString()); // ontId: "OWL:Thing" jg.writeFieldName("dataSets"); // dataSets: jg.writeStartArray(); // [ jg.writeEndArray(); // ] writeJsonNodeObjectParents(jg, term, annotationLabel); jg.writeEndObject(); // } }
From source file:models.GroupSerializer.java
@Override public void serialize(Group group, JsonGenerator jgen, SerializerProvider provider) throws IOException { jgen.writeStartObject();// w w w .ja v a2s . c o m jgen.writeStringField("id", group.getId()); jgen.writeStringField("comment", parseReferencesInComment(group)); jgen.writeStringField("label", group.getLabel()); jgen.writeFieldName("unit"); jgen.writeObject(group.getUnit()); jgen.writeFieldName("type"); jgen.writeObject(group.getType()); jgen.writeFieldName("commonKeywords"); jgen.writeObject(group.getCommonKeywords()); jgen.writeFieldName("dimensions"); jgen.writeStartArray(); for (Dimension dim : group.getDimSet().dimensions) { jgen.writeStartObject(); jgen.writeFieldName("id"); jgen.writeObject(dim.getId()); jgen.writeFieldName("keywords"); jgen.writeObject(dim.keywords); jgen.writeFieldName("keywordsPosition"); jgen.writeObject(dim.keywordsPosition); jgen.writeFieldName("orientation"); jgen.writeObject(group.getDimSet().getDimensionOrientation(dim)); jgen.writeEndObject(); } jgen.writeEndArray(); jgen.writeFieldName("overlap"); jgen.writeStartArray(); for (Group otherGroup : group.getOverlappingGroups()) { jgen.writeStartObject(); jgen.writeStringField("id", otherGroup.getId()); jgen.writeStringField("label", otherGroup.getLabel()); jgen.writeEndObject(); } jgen.writeEndArray(); jgen.writeFieldName("references"); jgen.writeStartArray(); for (Reference ref : group.getReferences()) { jgen.writeObject(ref); } jgen.writeEndArray(); jgen.writeFieldName("sourceRelations"); jgen.writeStartArray(); for (SourceRelation sourceRelation : group.getSourceRelations()) { jgen.writeObject(sourceRelation); } jgen.writeEndArray(); jgen.writeFieldName("elementsURI"); jgen.writeStartObject(); for (SingleElement element : group.getElements()) { jgen.writeStringField(StringUtils.join(element.getKeywords(), "+") + "+" + element.getUnit().getId(), element.getId()); } jgen.writeEndObject(); if (group.getType() == Type.COEFFICIENT) { jgen.writeFieldName("elementsValue"); jgen.writeStartObject(); for (SingleElement element : group.getElements()) { Coefficient coeff = (Coefficient) element; jgen.writeFieldName(StringUtils.join(element.getKeywords(), "+") + "+" + element.getUnit().getId()); jgen.writeStartObject(); jgen.writeNumberField("value", coeff.getValue().value); jgen.writeNumberField("uncertainty", coeff.getValue().uncertainty); jgen.writeEndObject(); } jgen.writeEndObject(); } else { jgen.writeFieldName("elementsImpactsAndFlows"); jgen.writeStartObject(); for (SingleElement element : group.getElements()) { Process process = (Process) element; jgen.writeFieldName(StringUtils.join(element.getKeywords(), "+") + "+" + element.getUnit().getId()); jgen.writeStartObject(); for (ElementaryFlow flow : process.getCalculatedFlows().values()) { jgen.writeFieldName(flow.getType().getId()); jgen.writeStartObject(); jgen.writeNumberField("value", flow.getValue().value); jgen.writeNumberField("uncertainty", flow.getValue().uncertainty); jgen.writeEndObject(); } for (Impact impact : process.getImpacts().values()) { jgen.writeFieldName(impact.getType().getId()); jgen.writeStartObject(); jgen.writeNumberField("value", impact.getValue().value); jgen.writeNumberField("uncertainty", impact.getValue().uncertainty); jgen.writeEndObject(); } jgen.writeEndObject(); } jgen.writeEndObject(); } jgen.writeEndObject(); }