add unrestricted REST endpoint
diff --git a/asterix-app/src/main/java/edu/uci/ics/asterix/api/http/servlet/AQLAPIServlet.java b/asterix-app/src/main/java/edu/uci/ics/asterix/api/http/servlet/AQLAPIServlet.java
new file mode 100644
index 0000000..2cb5f40
--- /dev/null
+++ b/asterix-app/src/main/java/edu/uci/ics/asterix/api/http/servlet/AQLAPIServlet.java
@@ -0,0 +1,39 @@
+package edu.uci.ics.asterix.api.http.servlet;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import javax.servlet.http.HttpServletRequest;
+
+import edu.uci.ics.asterix.aql.base.Statement.Kind;
+
+public class AQLAPIServlet extends RESTAPIServlet {
+
+ private static final long serialVersionUID = 1L;
+
+ private static final String AQL_STMT_PARAM_NAME = "aql";
+
+ private static final List<Kind> allowedStatements = new ArrayList<>();
+
+ static {
+ for (Kind k : Kind.values()) {
+ allowedStatements.add(k);
+ }
+ }
+
+ @Override
+ protected String getQueryParameter(HttpServletRequest request) {
+ return request.getParameter(AQL_STMT_PARAM_NAME);
+ }
+
+ @Override
+ protected List<Kind> getAllowedStatements() {
+ return allowedStatements;
+ }
+
+ @Override
+ protected String getErrorMessage() {
+ throw new IllegalStateException();
+ }
+
+}
diff --git a/asterix-app/src/main/java/edu/uci/ics/asterix/hyracks/bootstrap/CCApplicationEntryPoint.java b/asterix-app/src/main/java/edu/uci/ics/asterix/hyracks/bootstrap/CCApplicationEntryPoint.java
index 18c2775..bc72615 100644
--- a/asterix-app/src/main/java/edu/uci/ics/asterix/hyracks/bootstrap/CCApplicationEntryPoint.java
+++ b/asterix-app/src/main/java/edu/uci/ics/asterix/hyracks/bootstrap/CCApplicationEntryPoint.java
@@ -22,6 +22,7 @@
import org.eclipse.jetty.servlet.ServletHolder;
import edu.uci.ics.asterix.api.http.servlet.APIServlet;
+import edu.uci.ics.asterix.api.http.servlet.AQLAPIServlet;
import edu.uci.ics.asterix.api.http.servlet.DDLAPIServlet;
import edu.uci.ics.asterix.api.http.servlet.FeedDashboardServlet;
import edu.uci.ics.asterix.api.http.servlet.FeedDataProviderServlet;
@@ -135,6 +136,7 @@
context.addServlet(new ServletHolder(new QueryResultAPIServlet()), "/query/result");
context.addServlet(new ServletHolder(new UpdateAPIServlet()), "/update");
context.addServlet(new ServletHolder(new DDLAPIServlet()), "/ddl");
+ context.addServlet(new ServletHolder(new AQLAPIServlet()), "/aql");
}
private void setupFeedServer(AsterixExternalProperties externalProperties) throws Exception {