[Fix] fixed broken tests in SOQL
This commit is contained in:
parent
bfaa57a2b9
commit
1830d9fe86
|
@ -49,8 +49,9 @@ public class QueryProcessor {
|
|||
public QueryResponse process(QueryRequest request, StrolchTransaction tx) {
|
||||
|
||||
String statement = request.getStatement();
|
||||
Map<String, Object> parameterMap = request.getParameterMap();
|
||||
|
||||
CompiledStatement compiledStatement = null;
|
||||
CompiledStatement compiledStatement;
|
||||
try {
|
||||
ParseTree tree = parseStatement(statement);
|
||||
compiledStatement = compile(tree);
|
||||
|
@ -74,7 +75,7 @@ public class QueryProcessor {
|
|||
for (int i = 0; i < row.size(); i++) {
|
||||
inputObjects.put((String) keys[i], row.get(i));
|
||||
}
|
||||
List<Object> resultRow = compiledStatement.evaluate(inputObjects, request.getParameter());
|
||||
List<Object> resultRow = compiledStatement.evaluate(inputObjects, parameterMap);
|
||||
|
||||
if (!resultRow.isEmpty())
|
||||
resultSet.add(resultRow);
|
||||
|
@ -82,7 +83,7 @@ public class QueryProcessor {
|
|||
|
||||
QueryResponse response = new QueryResponse();
|
||||
response.setStatement(statement);
|
||||
response.setParameter(request.getParameter());
|
||||
response.setParameterMap(parameterMap);
|
||||
response.setResultSet(resultSet);
|
||||
|
||||
return response;
|
||||
|
|
|
@ -19,8 +19,8 @@ public class QueryRequest {
|
|||
// the SOQL query string
|
||||
private String statement;
|
||||
|
||||
// the parameter of the SOQL query
|
||||
private Map<String, Object> parameter;
|
||||
// the parameterMap of the SOQL query
|
||||
private Map<String, Object> parameterMap;
|
||||
|
||||
public String getStatement() {
|
||||
return statement;
|
||||
|
@ -30,18 +30,18 @@ public class QueryRequest {
|
|||
this.statement = statement;
|
||||
}
|
||||
|
||||
public Map<String, Object> getParameter() {
|
||||
return parameter;
|
||||
public Map<String, Object> getParameterMap() {
|
||||
return parameterMap;
|
||||
}
|
||||
|
||||
public void setParameter(Map<String, Object> parameter) {
|
||||
this.parameter = parameter;
|
||||
public void setParameterMap(Map<String, Object> parameter) {
|
||||
this.parameterMap = parameter;
|
||||
}
|
||||
|
||||
public void addParameter(String key, Object value) {
|
||||
if (this.parameter == null)
|
||||
this.parameter = new HashMap<>();
|
||||
this.parameter.put(key, value);
|
||||
if (this.parameterMap == null)
|
||||
this.parameterMap = new HashMap<>();
|
||||
this.parameterMap.put(key, value);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -56,9 +56,9 @@ public class QueryRequest {
|
|||
JsonObject parameterJ = new JsonObject();
|
||||
rootJ.add(PARAMETER, parameterJ);
|
||||
|
||||
Set<String> keys = this.parameter.keySet();
|
||||
Set<String> keys = this.parameterMap.keySet();
|
||||
for (String key : keys) {
|
||||
Object param = this.parameter.get(key);
|
||||
Object param = this.parameterMap.get(key);
|
||||
parameterJ.addProperty(key, param.toString());
|
||||
}
|
||||
|
||||
|
|
|
@ -32,6 +32,10 @@ public class QueryResponse extends QueryRequest {
|
|||
return this.resultSet;
|
||||
}
|
||||
|
||||
public JsonObject asJson() {
|
||||
return asJson(false);
|
||||
}
|
||||
|
||||
public JsonObject asJson(boolean flat) {
|
||||
|
||||
JsonObject rootJ = super.asJson();
|
||||
|
|
|
@ -28,7 +28,7 @@ public class QueryProcessorTest extends BaseTest {
|
|||
processor.setInputCollections(inputCollections);
|
||||
|
||||
QueryRequest request = new QueryRequest();
|
||||
request.getParameter().put("id", "0");
|
||||
request.addParameter("id", "0");
|
||||
request.setStatement("SELECT r,o FROM Resource r, Order o WHERE r.getId() = :id AND o.getId() = :id");
|
||||
|
||||
String expected =
|
||||
|
@ -61,7 +61,7 @@ public class QueryProcessorTest extends BaseTest {
|
|||
processor.setInputCollections(inputCollections);
|
||||
|
||||
QueryRequest request = new QueryRequest();
|
||||
request.getParameter().put("id", "5");
|
||||
request.addParameter("id", "5");
|
||||
request.setStatement(
|
||||
"SELECT r, o, r.getId() FROM Resource r, Order o WHERE r.getId() = :id AND o.getId() = :id");
|
||||
|
||||
|
|
|
@ -17,7 +17,7 @@ public class SerialisationTest extends BaseTest {
|
|||
String s = "SELECT a FROM Activity a WHERE a.getId() = :p";
|
||||
final QueryRequest request = new QueryRequest();
|
||||
request.setStatement(s);
|
||||
request.getParameter().put("r", "Just a string!");
|
||||
request.addParameter("r", "Just a string!");
|
||||
return request;
|
||||
}
|
||||
|
||||
|
@ -25,7 +25,7 @@ public class SerialisationTest extends BaseTest {
|
|||
String s = "SELECT a FROM Activity a WHERE a.getId() = :p";
|
||||
final QueryResponse response = new QueryResponse();
|
||||
response.setStatement(s);
|
||||
response.getParameter().put("r", "Just a string!");
|
||||
response.addParameter("r", "Just a string!");
|
||||
return response;
|
||||
}
|
||||
|
||||
|
@ -46,14 +46,13 @@ public class SerialisationTest extends BaseTest {
|
|||
|
||||
final QueryRequest initial = new QueryRequest();
|
||||
initial.setStatement(s);
|
||||
initial.getParameter().put("p", "10010");
|
||||
initial.addParameter("p", "10010");
|
||||
final JsonObject jsonObject = initial.asJson();
|
||||
|
||||
final QueryRequest query = new QueryRequest();
|
||||
query.fromJson(jsonObject);
|
||||
final QueryRequest query = QueryRequest.fromJson(jsonObject);
|
||||
|
||||
assertEquals(s, query.getStatement());
|
||||
assertEquals("10010", query.getParameter().get("p"));
|
||||
assertEquals("10010", query.getParameterMap().get("p"));
|
||||
}
|
||||
|
||||
@SuppressWarnings({ "unchecked", "rawtypes" })
|
||||
|
|
Loading…
Reference in New Issue