@Override public void serialize(final RecordId recordId, final JsonGenerator jsonGenerator, final SerializerProvider serializerProvider) throws IOException { final Map<String, Object> m = new HashMap<>(); m.put("schemaTable", recordId.getSchemaTable()); if (recordId.hasSequenceId()) { m.put("id", recordId.sequenceId()); } else { m.put("id", recordId.getIdentifiers()); } jsonGenerator.writeObject(m); }
@Override public int compareTo(Object o) { if (!(o instanceof RecordId)) { return -1; } RecordId other = (RecordId) o; int first = this.getSchemaTable().compareTo(other.getSchemaTable()); if (first != 0) { return first; } return this.getID().compareTo(other.getID()); }
@Override public void serialize(final RecordId recordId, final JsonGenerator jsonGenerator, final SerializerProvider serializerProvider) throws IOException { final Map<String, Object> m = new HashMap<>(); m.put("schemaTable", recordId.getSchemaTable()); if (recordId.hasSequenceId()) { m.put("id", recordId.sequenceId()); } else { m.put("id", recordId.getIdentifiers()); } jsonGenerator.writeObject(m); }
@Override public int compareTo(Object o) { if (!(o instanceof RecordId)) { return -1; } RecordId other = (RecordId) o; int first = this.getSchemaTable().compareTo(other.getSchemaTable()); if (first != 0) { return first; } return this.getID().compareTo(other.getID()); }
private SchemaTable getIDContainerSchemaTable(SchemaTableTree schemaTableTree, Object value) { RecordId id; if (value instanceof Long) { return schemaTableTree.getSchemaTable(); } else if (!(value instanceof RecordId)) { id = RecordId.from(String.valueOf(value)); } else { id = (RecordId) value; } return getHasContainerSchemaTable(schemaTableTree, id.getSchemaTable()); }
private SchemaTable getIDContainerSchemaTable(SchemaTableTree schemaTableTree, Object value) { RecordId id; if (value instanceof Long) { return schemaTableTree.getSchemaTable(); } else if (!(value instanceof RecordId)) { id = RecordId.from(String.valueOf(value)); } else { id = (RecordId) value; } return getHasContainerSchemaTable(schemaTableTree, id.getSchemaTable()); }
for (Object id : ids) { RecordId recordId = RecordId.from(id); List<Multimap<BiPredicate, RecordId>> biPredicateRecordIdList = result.get(recordId.getSchemaTable()); Boolean newHasContainer = newHasContainerMap.get(recordId.getSchemaTable()); if (biPredicateRecordIdList == null) { biPredicateRecordIdList = new ArrayList<>(); biPredicateRecordIdMultimap = LinkedListMultimap.create(); biPredicateRecordIdList.add(biPredicateRecordIdMultimap); result.put(recordId.getSchemaTable(), biPredicateRecordIdList); newHasContainerMap.put(recordId.getSchemaTable(), false); } else if (newHasContainer == null) { biPredicateRecordIdMultimap = LinkedListMultimap.create(); biPredicateRecordIdList.add(biPredicateRecordIdMultimap); newHasContainerMap.put(recordId.getSchemaTable(), false); Object id = idPredicate.getValue(); RecordId recordId = RecordId.from(id); List<Multimap<BiPredicate, RecordId>> biPredicateRecordIdList = result.computeIfAbsent(recordId.getSchemaTable(), k -> new ArrayList<>()); biPredicateRecordIdMultimap = LinkedListMultimap.create(); biPredicateRecordIdList.add(biPredicateRecordIdMultimap);
for (Object id : ids) { RecordId recordId = RecordId.from(id); List<Multimap<BiPredicate, RecordId>> biPredicateRecordIdList = result.get(recordId.getSchemaTable()); Boolean newHasContainer = newHasContainerMap.get(recordId.getSchemaTable()); if (biPredicateRecordIdList == null) { biPredicateRecordIdList = new ArrayList<>(); biPredicateRecordIdMultimap = LinkedListMultimap.create(); biPredicateRecordIdList.add(biPredicateRecordIdMultimap); result.put(recordId.getSchemaTable(), biPredicateRecordIdList); newHasContainerMap.put(recordId.getSchemaTable(), false); } else if (newHasContainer == null) { biPredicateRecordIdMultimap = LinkedListMultimap.create(); biPredicateRecordIdList.add(biPredicateRecordIdMultimap); newHasContainerMap.put(recordId.getSchemaTable(), false); Object id = idPredicate.getValue(); RecordId recordId = RecordId.from(id); List<Multimap<BiPredicate, RecordId>> biPredicateRecordIdList = result.computeIfAbsent(recordId.getSchemaTable(), k -> new ArrayList<>()); biPredicateRecordIdMultimap = LinkedListMultimap.create(); biPredicateRecordIdList.add(biPredicateRecordIdMultimap);
@Override public boolean equals(Object other) { if (other == null) { return false; } if (other == this) { return true; } if (!(other instanceof RecordId)) { return false; } RecordId otherRecordId = (RecordId) other; return this.schemaTable.equals(otherRecordId.getSchemaTable()) && this.id.equals(otherRecordId.getID()); }
@Override public boolean equals(Object other) { if (other == null) { return false; } if (other == this) { return true; } if (!(other instanceof RecordId)) { return false; } RecordId otherRecordId = (RecordId) other; return this.schemaTable.equals(otherRecordId.getSchemaTable()) && this.id.equals(otherRecordId.getID()); }
@SuppressWarnings("deprecation") @Override public void serializeWithType(final RecordId recordId, final JsonGenerator jsonGenerator, final SerializerProvider serializerProvider, final TypeSerializer typeSerializer) throws IOException, JsonProcessingException { // when the type is included add "class" as a key and then try to utilize as much of the // default serialization provided by jackson data-bind as possible. for example, write // the uuid as an object so that when jackson serializes it, it uses the uuid serializer // to write it out with the type. in this way, data-bind should be able to deserialize // it back when types are embedded. typeSerializer.writeTypePrefixForScalar(recordId, jsonGenerator); final Map<String, Object> m = new LinkedHashMap<>(); m.put("schemaTable", recordId.getSchemaTable()); if (recordId.hasSequenceId()) { m.put("id", recordId.sequenceId()); } else { m.put("id", recordId.getIdentifiers()); } jsonGenerator.writeObject(m); typeSerializer.writeTypeSuffixForScalar(recordId, jsonGenerator); } }
@SuppressWarnings("deprecation") @Override public void serializeWithType(final RecordId recordId, final JsonGenerator jsonGenerator, final SerializerProvider serializerProvider, final TypeSerializer typeSerializer) throws IOException, JsonProcessingException { // when the type is included add "class" as a key and then try to utilize as much of the // default serialization provided by jackson data-bind as possible. for example, write // the uuid as an object so that when jackson serializes it, it uses the uuid serializer // to write it out with the type. in this way, data-bind should be able to deserialize // it back when types are embedded. typeSerializer.writeTypePrefixForScalar(recordId, jsonGenerator); final Map<String, Object> m = new LinkedHashMap<>(); m.put("schemaTable", recordId.getSchemaTable()); if (recordId.hasSequenceId()) { m.put("id", recordId.sequenceId()); } else { m.put("id", recordId.getIdentifiers()); } jsonGenerator.writeObject(m); typeSerializer.writeTypeSuffixForScalar(recordId, jsonGenerator); } }
@Override public void serializeWithType(final RecordId recordId, final JsonGenerator jsonGenerator, final SerializerProvider serializerProvider, final TypeSerializer typeSerializer) throws IOException { jsonGenerator.writeStartObject(); jsonGenerator.writeStringField(GraphSONTokens.CLASS, RecordId.class.getName()); jsonGenerator.writeObjectField("schemaTable", recordId.getSchemaTable()); jsonGenerator.writeNumberField("id", recordId.sequenceId()); jsonGenerator.writeEndObject(); } }
@Override public void serializeWithType(final RecordId recordId, final JsonGenerator jsonGenerator, final SerializerProvider serializerProvider, final TypeSerializer typeSerializer) throws IOException { jsonGenerator.writeStartObject(); jsonGenerator.writeStringField(GraphSONTokens.CLASS, RecordId.class.getName()); jsonGenerator.writeObjectField("schemaTable", recordId.getSchemaTable()); jsonGenerator.writeNumberField("id", recordId.sequenceId()); jsonGenerator.writeEndObject(); } }
void add(SqlgVertex sqlgVertex) { RecordId vertexRecordId = (RecordId) sqlgVertex.id(); if (this.vertexCache.containsKey(vertexRecordId)) { throw new IllegalStateException("The vertex cache should never already contain a new vertex!"); } else { SchemaTable schemaTable = vertexRecordId.getSchemaTable(); RecordId recordId; if (vertexRecordId.hasSequenceId()) { recordId = RecordId.from(SchemaTable.of(schemaTable.getSchema(), schemaTable.getTable()), vertexRecordId.sequenceId()); } else { recordId = RecordId.from(SchemaTable.of(schemaTable.getSchema(), schemaTable.getTable()), vertexRecordId.getIdentifiers()); } this.vertexCache.put(recordId, sqlgVertex); } }
void add(SqlgVertex sqlgVertex) { RecordId vertexRecordId = (RecordId) sqlgVertex.id(); if (this.vertexCache.containsKey(vertexRecordId)) { throw new IllegalStateException("The vertex cache should never already contain a new vertex!"); } else { SchemaTable schemaTable = vertexRecordId.getSchemaTable(); RecordId recordId; if (vertexRecordId.hasSequenceId()) { recordId = RecordId.from(SchemaTable.of(schemaTable.getSchema(), schemaTable.getTable()), vertexRecordId.sequenceId()); } else { recordId = RecordId.from(SchemaTable.of(schemaTable.getSchema(), schemaTable.getTable()), vertexRecordId.getIdentifiers()); } this.vertexCache.put(recordId, sqlgVertex); } }
@Override public void write(Kryo kryo, Output output) { output.writeString(this.getSchemaTable().getSchema()); output.writeString(this.getSchemaTable().getTable()); if (hasSequenceId()) { output.writeString("s"); output.writeLong(this.getID().sequenceId); } else { output.writeString("i"); output.writeInt(getIdentifiers().size()); for (Comparable identifier : getIdentifiers()) { output.writeString((CharSequence) identifier); } } }
@Override public void write(Kryo kryo, Output output) { output.writeString(this.getSchemaTable().getSchema()); output.writeString(this.getSchemaTable().getTable()); if (hasSequenceId()) { output.writeString("s"); output.writeLong(this.getID().sequenceId); } else { output.writeString("i"); output.writeInt(getIdentifiers().size()); for (Comparable identifier : getIdentifiers()) { output.writeString((CharSequence) identifier); } } }
SqlgVertex putVertexIfAbsent(SqlgVertex sqlgVertex) { RecordId vertexRecordId = (RecordId) sqlgVertex.id(); SqlgVertex sqlgVertexFromCache; if (this.cacheVertices) { sqlgVertexFromCache = this.vertexCache.get(vertexRecordId); if (sqlgVertexFromCache == null) { //copy the RecordId so that the WeakHashMap value does not reference the key SchemaTable schemaTable = vertexRecordId.getSchemaTable(); RecordId recordId; if (vertexRecordId.hasSequenceId()) { recordId = RecordId.from(SchemaTable.of(schemaTable.getSchema(), schemaTable.getTable()), vertexRecordId.sequenceId()); } else { recordId = RecordId.from(SchemaTable.of(schemaTable.getSchema(), schemaTable.getTable()), vertexRecordId.getIdentifiers()); } this.vertexCache.put(recordId, sqlgVertex); return sqlgVertex; } else { return sqlgVertexFromCache; } } else { return sqlgVertex; } }
SqlgVertex putVertexIfAbsent(SqlgVertex sqlgVertex) { RecordId vertexRecordId = (RecordId) sqlgVertex.id(); SqlgVertex sqlgVertexFromCache; if (this.cacheVertices) { sqlgVertexFromCache = this.vertexCache.get(vertexRecordId); if (sqlgVertexFromCache == null) { //copy the RecordId so that the WeakHashMap value does not reference the key SchemaTable schemaTable = vertexRecordId.getSchemaTable(); RecordId recordId; if (vertexRecordId.hasSequenceId()) { recordId = RecordId.from(SchemaTable.of(schemaTable.getSchema(), schemaTable.getTable()), vertexRecordId.sequenceId()); } else { recordId = RecordId.from(SchemaTable.of(schemaTable.getSchema(), schemaTable.getTable()), vertexRecordId.getIdentifiers()); } this.vertexCache.put(recordId, sqlgVertex); return sqlgVertex; } else { return sqlgVertexFromCache; } } else { return sqlgVertex; } }