[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();