@@ -27,22 +27,26 @@ public class Neo4jResponseProcessor implements IQueryResponseProcessor
2727 public QueryResults processResponse (Map <String , Object > response )
2828 {
2929 QueryResults results = DatasourcesFactory .eINSTANCE .createQueryResults ();
30- List <String > headers = (List <String >) ((List ) ((Map <String , Object >) ((List ) response .get ("results" )).get (0 )).get ("columns" ));
30+ if (response .get ("results" )).size () > 0 ){
31+ List <String > headers = (List <String >) ((List ) ((Map <String , Object >) ((List ) response .get ("results" )).get (0 )).get ("columns" ));
3132
32- results .getHeader ().addAll (headers );
33+ results .getHeader ().addAll (headers );
3334
34- results .getResults ().clear ();
35- List <Map <String , Object >> data = (List <Map <String , Object >>) ((List ) ((Map <String , Object >) ((List ) response .get ("results" )).get (0 )).get ("data" ));
36- for (Map <String , Object > rowObject : data )
37- {
38- QueryResult resultRow = DatasourcesFactory .eINSTANCE .createQueryResult ();
39- List <Object > row = (List <Object >) rowObject .get ("row" );
40- for (Object value : row )
35+ results .getResults ().clear ();
36+ List <Map <String , Object >> data = (List <Map <String , Object >>) ((List ) ((Map <String , Object >) ((List ) response .get ("results" )).get (0 )).get ("data" ));
37+ for (Map <String , Object > rowObject : data )
4138 {
42- resultRow .getValues ().add (value );
39+ QueryResult resultRow = DatasourcesFactory .eINSTANCE .createQueryResult ();
40+ List <Object > row = (List <Object >) rowObject .get ("row" );
41+ for (Object value : row )
42+ {
43+ resultRow .getValues ().add (value );
44+ }
45+ results .getResults ().add (resultRow );
4346 }
44- results .getResults ().add (resultRow );
45- }
47+ }else {
48+ //TODO: report reponse to log
49+ }
4650 return results ;
4751 }
4852
0 commit comments