You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lens.apache.org by de...@apache.org on 2016/04/05 16:07:52 UTC
lens git commit: LENS-914 : Read lens API response using GenericType
Repository: lens
Updated Branches:
refs/heads/master 3f86f2183 -> 09fc9d1a3
LENS-914 : Read lens API response using GenericType
Project: http://git-wip-us.apache.org/repos/asf/lens/repo
Commit: http://git-wip-us.apache.org/repos/asf/lens/commit/09fc9d1a
Tree: http://git-wip-us.apache.org/repos/asf/lens/tree/09fc9d1a
Diff: http://git-wip-us.apache.org/repos/asf/lens/diff/09fc9d1a
Branch: refs/heads/master
Commit: 09fc9d1a3edef258537df162f2dd16cce8fa780a
Parents: 3f86f21
Author: Archana H <ar...@gmail.com>
Authored: Tue Apr 5 19:37:37 2016 +0530
Committer: Deepak Kumar Barr <de...@gmail.com>
Committed: Tue Apr 5 19:37:37 2016 +0530
----------------------------------------------------------------------
.../regression/core/helpers/QueryHelper.java | 137 +++++++++----------
1 file changed, 66 insertions(+), 71 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/lens/blob/09fc9d1a/lens-regression/src/main/java/org/apache/lens/regression/core/helpers/QueryHelper.java
----------------------------------------------------------------------
diff --git a/lens-regression/src/main/java/org/apache/lens/regression/core/helpers/QueryHelper.java b/lens-regression/src/main/java/org/apache/lens/regression/core/helpers/QueryHelper.java
index 37fb703..e72eb34 100644
--- a/lens-regression/src/main/java/org/apache/lens/regression/core/helpers/QueryHelper.java
+++ b/lens-regression/src/main/java/org/apache/lens/regression/core/helpers/QueryHelper.java
@@ -21,6 +21,7 @@ package org.apache.lens.regression.core.helpers;
import java.util.List;
+import javax.ws.rs.core.GenericType;
import javax.ws.rs.core.MediaType;
import javax.ws.rs.core.Response;
import javax.xml.bind.JAXBException;
@@ -28,13 +29,11 @@ import javax.xml.bind.JAXBException;
import org.apache.lens.api.LensConf;
import org.apache.lens.api.query.*;
import org.apache.lens.api.result.LensAPIResult;
+import org.apache.lens.api.result.QueryCostTO;
import org.apache.lens.regression.core.constants.QueryURL;
import org.apache.lens.regression.core.type.FormBuilder;
import org.apache.lens.regression.core.type.MapBuilder;
-import org.apache.lens.regression.core.type.PrepareQueryHandles;
-import org.apache.lens.regression.core.type.QueryHandles;
import org.apache.lens.regression.util.AssertUtil;
-import org.apache.lens.regression.util.Util;
import org.apache.lens.server.api.error.LensException;
import org.glassfish.jersey.media.multipart.FormDataBodyPart;
@@ -74,10 +73,8 @@ public class QueryHelper extends ServiceManagerHelper {
formData.add("queryName", queryName);
}
Response response = this.exec("post", QueryURL.QUERY_URL, servLens, null, null, MediaType.MULTIPART_FORM_DATA_TYPE,
- MediaType.APPLICATION_XML, formData.getForm());
- String queryHandleString = response.readEntity(String.class);
- log.info("QueryHandle String:{}", queryHandleString);
- LensAPIResult result = (LensAPIResult) Util.getObject(queryHandleString, LensAPIResult.class);
+ MediaType.APPLICATION_XML, formData.getForm());
+ LensAPIResult result = response.readEntity(new GenericType<LensAPIResult>(){});
return result;
}
@@ -124,9 +121,7 @@ public class QueryHelper extends ServiceManagerHelper {
}
Response response = this.exec("post", QueryURL.QUERY_URL, servLens, null, null, MediaType.MULTIPART_FORM_DATA_TYPE,
MediaType.APPLICATION_XML, formData.getForm());
- String queryHandleString = response.readEntity(String.class);
- log.info("QueryHandle String:{}", queryHandleString);
- LensAPIResult result = (LensAPIResult) Util.getObject(queryHandleString, LensAPIResult.class);
+ LensAPIResult result = response.readEntity(new GenericType<LensAPIResult>(){});
return result;
}
@@ -179,10 +174,9 @@ public class QueryHelper extends ServiceManagerHelper {
new FormDataBodyPart(FormDataContentDisposition.name("conf").fileName("conf").build(), conf,
MediaType.APPLICATION_XML_TYPE));
Response response = this.exec("post", "/queryapi/queries", servLens, null, null, MediaType.MULTIPART_FORM_DATA_TYPE,
- MediaType.APPLICATION_XML, formData.getForm());
- String queryHandleString = response.readEntity(String.class);
- log.info("QueryHandle String:{}", queryHandleString);
- LensAPIResult result = (LensAPIResult) Util.getObject(queryHandleString, LensAPIResult.class);
+ MediaType.APPLICATION_XML, formData.getForm());
+ LensAPIResult result = response.readEntity(new GenericType<LensAPIResult>(){});
+ log.info("QueryHandle String:{}", result);
return result;
}
@@ -195,7 +189,7 @@ public class QueryHelper extends ServiceManagerHelper {
* @return the query Plan
*/
- public LensAPIResult explainQuery(String queryString, String sessionHandleString, String conf) throws
+ public LensAPIResult<QueryPlan> explainQuery(String queryString, String sessionHandleString, String conf) throws
JAXBException, InstantiationException, IllegalAccessException, LensException {
FormBuilder formData = new FormBuilder();
formData.add("sessionid", sessionHandleString);
@@ -205,20 +199,19 @@ public class QueryHelper extends ServiceManagerHelper {
new FormDataBodyPart(FormDataContentDisposition.name("conf").fileName("conf").build(), conf,
MediaType.APPLICATION_XML_TYPE));
Response response = this.exec("post", "/queryapi/queries", servLens, null, null, MediaType.MULTIPART_FORM_DATA_TYPE,
- MediaType.APPLICATION_XML, formData.getForm());
- String queryPlanString = response.readEntity(String.class);
- log.info("QueryPlan String:{}", queryPlanString);
- LensAPIResult result = (LensAPIResult) Util.getObject(queryPlanString, LensAPIResult.class);
+ MediaType.APPLICATION_XML, formData.getForm());
+ LensAPIResult<QueryPlan> result = response.readEntity(new GenericType<LensAPIResult<QueryPlan>>(){});
+ log.info("QueryPlan String:{}", result);
return result;
}
- public LensAPIResult explainQuery(String queryString, String sessionHandleString) throws
+ public LensAPIResult<QueryPlan> explainQuery(String queryString, String sessionHandleString) throws
JAXBException, InstantiationException, IllegalAccessException, LensException {
return explainQuery(queryString, sessionHandleString,
"<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?><conf />");
}
- public LensAPIResult explainQuery(String queryString) throws
+ public LensAPIResult<QueryPlan> explainQuery(String queryString) throws
JAXBException, InstantiationException, IllegalAccessException, LensException {
return explainQuery(queryString, sessionHandleString);
}
@@ -232,7 +225,7 @@ public class QueryHelper extends ServiceManagerHelper {
* @return the Estimate result
*/
- public LensAPIResult estimateQuery(String queryString, String sessionHandleString, String conf) throws
+ public LensAPIResult<QueryCostTO> estimateQuery(String queryString, String sessionHandleString, String conf) throws
InstantiationException, IllegalAccessException, JAXBException, LensException {
FormBuilder formData = new FormBuilder();
formData.add("sessionid", sessionHandleString);
@@ -241,19 +234,18 @@ public class QueryHelper extends ServiceManagerHelper {
formData.add("conf", conf);
Response response = this.exec("post", QueryURL.QUERY_URL, servLens, null, null, MediaType.MULTIPART_FORM_DATA_TYPE,
MediaType.APPLICATION_XML, formData.getForm());
- String queryCostString = response.readEntity(String.class);
- log.info("QueryCost String:{}", queryCostString);
- LensAPIResult result = (LensAPIResult) Util.getObject(queryCostString, LensAPIResult.class);
+ LensAPIResult<QueryCostTO> result = response.readEntity(new GenericType<LensAPIResult<QueryCostTO>>(){});
+ log.info("QueryCost String:{}", result);
return result;
}
- public LensAPIResult estimateQuery(String queryString, String sessionHandleString) throws
+ public LensAPIResult<QueryCostTO> estimateQuery(String queryString, String sessionHandleString) throws
InstantiationException, IllegalAccessException, JAXBException, LensException {
return estimateQuery(queryString, sessionHandleString,
"<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?><conf />");
}
- public LensAPIResult estimateQuery(String queryString) throws
+ public LensAPIResult<QueryCostTO> estimateQuery(String queryString) throws
InstantiationException, IllegalAccessException, JAXBException, LensException {
return estimateQuery(queryString, sessionHandleString);
}
@@ -275,13 +267,12 @@ public class QueryHelper extends ServiceManagerHelper {
formData.add("query", queryString);
formData.add("operation", "EXPLAIN_AND_PREPARE");
formData.add("conf", conf);
- Response response = this
- .exec("post", "/queryapi/preparedqueries", servLens, null, null, MediaType.MULTIPART_FORM_DATA_TYPE,
- MediaType.APPLICATION_XML, formData.getForm());
- String queryPlanString = response.readEntity(String.class);
- log.info("QueryPlan String:{}", queryPlanString);
- QueryPlan queryPlan = (QueryPlan) Util.getObject(queryPlanString, QueryPlan.class);
- return queryPlan;
+ Response response = this.exec("post", "/queryapi/preparedqueries", servLens, null, null,
+ MediaType.MULTIPART_FORM_DATA_TYPE, MediaType.APPLICATION_XML, formData.getForm());
+ LensAPIResult<QueryPlan> result = response.readEntity(new GenericType<LensAPIResult<QueryPlan>>() {
+ });
+ log.info("QueryPlan String:{}", result);
+ return result.getData();
}
public QueryPlan explainAndPrepareQuery(String queryString, String sessionHandleString) throws
@@ -314,11 +305,9 @@ public class QueryHelper extends ServiceManagerHelper {
Response response = this
.exec("get", QueryURL.QUERY_URL + "/" + queryHandle.toString() + "/resultset", servLens, null, query);
AssertUtil.assertSucceededResponse(response);
- log.info("Response {}", response);
- String queryResultString = response.readEntity(String.class);
- log.info("QueryResult String:{}", queryResultString);
- QueryResult queryResult = (QueryResult) Util.getObject(queryResultString, QueryResult.class);
- return queryResult;
+ QueryResult result = response.readEntity(new GenericType<QueryResult>(){});
+ log.info("QueryResult String:{}", result);
+ return result;
}
public QueryResult getResultSet(QueryHandle queryHandle, String fromIndex, String fetchSize) throws
@@ -343,11 +332,8 @@ public class QueryHelper extends ServiceManagerHelper {
Response response = this
.exec("get", QueryURL.QUERY_URL + "/" + queryHandle.toString() + "/httpresultset", servLens, null, null);
AssertUtil.assertSucceededResponse(response);
- log.info("Response {}", response);
- String queryResultString = response.readEntity(String.class);
- log.info("QueryResult String:{}", queryResultString);
- QueryResult queryResult = (QueryResult) Util.getObject(queryResultString, QueryResult.class);
- return queryResult;
+ QueryResult result = response.readEntity(new GenericType<QueryResult>(){});
+ return result;
}
/**
@@ -368,11 +354,10 @@ public class QueryHelper extends ServiceManagerHelper {
formData.add("conf", conf);
Response response = this.exec("post", "/queryapi/preparedqueries/" + queryHandle.toString(), servLens, null, null,
MediaType.MULTIPART_FORM_DATA_TYPE, MediaType.APPLICATION_XML, formData.getForm());
- String queryHandleString = response.readEntity(String.class);
AssertUtil.assertSucceededResponse(response);
- log.info("QueryHandle String:{}", queryHandleString);
- QueryHandle handle = (QueryHandle) Util.getObject(queryHandleString, QueryHandle.class);
- return handle;
+ QueryHandle result = response.readEntity(new GenericType<QueryHandle>(){});
+ log.info("QueryHandle String:{}", result);
+ return result;
}
public QueryHandle executePreparedQuery(QueryPrepareHandle queryHandle, String sessionHandleString) throws
@@ -409,12 +394,8 @@ public class QueryHelper extends ServiceManagerHelper {
}
Response response = this.exec("post", "/queryapi/preparedqueries/" + queryHandle.toString(), servLens, null, null,
MediaType.MULTIPART_FORM_DATA_TYPE, MediaType.APPLICATION_XML, formData.getForm());
- String queryHandleString = response.readEntity(String.class);
- AssertUtil.assertSucceededResponse(response);
- log.info("QueryHandle String:{}", queryHandleString);
- QueryHandleWithResultSet handle = (QueryHandleWithResultSet) Util
- .getObject(queryHandleString, QueryHandleWithResultSet.class);
- return handle;
+ QueryHandleWithResultSet result = response.readEntity(new GenericType<QueryHandleWithResultSet>(){});
+ return result;
}
public QueryHandleWithResultSet executePreparedQueryTimeout(QueryPrepareHandle queryHandle, String timeout,
@@ -455,11 +436,10 @@ public class QueryHelper extends ServiceManagerHelper {
Response response = this
.exec("post", "/queryapi/preparedqueries", servLens, null, null, MediaType.MULTIPART_FORM_DATA_TYPE,
MediaType.APPLICATION_XML, formData.getForm());
- String queryHandleString = response.readEntity(String.class);
- log.info("QueryHandle String:{}", queryHandleString);
AssertUtil.assertSucceededResponse(response);
- QueryPrepareHandle queryHandle = (QueryPrepareHandle) Util.getObject(queryHandleString, QueryPrepareHandle.class);
- return queryHandle;
+ LensAPIResult<QueryPrepareHandle> result = response.readEntity(
+ new GenericType<LensAPIResult<QueryPrepareHandle>>(){});
+ return result.getData();
}
public QueryPrepareHandle submitPreparedQuery(String queryString, String queryName, String sessionHandleString) throws
@@ -526,10 +506,7 @@ public class QueryHelper extends ServiceManagerHelper {
}
Response response = this.sendQuery("get", QueryURL.PREPAREDQUERY_URL, queryList);
log.info("Response : {}" + response);
- String responseString = response.readEntity(String.class);
- log.info("Response String:{}", responseString);
- PrepareQueryHandles result = (PrepareQueryHandles) Util.getObject(responseString, PrepareQueryHandles.class);
- List<QueryPrepareHandle> list = result.getQueryHandles();
+ List<QueryPrepareHandle> list = response.readEntity(new GenericType<List<QueryPrepareHandle>>(){});
return list;
}
@@ -632,7 +609,7 @@ public class QueryHelper extends ServiceManagerHelper {
* @return the query Handle list
*/
public List<QueryHandle> getQueryHandleList(String queryName, String state, String user, String sessionHandleString,
- String fromDate, String toDate) throws InstantiationException, IllegalAccessException {
+ String fromDate, String toDate, String driver) throws InstantiationException, IllegalAccessException {
MapBuilder queryList = new MapBuilder("sessionid", sessionHandleString);
if (queryName != null) {
queryList.put("queryName", queryName);
@@ -649,15 +626,23 @@ public class QueryHelper extends ServiceManagerHelper {
if (toDate != null) {
queryList.put("toDate", toDate);
}
+ if (driver != null) {
+ queryList.put("driver", driver);
+ }
Response response = this.sendQuery("get", QueryURL.QUERY_URL, queryList);
log.info("Response : {}", response);
- String responseString = response.readEntity(String.class);
- QueryHandles result = (QueryHandles) Util.getObject(responseString, QueryHandles.class);
- List<QueryHandle> list = result.getQueryHandles();
+ List<QueryHandle> list = response.readEntity(new GenericType<List<QueryHandle>>(){});
return list;
}
public List<QueryHandle> getQueryHandleList(String queryName, String state, String user,
+ String sessionHandleString, String fromDate, String toDate) throws InstantiationException,
+ IllegalAccessException {
+ return getQueryHandleList(queryName, state, user, sessionHandleString, fromDate, toDate, null);
+ }
+
+
+ public List<QueryHandle> getQueryHandleList(String queryName, String state, String user,
String sessionHandleString) throws InstantiationException, IllegalAccessException {
return getQueryHandleList(queryName, state, user, sessionHandleString, null, null);
}
@@ -693,13 +678,13 @@ public class QueryHelper extends ServiceManagerHelper {
MapBuilder query = new MapBuilder("sessionid", sessionHandleString);
Response response = this.exec("get", QueryURL.QUERY_URL + "/" + queryHandle.toString(), servLens, null, query);
AssertUtil.assertSucceededResponse(response);
- String responseString = response.readEntity(String.class);
- LensQuery lensQuery = (LensQuery) Util.getObject(responseString, LensQuery.class);
+ LensQuery lensQuery = response.readEntity(new GenericType<LensQuery>(){});
+
while (!lensQuery.getStatus().finished()) {
log.info("Waiting...");
Thread.sleep(1000);
response = this.exec("get", QueryURL.QUERY_URL + "/" + queryHandle.toString(), servLens, null, query);
- lensQuery = (LensQuery) Util.getObject(response.readEntity(String.class), LensQuery.class);
+ lensQuery = response.readEntity(new GenericType<LensQuery>(){});
}
log.info("QueryStatus message:{}", lensQuery.getStatus().getStatusMessage());
return lensQuery;
@@ -748,12 +733,22 @@ public class QueryHelper extends ServiceManagerHelper {
Response response = this.exec("get", QueryURL.QUERY_URL + "/" + queryHandle.toString(), servLens, null, query);
log.info("Response : {}", response);
AssertUtil.assertSucceededResponse(response);
- LensQuery lensQuery = (LensQuery) Util.getObject(response.readEntity(String.class), LensQuery.class);
+ LensQuery lensQuery = response.readEntity(new GenericType<LensQuery>(){});
QueryStatus qStatus = lensQuery.getStatus();
- log.info("Query Status : {}", qStatus);
+ log.info("Query Status for {} : {}", lensQuery.getQueryHandleString(), qStatus);
return qStatus;
}
+ public LensQuery getLensQuery(String sessionHandleString, QueryHandle queryHandle) throws
+ JAXBException, InstantiationException, IllegalAccessException, LensException {
+ MapBuilder query = new MapBuilder("sessionid", sessionHandleString);
+ Response response = this.exec("get", QueryURL.QUERY_URL + "/" + queryHandle.toString(), servLens, null, query);
+ log.info("Response : {}", response);
+ AssertUtil.assertSucceededResponse(response);
+ LensQuery lensQuery = response.readEntity(new GenericType<LensQuery>(){});
+ return lensQuery;
+ }
+
public QueryStatus getQueryStatus(QueryHandle queryHandle) throws
JAXBException, InstantiationException, IllegalAccessException, LensException {
return getQueryStatus(sessionHandleString, queryHandle);