List of usage examples for com.fasterxml.jackson.core JsonGenerator writeStartArray
public abstract void writeStartArray() throws IOException, JsonGenerationException;
From source file:io.pdef.json.JsonJacksonFormat.java
private <T> void writeList(@Nonnull final List<T> object, final ListDescriptor<T> descriptor, final JsonGenerator generator) throws IOException { DataTypeDescriptor<T> elementd = descriptor.getElement(); generator.writeStartArray(); for (T element : object) { write(element, elementd, generator); }/*w w w .j av a 2 s . c o m*/ generator.writeEndArray(); }
From source file:io.pdef.json.JsonJacksonFormat.java
private <T> void writeSet(@Nonnull final Set<T> object, final SetDescriptor<T> descriptor, final JsonGenerator generator) throws IOException { DataTypeDescriptor<T> elementd = descriptor.getElement(); generator.writeStartArray(); for (T element : object) { write(element, elementd, generator); }/*from w w w .j a va2 s. c o m*/ generator.writeEndArray(); }
From source file:org.neo4j.ontology.server.unmanaged.AnnotationResource.java
private void writeJsonNodeObjectParents(JsonGenerator jg, Node term, Label annotationLabel) throws IOException { jg.writeFieldName("parents"); // parents: jg.writeStartArray(); // [ for (Relationship subClassOf : term.getRelationships(SUBCLASS_OF, OUTGOING)) { if (subClassOf.getEndNode().hasLabel(annotationLabel)) { jg.writeString(subClassOf.getEndNode().getProperty("uri").toString()); }// ww w. j a v a2s .co m } jg.writeEndArray(); // ] }
From source file:org.talend.dataprep.schema.csv.CSVSerializer.java
@Override public InputStream serialize(InputStream rawContent, DataSetMetadata metadata, long limit) { try {//ww w. j av a2 s .c om PipedInputStream pipe = new PipedInputStream(); PipedOutputStream jsonOutput = new PipedOutputStream(pipe); // Serialize asynchronously for better performance (especially if caller doesn't consume all, see sampling). Runnable r = () -> { final Map<String, String> parameters = metadata.getContent().getParameters(); final String separator = parameters.get(CSVFormatFamily.SEPARATOR_PARAMETER); try (CSVReader reader = new CSVReader(new InputStreamReader(rawContent, metadata.getEncoding()), separator.charAt(0), '\"', '\0')) { JsonGenerator generator = new JsonFactory().createGenerator(jsonOutput); int i = 0; while (i++ < metadata.getContent().getNbLinesInHeader()) { reader.readNext(); // Skip all header lines } generator.writeStartArray(); writeLineContent(reader, metadata, generator, separator, limit); 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. LOGGER.debug("Unable to continue serialization for {}. Skipping remaining content.", metadata.getId(), e); } finally { try { jsonOutput.close(); } catch (IOException e) { LOGGER.error("Unable to close output", e); } } }; executor.execute(r); return pipe; } catch (IOException e) { throw new TDPException(CommonErrorCodes.UNABLE_TO_SERIALIZE_TO_JSON, e); } }
From source file:TDS.Shared.Messages.MessageJson.java
private void writeContextElement(MessageContext messageContext, JsonGenerator jsonWriter) throws JsonGenerationException, IOException { jsonWriter.writeStartObject(); // { jsonWriter.writeStringField("c", messageContext.getName()); // "c": "name" jsonWriter.writeFieldName("m_a"); // "m_a": jsonWriter.writeStartArray(); // [ List<Message> messages = messageContext.getMessages(); for (Message message : messages) { writeMessageElement(message, jsonWriter); }//from w w w .j av a 2 s . c o m jsonWriter.writeEndArray(); // ] jsonWriter.writeEndObject(); // } }
From source file:tds.student.web.backing.TestShellScriptsBacking.java
private void addTestSegments() throws IOException, ReturnStatusException { TestSession testSession = StudentContext.getSession(); // _studentSettings = FacesContextHelper.getBean ("studentSettings", // StudentSettings.class); OpportunitySegments oppSegments = null; // load opp segments only if there are any test segments if (_testProps.getSegments().size() > 0) { oppSegments = this._iOpportunityService.getSegments(this._testOpportunity.getOppInstance(), !this._studentSettings.isReadOnly()); }/*from ww w .ja v a2s.c om*/ StringWriter sw = new StringWriter(); JsonFactory jsonFactory = new JsonFactory(); JsonGenerator writer = jsonFactory.createGenerator(sw); writer.writeStartArray(); // [ for (final TestSegment testSegment : _testProps.getSegments()) { OpportunitySegment oppSegment = null; // find opportunity segment if (oppSegments != null) { oppSegment = (OpportunitySegment) CollectionUtils.find(oppSegments, new Predicate() { @Override public boolean evaluate(Object arg0) { if (StringUtils.equals(((OpportunitySegment) arg0).getId(), testSegment.getId())) return true; return false; } }); } // figure out segment permeability int isPermeable = testSegment.getIsPermeable(); int updatePermeable = isPermeable; // these are local override rules (reviewed with Larry) if (oppSegment != null) { /* * if -1, use the defined value for the segment as returned by * IB_GetSegments if not -1, then the local value defines the temporary * segment permeability */ if (oppSegment.getIsPermeable() != -1) { isPermeable = oppSegment.getIsPermeable(); /* * The default permeability is restored when the student leaves the * segment while testing. Assuming the segment is impermeable, this * allows the student one entry into the segment during the sitting. * When the student leaves the segment, is membrane is enforced by the * student app. The database will restore the default value of the * segment membrane when the test is paused. */ if (oppSegment.getRestorePermOn() != "segment") { updatePermeable = oppSegment.getIsPermeable(); } } // NOTE: When student enters segment, set isPermeable = updatePermeable } // if read only mode is enabled then we should let user have access if (_studentSettings.isReadOnly()) { isPermeable = 1; updatePermeable = 1; } // figure out segment approval int entryApproval = testSegment.getEntryApproval(); int exitApproval = testSegment.getExitApproval(); // NOTE: If proctorless test then don't require entry/exit approval // (nobody to approve it) if (testSession.isProctorless() || _studentSettings.isReadOnly()) { entryApproval = 0; exitApproval = 0; } // BUG #22642: Entry and Exit approvals are not needed from Test level // review screen when approval = 2 else if (getViewPageNumber() > 0) { if (testSegment.getEntryApproval() == 2) entryApproval = 0; if (testSegment.getExitApproval() == 2) exitApproval = 0; } // write segment json writer.writeStartObject(); writer.writeStringField("type", "object"); // { writer.writeStringField("id", testSegment.getId()); writer.writeNumberField("position", testSegment.getPosition()); writer.writeStringField("label", testSegment.getLabel()); writer.writeBooleanField("itemReview", testSegment.isItemReview()); writer.writeNumberField("isPermeable", isPermeable); writer.writeNumberField("updatePermeable", updatePermeable); writer.writeNumberField("entryApproval", entryApproval); writer.writeNumberField("exitApproval", exitApproval); // Looks like we don't use this variable in javascript (removed for 2012) // Test adaptiveSegment = // TestOpportunity.AdaptiveTest.GetSegmentTest(testSegment.ID); // writer.WriteObject("length", (adaptiveSegment != null) ? // adaptiveSegment.TotalMinLength : 0); writer.writeEndObject(); // } } writer.writeEndArray(); // ] writer.close(); // write out javascript StringBuilder javascript = new StringBuilder(); javascript.append("var tdsSegments = "); javascript.append(sw.toString()); javascript.append("; "); this.getClientScript().addToJsCode(javascript.toString()); }
From source file:com.cedarsoft.couchdb.io.ViewResponseSerializer.java
public <K, V> void serialize(@Nonnull ViewResponse<K, V, ?> viewResponse, @Nonnull JacksonSerializer<? super K> keySerializer, @Nonnull JacksonSerializer<? super V> valueSerializer, @Nonnull OutputStream out) throws IOException { JsonFactory jsonFactory = JacksonSupport.getJsonFactory(); JsonGenerator generator = jsonFactory.createJsonGenerator(out, JsonEncoding.UTF8); generator.writeStartObject();//from ww w. java 2s . co m generator.writeNumberField(PROPERTY_TOTAL_ROWS, viewResponse.getTotalRows()); generator.writeNumberField(PROPERTY_OFFSET, viewResponse.getOffset()); //Now the rows generator.writeFieldName(PROPERTY_ROWS); generator.writeStartArray(); for (Row<K, V, ?> row : viewResponse.getRows()) { rowSerializer.serialize(row, keySerializer, valueSerializer, generator); } generator.writeEndArray(); generator.writeEndObject(); generator.close(); }
From source file:io.swagger.inflector.processors.JsonNodeExampleSerializer.java
public void writeTo(JsonGenerator jgen, Example o) throws IOException { if (o instanceof ObjectExample) { ObjectExample obj = (ObjectExample) o; for (String key : obj.keySet()) { Example value = (Example) obj.get(key); writeValue(jgen, key, value); }/*from w ww . j a va2 s . c om*/ } else if (o instanceof ArrayExample) { jgen.writeStartArray(); writeTo(jgen, o); jgen.writeEndArray(); } else { writeValue(jgen, null, o); } }
From source file:be.dnsbelgium.rdap.jackson.StructuredValueSerializer.java
@Override public void serialize(StructuredValue value, JsonGenerator jgen, SerializerProvider provider) throws IOException { for (StructuredValue.Component c : value.getComponents()) { // in a structured context, a list-component must start with [ and end with ] if (AbstractList.class.isAssignableFrom(c.value.getClass()) && ((AbstractList) c.value).getValues() != null && ((AbstractList) c.value).getValues().size() > 1) { jgen.writeStartArray(); provider.findValueSerializer(c.value.getClass(), null).serialize(c.value, jgen, provider); jgen.writeEndArray();/* w w w.j a va2 s . c o m*/ } else { provider.findValueSerializer(c.value.getClass(), null).serialize(c.value, jgen, provider); } } }
From source file:org.canova.api.conf.Configuration.java
/** * Writes out all the parameters and their properties (final and resource) to * the given {@link Writer}/*from w w w . j a v a 2s . c om*/ * 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. * @param out the Writer to write to * @throws IOException */ public static void dumpConfiguration(Configuration conf, Writer out) throws IOException { Configuration config = new Configuration(conf, true); config.reloadConfiguration(); JsonFactory dumpFactory = new JsonFactory(); JsonGenerator dumpGenerator = dumpFactory.createGenerator(out); dumpGenerator.writeStartObject(); dumpGenerator.writeFieldName("properties"); dumpGenerator.writeStartArray(); dumpGenerator.flush(); for (Map.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())); dumpGenerator.writeStringField("resource", config.updatingResource.get(item.getKey())); dumpGenerator.writeEndObject(); } dumpGenerator.writeEndArray(); dumpGenerator.writeEndObject(); dumpGenerator.flush(); }