@Override public void serializeWithType(Geoshape geoshape, JsonGenerator jgen, SerializerProvider serializerProvider, TypeSerializer typeSerializer) throws IOException, JsonProcessingException { jgen.writeStartObject(); if (typeSerializer != null) jgen.writeStringField(GraphSONTokens.CLASS, Geoshape.class.getName()); GraphSONUtil.writeWithType(FIELD_COORDINATES, geoshape.coordinates, jgen, serializerProvider, typeSerializer); jgen.writeEndObject(); } }
@Override public void serializeWithType(final RelationIdentifier relationIdentifier, final JsonGenerator jsonGenerator, final SerializerProvider serializerProvider, final TypeSerializer typeSerializer) throws IOException { jsonGenerator.writeStartObject(); if (typeSerializer != null) jsonGenerator.writeStringField(GraphSONTokens.VALUETYPE, TYPE_NAMESPACE + ":" + TYPE_DEFINITIONS.get(RelationIdentifier.class)); jsonGenerator.writeFieldName(GraphSONTokens.VALUEPROP); GraphSONUtil.writeStartObject(relationIdentifier, jsonGenerator, typeSerializer); GraphSONUtil.writeWithType("relationId", relationIdentifier.toString(), jsonGenerator, serializerProvider, typeSerializer); GraphSONUtil.writeEndObject(relationIdentifier, jsonGenerator, typeSerializer); jsonGenerator.writeEndObject(); } }
final TypeSerializer typeSerializer) throws IOException, JsonProcessingException { final StarGraph starGraph = directionalStarGraph.getStarGraphToSerialize(); GraphSONUtil.writeStartObject(starGraph, jsonGenerator, typeSerializer); GraphSONUtil.writeWithType(GraphSONTokens.ID, starGraph.starVertex.id, jsonGenerator, serializerProvider, typeSerializer); jsonGenerator.writeStringField(GraphSONTokens.LABEL, starGraph.starVertex.label); if (directionalStarGraph.getDirection() != null) writeEdges(directionalStarGraph, jsonGenerator, serializerProvider, typeSerializer, Direction.IN); if (starGraph.starVertex.vertexProperties != null && !starGraph.starVertex.vertexProperties.isEmpty()) { jsonGenerator.writeFieldName(GraphSONTokens.PROPERTIES); GraphSONUtil.writeStartObject(starGraph, jsonGenerator, typeSerializer); final Set<String> keys = normalize ? new TreeSet<>(starGraph.starVertex.vertexProperties.keySet()) : starGraph.starVertex.vertexProperties.keySet(); for (final String k : keys) { final List<VertexProperty> vp = starGraph.starVertex.vertexProperties.get(k); jsonGenerator.writeFieldName(k); GraphSONUtil.writeStartArray(k, jsonGenerator, typeSerializer); GraphSONUtil.writeStartObject(property, jsonGenerator, typeSerializer); GraphSONUtil.writeWithType(GraphSONTokens.ID, property.id(), jsonGenerator, serializerProvider, typeSerializer); GraphSONUtil.writeWithType(GraphSONTokens.VALUE, property.value(), jsonGenerator, serializerProvider, typeSerializer); if (metaProperties.hasNext()) { jsonGenerator.writeFieldName(GraphSONTokens.PROPERTIES); GraphSONUtil.writeStartObject(metaProperties, jsonGenerator, typeSerializer); GraphSONUtil.writeWithType(meta.key(), meta.value(), jsonGenerator, serializerProvider, typeSerializer); GraphSONUtil.writeEndObject(metaProperties, jsonGenerator, typeSerializer); GraphSONUtil.writeEndObject(property, jsonGenerator, typeSerializer);
public void ser(final RequestMessage requestMessage, final JsonGenerator jsonGenerator, final SerializerProvider serializerProvider, final TypeSerializer typeSerializer) throws IOException { GraphSONUtil.writeStartObject(requestMessage, jsonGenerator, typeSerializer); jsonGenerator.writeStringField(SerTokens.TOKEN_REQUEST, requestMessage.getRequestId().toString()); jsonGenerator.writeStringField(SerTokens.TOKEN_OP, requestMessage.getOp()); jsonGenerator.writeStringField(SerTokens.TOKEN_PROCESSOR, requestMessage.getProcessor()); jsonGenerator.writeObjectField(SerTokens.TOKEN_ARGS, requestMessage.getArgs()); GraphSONUtil.writeEndObject(requestMessage, jsonGenerator, typeSerializer); } }
private void writeProperties(final Edge edge, final JsonGenerator jsonGenerator) throws IOException { final Iterator<Property<Object>> elementProperties = normalize ? IteratorUtils.list(edge.properties(), Comparators.PROPERTY_COMPARATOR).iterator() : edge.properties(); if (elementProperties.hasNext()) { jsonGenerator.writeFieldName(GraphSONTokens.PROPERTIES); jsonGenerator.writeStartObject(); elementProperties.forEachRemaining(prop -> safeWriteObjectField(jsonGenerator, prop.key(), prop)); jsonGenerator.writeEndObject(); } } }
final TypeSerializer typeSerializer) throws IOException, JsonProcessingException { final StarGraph starGraph = directionalStarGraph.getStarGraphToSerialize(); GraphSONUtil.writeStartObject(starGraph, jsonGenerator, typeSerializer); GraphSONUtil.writeWithType(GraphSONTokens.ID, starGraph.starVertex.id, jsonGenerator, serializerProvider, typeSerializer); jsonGenerator.writeStringField(GraphSONTokens.LABEL, starGraph.starVertex.label); if (directionalStarGraph.getDirection() != null) writeEdges(directionalStarGraph, jsonGenerator, serializerProvider, typeSerializer, Direction.IN); if (starGraph.starVertex.vertexProperties != null && !starGraph.starVertex.vertexProperties.isEmpty()) { jsonGenerator.writeFieldName(GraphSONTokens.PROPERTIES); GraphSONUtil.writeStartObject(starGraph, jsonGenerator, typeSerializer); final Set<String> keys = normalize ? new TreeSet<>(starGraph.starVertex.vertexProperties.keySet()) : starGraph.starVertex.vertexProperties.keySet(); for (final String k : keys) { final List<VertexProperty> vp = starGraph.starVertex.vertexProperties.get(k); jsonGenerator.writeFieldName(k); GraphSONUtil.writeStartArray(k, jsonGenerator, typeSerializer); GraphSONUtil.writeStartObject(property, jsonGenerator, typeSerializer); GraphSONUtil.writeWithType(GraphSONTokens.ID, property.id(), jsonGenerator, serializerProvider, typeSerializer); GraphSONUtil.writeWithType(GraphSONTokens.VALUE, property.value(), jsonGenerator, serializerProvider, typeSerializer); if (metaProperties.hasNext()) { jsonGenerator.writeFieldName(GraphSONTokens.PROPERTIES); GraphSONUtil.writeStartObject(metaProperties, jsonGenerator, typeSerializer); GraphSONUtil.writeWithType(meta.key(), meta.value(), jsonGenerator, serializerProvider, typeSerializer); GraphSONUtil.writeEndObject(metaProperties, jsonGenerator, typeSerializer); GraphSONUtil.writeEndObject(property, jsonGenerator, typeSerializer);
public void ser(final ResponseMessage responseMessage, final JsonGenerator jsonGenerator, final SerializerProvider serializerProvider, final TypeSerializer typeSerializer) throws IOException { GraphSONUtil.writeStartObject(responseMessage, jsonGenerator, typeSerializer); jsonGenerator.writeStringField(SerTokens.TOKEN_REQUEST, responseMessage.getRequestId() != null ? responseMessage.getRequestId().toString() : null); jsonGenerator.writeFieldName(SerTokens.TOKEN_STATUS); GraphSONUtil.writeStartObject(responseMessage, jsonGenerator, typeSerializer); jsonGenerator.writeStringField(SerTokens.TOKEN_MESSAGE, responseMessage.getStatus().getMessage()); jsonGenerator.writeNumberField(SerTokens.TOKEN_CODE, responseMessage.getStatus().getCode().getValue()); jsonGenerator.writeObjectField(SerTokens.TOKEN_ATTRIBUTES, responseMessage.getStatus().getAttributes()); GraphSONUtil.writeEndObject(responseMessage, jsonGenerator, typeSerializer); jsonGenerator.writeFieldName(SerTokens.TOKEN_RESULT); GraphSONUtil.writeStartObject(responseMessage, jsonGenerator, typeSerializer); if (null == responseMessage.getResult().getData()){ jsonGenerator.writeNullField(SerTokens.TOKEN_DATA); } else { jsonGenerator.writeFieldName(SerTokens.TOKEN_DATA); final Object result = responseMessage.getResult().getData(); serializerProvider.findTypedValueSerializer(result.getClass(), true, null).serialize(result, jsonGenerator, serializerProvider); } jsonGenerator.writeObjectField(SerTokens.TOKEN_META, responseMessage.getResult().getMeta()); GraphSONUtil.writeEndObject(responseMessage, jsonGenerator, typeSerializer); GraphSONUtil.writeEndObject(responseMessage, jsonGenerator, typeSerializer); } }
private void writeProperties(final Edge edge, final JsonGenerator jsonGenerator) throws IOException { final Iterator<Property<Object>> elementProperties = normalize ? IteratorUtils.list(edge.properties(), Comparators.PROPERTY_COMPARATOR).iterator() : edge.properties(); if (elementProperties.hasNext()) { jsonGenerator.writeFieldName(GraphSONTokens.PROPERTIES); jsonGenerator.writeStartObject(); elementProperties.forEachRemaining(prop -> safeWriteObjectField(jsonGenerator, prop.key(), prop)); jsonGenerator.writeEndObject(); } } }
if (writeEdges) { jsonGenerator.writeFieldName(direction == Direction.IN ? GraphSONTokens.IN_E : GraphSONTokens.OUT_E); GraphSONUtil.writeStartObject(directionalStarGraph, jsonGenerator, typeSerializer); final Set<String> keys = normalize ? new TreeSet<>(starEdges.keySet()) : starEdges.keySet(); for (final String k : keys) { final List<Edge> edges = starEdges.get(k); jsonGenerator.writeFieldName(k); GraphSONUtil.writeStartArray(k, jsonGenerator, typeSerializer); GraphSONUtil.writeStartObject(edge, jsonGenerator, typeSerializer); GraphSONUtil.writeWithType(GraphSONTokens.ID, edge.id(), jsonGenerator, serializerProvider, typeSerializer); GraphSONUtil.writeWithType(direction.equals(Direction.OUT) ? GraphSONTokens.IN : GraphSONTokens.OUT, direction.equals(Direction.OUT) ? edge.inVertex().id() : edge.outVertex().id(), jsonGenerator, serializerProvider, typeSerializer); if (edgeProperties.hasNext()) { jsonGenerator.writeFieldName(GraphSONTokens.PROPERTIES); GraphSONUtil.writeStartObject(edge, jsonGenerator, typeSerializer); while (edgeProperties.hasNext()) { final Property<Object> meta = edgeProperties.next(); GraphSONUtil.writeWithType(meta.key(), meta.value(), jsonGenerator, serializerProvider, typeSerializer); GraphSONUtil.writeEndObject(edge, jsonGenerator, typeSerializer); GraphSONUtil.writeEndObject(edge, jsonGenerator, typeSerializer); GraphSONUtil.writeEndArray(k, jsonGenerator, typeSerializer); GraphSONUtil.writeEndObject(directionalStarGraph, jsonGenerator, typeSerializer);
@Override public void serializeWithType(Geoshape geoshape, JsonGenerator jgen, SerializerProvider serializerProvider, TypeSerializer typeSerializer) throws IOException, JsonProcessingException { jgen.writeStartObject(); if (typeSerializer != null) jgen.writeStringField(GraphSONTokens.CLASS, Geoshape.class.getName()); String geojson = toGeoJson(geoshape); Map json = mapReader.readValue(geojson); if (geoshape.getType() == Type.POINT) { final double[] coords = ((List<Number>) json.get(FIELD_COORDINATES)).stream().map(Number::doubleValue).mapToDouble(i -> i).toArray(); GraphSONUtil.writeWithType(FIELD_COORDINATES, coords, jgen, serializerProvider, typeSerializer); } else { GraphSONUtil.writeWithType(FIELD_LABEL, json, jgen, serializerProvider, typeSerializer); } jgen.writeEndObject(); }
public void serializeWithType(Geoshape geoshape, JsonGenerator jgen, SerializerProvider serializerProvider, TypeSerializer typeSerializer) throws IOException { jgen.writeStartObject(); if (typeSerializer != null) jgen.writeStringField(GraphSONTokens.VALUETYPE, "janusgraph:Geoshape"); jgen.writeFieldName(GraphSONTokens.VALUEPROP); GraphSONUtil.writeStartObject(geoshape, jgen, typeSerializer); final Map json = mapReader.readValue(toGeoJson(geoshape)); if (geoshape.getType() == Type.POINT) { final double[] coordinates = ((List<Number>) json.get(FIELD_COORDINATES)).stream().mapToDouble(Number::doubleValue).toArray(); GraphSONUtil.writeWithType(FIELD_COORDINATES, coordinates, jgen, serializerProvider, typeSerializer); } else { GraphSONUtil.writeWithType(FIELD_LABEL, json, jgen, serializerProvider, typeSerializer); } GraphSONUtil.writeEndObject(geoshape, jgen, typeSerializer); jgen.writeEndObject(); }
public void ser(final RequestMessage requestMessage, final JsonGenerator jsonGenerator, final SerializerProvider serializerProvider, final TypeSerializer typeSerializer) throws IOException { GraphSONUtil.writeStartObject(requestMessage, jsonGenerator, typeSerializer); jsonGenerator.writeStringField(SerTokens.TOKEN_REQUEST, requestMessage.getRequestId().toString()); jsonGenerator.writeStringField(SerTokens.TOKEN_OP, requestMessage.getOp()); jsonGenerator.writeStringField(SerTokens.TOKEN_PROCESSOR, requestMessage.getProcessor()); jsonGenerator.writeObjectField(SerTokens.TOKEN_ARGS, requestMessage.getArgs()); GraphSONUtil.writeEndObject(requestMessage, jsonGenerator, typeSerializer); } }
private void writeProperties(final Edge edge, final JsonGenerator jsonGenerator) throws IOException { final Iterator<Property<Object>> elementProperties = normalize ? IteratorUtils.list(edge.properties(), Comparators.PROPERTY_COMPARATOR).iterator() : edge.properties(); if (elementProperties.hasNext()) { jsonGenerator.writeFieldName(GraphSONTokens.PROPERTIES); jsonGenerator.writeStartObject(); elementProperties.forEachRemaining(prop -> safeWriteObjectField(jsonGenerator, prop.key(), prop)); jsonGenerator.writeEndObject(); } } }
if (writeEdges) { jsonGenerator.writeFieldName(direction == Direction.IN ? GraphSONTokens.IN_E : GraphSONTokens.OUT_E); GraphSONUtil.writeStartObject(directionalStarGraph, jsonGenerator, typeSerializer); final Set<String> keys = normalize ? new TreeSet<>(starEdges.keySet()) : starEdges.keySet(); for (final String k : keys) { final List<Edge> edges = starEdges.get(k); jsonGenerator.writeFieldName(k); GraphSONUtil.writeStartArray(k, jsonGenerator, typeSerializer); GraphSONUtil.writeStartObject(edge, jsonGenerator, typeSerializer); GraphSONUtil.writeWithType(GraphSONTokens.ID, edge.id(), jsonGenerator, serializerProvider, typeSerializer); GraphSONUtil.writeWithType(direction.equals(Direction.OUT) ? GraphSONTokens.IN : GraphSONTokens.OUT, direction.equals(Direction.OUT) ? edge.inVertex().id() : edge.outVertex().id(), jsonGenerator, serializerProvider, typeSerializer); if (edgeProperties.hasNext()) { jsonGenerator.writeFieldName(GraphSONTokens.PROPERTIES); GraphSONUtil.writeStartObject(edge, jsonGenerator, typeSerializer); while (edgeProperties.hasNext()) { final Property<Object> meta = edgeProperties.next(); GraphSONUtil.writeWithType(meta.key(), meta.value(), jsonGenerator, serializerProvider, typeSerializer); GraphSONUtil.writeEndObject(edge, jsonGenerator, typeSerializer); GraphSONUtil.writeEndObject(edge, jsonGenerator, typeSerializer); GraphSONUtil.writeEndArray(k, jsonGenerator, typeSerializer); GraphSONUtil.writeEndObject(directionalStarGraph, jsonGenerator, typeSerializer);
public static void writeWithType(final Object object, final JsonGenerator jsonGenerator, final SerializerProvider serializerProvider, final TypeSerializer typeSerializer) throws IOException { writeWithType(null, object, jsonGenerator, serializerProvider, typeSerializer); }
public void ser(final ResponseMessage responseMessage, final JsonGenerator jsonGenerator, final SerializerProvider serializerProvider, final TypeSerializer typeSerializer) throws IOException { GraphSONUtil.writeStartObject(responseMessage, jsonGenerator, typeSerializer); jsonGenerator.writeStringField(SerTokens.TOKEN_REQUEST, responseMessage.getRequestId() != null ? responseMessage.getRequestId().toString() : null); jsonGenerator.writeFieldName(SerTokens.TOKEN_STATUS); GraphSONUtil.writeStartObject(responseMessage, jsonGenerator, typeSerializer); jsonGenerator.writeStringField(SerTokens.TOKEN_MESSAGE, responseMessage.getStatus().getMessage()); jsonGenerator.writeNumberField(SerTokens.TOKEN_CODE, responseMessage.getStatus().getCode().getValue()); jsonGenerator.writeObjectField(SerTokens.TOKEN_ATTRIBUTES, responseMessage.getStatus().getAttributes()); GraphSONUtil.writeEndObject(responseMessage, jsonGenerator, typeSerializer); jsonGenerator.writeFieldName(SerTokens.TOKEN_RESULT); GraphSONUtil.writeStartObject(responseMessage, jsonGenerator, typeSerializer); if (null == responseMessage.getResult().getData()){ jsonGenerator.writeNullField(SerTokens.TOKEN_DATA); } else { jsonGenerator.writeFieldName(SerTokens.TOKEN_DATA); final Object result = responseMessage.getResult().getData(); serializerProvider.findTypedValueSerializer(result.getClass(), true, null).serialize(result, jsonGenerator, serializerProvider); } jsonGenerator.writeObjectField(SerTokens.TOKEN_META, responseMessage.getResult().getMeta()); GraphSONUtil.writeEndObject(responseMessage, jsonGenerator, typeSerializer); GraphSONUtil.writeEndObject(responseMessage, jsonGenerator, typeSerializer); } }
private void writeProperties(final Edge edge, final JsonGenerator jsonGenerator) throws IOException { final Iterator<Property<Object>> elementProperties = normalize ? IteratorUtils.list(edge.properties(), Comparators.PROPERTY_COMPARATOR).iterator() : edge.properties(); if (elementProperties.hasNext()) { jsonGenerator.writeFieldName(GraphSONTokens.PROPERTIES); jsonGenerator.writeStartObject(); elementProperties.forEachRemaining(prop -> safeWriteObjectField(jsonGenerator, prop.key(), prop)); jsonGenerator.writeEndObject(); } } }
final TypeSerializer typeSerializer) throws IOException, JsonProcessingException { final StarGraph starGraph = directionalStarGraph.getStarGraphToSerialize(); GraphSONUtil.writeStartObject(starGraph, jsonGenerator, typeSerializer); GraphSONUtil.writeWithType(GraphSONTokens.ID, starGraph.starVertex.id, jsonGenerator, serializerProvider, typeSerializer); jsonGenerator.writeStringField(GraphSONTokens.LABEL, starGraph.starVertex.label); if (directionalStarGraph.getDirection() != null) writeEdges(directionalStarGraph, jsonGenerator, serializerProvider, typeSerializer, Direction.IN); if (starGraph.starVertex.vertexProperties != null && !starGraph.starVertex.vertexProperties.isEmpty()) { jsonGenerator.writeFieldName(GraphSONTokens.PROPERTIES); GraphSONUtil.writeStartObject(starGraph, jsonGenerator, typeSerializer); final Set<String> keys = normalize ? new TreeSet<>(starGraph.starVertex.vertexProperties.keySet()) : starGraph.starVertex.vertexProperties.keySet(); for (final String k : keys) { final List<VertexProperty> vp = starGraph.starVertex.vertexProperties.get(k); jsonGenerator.writeFieldName(k); GraphSONUtil.writeStartArray(k, jsonGenerator, typeSerializer); GraphSONUtil.writeStartObject(property, jsonGenerator, typeSerializer); GraphSONUtil.writeWithType(GraphSONTokens.ID, property.id(), jsonGenerator, serializerProvider, typeSerializer); GraphSONUtil.writeWithType(GraphSONTokens.VALUE, property.value(), jsonGenerator, serializerProvider, typeSerializer); if (metaProperties.hasNext()) { jsonGenerator.writeFieldName(GraphSONTokens.PROPERTIES); GraphSONUtil.writeStartObject(metaProperties, jsonGenerator, typeSerializer); GraphSONUtil.writeWithType(meta.key(), meta.value(), jsonGenerator, serializerProvider, typeSerializer); GraphSONUtil.writeEndObject(metaProperties, jsonGenerator, typeSerializer); GraphSONUtil.writeEndObject(property, jsonGenerator, typeSerializer);
private static void serializerVertexProperty(final VertexProperty property, final JsonGenerator jsonGenerator, final SerializerProvider serializerProvider, final TypeSerializer typeSerializer, final boolean normalize, final boolean includeLabel) throws IOException { jsonGenerator.writeStartObject(); if (typeSerializer != null) jsonGenerator.writeStringField(GraphSONTokens.CLASS, HashMap.class.getName()); GraphSONUtil.writeWithType(GraphSONTokens.ID, property.id(), jsonGenerator, serializerProvider, typeSerializer); GraphSONUtil.writeWithType(GraphSONTokens.VALUE, property.value(), jsonGenerator, serializerProvider, typeSerializer); if (includeLabel) jsonGenerator.writeStringField(GraphSONTokens.LABEL, property.label()); tryWriteMetaProperties(property, jsonGenerator, serializerProvider, typeSerializer, normalize); jsonGenerator.writeEndObject(); }
final TypeSerializer typeSerializer) throws IOException, JsonProcessingException { final StarGraph starGraph = directionalStarGraph.getStarGraphToSerialize(); GraphSONUtil.writeStartObject(starGraph, jsonGenerator, typeSerializer); GraphSONUtil.writeWithType(GraphSONTokens.ID, starGraph.starVertex.id, jsonGenerator, serializerProvider, typeSerializer); jsonGenerator.writeStringField(GraphSONTokens.LABEL, starGraph.starVertex.label); if (directionalStarGraph.getDirection() != null) writeEdges(directionalStarGraph, jsonGenerator, serializerProvider, typeSerializer, Direction.IN); if (starGraph.starVertex.vertexProperties != null && !starGraph.starVertex.vertexProperties.isEmpty()) { jsonGenerator.writeFieldName(GraphSONTokens.PROPERTIES); GraphSONUtil.writeStartObject(starGraph, jsonGenerator, typeSerializer); final Set<String> keys = normalize ? new TreeSet<>(starGraph.starVertex.vertexProperties.keySet()) : starGraph.starVertex.vertexProperties.keySet(); for (final String k : keys) { final List<VertexProperty> vp = starGraph.starVertex.vertexProperties.get(k); jsonGenerator.writeFieldName(k); GraphSONUtil.writeStartArray(k, jsonGenerator, typeSerializer); GraphSONUtil.writeStartObject(property, jsonGenerator, typeSerializer); GraphSONUtil.writeWithType(GraphSONTokens.ID, property.id(), jsonGenerator, serializerProvider, typeSerializer); GraphSONUtil.writeWithType(GraphSONTokens.VALUE, property.value(), jsonGenerator, serializerProvider, typeSerializer); if (metaProperties.hasNext()) { jsonGenerator.writeFieldName(GraphSONTokens.PROPERTIES); GraphSONUtil.writeStartObject(metaProperties, jsonGenerator, typeSerializer); GraphSONUtil.writeWithType(meta.key(), meta.value(), jsonGenerator, serializerProvider, typeSerializer); GraphSONUtil.writeEndObject(metaProperties, jsonGenerator, typeSerializer); GraphSONUtil.writeEndObject(property, jsonGenerator, typeSerializer);