[NO ISSUE][*DB] Remove statement as request body
Remove the undocumented ability to treat request body as
statement, if a statement parameter is not otherwise supplied
Change-Id: I566a0c2deaf29e6da0d4dabf9d9de3bfd60da8d6
Reviewed-on: https://asterix-gerrit.ics.uci.edu/3267
Sonar-Qube: Jenkins <jenkins@fulliautomatix.ics.uci.edu>
Tested-by: Jenkins <jenkins@fulliautomatix.ics.uci.edu>
Contrib: Jenkins <jenkins@fulliautomatix.ics.uci.edu>
Integration-Tests: 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 b4513ec..6e93c9e 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
@@ -459,9 +459,6 @@
private void setParamFromRequest(IServletRequest request, QueryServiceRequestParameters param,
Map<String, String> optionalParameters) throws IOException {
param.setStatement(getParameter(request, Parameter.STATEMENT));
- if (param.getStatement() == null) {
- param.setStatement(HttpUtil.getRequestBody(request));
- }
param.setFormat(toLower(getParameter(request, Parameter.FORMAT)));
param.setPretty(Boolean.parseBoolean(getParameter(request, Parameter.PRETTY)));
param.setMode(toLower(getParameter(request, Parameter.MODE)));
diff --git a/asterixdb/asterix-app/src/test/java/org/apache/asterix/test/common/TestExecutor.java b/asterixdb/asterix-app/src/test/java/org/apache/asterix/test/common/TestExecutor.java
index f5921fe..d2bbc04 100644
--- a/asterixdb/asterix-app/src/test/java/org/apache/asterix/test/common/TestExecutor.java
+++ b/asterixdb/asterix-app/src/test/java/org/apache/asterix/test/common/TestExecutor.java
@@ -43,13 +43,13 @@
import java.util.ArrayDeque;
import java.util.ArrayList;
import java.util.Arrays;
-import java.util.Collection;
import java.util.Collections;
import java.util.HashMap;
import java.util.HashSet;
import java.util.List;
import java.util.ListIterator;
import java.util.Map;
+import java.util.Objects;
import java.util.Optional;
import java.util.Queue;
import java.util.Set;
@@ -749,25 +749,18 @@
protected HttpUriRequest constructPostMethodUrl(String statement, URI uri, String stmtParam,
List<Parameter> otherParams) {
+ Objects.requireNonNull(stmtParam, "statement parameter required");
RequestBuilder builder = RequestBuilder.post(uri);
- if (stmtParam != null) {
- for (Parameter param : upsertParam(otherParams, stmtParam, ParameterTypeEnum.STRING, statement)) {
- builder.addParameter(param.getName(), param.getValue());
- }
- builder.setCharset(statement.length() > MAX_NON_UTF_8_STATEMENT_SIZE ? UTF_8 : nextCharset());
- } else {
- // this seems pretty bad - we should probably fix the API and not the client
- builder.setEntity(new StringEntity(statement,
- statement.length() > MAX_NON_UTF_8_STATEMENT_SIZE ? UTF_8 : nextCharset()));
+ for (Parameter param : upsertParam(otherParams, stmtParam, ParameterTypeEnum.STRING, statement)) {
+ builder.addParameter(param.getName(), param.getValue());
}
+ builder.setCharset(statement.length() > MAX_NON_UTF_8_STATEMENT_SIZE ? UTF_8 : nextCharset());
return builder.build();
}
protected HttpUriRequest constructPostMethodJson(String statement, URI uri, String stmtParam,
List<Parameter> otherParams) {
- if (stmtParam == null) {
- throw new NullPointerException("Statement parameter required.");
- }
+ Objects.requireNonNull(stmtParam, "statement parameter required");
RequestBuilder builder = RequestBuilder.post(uri);
ObjectMapper om = new ObjectMapper();
ObjectNode content = om.createObjectNode();