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)