@@ -479,8 +479,10 @@ public Map<TorcVertex, List<TorcVertex>> getVertices(
479
479
String edgeLabel ,
480
480
Direction dir ,
481
481
String ... neighborLabels ) {
482
- return getVertices (TorcHelper .neighborList (vMap ), edgeLabel , dir ,
482
+ List <TorcVertex > vList = TorcHelper .neighborList (vMap );
483
+ Map <TorcVertex , List <TorcVertex >> ret = getVertices (vList , edgeLabel , dir ,
483
484
neighborLabels );
485
+ return ret ;
484
486
}
485
487
486
488
/**
@@ -508,10 +510,20 @@ public Map<TorcVertex, List<TorcVertex>> getVertices(
508
510
/* Build arguments to TorcEdgeList.batchRead(). */
509
511
List <byte []> keyPrefixes = new ArrayList <>(vList .size ());
510
512
511
- for (TorcVertex vertex : vList ) {
512
- for (String neighborLabel : neighborLabels ) {
513
- keyPrefixes .add (TorcHelper .getEdgeListKeyPrefix (vertex .id (),
514
- edgeLabel , dir , neighborLabel ));
513
+ byte [] edgeLabelByteArray = TorcHelper .serializeString (edgeLabel );
514
+ for (String neighborLabel : neighborLabels ) {
515
+ byte [] neighborLabelByteArray = TorcHelper .serializeString (neighborLabel );
516
+ ByteBuffer buffer =
517
+ ByteBuffer .allocate (UInt128 .BYTES
518
+ + Short .BYTES + edgeLabelByteArray .length
519
+ + Byte .BYTES
520
+ + Short .BYTES + neighborLabelByteArray .length )
521
+ .order (ByteOrder .LITTLE_ENDIAN );
522
+ for (TorcVertex vertex : vList ) {
523
+ buffer .rewind ();
524
+ TorcHelper .appendEdgeListKeyPrefixToBuffer (vertex .id (),
525
+ edgeLabelByteArray , dir , neighborLabelByteArray , buffer );
526
+ keyPrefixes .add (buffer .array ().clone ());
515
527
}
516
528
}
517
529
@@ -526,8 +538,8 @@ public Map<TorcVertex, List<TorcVertex>> getVertices(
526
538
Map <UInt128 , TorcVertex > neighborDedupMap = new HashMap <>();
527
539
528
540
int i = 0 ;
529
- for (TorcVertex vertex : vList ) {
530
- for (String neighborLabel : neighborLabels ) {
541
+ for (String neighborLabel : neighborLabels ) {
542
+ for (TorcVertex vertex : vList ) {
531
543
byte [] keyPrefix = keyPrefixes .get (i );
532
544
533
545
if (serEdgeLists .containsKey (keyPrefix )) {
@@ -601,10 +613,20 @@ public Map<TorcVertex, List<TorcEdge>> getEdges(
601
613
/* Build arguments to TorcEdgeList.batchRead(). */
602
614
List <byte []> keyPrefixes = new ArrayList <>(vList .size ());
603
615
604
- for (TorcVertex vertex : vList ) {
605
- for (String neighborLabel : neighborLabels ) {
606
- keyPrefixes .add (TorcHelper .getEdgeListKeyPrefix (vertex .id (),
607
- edgeLabel , dir , neighborLabel ));
616
+ byte [] edgeLabelByteArray = TorcHelper .serializeString (edgeLabel );
617
+ for (String neighborLabel : neighborLabels ) {
618
+ byte [] neighborLabelByteArray = TorcHelper .serializeString (neighborLabel );
619
+ ByteBuffer buffer =
620
+ ByteBuffer .allocate (UInt128 .BYTES
621
+ + Short .BYTES + edgeLabelByteArray .length
622
+ + Byte .BYTES
623
+ + Short .BYTES + neighborLabelByteArray .length )
624
+ .order (ByteOrder .LITTLE_ENDIAN );
625
+ for (TorcVertex vertex : vList ) {
626
+ buffer .rewind ();
627
+ TorcHelper .appendEdgeListKeyPrefixToBuffer (vertex .id (),
628
+ edgeLabelByteArray , dir , neighborLabelByteArray , buffer );
629
+ keyPrefixes .add (buffer .array ().clone ());
608
630
}
609
631
}
610
632
@@ -618,8 +640,8 @@ public Map<TorcVertex, List<TorcEdge>> getEdges(
618
640
Map <TorcVertex , List <TorcEdge >> edgeListMap = new HashMap <>();
619
641
620
642
int i = 0 ;
621
- for (TorcVertex vertex : vList ) {
622
- for (String neighborLabel : neighborLabels ) {
643
+ for (String neighborLabel : neighborLabels ) {
644
+ for (TorcVertex vertex : vList ) {
623
645
byte [] keyPrefix = keyPrefixes .get (i );
624
646
625
647
if (serEdgeLists .containsKey (keyPrefix )) {
0 commit comments