@@ -17,8 +17,15 @@ trait AnyEdgeWriter { edgeWriter =>
1717
1818 type EdgeTables <: Singleton with AnyEdgeTables
1919 val edgeTables : EdgeTables
20+
21+
2022 type EdgeType = edgeTables.EdgeType
2123 val edgeType : EdgeType = edgeTables.edgeType
24+ //
25+ type InVertexId = edgeTables.InVertexId
26+ val inVertexId : InVertexId = edgeTables.inVertexId
27+ type OutVertexId = edgeTables.OutVertexId
28+ val outVertexId : OutVertexId = edgeTables.outVertexId
2229
2330 type EdgeTable = edgeTables.EdgeTable
2431 val edgeTable : EdgeTable = edgeTables.edgeTable
@@ -37,7 +44,7 @@ trait AnyEdgeWriter { edgeWriter =>
3744 type InItem = edgeTables.InItem
3845 val inItem : InItem = edgeTables.inItem
3946 type InRecord = edgeTables.InRecord
40- val inRecord : InRecord = edgeTables.inRecord
47+ val inRecord : InRecord = edgeTables.inRecord
4148
4249 type EdgeId = edgeTables.EdgeId
4350 val edgeId : EdgeId = edgeTables.edgeId
@@ -46,9 +53,7 @@ trait AnyEdgeWriter { edgeWriter =>
4653 type TargetId = edgeTables.TargetId
4754 val tgtId : TargetId = edgeTables.tgtId
4855
49- type InVertexId = edgeType.targetType.Id
50- val inVertexId : InVertexId = edgeType.targetType.id
51-
56+
5257 implicit val containId : EdgeId ∈ EdgeRecord # Properties = edgeTables.containEdgeId
5358 implicit val edgeIdLookup : Lookup [EdgeRecord # Raw , edgeId.Rep ] = edgeTables.edgeIdLookup
5459
@@ -61,31 +66,32 @@ trait AnyEdgeWriter { edgeWriter =>
6166
6267
6368 def write (edgeItemValue : TaggedWith [EdgeRecord ])(implicit transf : From .Item [EdgeItem , SDKRep ]): List [AnyPutItemAction ] = {
64- val inRep = inItem ->> (
65- inRecord ->> (
69+ val inRep = edgeTables. inItem ->> (
70+ inRecord ->> (
6671 (inVertexId ->> edgeItemValue.get(srcId)) :~:
6772 (edgeId ->> edgeItemValue.get(edgeId)) :~:
6873 ∅ )
6974 )
7075
71- val outRep = outItem fields (
72- (outTable.hashKey is edgeItemValue.get(tgtId)) :~:
73- (outTable.rangeKey is edgeItemValue.get(edgeTables.edgeId)) :~:
74- ∅
76+ val outRep = edgeTables.outItem fields (
77+ edgeTables.outRecord ->> (
78+ (outVertexId is edgeItemValue.get(tgtId)) :~:
79+ (edgeId is edgeItemValue.get(edgeTables.edgeId)) :~:
80+ ∅ )
7581 )
7682
7783 val inTableRequest = InCompositeKeyTable (inTable, Active (inTable, ServiceProvider .service.account,
7884 ThroughputStatus (1 ,1 ))) putItem inItem withValue inRep
7985 val outTableRequest = InCompositeKeyTable (outTable, Active (outTable, ServiceProvider .service.account,
80- ThroughputStatus (1 ,1 ))) putItem outItem withValue outItem ->> outRep.fields
86+ ThroughputStatus (1 ,1 ))) putItem outItem withValue outRep
8187 val tableRequest = InHashKeyTable (edgeTable, Active (edgeTable, ServiceProvider .service.account,
8288 ThroughputStatus (1 ,1 ))) putItem edgeItem withValue (edgeItem ->> edgeItemValue)
8389
8490 List (inTableRequest, outTableRequest, tableRequest)
8591 }
8692}
8793
88- class EdgeWriter [ET <: AnyEdgeTables ](val edgeTables : ET ) extends AnyEdgeWriter {
94+ class EdgeWriter [ET <: Singleton with AnyEdgeTables ](val edgeTables : ET ) extends AnyEdgeWriter {
8995
9096 type EdgeTables = ET
9197
0 commit comments