List of usage examples for com.fasterxml.jackson.core JsonGenerator writeEndArray
public abstract void writeEndArray() throws IOException, JsonGenerationException;
From source file:org.eclipse.winery.repository.resources.entitytypes.relationshiptypes.VisualAppearanceResource.java
@GET @RestDoc(methodDescription = "@return JSON object to be used at jsPlumb.registerConnectionType('NAME', <data>)") @Produces(MediaType.APPLICATION_JSON)//from www. j ava2s.c o m public Response getConnectionTypeForJsPlumbData() { JsonFactory jsonFactory = new JsonFactory(); StringWriter sw = new StringWriter(); try { JsonGenerator jg = jsonFactory.createGenerator(sw); jg.writeStartObject(); jg.writeFieldName("connector"); jg.writeString("Flowchart"); jg.writeFieldName("paintStyle"); jg.writeStartObject(); jg.writeFieldName("lineWidth"); jg.writeNumber(this.getLineWidth()); jg.writeFieldName("strokeStyle"); jg.writeObject(this.getColor()); String dash = this.getDash(); if (!StringUtils.isEmpty(dash)) { String dashStyle = null; switch (dash) { case "dotted": dashStyle = "1 5"; break; case "dotted2": dashStyle = "3 4"; break; case "plain": // default works // otherwise, "1 0" can be used break; } if (dashStyle != null) { jg.writeStringField("dashstyle", dashStyle); } } jg.writeEndObject(); jg.writeFieldName("hoverPaintStyle"); jg.writeStartObject(); jg.writeFieldName("strokeStyle"); jg.writeObject(this.getHoverColor()); jg.writeEndObject(); // BEGIN: Overlays jg.writeFieldName("overlays"); jg.writeStartArray(); // source arrow head String head = this.getSourceArrowHead(); if (!head.equals("none")) { jg.writeStartArray(); jg.writeString(head); jg.writeStartObject(); jg.writeFieldName("location"); jg.writeNumber(0); // arrow should point towards the node and not away from it jg.writeFieldName("direction"); jg.writeNumber(-1); jg.writeFieldName("width"); jg.writeNumber(20); jg.writeFieldName("length"); jg.writeNumber(12); jg.writeEndObject(); jg.writeEndArray(); } // target arrow head head = this.getTargetArrowHead(); if (!head.equals("none")) { jg.writeStartArray(); jg.writeString(head); jg.writeStartObject(); jg.writeFieldName("location"); jg.writeNumber(1); jg.writeFieldName("width"); jg.writeNumber(20); jg.writeFieldName("length"); jg.writeNumber(12); jg.writeEndObject(); jg.writeEndArray(); } // Type in brackets on the arrow jg.writeStartArray(); jg.writeString("Label"); jg.writeStartObject(); jg.writeStringField("id", "label"); //jg.writeStringField("label", "(" + ((RelationshipTypeResource) this.res).getName() + ")"); jg.writeStringField("label", ""); jg.writeStringField("cssClass", "relationshipTypeLabel"); jg.writeFieldName("location"); jg.writeNumber(0.5); jg.writeEndObject(); jg.writeEndArray(); jg.writeEndArray(); // END: Overlays jg.writeEndObject(); jg.close(); } catch (Exception e) { VisualAppearanceResource.logger.error(e.getMessage(), e); return Response.status(Status.INTERNAL_SERVER_ERROR).entity(e).build(); } String res = sw.toString(); return Response.ok(res).build(); }
From source file:eu.project.ttc.models.index.JsonTermIndexIO.java
public static void save(Writer writer, TermIndex termIndex, JsonOptions options) throws IOException { JsonFactory jsonFactory = new JsonFactory(); // or, for data binding, org.codehaus.jackson.mapper.MappingJsonFactory // jsonFactory.configure(f, state) JsonGenerator jg = jsonFactory.createGenerator(writer); // or Stream, Reader jg.useDefaultPrettyPrinter();/* ww w . j a v a 2 s.c o m*/ jg.writeStartObject(); jg.writeFieldName(METADATA); jg.writeStartObject(); jg.writeFieldName(NAME); jg.writeString(termIndex.getName()); jg.writeFieldName(LANG); jg.writeString(termIndex.getLang().getCode()); if (termIndex.getCorpusId() != null) { jg.writeFieldName(CORPUS_ID); jg.writeString(termIndex.getCorpusId()); } jg.writeFieldName(OCCURRENCE_STORAGE); if (options.isMongoDBOccStore()) { jg.writeString(OCCURRENCE_STORAGE_MONGODB); jg.writeFieldName(OCCURRENCE_MONGODB_STORE_URI); jg.writeString(options.getMongoDBOccStore()); } else if (options.isEmbeddedOccurrences()) jg.writeString(OCCURRENCE_STORAGE_EMBEDDED); else throw new IllegalStateException("Unknown storage mode"); jg.writeFieldName(NB_WORD_ANNOTATIONS); jg.writeNumber(termIndex.getWordAnnotationsNum()); jg.writeFieldName(NB_SPOTTED_TERMS); jg.writeNumber(termIndex.getSpottedTermsNum()); jg.writeEndObject(); jg.writeFieldName(INPUT_SOURCES); int idCnt = 0; Map<String, Integer> inputSources = Maps.newTreeMap(); for (Document d : termIndex.getDocuments()) if (!inputSources.containsKey(d.getUrl())) inputSources.put(d.getUrl(), ++idCnt); jg.writeStartObject(); for (String uri : inputSources.keySet()) { jg.writeFieldName(inputSources.get(uri).toString()); jg.writeString(uri); } jg.writeEndObject(); jg.writeFieldName(WORDS); jg.writeStartArray(); for (Word w : termIndex.getWords()) { jg.writeStartObject(); jg.writeFieldName(LEMMA); jg.writeString(w.getLemma()); jg.writeFieldName(STEM); jg.writeString(w.getStem()); if (w.isCompound()) { jg.writeFieldName(COMPOUND_TYPE); jg.writeString(w.getCompoundType().name()); jg.writeFieldName(COMPONENTS); jg.writeStartArray(); for (Component c : w.getComponents()) { jg.writeStartObject(); jg.writeFieldName(LEMMA); jg.writeString(c.getLemma()); jg.writeFieldName(BEGIN); jg.writeNumber(c.getBegin()); jg.writeFieldName(END); jg.writeNumber(c.getEnd()); jg.writeEndObject(); } jg.writeEndArray(); } jg.writeEndObject(); } jg.writeEndArray(); Set<TermVariation> termVariations = Sets.newHashSet(); jg.writeFieldName(TERMS); jg.writeStartArray(); for (Term t : termIndex.getTerms()) { termVariations.addAll(t.getVariations()); jg.writeStartObject(); jg.writeFieldName(ID); jg.writeNumber(t.getId()); jg.writeFieldName(RANK); jg.writeNumber(t.getRank()); jg.writeFieldName(GROUPING_KEY); jg.writeString(t.getGroupingKey()); jg.writeFieldName(WORDS); jg.writeStartArray(); for (TermWord tw : t.getWords()) { jg.writeStartObject(); jg.writeFieldName(SYN); jg.writeString(tw.getSyntacticLabel()); jg.writeFieldName(LEMMA); jg.writeString(tw.getWord().getLemma()); jg.writeEndObject(); } jg.writeEndArray(); jg.writeFieldName(FREQUENCY); jg.writeNumber(t.getFrequency()); jg.writeFieldName(FREQ_NORM); jg.writeNumber(t.getFrequencyNorm()); jg.writeFieldName(GENERAL_FREQ_NORM); jg.writeNumber(t.getGeneralFrequencyNorm()); jg.writeFieldName(SPECIFICITY); jg.writeNumber(t.getSpecificity()); jg.writeFieldName(SPOTTING_RULE); jg.writeString(t.getSpottingRule()); if (options.withOccurrences() && options.isEmbeddedOccurrences()) { jg.writeFieldName(OCCURRENCES); jg.writeStartArray(); for (TermOccurrence termOcc : t.getOccurrences()) { jg.writeStartObject(); jg.writeFieldName(BEGIN); jg.writeNumber(termOcc.getBegin()); jg.writeFieldName(END); jg.writeNumber(termOcc.getEnd()); jg.writeFieldName(TEXT); jg.writeString(termOcc.getCoveredText()); jg.writeFieldName(FILE); jg.writeNumber(inputSources.get(termOcc.getSourceDocument().getUrl())); jg.writeEndObject(); } jg.writeEndArray(); } if (options.isWithContexts() && t.isContextVectorComputed()) { jg.writeFieldName(CONTEXT); jg.writeStartObject(); jg.writeFieldName(TOTAL_COOCCURRENCES); jg.writeNumber(t.getContextVector().getTotalCoccurrences()); jg.writeFieldName(CO_OCCURRENCES); jg.writeStartArray(); if (t.isContextVectorComputed()) { for (ContextVector.Entry contextEntry : t.getContextVector().getEntries()) { jg.writeStartObject(); jg.writeFieldName(CO_TERM); jg.writeString(contextEntry.getCoTerm().getGroupingKey()); jg.writeFieldName(NB_COCCS); jg.writeNumber(contextEntry.getNbCooccs()); jg.writeFieldName(ASSOC_RATE); jg.writeNumber(contextEntry.getAssocRate()); jg.writeEndObject(); } } jg.writeEndArray(); jg.writeEndObject(); } jg.writeEndObject(); } jg.writeEndArray(); /* Variants */ jg.writeFieldName(TERM_VARIATIONS); jg.writeStartArray(); for (TermVariation v : termVariations) { jg.writeStartObject(); jg.writeFieldName(BASE); jg.writeString(v.getBase().getGroupingKey()); jg.writeFieldName(VARIANT); jg.writeString(v.getVariant().getGroupingKey()); jg.writeFieldName(VARIANT_TYPE); jg.writeString(v.getVariationType().getShortName()); jg.writeFieldName(INFO); jg.writeString(v.getInfo().toString()); jg.writeFieldName(VARIANT_SCORE); jg.writeNumber(v.getScore()); jg.writeEndObject(); } jg.writeEndArray(); jg.writeEndObject(); jg.close(); }
From source file:org.bedework.carddav.vcard.Card.java
/** * @param indent true for pretty//from w w w .j a v a 2s. c o m * @param version V4 or V3 * @return String json value * @throws WebdavException */ public String outputJson(final boolean indent, final String version) throws WebdavException { if (jsonStrForm != null) { return jsonStrForm; } final StringWriter sw = new StringWriter(); try { final JsonGenerator jgen = jsonFactory.createJsonGenerator(sw); if (indent) { jgen.useDefaultPrettyPrinter(); } jgen.writeStartArray(); // for vcard jgen.writeString("vcard"); jgen.writeStartArray(); // Array of properties /* Version should come before anything else. */ boolean version4 = false; if (version != null) { version4 = version.equals("4.0"); } else { final Version v = (Version) vcard.getProperty(Property.Id.VERSION); if (v != null) { version4 = v.equals(Version.VERSION_4_0); } } final Property pversion; if (version4) { pversion = Version.VERSION_4_0; } else { pversion = new Version("3.0"); } JsonProperty.addFields(jgen, pversion); final Set<String> pnames = VcardDefs.getPropertyNames(); /* Output known properties first */ for (final String pname : pnames) { if ("VERSION".equals(pname)) { continue; } final List<Property> props = findProperties(pname); if (!props.isEmpty()) { for (final Property p : props) { JsonProperty.addFields(jgen, p); } } } /* Now output any extra unknown properties */ final List<Property> props = vcard.getProperties(); if (props != null) { for (final Property p : props) { if (!pnames.contains(p.getId().toString())) { JsonProperty.addFields(jgen, p); } } } jgen.writeEndArray(); // End event properties jgen.writeEndArray(); // for vcard jgen.flush(); } catch (final WebdavException wde) { throw wde; } catch (final Throwable t) { throw new WebdavException(t); } jsonStrForm = sw.toString(); return jsonStrForm; }
From source file:org.neo4j.ontology.server.unmanaged.AnnotationResource.java
@GET @Produces(MediaType.APPLICATION_JSON)//from ww w. j ava 2s . c o m @Path("/{userName}") public Response getAnnotationSets(final @PathParam("userName") String userName, final @DefaultValue("0") @QueryParam("objectification") int objectification) { StreamingOutput stream = new StreamingOutput() { @Override public void write(OutputStream os) throws IOException, WebApplicationException { Map<Long, List<Long>> associatedDataSets = new HashMap<>(); Label annotationLabel = DynamicLabel.label("AnnotationSets" + capitalize(userName)); JsonGenerator jg = objectMapper.getFactory().createGenerator(os, JsonEncoding.UTF8); jg.writeStartObject(); jg.writeFieldName("nodes"); if (objectification > 0) { jg.writeStartObject(); } else { jg.writeStartArray(); } try (Transaction tx = graphDb.beginTx(); ResourceIterator<Node> users = graphDb.findNodes(USER, "name", userName)) { if (users.hasNext()) { getDirectAnnotationTerms(getAccessibleDataSets(users.next()), associatedDataSets); } tx.success(); } try (Transaction tx = graphDb.beginTx(); ResourceIterator<Node> terms = graphDb.findNodes(annotationLabel)) { while (terms.hasNext()) { Node term = terms.next(); if (objectification > 0) { jg.writeFieldName(term.getProperty("uri").toString()); } if (objectification > 1) { if (associatedDataSets.containsKey(term.getId())) { writeJsonNodeObjectifiedObject(jg, term, annotationLabel, associatedDataSets.get(term.getId())); } else { writeJsonNodeObjectifiedObject(jg, term, annotationLabel); } } else { if (associatedDataSets.containsKey(term.getId())) { writeJsonNodeObject(jg, term, annotationLabel, associatedDataSets.get(term.getId())); } else { writeJsonNodeObject(jg, term, annotationLabel); } } } tx.success(); } if (objectification > 0) { jg.writeEndObject(); } else { jg.writeEndArray(); } jg.writeEndObject(); jg.flush(); jg.close(); } }; return Response.ok().entity(stream).type(MediaType.APPLICATION_JSON).build(); }
From source file:com.google.openrtb.json.OpenRtbJsonWriter.java
@SuppressWarnings("deprecation") protected void writeBannerFields(Banner banner, JsonGenerator gen) throws IOException { if (banner.hasW()) { gen.writeNumberField("w", banner.getW()); }/*from www. j a v a 2s .c o m*/ if (banner.hasH()) { gen.writeNumberField("h", banner.getH()); } if (banner.hasWmax()) { gen.writeNumberField("wmax", banner.getWmax()); } if (banner.hasHmax()) { gen.writeNumberField("hmax", banner.getHmax()); } if (banner.hasWmin()) { gen.writeNumberField("wmin", banner.getWmin()); } if (banner.hasHmin()) { gen.writeNumberField("hmin", banner.getHmin()); } if (banner.hasId()) { gen.writeStringField("id", banner.getId()); } writeEnums("btype", banner.getBtypeList(), gen); writeEnums("battr", banner.getBattrList(), gen); if (banner.hasPos()) { gen.writeNumberField("pos", banner.getPos().getNumber()); } writeStrings("mimes", banner.getMimesList(), gen); if (banner.hasTopframe()) { writeIntBoolField("topframe", banner.getTopframe(), gen); } writeEnums("expdir", banner.getExpdirList(), gen); writeEnums("api", banner.getApiList(), gen); if (checkRequired(banner.getFormatCount())) { gen.writeArrayFieldStart("format"); for (Format format : banner.getFormatList()) { writeFormat(format, gen); } gen.writeEndArray(); } }
From source file:org.apache.olingo.client.core.serialization.JsonEntitySerializer.java
protected void doContainerSerialize(final ResWrap<Entity> container, final JsonGenerator jgen) throws IOException, EdmPrimitiveTypeException { final Entity entity = container.getPayload(); jgen.writeStartObject();//from ww w . j a v a2 s.c om if (serverMode) { if (container.getContextURL() != null) { jgen.writeStringField(Constants.JSON_CONTEXT, container.getContextURL().toASCIIString()); } if (StringUtils.isNotBlank(container.getMetadataETag())) { jgen.writeStringField(Constants.JSON_METADATA_ETAG, container.getMetadataETag()); } if (StringUtils.isNotBlank(entity.getETag())) { jgen.writeStringField(Constants.JSON_ETAG, entity.getETag()); } } if (StringUtils.isNotBlank(entity.getType()) && !isODataMetadataNone(contentType)) { jgen.writeStringField(Constants.JSON_TYPE, new EdmTypeInfo.Builder().setTypeExpression(entity.getType()).build().external()); } if (entity.getId() != null && !isODataMetadataNone(contentType)) { jgen.writeStringField(Constants.JSON_ID, entity.getId().toASCIIString()); } for (Annotation annotation : entity.getAnnotations()) { valuable(jgen, annotation, "@" + annotation.getTerm()); } for (Property property : entity.getProperties()) { valuable(jgen, property, property.getName()); } if (serverMode && entity.getEditLink() != null && StringUtils.isNotBlank(entity.getEditLink().getHref())) { jgen.writeStringField(Constants.JSON_EDIT_LINK, entity.getEditLink().getHref()); if (entity.isMediaEntity()) { jgen.writeStringField(Constants.JSON_MEDIA_READ_LINK, entity.getEditLink().getHref() + "/$value"); } } if (!isODataMetadataNone(contentType)) { links(entity, jgen); } for (Link link : entity.getMediaEditLinks()) { if (link.getTitle() == null) { jgen.writeStringField(Constants.JSON_MEDIA_EDIT_LINK, link.getHref()); } if (link.getInlineEntity() != null) { jgen.writeObjectField(link.getTitle(), link.getInlineEntity()); } if (link.getInlineEntitySet() != null) { jgen.writeArrayFieldStart(link.getTitle()); for (Entity subEntry : link.getInlineEntitySet().getEntities()) { jgen.writeObject(subEntry); } jgen.writeEndArray(); } } if (serverMode) { for (Operation operation : entity.getOperations()) { jgen.writeObjectFieldStart( "#" + StringUtils.substringAfterLast(operation.getMetadataAnchor(), "#")); jgen.writeStringField(Constants.ATTR_TITLE, operation.getTitle()); jgen.writeStringField(Constants.ATTR_TARGET, operation.getTarget().toASCIIString()); jgen.writeEndObject(); } } jgen.writeEndObject(); }
From source file:com.google.openrtb.json.OpenRtbJsonWriter.java
protected void writeAudioFields(Audio audio, JsonGenerator gen) throws IOException { // Common to Video & Audio if (checkRequired(audio.getMimesCount())) { writeStrings("mimes", audio.getMimesList(), gen); }//from w w w .j av a2s .c o m if (audio.hasMinduration()) { gen.writeNumberField("minduration", audio.getMinduration()); } if (audio.hasMaxduration()) { gen.writeNumberField("maxduration", audio.getMaxduration()); } if (checkRequired(audio.getProtocolsCount())) { writeEnums("protocols", audio.getProtocolsList(), gen); } if (audio.hasStartdelay()) { gen.writeNumberField("startdelay", audio.getStartdelay()); } if (audio.hasSequence()) { gen.writeNumberField("sequence", audio.getSequence()); } writeEnums("battr", audio.getBattrList(), gen); if (audio.hasMaxextended()) { gen.writeNumberField("maxextended", audio.getMaxextended()); } if (audio.hasMinbitrate()) { gen.writeNumberField("minbitrate", audio.getMinbitrate()); } if (audio.hasMaxbitrate()) { gen.writeNumberField("maxbitrate", audio.getMaxbitrate()); } writeEnums("delivery", audio.getDeliveryList(), gen); if (audio.getCompanionadCount() != 0) { // OpenRTB 2.2+ gen.writeArrayFieldStart("companionad"); for (Banner companionad : audio.getCompanionadList()) { writeBanner(companionad, gen); } gen.writeEndArray(); } writeEnums("api", audio.getApiList(), gen); writeEnums("companiontype", audio.getCompaniontypeList(), gen); // Audio only if (audio.hasMaxseq()) { gen.writeNumberField("maxseq", audio.getMaxseq()); } if (audio.hasFeed()) { gen.writeNumberField("feed", audio.getFeed().getNumber()); } if (audio.hasStitched()) { writeIntBoolField("stitched", audio.getStitched(), gen); } if (audio.hasNvol()) { gen.writeNumberField("nvol", audio.getNvol().getNumber()); } }
From source file:org.apache.flink.runtime.jobgraph.jsonplan.JsonPlanGenerator.java
public static String generatePlan(JobGraph jg) { try {//from w ww . java2s . com final StringWriter writer = new StringWriter(1024); final JsonFactory factory = new JsonFactory(); final JsonGenerator gen = factory.createGenerator(writer); // start of everything gen.writeStartObject(); gen.writeStringField("jid", jg.getJobID().toString()); gen.writeStringField("name", jg.getName()); gen.writeArrayFieldStart("nodes"); // info per vertex for (JobVertex vertex : jg.getVertices()) { String operator = vertex.getOperatorName() != null ? vertex.getOperatorName() : NOT_SET; String operatorDescr = vertex.getOperatorDescription() != null ? vertex.getOperatorDescription() : NOT_SET; String optimizerProps = vertex.getResultOptimizerProperties() != null ? vertex.getResultOptimizerProperties() : EMPTY; String description = vertex.getOperatorPrettyName() != null ? vertex.getOperatorPrettyName() : vertex.getName(); // make sure the encoding is HTML pretty description = StringEscapeUtils.escapeHtml4(description); description = description.replace("\n", "<br/>"); description = description.replace("\\", "\"); operatorDescr = StringEscapeUtils.escapeHtml4(operatorDescr); operatorDescr = operatorDescr.replace("\n", "<br/>"); gen.writeStartObject(); // write the core properties gen.writeStringField("id", vertex.getID().toString()); gen.writeNumberField("parallelism", vertex.getParallelism()); gen.writeStringField("operator", operator); gen.writeStringField("operator_strategy", operatorDescr); gen.writeStringField("description", description); if (!vertex.isInputVertex()) { // write the input edge properties gen.writeArrayFieldStart("inputs"); List<JobEdge> inputs = vertex.getInputs(); for (int inputNum = 0; inputNum < inputs.size(); inputNum++) { JobEdge edge = inputs.get(inputNum); if (edge.getSource() == null) { continue; } JobVertex predecessor = edge.getSource().getProducer(); String shipStrategy = edge.getShipStrategyName(); String preProcessingOperation = edge.getPreProcessingOperationName(); String operatorLevelCaching = edge.getOperatorLevelCachingDescription(); gen.writeStartObject(); gen.writeNumberField("num", inputNum); gen.writeStringField("id", predecessor.getID().toString()); if (shipStrategy != null) { gen.writeStringField("ship_strategy", shipStrategy); } if (preProcessingOperation != null) { gen.writeStringField("local_strategy", preProcessingOperation); } if (operatorLevelCaching != null) { gen.writeStringField("caching", operatorLevelCaching); } gen.writeStringField("exchange", edge.getSource().getResultType().name().toLowerCase()); gen.writeEndObject(); } gen.writeEndArray(); } // write the optimizer properties gen.writeFieldName("optimizer_properties"); gen.writeRawValue(optimizerProps); gen.writeEndObject(); } // end of everything gen.writeEndArray(); gen.writeEndObject(); gen.close(); return writer.toString(); } catch (Exception e) { throw new RuntimeException("Failed to generate plan", e); } }
From source file:com.buaa.cfs.conf.Configuration.java
/** * Writes out all the parameters and their properties (final and resource) to the given {@link Writer} The format of * the output would be { "properties" : [ {key1,value1,key1.isFinal,key1.resource}, {key2,value2, * key2.isFinal,key2.resource}... ] } It does not output the parameters of the configuration object which is loaded * from an input stream./*from w w w . ja v a 2 s . c o m*/ * * @param out the Writer to write to * * @throws IOException */ public static void dumpConfiguration(Configuration config, Writer out) throws IOException { JsonFactory dumpFactory = new JsonFactory(); JsonGenerator dumpGenerator = dumpFactory.createJsonGenerator(out); dumpGenerator.writeStartObject(); dumpGenerator.writeFieldName("properties"); dumpGenerator.writeStartArray(); dumpGenerator.flush(); synchronized (config) { for (Entry<Object, Object> item : config.getProps().entrySet()) { dumpGenerator.writeStartObject(); dumpGenerator.writeStringField("key", (String) item.getKey()); dumpGenerator.writeStringField("value", config.get((String) item.getKey())); dumpGenerator.writeBooleanField("isFinal", config.finalParameters.contains(item.getKey())); String[] resources = config.updatingResource.get(item.getKey()); String resource = UNKNOWN_RESOURCE; if (resources != null && resources.length > 0) { resource = resources[0]; } dumpGenerator.writeStringField("resource", resource); dumpGenerator.writeEndObject(); } } dumpGenerator.writeEndArray(); dumpGenerator.writeEndObject(); dumpGenerator.flush(); }