@@ -59,7 +59,7 @@ public ResultTable execute(ResultTable table) {
59
59
60
60
Set <String > startNodes = new HashSet <>(table .getAll (insideNode ));
61
61
Map <String , List <List <String >>> candidates = new HashMap <>();
62
- List <String > retItems = new ArrayList <>( Arrays . asList ( "to" , "name" )) ;
62
+ List <String > retItems ;
63
63
64
64
for (String node : startNodes ){
65
65
Map <String , String > condition = new HashMap <>();
@@ -68,27 +68,35 @@ public ResultTable execute(ResultTable table) {
68
68
case "-->" :
69
69
if (insideNode .equals (edge .start )){
70
70
condition .put ("from" , node );
71
+ retItems = new ArrayList <>(Arrays .asList ("to" , "name" ));
71
72
}else {
72
73
condition .put ("to" , node );
74
+ retItems = new ArrayList <>(Arrays .asList ("from" , "name" ));
73
75
}
74
76
res = exeUtil .getEdgesBy (retItems , condition , relationTypes );
75
77
candidates .put (node , res );
76
78
break ;
77
79
case "<--" :
78
80
if (insideNode .equals (edge .start )){
79
81
condition .put ("to" , node );
82
+ retItems = new ArrayList <>();
83
+ retItems .add ("from" );
80
84
}else {
85
+ retItems = new ArrayList <>();
86
+ retItems .add ("to" );
81
87
condition .put ("from" , node );
82
88
}
83
89
res = exeUtil .getEdgesBy (retItems , condition , relationTypes );
84
90
candidates .put (node , res );
85
91
break ;
86
92
case "--" :case "<-->" :
87
93
condition .put ("to" , node );
94
+ retItems = new ArrayList <>(Arrays .asList ("from" , "name" ));
88
95
res = exeUtil .getEdgesBy (retItems , condition , relationTypes );
89
96
condition .remove ("to" );
90
97
91
98
condition .put ("from" , node );
99
+ retItems = new ArrayList <>(Arrays .asList ("to" , "name" ));
92
100
res .addAll (exeUtil .getEdgesBy (retItems , condition , relationTypes ));
93
101
candidates .put (node , res );
94
102
break ;
0 commit comments