[NO ISSUE][API][MTD] Refactor query service servlet
- user model changes: no
- storage format changes: no
- interface changes: no
Details:
Pass the optional parameters when creating the query service
parameters object.
Change-Id: Icdfd285910f49eb1d97ccb7d2325edfe7f06ca39
Reviewed-on: https://asterix-gerrit.ics.uci.edu/3097
Tested-by: Jenkins <jenkins@fulliautomatix.ics.uci.edu>
Integration-Tests: Jenkins <jenkins@fulliautomatix.ics.uci.edu>
Contrib: Jenkins <jenkins@fulliautomatix.ics.uci.edu>
Reviewed-by: Murtadha Hubail <mhubail@apache.org>
diff --git a/asterixdb/asterix-app/src/main/java/org/apache/asterix/api/http/server/QueryServiceServlet.java b/asterixdb/asterix-app/src/main/java/org/apache/asterix/api/http/server/QueryServiceServlet.java
index b33bba5..7e563e17 100644
--- a/asterixdb/asterix-app/src/main/java/org/apache/asterix/api/http/server/QueryServiceServlet.java
+++ b/asterixdb/asterix-app/src/main/java/org/apache/asterix/api/http/server/QueryServiceServlet.java
@@ -382,8 +382,8 @@
return result;
}
- protected void setRequestParam(IServletRequest request, QueryServiceRequestParameters param)
- throws IOException, AlgebricksException {
+ protected void setRequestParam(IServletRequest request, QueryServiceRequestParameters param,
+ Map<String, String> optionalParams) throws IOException, AlgebricksException {
param.setHost(host(request));
param.setPath(servletPath(request));
String contentType = HttpUtil.getContentTypeOnly(request);
@@ -498,7 +498,11 @@
sessionOutput.hold();
sessionOutput.out().print("{\n");
HttpUtil.setContentType(response, HttpUtil.ContentType.APPLICATION_JSON, HttpUtil.Encoding.UTF8);
- setRequestParam(request, param);
+ Map<String, String> optionalParams = null;
+ if (optionalParamProvider != null) {
+ optionalParams = optionalParamProvider.apply(request);
+ }
+ setRequestParam(request, param, optionalParams);
LOGGER.info("handleRequest: {}", param);
ResultDelivery delivery = parseResultDelivery(param.getMode());
setSessionConfig(sessionOutput, param, delivery);
@@ -513,10 +517,6 @@
throw new RuntimeDataException(ErrorCode.NO_STATEMENT_PROVIDED);
}
String statementsText = param.getStatement() + ";";
- Map<String, String> optionalParams = null;
- if (optionalParamProvider != null) {
- optionalParams = optionalParamProvider.apply(request);
- }
Map<String, byte[]> statementParams = org.apache.asterix.app.translator.RequestParameters
.serializeParameterValues(param.getStatementParams());
// CORS
diff --git a/asterixdb/asterix-lang-sqlpp/src/main/java/org/apache/asterix/lang/sqlpp/util/SqlppStatementUtil.java b/asterixdb/asterix-lang-sqlpp/src/main/java/org/apache/asterix/lang/sqlpp/util/SqlppStatementUtil.java
index f1278ec..e41b9ac 100644
--- a/asterixdb/asterix-lang-sqlpp/src/main/java/org/apache/asterix/lang/sqlpp/util/SqlppStatementUtil.java
+++ b/asterixdb/asterix-lang-sqlpp/src/main/java/org/apache/asterix/lang/sqlpp/util/SqlppStatementUtil.java
@@ -44,6 +44,7 @@
private SqlppStatementUtil() {
}
+ @SuppressWarnings("squid:S1172") // unused variable
public static StringBuilder getCreateDataverseStatement(StringBuilder stringBuilder, String dataverseName,
boolean ifNotExists, int version) {
stringBuilder.append(CREATE_DATAVERSE);
@@ -51,6 +52,7 @@
return ifNotExists(stringBuilder, ifNotExists).append(SEMI_COLON);
}
+ @SuppressWarnings("squid:S1172") // unused variable
public static StringBuilder getDropDatasetStatement(StringBuilder stringBuilder, String dataverseName,
String datasetName, boolean ifExists, int version) {
stringBuilder.append(DROP_DATASET);
@@ -58,6 +60,7 @@
return ifExists(stringBuilder, ifExists).append(SEMI_COLON);
}
+ @SuppressWarnings("squid:S1172") // unused variable
public static StringBuilder getCreateIndexStatement(StringBuilder stringBuilder, String dataverseName,
String datasetName, String indexName, String fields, int version) {
stringBuilder.append(CREATE_INDEX);
@@ -65,6 +68,7 @@
return enclose(stringBuilder, dataverseName, datasetName).append(fields).append(SEMI_COLON);
}
+ @SuppressWarnings("squid:S1172") // unused variable
public static StringBuilder getCreatePrimaryIndexStatement(StringBuilder stringBuilder, String dataverseName,
String datasetName, String indexName, int version) {
stringBuilder.append(CREATE_PRIMARY_INDEX);
@@ -72,6 +76,7 @@
return enclose(stringBuilder, dataverseName, datasetName).append(SEMI_COLON);
}
+ @SuppressWarnings("squid:S1172") // unused variable
public static StringBuilder getDropIndexStatement(StringBuilder stringBuilder, String dataverseName,
String datasetName, String indexName, boolean ifExists, int version) {
stringBuilder.append(DROP_INDEX);