@Override public void startMappings() throws IOException { generator.writeArrayFieldStart("mappings"); }
@Override public void startPools() throws IOException { generator.writeArrayFieldStart("pools"); }
@Override public void startTriggers() throws IOException { generator.writeArrayFieldStart("triggers"); }
StreamingListWriter( JsonGenerator g, String key ) { this.g = g; try { g.writeArrayFieldStart( key ); } catch ( IOException e ) { throw new WebApplicationException( e ); } }
private void ensureResultsFieldOpen() throws IOException { ensureDocumentOpen(); if ( currentState == State.DOCUMENT_OPEN ) { out.writeArrayFieldStart( "results" ); currentState = State.RESULTS_OPEN; } }
private void writeColumns( Iterable<String> columns ) throws IOException { try { out.writeArrayFieldStart( "columns" ); for ( String key : columns ) { out.writeString( key ); } } finally { out.writeEndArray(); // </columns> } }
@Override public void writeTypePrefixForArray(Object value, JsonGenerator jgen, Class<?> type) throws IOException, JsonProcessingException { // can still wrap ok jgen.writeStartObject(); // and then JSON Array start caller wants jgen.writeArrayFieldStart(_idResolver.idFromValueAndType(value, type)); }
@Override public void writeTypePrefixForArray(Object value, JsonGenerator jgen) throws IOException, JsonProcessingException { // can still wrap ok jgen.writeStartObject(); // and then JSON Array start caller wants jgen.writeArrayFieldStart(_idResolver.idFromValue(value)); }
private void writePlanIdentifiers( ExecutionPlanDescription planDescription ) throws IOException { out.writeArrayFieldStart( "identifiers" ); for ( String id : planDescription.getIdentifiers() ) { out.writeString( id ); } out.writeEndArray(); }
@Override public void write( JsonGenerator out, Iterable<String> columns, Result.ResultRow row, TransactionStateChecker txStateChecker ) throws IOException { out.writeArrayFieldStart( "row" ); try { for ( String key : columns ) { out.writeObject( row.get( key ) ); } } finally { out.writeEndArray(); writeMeta( out, columns, row ); } }
@Override public void write( JsonGenerator out, Iterable<String> columns, Result.ResultRow row, TransactionStateChecker txStateChecker ) throws IOException { RepresentationFormat format = new StreamingJsonFormat.StreamingRepresentationFormat( out, null ); out.writeArrayFieldStart( "rest" ); try { for ( String key : columns ) { write( out, format, row.get( key ), txStateChecker ); } } finally { out.writeEndArray(); } }
private void writeMeta( JsonGenerator out, Iterable<String> columns, Result.ResultRow row ) throws IOException { out.writeArrayFieldStart( "meta" ); try { /* * The way we've designed this JSON serialization is by injecting a custom codec * to write the entities. Unfortunately, there seems to be no way to control state * inside the JsonGenerator, and so we need to make a second call to write out the * meta information, directly to the injected codec. This is not very pretty, * but time is expensive, and redesigning one of three server serialization * formats is not a priority. */ Neo4jJsonCodec codec = (Neo4jJsonCodec) out.getCodec(); for ( String key : columns ) { codec.writeMeta( out, row.get( key ) ); } } finally { out.writeEndArray(); } } }
private static void writeTraces(final Trace trace, final JsonGenerator generator) throws IOException { generator.writeNumberField(JsonTraceCodec.PLAN_ID, trace.getPlanId()); generator.writeStringField(JsonTraceCodec.PLAN_CLASS, trace.getPlanClass()); generator.writeArrayFieldStart(JsonTraceCodec.TRACES); for (Map.Entry<Long, ShallowTrace> entry : trace.getTraceMap().entrySet()) { final ShallowTrace t = entry.getValue(); writeTrace(t, generator); } generator.writeEndArray(); }
@Override public void formatMappingType(String type, List<String> names) throws IOException { generator.writeStartObject(); generator.writeStringField("type", type); generator.writeArrayFieldStart("values"); for (String name : names) { generator.writeString(name); } generator.writeEndArray(); generator.writeEndObject(); }
private void writeRows( final Iterable<String> columns, Result data, final ResultDataContentWriter writer ) throws IOException { out.writeArrayFieldStart( "data" ); try { data.accept( row -> { out.writeStartObject(); try { try ( TransactionStateChecker txStateChecker = TransactionStateChecker.create( container ) ) { writer.write( out, columns, row, txStateChecker ); } } finally { out.writeEndObject(); } return true; } ); } finally { out.writeEndArray(); // </data> } }
private void writeRelationships( JsonGenerator out, Iterable<Relationship> relationships, TransactionStateChecker txStateChecker ) throws IOException out.writeArrayFieldStart( "relationships" ); try
private void writePlanDescriptionObjectBody( ExecutionPlanDescription planDescription ) throws IOException { out.writeStringField( "operatorType", planDescription.getName() ); writePlanArgs( planDescription ); writePlanIdentifiers( planDescription ); List<ExecutionPlanDescription> children = planDescription.getChildren(); out.writeArrayFieldStart( "children" ); try { for ( ExecutionPlanDescription child : children ) { out.writeStartObject(); try { writePlanDescriptionObjectBody( child ); } finally { out.writeEndObject(); } } } finally { out.writeEndArray(); } }
out.writeArrayFieldStart( "notifications" ); try
private static void writeRelationships(final Trace trace, final JsonGenerator generator) throws IOException { generator.writeArrayFieldStart(JsonTraceCodec.RELATIONSHIPS); for (TraceRelationship rel : trace.getRelationships()) { generator.writeStartObject(); generator.writeStringField(JsonTraceCodec.RELATIONSHIP_RELATIONSHIP, rel.getRelationhsip().name()); generator.writeNumberField(JsonTraceCodec.RELATIONSHIP_FROM, rel.getFrom()); generator.writeNumberField(JsonTraceCodec.RELATIONSHIP_TO, rel.getTo()); generator.writeEndObject(); } generator.writeEndArray(); }
void toJson(Names names, JsonGenerator gen) throws IOException { if (writeNameRef(names, gen)) return; gen.writeStartObject(); gen.writeStringField("type", "enum"); writeName(names, gen); if (getDoc() != null) gen.writeStringField("doc", getDoc()); gen.writeArrayFieldStart("symbols"); for (String symbol : symbols) gen.writeString(symbol); gen.writeEndArray(); writeProps(gen); aliasesToJson(gen); gen.writeEndObject(); } }