Skip to content

Commit 102ad9a

Browse files
authored
Merge pull request #12 from openworm/development
Release 0.3.4
2 parents 9716a15 + 81968db commit 102ad9a

5 files changed

Lines changed: 44 additions & 30 deletions

File tree

.gitignore

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,5 @@ src/main/java/META-INF/MANIFEST.MF
44
/.externalToolBuilders/
55
/.settings/
66
.classpath
7-
bin/
87
geppettoTmp/
9-
/bin/
8+
/bin

pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
<groupId>org.geppetto</groupId>
66
<artifactId>datasources</artifactId>
77
<name>Geppetto Data Sources bundle</name>
8-
<version>0.3.3</version>
8+
<version>0.3.4</version>
99
<packaging>bundle</packaging>
1010
<properties>
1111
<spring.version>3.1.3.RELEASE</spring.version>

src/main/java/org/geppetto/datasources/ExecuteQueryVisitor.java

Lines changed: 22 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -58,6 +58,7 @@
5858
import org.geppetto.model.util.GeppettoModelTraversal;
5959
import org.geppetto.model.util.GeppettoVisitingException;
6060
import org.geppetto.model.variables.Variable;
61+
import com.google.gson.JsonSyntaxException;
6162

6263
/**
6364
* @author matteocantarelli
@@ -183,12 +184,14 @@ public Object caseSimpleQuery(SimpleQuery query)
183184
{
184185
if(!count || (count && query.isRunForCount()))
185186
{
187+
String processedQueryString = "";
188+
String url = "";
186189
try
187190
{
188191
if(QueryChecker.check(query, getVariable()))
189192
{
190193
ADataSourceService dataSourceService = getDataSourceService(query);
191-
String url = getDataSource(query).getUrl();
194+
url = getDataSource(query).getUrl();
192195
String queryString = null;
193196
if(count)
194197
{
@@ -208,7 +211,7 @@ public Object caseSimpleQuery(SimpleQuery query)
208211
properties.putAll(processingOutputMap);
209212
}
210213

211-
String processedQueryString = VelocityUtils.processTemplate(dataSourceService.getTemplate(), properties);
214+
processedQueryString = VelocityUtils.processTemplate(dataSourceService.getTemplate(), properties);
212215

213216
String response = null;
214217
switch(dataSourceService.getConnectionType())
@@ -226,6 +229,7 @@ public Object caseSimpleQuery(SimpleQuery query)
226229
}
227230
catch(GeppettoDataSourceException e)
228231
{
232+
System.out.println("Query request: " + url + "?" + processedQueryString);
229233
return new GeppettoVisitingException(e);
230234
}
231235
catch(GeppettoInitializationException e)
@@ -242,18 +246,23 @@ public Object caseSimpleQuery(SimpleQuery query)
242246
*/
243247
private void processResponse(String response, ADataSourceService dataSourceService) throws GeppettoDataSourceException
244248
{
245-
if(count)
246-
{
247-
Map<String, Object> responseMap = JSONUtility.getAsMap(response);
248-
results = dataSourceService.getQueryResponseProcessor().processResponse(responseMap);
249-
// TODO How to get the count if it is actually specified?
250-
}
251-
else
252-
{
253-
Map<String, Object> responseMap = JSONUtility.getAsMap(response);
254-
results = dataSourceService.getQueryResponseProcessor().processResponse(responseMap);
249+
try{
250+
if(count)
251+
{
252+
Map<String, Object> responseMap = JSONUtility.getAsMap(response);
253+
results = dataSourceService.getQueryResponseProcessor().processResponse(responseMap);
254+
// TODO How to get the count if it is actually specified?
255+
}
256+
else
257+
{
258+
Map<String, Object> responseMap = JSONUtility.getAsMap(response);
259+
results = dataSourceService.getQueryResponseProcessor().processResponse(responseMap);
260+
}
261+
}catch (JsonSyntaxException e){
262+
System.out.println("JsonSyntaxException handling: " + response);
263+
System.out.println(e);
264+
throw new GeppettoDataSourceException(e);
255265
}
256-
257266
}
258267

259268
/**

src/main/java/org/geppetto/datasources/neo4j/Neo4jResponseProcessor.java

Lines changed: 18 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -27,21 +27,28 @@ 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(((List) response.get("results")).size() > 0)
31+
{
32+
List<String> headers = (List<String>) ((List) ((Map<String, Object>) ((List) response.get("results")).get(0)).get("columns"));
3133

32-
results.getHeader().addAll(headers);
34+
results.getHeader().addAll(headers);
3335

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)
36+
results.getResults().clear();
37+
List<Map<String, Object>> data = (List<Map<String, Object>>) ((List) ((Map<String, Object>) ((List) response.get("results")).get(0)).get("data"));
38+
for(Map<String, Object> rowObject : data)
4139
{
42-
resultRow.getValues().add(value);
40+
QueryResult resultRow = DatasourcesFactory.eINSTANCE.createQueryResult();
41+
List<Object> row = (List<Object>) rowObject.get("row");
42+
for(Object value : row)
43+
{
44+
resultRow.getValues().add(value);
45+
}
46+
results.getResults().add(resultRow);
4347
}
44-
results.getResults().add(resultRow);
48+
}
49+
else
50+
{
51+
// TODO: report reponse to log
4552
}
4653
return results;
4754
}

src/main/resources/templates/neo4j/queryTemplate.vm

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,10 +3,9 @@
33
{
44
"statement":"$QUERY",
55
"resultDataContents":[
6-
"row",
7-
"graph"
6+
"row"
87
],
9-
"includeStats":true
8+
"includeStats":false
109
}
1110
]
1211
}

0 commit comments

Comments
 (0)