You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tajo.apache.org by ji...@apache.org on 2015/06/16 00:42:33 UTC
[11/13] tajo git commit: TAJO-1636: query rest api uri should change
from /databases/{database_name}/queies to /queries.
TAJO-1636: query rest api uri should change from /databases/{database_name}/queies to /queries.
Closes #598
Signed-off-by: JaeHwa Jung <bl...@apache.org>
Project: http://git-wip-us.apache.org/repos/asf/tajo/repo
Commit: http://git-wip-us.apache.org/repos/asf/tajo/commit/dc490498
Tree: http://git-wip-us.apache.org/repos/asf/tajo/tree/dc490498
Diff: http://git-wip-us.apache.org/repos/asf/tajo/diff/dc490498
Branch: refs/heads/index_support
Commit: dc4904987dc16164dca4ff37c1178698537201c6
Parents: 36da0da
Author: DaeMyung Kang <ch...@naver.com>
Authored: Sat Jun 13 18:49:04 2015 +0900
Committer: JaeHwa Jung <bl...@apache.org>
Committed: Sat Jun 13 18:49:04 2015 +0900
----------------------------------------------------------------------
CHANGES | 4 +++
.../tajo/ws/rs/resources/QueryResource.java | 37 +++++++-------------
.../ws/rs/resources/QueryResultResource.java | 21 ++---------
.../tajo/ws/rs/resources/TestQueryResource.java | 2 +-
.../rs/resources/TestQueryResultResource.java | 2 +-
5 files changed, 21 insertions(+), 45 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/tajo/blob/dc490498/CHANGES
----------------------------------------------------------------------
diff --git a/CHANGES b/CHANGES
index 066e086..045f944 100644
--- a/CHANGES
+++ b/CHANGES
@@ -27,6 +27,10 @@ Release 0.11.0 - unreleased
IMPROVEMENT
+ TAJO-1636: query rest api uri should change
+ from /databases/{database_name}/queies to /queries.
+ (Contributed by DaeMyung Kang, Committed by jaehwa)
+
TAJO-1624: Add managed table or external description in Table management
section. (hyunsik)
http://git-wip-us.apache.org/repos/asf/tajo/blob/dc490498/tajo-core/src/main/java/org/apache/tajo/ws/rs/resources/QueryResource.java
----------------------------------------------------------------------
diff --git a/tajo-core/src/main/java/org/apache/tajo/ws/rs/resources/QueryResource.java b/tajo-core/src/main/java/org/apache/tajo/ws/rs/resources/QueryResource.java
index 8f45c7b..a662c4d 100644
--- a/tajo-core/src/main/java/org/apache/tajo/ws/rs/resources/QueryResource.java
+++ b/tajo-core/src/main/java/org/apache/tajo/ws/rs/resources/QueryResource.java
@@ -44,7 +44,7 @@ import java.util.HashMap;
import java.util.List;
import java.util.Map;
-@Path("/databases/{databaseName}/queries")
+@Path("/queries")
public class QueryResource {
private static final Log LOG = LogFactory.getLog(QueryResource.class);
@@ -54,15 +54,11 @@ public class QueryResource {
@Context
Application application;
-
- @PathParam("databaseName")
- String databaseName;
-
+
JerseyResourceDelegateContext context;
protected static final String tajoSessionIdHeaderName = "X-Tajo-Session";
- private static final String databaseNameKeyName = "databaseName";
private static final String stateKeyName = "state";
private static final String startTimeKeyName = "startTime";
private static final String endTimeKeyName = "endTime";
@@ -70,7 +66,6 @@ public class QueryResource {
private static final String submitQueryRequestKeyName = "submitQueryRequest";
private static final String printTypeKeyName = "printType";
private static final String queryIdKeyName = "queryId";
-
private static final String defaultQueryInfoPrintType = "COMPLICATED";
private void initializeContext() {
@@ -78,9 +73,6 @@ public class QueryResource {
JerseyResourceDelegateContextKey<UriInfo> uriInfoKey =
JerseyResourceDelegateContextKey.valueOf(JerseyResourceDelegateUtil.UriInfoKey, UriInfo.class);
context.put(uriInfoKey, uriInfo);
- JerseyResourceDelegateContextKey<String> databaseNameKey =
- JerseyResourceDelegateContextKey.valueOf(databaseNameKeyName, String.class);
- context.put(databaseNameKey, databaseName);
}
@GET
@@ -218,9 +210,9 @@ public class QueryResource {
if (LOG.isDebugEnabled()) {
LOG.debug("Client sent a submit query request.");
}
-
+
Response response = null;
-
+
try {
initializeContext();
JerseyResourceDelegateContextKey<String> sessionIdKey =
@@ -229,21 +221,22 @@ public class QueryResource {
JerseyResourceDelegateContextKey<SubmitQueryRequest> submitQueryRequestKey =
JerseyResourceDelegateContextKey.valueOf(submitQueryRequestKeyName, SubmitQueryRequest.class);
context.put(submitQueryRequestKey, request);
-
+
response = JerseyResourceDelegateUtil.runJerseyResourceDelegate(
new SubmitQueryDelegate(),
application,
context,
LOG);
+
} catch (Throwable e) {
LOG.error(e.getMessage(), e);
-
+
response = ResourcesUtil.createExceptionResponse(null, e.getMessage());
}
-
+
return response;
}
-
+
private static class SubmitQueryDelegate implements JerseyResourceDelegate {
@Override
@@ -254,20 +247,17 @@ public class QueryResource {
JerseyResourceDelegateContextKey<SubmitQueryRequest> submitQueryRequestKey =
JerseyResourceDelegateContextKey.valueOf(submitQueryRequestKeyName, SubmitQueryRequest.class);
SubmitQueryRequest request = context.get(submitQueryRequestKey);
- JerseyResourceDelegateContextKey<String> databaseNameKey =
- JerseyResourceDelegateContextKey.valueOf(databaseNameKeyName, String.class);
- String databaseName = context.get(databaseNameKey);
JerseyResourceDelegateContextKey<MasterContext> masterContextKey =
JerseyResourceDelegateContextKey.valueOf(JerseyResourceDelegateUtil.MasterContextKey, MasterContext.class);
MasterContext masterContext = context.get(masterContextKey);
-
+
if (sessionId == null || sessionId.isEmpty()) {
return ResourcesUtil.createBadRequestResponse(LOG, "Session Id is null or empty string.");
}
if (request == null || request.getQuery() == null || request.getQuery().isEmpty()) {
return ResourcesUtil.createBadRequestResponse(LOG, "query is null or emptry string.");
}
-
+
Session session;
try {
session = masterContext.getSessionManager().getSession(sessionId);
@@ -287,7 +277,7 @@ public class QueryResource {
URI queryURI = uriInfo.getBaseUriBuilder()
.path(QueryResource.class)
.path(QueryResource.class, "getQuery")
- .build(databaseName, new QueryId(response.getQueryId()).toString());
+ .build(new QueryId(response.getQueryId()).toString());
return Response.created(queryURI).build();
}
}
@@ -422,13 +412,12 @@ public class QueryResource {
return Response.ok().build();
}
}
-
+
@Path("/{queryId}/result")
public QueryResultResource getQueryResult(@PathParam("queryId") String queryId) {
QueryResultResource queryResultResource = new QueryResultResource();
queryResultResource.setUriInfo(uriInfo);
queryResultResource.setApplication(application);
- queryResultResource.setDatabaseName(databaseName);
queryResultResource.setQueryId(queryId);
return queryResultResource;
}
http://git-wip-us.apache.org/repos/asf/tajo/blob/dc490498/tajo-core/src/main/java/org/apache/tajo/ws/rs/resources/QueryResultResource.java
----------------------------------------------------------------------
diff --git a/tajo-core/src/main/java/org/apache/tajo/ws/rs/resources/QueryResultResource.java b/tajo-core/src/main/java/org/apache/tajo/ws/rs/resources/QueryResultResource.java
index 92b95d2..6d110e5 100644
--- a/tajo-core/src/main/java/org/apache/tajo/ws/rs/resources/QueryResultResource.java
+++ b/tajo-core/src/main/java/org/apache/tajo/ws/rs/resources/QueryResultResource.java
@@ -58,13 +58,10 @@ public class QueryResultResource {
private Application application;
- private String databaseName;
-
private String queryId;
private JerseyResourceDelegateContext context;
- private static final String databaseNameKeyName = "databaseName";
private static final String queryIdKeyName = "queryId";
private static final String sessionIdKeyName = "sessionId";
private static final String cacheIdKeyName = "cacheId";
@@ -89,14 +86,6 @@ public class QueryResultResource {
this.application = application;
}
- public String getDatabaseName() {
- return databaseName;
- }
-
- public void setDatabaseName(String databaseName) {
- this.databaseName = databaseName;
- }
-
public String getQueryId() {
return queryId;
}
@@ -110,9 +99,6 @@ public class QueryResultResource {
JerseyResourceDelegateContextKey<UriInfo> uriInfoKey =
JerseyResourceDelegateContextKey.valueOf(JerseyResourceDelegateUtil.UriInfoKey, UriInfo.class);
context.put(uriInfoKey, uriInfo);
- JerseyResourceDelegateContextKey<String> databaseNameKey =
- JerseyResourceDelegateContextKey.valueOf(databaseNameKeyName, String.class);
- context.put(databaseNameKey, databaseName);
JerseyResourceDelegateContextKey<String> queryIdKey =
JerseyResourceDelegateContextKey.valueOf(queryIdKeyName, String.class);
context.put(queryIdKey, queryId);
@@ -200,10 +186,7 @@ public class QueryResultResource {
JerseyResourceDelegateContextKey<UriInfo> uriInfoKey =
JerseyResourceDelegateContextKey.valueOf(JerseyResourceDelegateUtil.UriInfoKey, UriInfo.class);
UriInfo uriInfo = context.get(uriInfoKey);
- JerseyResourceDelegateContextKey<String> databaseNameKey =
- JerseyResourceDelegateContextKey.valueOf(databaseNameKeyName, String.class);
- String databaseName = context.get(databaseNameKey);
-
+
try {
masterContext.getSessionManager().touch(sessionId);
Session session = masterContext.getSessionManager().getSession(sessionId);
@@ -234,7 +217,7 @@ public class QueryResultResource {
.path(QueryResource.class)
.path(QueryResource.class, "getQueryResult")
.path(QueryResultResource.class, "getQueryResultSet")
- .build(databaseName, queryId, cacheId);
+ .build(queryId, cacheId);
ResultSetInfoResponse resultSetInfoResponse = new ResultSetInfoResponse();
resultSetInfoResponse.setId(cacheId);
resultSetInfoResponse.setLink(resultSetCacheUri);
http://git-wip-us.apache.org/repos/asf/tajo/blob/dc490498/tajo-core/src/test/java/org/apache/tajo/ws/rs/resources/TestQueryResource.java
----------------------------------------------------------------------
diff --git a/tajo-core/src/test/java/org/apache/tajo/ws/rs/resources/TestQueryResource.java b/tajo-core/src/test/java/org/apache/tajo/ws/rs/resources/TestQueryResource.java
index 77c0117..5d0b150 100644
--- a/tajo-core/src/test/java/org/apache/tajo/ws/rs/resources/TestQueryResource.java
+++ b/tajo-core/src/test/java/org/apache/tajo/ws/rs/resources/TestQueryResource.java
@@ -65,7 +65,7 @@ public class TestQueryResource extends QueryTestCaseBase {
int restPort = testBase.getTestingCluster().getConfiguration().getIntVar(ConfVars.REST_SERVICE_PORT);
restServiceURI = new URI("http", null, "127.0.0.1", restPort, "/rest", null, null);
sessionsURI = new URI(restServiceURI + "/sessions");
- queriesURI = new URI(restServiceURI + "/databases/" + TajoConstants.DEFAULT_DATABASE_NAME + "/queries");
+ queriesURI = new URI(restServiceURI + "/queries");
restClient = ClientBuilder.newBuilder()
.register(new GsonFeature(RestTestUtils.registerTypeAdapterMap()))
.register(LoggingFilter.class)
http://git-wip-us.apache.org/repos/asf/tajo/blob/dc490498/tajo-core/src/test/java/org/apache/tajo/ws/rs/resources/TestQueryResultResource.java
----------------------------------------------------------------------
diff --git a/tajo-core/src/test/java/org/apache/tajo/ws/rs/resources/TestQueryResultResource.java b/tajo-core/src/test/java/org/apache/tajo/ws/rs/resources/TestQueryResultResource.java
index d83eb60..d4f1785 100644
--- a/tajo-core/src/test/java/org/apache/tajo/ws/rs/resources/TestQueryResultResource.java
+++ b/tajo-core/src/test/java/org/apache/tajo/ws/rs/resources/TestQueryResultResource.java
@@ -73,7 +73,7 @@ public class TestQueryResultResource extends QueryTestCaseBase {
int restPort = testBase.getTestingCluster().getConfiguration().getIntVar(ConfVars.REST_SERVICE_PORT);
restServiceURI = new URI("http", null, "127.0.0.1", restPort, "/rest", null, null);
sessionsURI = new URI(restServiceURI + "/sessions");
- queriesURI = new URI(restServiceURI + "/databases/" + TajoConstants.DEFAULT_DATABASE_NAME + "/queries");
+ queriesURI = new URI(restServiceURI + "/queries");
restClient = ClientBuilder.newBuilder()
.register(new GsonFeature(RestTestUtils.registerTypeAdapterMap()))
.register(LoggingFilter.class)