----------------------------------------------------------- This is an automatically generated e-mail. To reply, visit: https://reviews.apache.org/r/64943/#review194849 -----------------------------------------------------------
Regarding serialization with JanusGraph: I think JanusGraph's StandardSerializer has support for Lists - in the xxxArraySerializer classes (registered as 22 thru 30). But I don't see anything in StandardSerializer that handles Maps....which seems to contradict your email so is slightly confusing. Presumably we (Atlas) work our way through the Map delegating serialization of each entry to the appopriate serializer? I don't think there is anything (as standard) in JanusGraph's StandardSerializer that would help with BigDecimal, BigInteger or TypeCategorySerializer - but for any Atlas specific classes we could register Custom Serializers with JanusGraph - i.e. located above offset 100. TypeCategory is only a skinny layer over EnumSerializer, so not sure it is worth the effort? I think we could just keep our existing Atlas BigDecimalSerializer, BigIntegerSerializer and TypeCategorySerializer. In terms of Atlas classes/methods: Why do we have both GraphHelper:getMapValueProperty() and EntityGraphMapper:getMapValueProperty()? Should one delegate to the other? Also, for anything that is not a Reference, one of the above methods explicitly handles List and Map property values and returns List.class and Map.class objects, whereas the other returns an Object.class. Should this be consistent across both methods? - Graham Wallis On Jan. 4, 2018, 3:24 a.m., Madhan Neethiraj wrote: > > ----------------------------------------------------------- > This is an automatically generated e-mail. To reply, visit: > https://reviews.apache.org/r/64943/ > ----------------------------------------------------------- > > (Updated Jan. 4, 2018, 3:24 a.m.) > > > Review request for atlas. > > > Bugs: ATLAS-2332 > https://issues.apache.org/jira/browse/ATLAS-2332 > > > Repository: atlas > > > Description > ------- > > Updated type-def and instance modules to enable attributes with nested > collection datatypes, like map<string,array<string>>, > array<map<string,string>> > > > Diffs > ----- > > > graphdb/janus/src/main/java/org/apache/atlas/repository/graphdb/janus/AtlasJanusGraphDatabase.java > e507a8ad > > graphdb/janus/src/main/java/org/apache/atlas/repository/graphdb/janus/serializer/StringListSerializer.java > fa6f5fda > intg/src/test/java/org/apache/atlas/TestUtilsV2.java bbccf77c > repository/src/main/java/org/apache/atlas/repository/graph/GraphHelper.java > 3e602431 > > repository/src/main/java/org/apache/atlas/repository/store/graph/v1/EntityGraphMapper.java > f6a15b69 > > repository/src/main/java/org/apache/atlas/repository/store/graph/v1/EntityGraphRetriever.java > 706e7373 > > repository/src/test/java/org/apache/atlas/repository/store/graph/AtlasTypeDefGraphStoreTest.java > e1047220 > > repository/src/test/java/org/apache/atlas/repository/store/graph/v1/AtlasEntityStoreV1Test.java > 1f8b9fdb > > > Diff: https://reviews.apache.org/r/64943/diff/1/ > > > Testing > ------- > > added unit tests to validate handling of attributes with nested collection > datatypes > > > Thanks, > > Madhan Neethiraj > >
