Hi,

I am trying to upgrade Sqlg to 3.3.3 from 3.3.1.

The only tests that are failing are the io tests for graphson V1.

I see CustomId has a CustomIdJacksonSerializerV1d0 but not a deserializer. Looks like Jackson is using reflection to instantiate the CustomId and set its cluster and elementId. Is this how it must be or can it work with a deserializer? Sqlg's RecordId does not have default constructors.

For Sqlg I added the standard deserializer but it fails with.

org.apache.tinkerpop.shaded.jackson.databind.exc.InvalidTypeIdException: Could not resolve type id 'org.umlg.sqlg.structure.SchemaTable' as a subtype of [map type; class java.util.LinkedHashMap, [simple type, class java.lang.Object] -> [simple type, class java.lang.Object]]: Not a subtype  at [Source: (ByteArrayInputStream); line: 1, column: 105] (through reference chain: java.util.HashMap["id"])

    at org.apache.tinkerpop.shaded.jackson.databind.exc.InvalidTypeIdException.from(InvalidTypeIdException.java:43)     at org.apache.tinkerpop.shaded.jackson.databind.DeserializationContext.invalidTypeIdException(DeserializationContext.java:1628)     at org.apache.tinkerpop.shaded.jackson.databind.DatabindContext.resolveSubType(DatabindContext.java:200)     at org.apache.tinkerpop.shaded.jackson.databind.jsontype.impl.ClassNameIdResolver._typeFromId(ClassNameIdResolver.java:49)     at org.apache.tinkerpop.shaded.jackson.databind.jsontype.impl.ClassNameIdResolver.typeFromId(ClassNameIdResolver.java:44)     at org.apache.tinkerpop.shaded.jackson.databind.jsontype.impl.TypeDeserializerBase._findDeserializer(TypeDeserializerBase.java:156)     at org.apache.tinkerpop.shaded.jackson.databind.jsontype.impl.AsPropertyTypeDeserializer._deserializeTypedForId(AsPropertyTypeDeserializer.java:113)     at org.apache.tinkerpop.shaded.jackson.databind.jsontype.impl.AsPropertyTypeDeserializer.deserializeTypedFromObject(AsPropertyTypeDeserializer.java:97)     at org.apache.tinkerpop.shaded.jackson.databind.deser.std.MapDeserializer.deserializeWithType(MapDeserializer.java:400)     at org.apache.tinkerpop.shaded.jackson.databind.deser.impl.TypeWrappedDeserializer.deserialize(TypeWrappedDeserializer.java:68)     at org.apache.tinkerpop.shaded.jackson.databind.DeserializationContext.readValue(DeserializationContext.java:759)     at org.apache.tinkerpop.shaded.jackson.databind.DeserializationContext.readValue(DeserializationContext.java:746)     at org.umlg.sqlg.structure.RecordId$RecordIdJacksonDeserializerV1d0.deserialize(RecordId.java:205)

Any ideas as to how I should implement this?

Thanks
Pieter



Reply via email to