http://git-wip-us.apache.org/repos/asf/incubator-lens/blob/d1d99708/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 6b8bdda..8957aef 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 @@ -29,7 +29,7 @@ import javax.xml.bind.JAXBException; import org.apache.lens.api.LensConf; import org.apache.lens.api.query.*; -import org.apache.lens.api.response.LensResponse; +import org.apache.lens.api.result.LensAPIResult; import org.apache.lens.regression.core.constants.QueryURL; import org.apache.lens.regression.core.type.FormBuilder; import org.apache.lens.regression.core.type.MapBuilder; @@ -83,7 +83,7 @@ public class QueryHelper extends ServiceManagerHelper { AssertUtil.assertSucceededResponse(response); String queryHandleString = response.readEntity(String.class); logger.info(queryHandleString); - LensResponse successResponse = (LensResponse) Util.getObject(queryHandleString, LensResponse.class); + LensAPIResult successResponse = (LensAPIResult) Util.getObject(queryHandleString, LensAPIResult.class); QueryHandle queryHandle = (QueryHandle) successResponse.getData(); if (queryHandle == null) { throw new LensException("Query Execute Failed"); @@ -138,7 +138,7 @@ public class QueryHelper extends ServiceManagerHelper { AssertUtil.assertSucceededResponse(response); String queryHandleString = response.readEntity(String.class); logger.info(queryHandleString); - LensResponse successResponse = (LensResponse) Util.getObject(queryHandleString, LensResponse.class); + LensAPIResult successResponse = (LensAPIResult) Util.getObject(queryHandleString, LensAPIResult.class); QueryHandleWithResultSet queryHandleWithResultSet = (QueryHandleWithResultSet) successResponse.getData(); if (queryHandleWithResultSet==null) { throw new LensException("Query Execute Failed"); @@ -200,7 +200,7 @@ public class QueryHelper extends ServiceManagerHelper { AssertUtil.assertSucceededResponse(response); String queryHandleString = response.readEntity(String.class); logger.info(queryHandleString); - LensResponse successResponse = (LensResponse) Util.getObject(queryHandleString, LensResponse.class); + LensAPIResult successResponse = (LensAPIResult) Util.getObject(queryHandleString, LensAPIResult.class); QueryHandle queryHandle = (QueryHandle) successResponse.getData(); return queryHandle; } @@ -228,7 +228,7 @@ public class QueryHelper extends ServiceManagerHelper { AssertUtil.assertSucceededResponse(response); String queryPlanString = response.readEntity(String.class); logger.info(queryPlanString); - LensResponse successResponse = (LensResponse) Util.getObject(queryPlanString, LensResponse.class); + LensAPIResult successResponse = (LensAPIResult) Util.getObject(queryPlanString, LensAPIResult.class); QueryPlan queryPlan = (QueryPlan) successResponse.getData(); return queryPlan; } @@ -265,7 +265,7 @@ public class QueryHelper extends ServiceManagerHelper { AssertUtil.assertSucceededResponse(response); String queryCostString = response.readEntity(String.class); logger.info(queryCostString); - LensResponse successResponse = (LensResponse) Util.getObject(queryCostString, LensResponse.class); + LensAPIResult successResponse = (LensAPIResult) Util.getObject(queryCostString, LensAPIResult.class); QueryCost queryCost = (QueryCost) successResponse.getData(); if (queryCost == null) { throw new LensException("Estimate Failed");
http://git-wip-us.apache.org/repos/asf/incubator-lens/blob/d1d99708/lens-server-api/src/main/java/org/apache/lens/server/api/driver/DriverQueryStatus.java ---------------------------------------------------------------------- diff --git a/lens-server-api/src/main/java/org/apache/lens/server/api/driver/DriverQueryStatus.java b/lens-server-api/src/main/java/org/apache/lens/server/api/driver/DriverQueryStatus.java index 2c35276..f78b7c3 100644 --- a/lens-server-api/src/main/java/org/apache/lens/server/api/driver/DriverQueryStatus.java +++ b/lens-server-api/src/main/java/org/apache/lens/server/api/driver/DriverQueryStatus.java @@ -167,7 +167,7 @@ public class DriverQueryStatus implements Serializable { break; } - return new QueryStatus(progress, qstate, statusMessage, isResultSetAvailable, progressMessage, errorMessage); + return new QueryStatus(progress, qstate, statusMessage, isResultSetAvailable, progressMessage, errorMessage, null); } /** @@ -179,7 +179,7 @@ public class DriverQueryStatus implements Serializable { */ public static QueryStatus createQueryStatus(QueryStatus.Status state, DriverQueryStatus dstatus) { return new QueryStatus(dstatus.progress, state, dstatus.statusMessage, dstatus.isResultSetAvailable, - dstatus.progressMessage, dstatus.errorMessage); + dstatus.progressMessage, dstatus.errorMessage, null); } /* http://git-wip-us.apache.org/repos/asf/incubator-lens/blob/d1d99708/lens-server-api/src/main/java/org/apache/lens/server/api/error/LensException.java ---------------------------------------------------------------------- diff --git a/lens-server-api/src/main/java/org/apache/lens/server/api/error/LensException.java b/lens-server-api/src/main/java/org/apache/lens/server/api/error/LensException.java index 9d8748c..49b118d 100644 --- a/lens-server-api/src/main/java/org/apache/lens/server/api/error/LensException.java +++ b/lens-server-api/src/main/java/org/apache/lens/server/api/error/LensException.java @@ -29,8 +29,8 @@ import java.util.Arrays; import org.apache.lens.api.error.ErrorCollection; import org.apache.lens.api.error.LensError; -import org.apache.lens.api.response.LensErrorTO; -import org.apache.lens.api.response.LensResponse; +import org.apache.lens.api.result.LensAPIResult; +import org.apache.lens.api.result.LensErrorTO; import org.apache.commons.lang.exception.ExceptionUtils; @@ -53,7 +53,7 @@ public class LensException extends Exception { * The lensResponse prepared by {@link #buildLensErrorResponse(ErrorCollection, String, String)} * */ @Getter - private LensResponse lensResponse; + private LensAPIResult lensAPIResult; /** * Constructs a new Lens Exception. @@ -138,7 +138,7 @@ public class LensException extends Exception { final LensError lensError = errorCollection.getLensError(errorCode); final LensErrorTO lensErrorTO = buildLensErrorTO(errorCollection, lensError); - lensResponse = LensResponse.composedOf(apiVersion, id, lensErrorTO, lensError.getHttpStatusCode()); + lensAPIResult = LensAPIResult.composedOf(apiVersion, id, lensErrorTO, lensError.getHttpStatusCode()); } public final LensErrorTO buildLensErrorTO(final ErrorCollection errorCollection) { http://git-wip-us.apache.org/repos/asf/incubator-lens/blob/d1d99708/lens-server-api/src/main/java/org/apache/lens/server/api/error/LensMultiCauseException.java ---------------------------------------------------------------------- diff --git a/lens-server-api/src/main/java/org/apache/lens/server/api/error/LensMultiCauseException.java b/lens-server-api/src/main/java/org/apache/lens/server/api/error/LensMultiCauseException.java index eb0df4d..af9e33a 100644 --- a/lens-server-api/src/main/java/org/apache/lens/server/api/error/LensMultiCauseException.java +++ b/lens-server-api/src/main/java/org/apache/lens/server/api/error/LensMultiCauseException.java @@ -26,7 +26,7 @@ import java.util.LinkedList; import java.util.List; import org.apache.lens.api.error.ErrorCollection; -import org.apache.lens.api.response.LensErrorTO; +import org.apache.lens.api.result.LensErrorTO; import com.google.common.collect.ImmutableList; import lombok.AccessLevel; http://git-wip-us.apache.org/repos/asf/incubator-lens/blob/d1d99708/lens-server-api/src/main/java/org/apache/lens/server/api/query/FinishedLensQuery.java ---------------------------------------------------------------------- diff --git a/lens-server-api/src/main/java/org/apache/lens/server/api/query/FinishedLensQuery.java b/lens-server-api/src/main/java/org/apache/lens/server/api/query/FinishedLensQuery.java index 9ba1843..6e7ab5d 100644 --- a/lens-server-api/src/main/java/org/apache/lens/server/api/query/FinishedLensQuery.java +++ b/lens-server-api/src/main/java/org/apache/lens/server/api/query/FinishedLensQuery.java @@ -191,7 +191,7 @@ public class FinishedLensQuery { qctx.setQueryHandle(QueryHandle.fromString(handle)); qctx.setEndTime(getEndTime()); qctx.setStatusSkippingTransitionTest(new QueryStatus(0.0, QueryStatus.Status.valueOf(getStatus()), - getErrorMessage() == null ? "" : getErrorMessage(), getResult() != null, null, null)); + getErrorMessage() == null ? "" : getErrorMessage(), getResult() != null, null, null, null)); qctx.getDriverStatus().setDriverStartTime(getDriverStartTime()); qctx.getDriverStatus().setDriverFinishTime(getDriverEndTime()); qctx.setResultSetPath(getResult()); http://git-wip-us.apache.org/repos/asf/incubator-lens/blob/d1d99708/lens-server-api/src/main/java/org/apache/lens/server/api/query/QueryContext.java ---------------------------------------------------------------------- diff --git a/lens-server-api/src/main/java/org/apache/lens/server/api/query/QueryContext.java b/lens-server-api/src/main/java/org/apache/lens/server/api/query/QueryContext.java index 3e0c26c..2d3a19a 100644 --- a/lens-server-api/src/main/java/org/apache/lens/server/api/query/QueryContext.java +++ b/lens-server-api/src/main/java/org/apache/lens/server/api/query/QueryContext.java @@ -213,7 +213,7 @@ public class QueryContext extends AbstractQueryContext implements Comparable<Que super(userQuery, user, qconf, conf, drivers, mergeDriverConf); this.submissionTime = submissionTime; this.queryHandle = new QueryHandle(UUID.randomUUID()); - this.status = new QueryStatus(0.0f, Status.NEW, "Query just got created", false, null, null); + this.status = new QueryStatus(0.0f, Status.NEW, "Query just got created", false, null, null, null); this.priority = Priority.NORMAL; this.lensConf = qconf; this.conf = conf; http://git-wip-us.apache.org/repos/asf/incubator-lens/blob/d1d99708/lens-server/src/main/java/org/apache/lens/server/LensServer.java ---------------------------------------------------------------------- diff --git a/lens-server/src/main/java/org/apache/lens/server/LensServer.java b/lens-server/src/main/java/org/apache/lens/server/LensServer.java index e200bdf..d3dfad4 100644 --- a/lens-server/src/main/java/org/apache/lens/server/LensServer.java +++ b/lens-server/src/main/java/org/apache/lens/server/LensServer.java @@ -25,7 +25,7 @@ import java.util.logging.Logger; import javax.ws.rs.core.UriBuilder; -import org.apache.lens.api.response.LensJAXBContextResolver; +import org.apache.lens.api.result.LensJAXBContextResolver; import org.apache.lens.server.api.LensConfConstants; import org.apache.lens.server.api.metrics.MetricsService; import org.apache.lens.server.error.LensExceptionMapper; http://git-wip-us.apache.org/repos/asf/incubator-lens/blob/d1d99708/lens-server/src/main/java/org/apache/lens/server/error/LensExceptionMapper.java ---------------------------------------------------------------------- diff --git a/lens-server/src/main/java/org/apache/lens/server/error/LensExceptionMapper.java b/lens-server/src/main/java/org/apache/lens/server/error/LensExceptionMapper.java index 7240a64..1bb65ca 100644 --- a/lens-server/src/main/java/org/apache/lens/server/error/LensExceptionMapper.java +++ b/lens-server/src/main/java/org/apache/lens/server/error/LensExceptionMapper.java @@ -22,7 +22,7 @@ import javax.ws.rs.core.Response; import javax.ws.rs.ext.ExceptionMapper; import javax.ws.rs.ext.Provider; -import org.apache.lens.api.response.LensResponse; +import org.apache.lens.api.result.LensAPIResult; import org.apache.lens.server.api.error.LensException; @Provider @@ -31,7 +31,7 @@ public class LensExceptionMapper implements ExceptionMapper<LensException> { @Override public Response toResponse(LensException exception) { - final LensResponse lensResponse = exception.getLensResponse(); - return Response.status(lensResponse.getHttpStatusCode()).entity(lensResponse).build(); + final LensAPIResult lensAPIResult = exception.getLensAPIResult(); + return Response.status(lensAPIResult.getHttpStatusCode()).entity(lensAPIResult).build(); } } http://git-wip-us.apache.org/repos/asf/incubator-lens/blob/d1d99708/lens-server/src/main/java/org/apache/lens/server/error/UnSupportedQuerySubmitOpException.java ---------------------------------------------------------------------- diff --git a/lens-server/src/main/java/org/apache/lens/server/error/UnSupportedQuerySubmitOpException.java b/lens-server/src/main/java/org/apache/lens/server/error/UnSupportedQuerySubmitOpException.java index f0a0ab0..4ab26ec 100644 --- a/lens-server/src/main/java/org/apache/lens/server/error/UnSupportedQuerySubmitOpException.java +++ b/lens-server/src/main/java/org/apache/lens/server/error/UnSupportedQuerySubmitOpException.java @@ -22,9 +22,9 @@ import static org.apache.lens.server.error.LensServerErrorCode.UNSUPPORTED_QUERY import org.apache.lens.api.error.ErrorCollection; import org.apache.lens.api.error.LensError; -import org.apache.lens.api.response.LensErrorTO; +import org.apache.lens.api.query.SupportedQuerySubmitOperations; +import org.apache.lens.api.result.LensErrorTO; import org.apache.lens.server.api.error.LensException; -import org.apache.lens.server.query.SupportedQuerySubmitOperations; public class UnSupportedQuerySubmitOpException extends LensException { http://git-wip-us.apache.org/repos/asf/incubator-lens/blob/d1d99708/lens-server/src/main/java/org/apache/lens/server/query/QueryExecutionServiceImpl.java ---------------------------------------------------------------------- diff --git a/lens-server/src/main/java/org/apache/lens/server/query/QueryExecutionServiceImpl.java b/lens-server/src/main/java/org/apache/lens/server/query/QueryExecutionServiceImpl.java index e41a0d2..8a1b7c8 100644 --- a/lens-server/src/main/java/org/apache/lens/server/query/QueryExecutionServiceImpl.java +++ b/lens-server/src/main/java/org/apache/lens/server/query/QueryExecutionServiceImpl.java @@ -35,8 +35,10 @@ import javax.ws.rs.core.StreamingOutput; import org.apache.lens.api.LensConf; import org.apache.lens.api.LensSessionHandle; +import org.apache.lens.api.error.ErrorCollection; import org.apache.lens.api.query.*; import org.apache.lens.api.query.QueryStatus.Status; +import org.apache.lens.api.result.LensErrorTO; import org.apache.lens.driver.cube.RewriteUtil; import org.apache.lens.driver.hive.HiveDriver; import org.apache.lens.server.LensServerConf; @@ -78,6 +80,8 @@ import org.codehaus.jackson.map.module.SimpleModule; import com.google.common.collect.ImmutableList; import lombok.Getter; +import lombok.NonNull; + import lombok.extern.slf4j.Slf4j; /** @@ -165,7 +169,7 @@ public class QueryExecutionServiceImpl extends LensService implements QueryExecu /** * The query submitter runnable. */ - private final QuerySubmitter querySubmitterRunnable = new QuerySubmitter(); + private final QuerySubmitter querySubmitterRunnable = new QuerySubmitter(LensServices.get().getErrorCollection()); /** * The query submitter. @@ -234,6 +238,8 @@ public class QueryExecutionServiceImpl extends LensService implements QueryExecu private final LogSegregationContext logSegregationContext; + private final ErrorCollection errorCollection = LensServices.get().getErrorCollection(); + /** * The driver event listener. */ @@ -480,6 +486,11 @@ public class QueryExecutionServiceImpl extends LensService implements QueryExecu */ private boolean pausedForTest = false; + private final ErrorCollection errorCollection; + + public QuerySubmitter(@NonNull final ErrorCollection errorCollection) { + this.errorCollection = errorCollection; + } /* * (non-Javadoc) * @@ -510,10 +521,17 @@ public class QueryExecutionServiceImpl extends LensService implements QueryExecu // Check if we need to pass session's effective resources to selected driver addSessionResourcesToDriver(ctx); ctx.getSelectedDriver().executeAsync(ctx); + } catch (LensException e) { + + LOG.error("Error launching query " + ctx.getQueryHandle(), e); + String reason = e.getCause() != null ? e.getCause().getMessage() : e.getMessage(); + setFailedStatus(ctx, "Launching query failed", reason, e.buildLensErrorTO(this.errorCollection)); + continue; + } catch (Exception e) { log.error("Error launching query " + ctx.getQueryHandle(), e); String reason = e.getCause() != null ? e.getCause().getMessage() : e.getMessage(); - setFailedStatus(ctx, "Launching query failed", reason); + setFailedStatus(ctx, "Launching query failed", reason, null); continue; } finally { release(ctx.getLensSessionIdentifier()); @@ -601,9 +619,11 @@ public class QueryExecutionServiceImpl extends LensService implements QueryExecu * @param reason the reason * @throws LensException the lens exception */ - void setFailedStatus(QueryContext ctx, String statusMsg, String reason) throws LensException { + void setFailedStatus(QueryContext ctx, String statusMsg, String reason, final LensErrorTO lensErrorTO) + throws LensException { + QueryStatus before = ctx.getStatus(); - ctx.setStatus(new QueryStatus(0.0f, QueryStatus.Status.FAILED, statusMsg, false, null, reason)); + ctx.setStatus(new QueryStatus(0.0f, QueryStatus.Status.FAILED, statusMsg, false, null, reason, lensErrorTO)); updateFinishedQuery(ctx, before); fireStatusChangeEvent(ctx, ctx.getStatus(), before); } @@ -611,7 +631,7 @@ public class QueryExecutionServiceImpl extends LensService implements QueryExecu private void setLaunchedStatus(QueryContext ctx) throws LensException { QueryStatus before = ctx.getStatus(); ctx.setStatus(new QueryStatus(ctx.getStatus().getProgress(), QueryStatus.Status.LAUNCHED, "launched on the driver", - false, null, null)); + false, null, null, null)); launchedQueries.add(ctx); ctx.setLaunchTime(System.currentTimeMillis()); fireStatusChangeEvent(ctx, ctx.getStatus(), before); @@ -627,7 +647,7 @@ public class QueryExecutionServiceImpl extends LensService implements QueryExecu */ private void setCancelledStatus(QueryContext ctx, String statusMsg) throws LensException { QueryStatus before = ctx.getStatus(); - ctx.setStatus(new QueryStatus(0.0f, QueryStatus.Status.CANCELED, statusMsg, false, null, null)); + ctx.setStatus(new QueryStatus(0.0f, QueryStatus.Status.CANCELED, statusMsg, false, null, null, null)); updateFinishedQuery(ctx, before); fireStatusChangeEvent(ctx, ctx.getStatus(), before); } @@ -654,7 +674,7 @@ public class QueryExecutionServiceImpl extends LensService implements QueryExecu void setSuccessState(QueryContext ctx) throws LensException { QueryStatus before = ctx.getStatus(); ctx.setStatus(new QueryStatus(1.0f, QueryStatus.Status.SUCCESSFUL, "Query is successful!", ctx - .isResultAvailableInDriver(), null, null)); + .isResultAvailableInDriver(), null, null, null)); updateFinishedQuery(ctx, before); fireStatusChangeEvent(ctx, ctx.getStatus(), before); } @@ -678,8 +698,10 @@ public class QueryExecutionServiceImpl extends LensService implements QueryExecu ctx.setStatus(ctx.getDriverStatus().toQueryStatus()); } catch (LensException exc) { // Driver gave exception while updating status - setFailedStatus(ctx, "Status update failed", exc.getMessage()); + + setFailedStatus(ctx, "Status update failed", exc.getMessage(), exc.buildLensErrorTO(this.errorCollection)); log.error("Status update failed for " + handle, exc); + } // query is successfully executed by driver and // if query result need not be persisted or there is no result available in driver, move the query to @@ -831,8 +853,9 @@ public class QueryExecutionServiceImpl extends LensService implements QueryExecu resultSets.remove(finished.getCtx().getQueryHandle()); } fireStatusChangeEvent(finished.getCtx(), - new QueryStatus(1f, Status.CLOSED, "Query purged", false, null, null), finished.getCtx().getStatus()); + new QueryStatus(1f, Status.CLOSED, "Query purged", false, null, null, null), finished.getCtx().getStatus()); log.info("Query purged: " + finished.getCtx().getQueryHandle()); + } catch (LensException e) { incrCounter(QUERY_PURGER_COUNTER); log.error("Error closing query ", e); @@ -1546,7 +1569,7 @@ public class QueryExecutionServiceImpl extends LensService implements QueryExecu private QueryHandle executeAsyncInternal(LensSessionHandle sessionHandle, QueryContext ctx) throws LensException { ctx.setLensSessionIdentifier(sessionHandle.getPublicId().toString()); QueryStatus before = ctx.getStatus(); - ctx.setStatus(new QueryStatus(0.0, QueryStatus.Status.QUEUED, "Query is queued", false, null, null)); + ctx.setStatus(new QueryStatus(0.0, QueryStatus.Status.QUEUED, "Query is queued", false, null, null, null)); queuedQueries.add(ctx); allQueries.put(ctx.getQueryHandle(), ctx); fireStatusChangeEvent(ctx, ctx.getStatus(), before); http://git-wip-us.apache.org/repos/asf/incubator-lens/blob/d1d99708/lens-server/src/main/java/org/apache/lens/server/query/QueryServiceResource.java ---------------------------------------------------------------------- diff --git a/lens-server/src/main/java/org/apache/lens/server/query/QueryServiceResource.java b/lens-server/src/main/java/org/apache/lens/server/query/QueryServiceResource.java index badde8c..15015d3 100644 --- a/lens-server/src/main/java/org/apache/lens/server/query/QueryServiceResource.java +++ b/lens-server/src/main/java/org/apache/lens/server/query/QueryServiceResource.java @@ -33,8 +33,7 @@ import org.apache.lens.api.LensConf; import org.apache.lens.api.LensSessionHandle; import org.apache.lens.api.error.ErrorCollection; import org.apache.lens.api.query.*; -import org.apache.lens.api.response.LensResponse; -import org.apache.lens.api.response.NoErrorPayload; +import org.apache.lens.api.result.LensAPIResult; import org.apache.lens.server.LensServices; import org.apache.lens.server.api.annotations.MultiPurposeResource; import org.apache.lens.server.api.error.LensException; @@ -190,7 +189,7 @@ public class QueryServiceResource { * @param timeoutmillis The timeout for the query, honored only in case of value {@value * SubmitOp#EXECUTE_WITH_TIMEOUT} operation * @param queryName human readable query name set by user (optional parameter) - * @return {@link LensResponse} with DATA as {@link QueryHandle} in case of {@value SubmitOp#EXECUTE} operation. + * @return {@link LensAPIResult} with DATA as {@link QueryHandle} in case of {@value SubmitOp#EXECUTE} operation. * {@link QueryPlan} in case of {@value SubmitOp#EXPLAIN} operation. {@link QueryHandleWithResultSet} in case * {@value SubmitOp#EXECUTE_WITH_TIMEOUT} operation. {@link QueryCost} in case of * {@value SubmitOp#ESTIMATE} operation. @@ -200,7 +199,7 @@ public class QueryServiceResource { @Consumes({MediaType.MULTIPART_FORM_DATA}) @Produces({MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML, MediaType.TEXT_PLAIN}) @MultiPurposeResource(formParamName = "operation") - public LensResponse<QuerySubmitResult, NoErrorPayload> query(@FormDataParam("sessionid") LensSessionHandle sessionid, + public LensAPIResult<QuerySubmitResult> query(@FormDataParam("sessionid") LensSessionHandle sessionid, @FormDataParam("query") String query, @FormDataParam("operation") String operation, @FormDataParam("conf") LensConf conf, @DefaultValue("30000") @FormDataParam("timeoutmillis") Long timeoutmillis, @DefaultValue("") @FormDataParam("queryName") String queryName) throws LensException { @@ -230,7 +229,7 @@ public class QueryServiceResource { throw new UnSupportedQuerySubmitOpException(); } - return LensResponse.composedOf(null, requestId, result); + return LensAPIResult.composedOf(null, requestId, result); } catch (LensException e) { e.buildLensErrorResponse(errorCollection, null, requestId); throw e; http://git-wip-us.apache.org/repos/asf/incubator-lens/blob/d1d99708/lens-server/src/main/java/org/apache/lens/server/query/ResultFormatter.java ---------------------------------------------------------------------- diff --git a/lens-server/src/main/java/org/apache/lens/server/query/ResultFormatter.java b/lens-server/src/main/java/org/apache/lens/server/query/ResultFormatter.java index de7e120..c526c02 100644 --- a/lens-server/src/main/java/org/apache/lens/server/query/ResultFormatter.java +++ b/lens-server/src/main/java/org/apache/lens/server/query/ResultFormatter.java @@ -141,7 +141,7 @@ public class ResultFormatter extends AsyncEventListener<QueryExecuted> { metricsService.incrCounter(ResultFormatter.class, "formatting-errors"); LOG.warn("Exception while formatting result for " + queryHandle, e); try { - queryService.setFailedStatus(ctx, "Result formatting failed!", e.getMessage()); + queryService.setFailedStatus(ctx, "Result formatting failed!", e.getMessage(), null); } catch (LensException e1) { LOG.error("Exception while setting failure for " + queryHandle, e1); } http://git-wip-us.apache.org/repos/asf/incubator-lens/blob/d1d99708/lens-server/src/main/java/org/apache/lens/server/query/SupportedQuerySubmitOperations.java ---------------------------------------------------------------------- diff --git a/lens-server/src/main/java/org/apache/lens/server/query/SupportedQuerySubmitOperations.java b/lens-server/src/main/java/org/apache/lens/server/query/SupportedQuerySubmitOperations.java deleted file mode 100644 index 50858a6..0000000 --- a/lens-server/src/main/java/org/apache/lens/server/query/SupportedQuerySubmitOperations.java +++ /dev/null @@ -1,61 +0,0 @@ -/** - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.apache.lens.server.query; - -import static org.apache.lens.api.query.SubmitOp.*; - -import java.util.LinkedList; -import java.util.List; - -import javax.xml.bind.annotation.*; - -import org.apache.lens.api.query.SubmitOp; - -import org.apache.commons.lang.StringUtils; - -import com.google.common.collect.ImmutableSet; -import com.google.common.collect.Sets; -import lombok.EqualsAndHashCode; -import lombok.ToString; - -@XmlRootElement -@EqualsAndHashCode -@ToString -@XmlAccessorType(XmlAccessType.FIELD) -public class SupportedQuerySubmitOperations { - - private static final String SEP = ", "; - - @XmlElementWrapper(name = "supportedOperations") - @XmlElement(name = "operation") - private List<String> supportedOps = new LinkedList<String>(); - - public SupportedQuerySubmitOperations() { - ImmutableSet<SubmitOp> supportedOps = Sets.immutableEnumSet(ESTIMATE, EXECUTE, EXPLAIN, EXECUTE_WITH_TIMEOUT); - - for (SubmitOp supportedOp : supportedOps) { - this.supportedOps.add(supportedOp.toString().toLowerCase()); - } - } - - public String getSupportedOperationsAsString() { - return StringUtils.join(supportedOps, SEP); - } - -} http://git-wip-us.apache.org/repos/asf/incubator-lens/blob/d1d99708/lens-server/src/test/java/org/apache/lens/server/LensTestUtil.java ---------------------------------------------------------------------- diff --git a/lens-server/src/test/java/org/apache/lens/server/LensTestUtil.java b/lens-server/src/test/java/org/apache/lens/server/LensTestUtil.java index c05a2e7..fbf524d 100644 --- a/lens-server/src/test/java/org/apache/lens/server/LensTestUtil.java +++ b/lens-server/src/test/java/org/apache/lens/server/LensTestUtil.java @@ -34,8 +34,7 @@ import org.apache.lens.api.LensSessionHandle; import org.apache.lens.api.query.LensQuery; import org.apache.lens.api.query.QueryHandle; import org.apache.lens.api.query.QueryStatus; -import org.apache.lens.api.response.LensResponse; -import org.apache.lens.api.response.NoErrorPayload; +import org.apache.lens.api.result.LensAPIResult; import org.apache.lens.server.api.LensConfConstants; import org.apache.commons.io.FileUtils; @@ -94,7 +93,7 @@ public final class LensTestUtil { final QueryHandle handle = target.request() .post(Entity.entity(mp, MediaType.MULTIPART_FORM_DATA_TYPE), - new GenericType<LensResponse<QueryHandle, NoErrorPayload>>() {}).getData(); + new GenericType<LensAPIResult<QueryHandle>>() {}).getData(); // wait till the query finishes LensQuery ctx = target.path(handle.toString()).queryParam("sessionid", lensSessionId).request() @@ -135,7 +134,7 @@ public final class LensTestUtil { MediaType.APPLICATION_XML_TYPE)); final QueryHandle handle = target.request().post(Entity.entity(mp, MediaType.MULTIPART_FORM_DATA_TYPE), - new GenericType<LensResponse<QueryHandle, NoErrorPayload>>() {}).getData(); + new GenericType<LensAPIResult<QueryHandle>>() {}).getData(); // wait till the query finishes LensQuery ctx = target.path(handle.toString()).queryParam("sessionid", lensSessionId).request() @@ -204,7 +203,7 @@ public final class LensTestUtil { MediaType.APPLICATION_XML_TYPE)); final QueryHandle handle = target.request().post(Entity.entity(mp, MediaType.MULTIPART_FORM_DATA_TYPE), - new GenericType<LensResponse<QueryHandle, NoErrorPayload>>() {}).getData(); + new GenericType<LensAPIResult<QueryHandle>>() {}).getData(); // wait till the query finishes LensQuery ctx = target.path(handle.toString()).queryParam("sessionid", lensSessionId).request() http://git-wip-us.apache.org/repos/asf/incubator-lens/blob/d1d99708/lens-server/src/test/java/org/apache/lens/server/TestServerMode.java ---------------------------------------------------------------------- diff --git a/lens-server/src/test/java/org/apache/lens/server/TestServerMode.java b/lens-server/src/test/java/org/apache/lens/server/TestServerMode.java index b33b906..28ff920 100644 --- a/lens-server/src/test/java/org/apache/lens/server/TestServerMode.java +++ b/lens-server/src/test/java/org/apache/lens/server/TestServerMode.java @@ -35,8 +35,7 @@ import org.apache.lens.api.LensSessionHandle; import org.apache.lens.api.query.LensQuery; import org.apache.lens.api.query.QueryHandle; import org.apache.lens.api.query.QueryStatus; -import org.apache.lens.api.response.LensResponse; -import org.apache.lens.api.response.NoErrorPayload; +import org.apache.lens.api.result.LensAPIResult; import org.apache.lens.server.LensServices.SERVICE_MODE; import org.glassfish.jersey.media.multipart.FormDataBodyPart; @@ -182,7 +181,7 @@ public class TestServerMode extends LensAllApplicationJerseyTest { QueryHandle qhandle = null; try { qhandle = queryTarget.request().post(Entity.entity(query, MediaType.MULTIPART_FORM_DATA_TYPE), - new GenericType<LensResponse<QueryHandle, NoErrorPayload>>() {}).getData(); + new GenericType<LensAPIResult<QueryHandle>>() {}).getData(); } catch (NotAllowedException nae) { if (mode.equals(SERVICE_MODE.READ_ONLY)) { // expected http://git-wip-us.apache.org/repos/asf/incubator-lens/blob/d1d99708/lens-server/src/test/java/org/apache/lens/server/TestServerRestart.java ---------------------------------------------------------------------- diff --git a/lens-server/src/test/java/org/apache/lens/server/TestServerRestart.java b/lens-server/src/test/java/org/apache/lens/server/TestServerRestart.java index 09f8dc7..537e750 100644 --- a/lens-server/src/test/java/org/apache/lens/server/TestServerRestart.java +++ b/lens-server/src/test/java/org/apache/lens/server/TestServerRestart.java @@ -41,8 +41,7 @@ import org.apache.lens.api.query.LensQuery; import org.apache.lens.api.query.PersistentQueryResult; import org.apache.lens.api.query.QueryHandle; import org.apache.lens.api.query.QueryStatus; -import org.apache.lens.api.response.LensResponse; -import org.apache.lens.api.response.NoErrorPayload; +import org.apache.lens.api.result.LensAPIResult; import org.apache.lens.driver.hive.TestRemoteHiveDriver; import org.apache.lens.server.api.error.LensException; import org.apache.lens.server.api.session.SessionService; @@ -173,7 +172,7 @@ public class TestServerRestart extends LensAllApplicationJerseyTest { mp.bodyPart(new FormDataBodyPart(FormDataContentDisposition.name("conf").fileName("conf").build(), new LensConf(), MediaType.APPLICATION_XML_TYPE)); final QueryHandle handle = target.request().post(Entity.entity(mp, MediaType.MULTIPART_FORM_DATA_TYPE), - new GenericType<LensResponse<QueryHandle, NoErrorPayload>>() {}).getData(); + new GenericType<LensAPIResult<QueryHandle>>() {}).getData(); Assert.assertNotNull(handle); LensQuery ctx = target.path(handle.toString()).queryParam("sessionid", lensSessionId).request() @@ -259,7 +258,7 @@ public class TestServerRestart extends LensAllApplicationJerseyTest { MediaType.APPLICATION_XML_TYPE)); QueryHandle handle = target.request() .post(Entity.entity(mp, MediaType.MULTIPART_FORM_DATA_TYPE), - new GenericType<LensResponse<QueryHandle, NoErrorPayload>>() {}).getData(); + new GenericType<LensAPIResult<QueryHandle>>() {}).getData(); Assert.assertNotNull(handle); @@ -313,7 +312,7 @@ public class TestServerRestart extends LensAllApplicationJerseyTest { mp.bodyPart(new FormDataBodyPart(FormDataContentDisposition.name("conf").fileName("conf").build(), new LensConf(), MediaType.APPLICATION_XML_TYPE)); handle = target.request().post(Entity.entity(mp, MediaType.MULTIPART_FORM_DATA_TYPE), - new GenericType<LensResponse<QueryHandle, NoErrorPayload>>() {}).getData(); + new GenericType<LensAPIResult<QueryHandle>>() {}).getData(); Assert.assertNotNull(handle); // Poll for second query, this should finish successfully http://git-wip-us.apache.org/repos/asf/incubator-lens/blob/d1d99708/lens-server/src/test/java/org/apache/lens/server/common/ErrorResponseExpectedData.java ---------------------------------------------------------------------- diff --git a/lens-server/src/test/java/org/apache/lens/server/common/ErrorResponseExpectedData.java b/lens-server/src/test/java/org/apache/lens/server/common/ErrorResponseExpectedData.java index 3963a06..38b5ea0 100644 --- a/lens-server/src/test/java/org/apache/lens/server/common/ErrorResponseExpectedData.java +++ b/lens-server/src/test/java/org/apache/lens/server/common/ErrorResponseExpectedData.java @@ -24,8 +24,9 @@ import static org.testng.Assert.assertTrue; import javax.ws.rs.core.Response; -import org.apache.lens.api.response.LensErrorTO; -import org.apache.lens.api.response.LensResponse; +import org.apache.lens.api.result.LensAPIResult; +import org.apache.lens.api.result.LensErrorTO; + public class ErrorResponseExpectedData { @@ -44,14 +45,14 @@ public class ErrorResponseExpectedData { /* Assert Equal Http Status Code */ assertEquals(response.getStatus(), expectedStatus.getStatusCode()); - LensResponse lensResponse = response.readEntity(LensResponse.class); + LensAPIResult lensAPIResult = response.readEntity(LensAPIResult.class); /* Assert Equal LensErrorTO (stack trace gets excluded in equality check) */ - final LensErrorTO actualLensErrorTO = lensResponse.getLensErrorTO(); + final LensErrorTO actualLensErrorTO = lensAPIResult.getLensErrorTO(); assertEquals(actualLensErrorTO, expectedLensErrorTO); /* Assert receipt of valid stacktraces */ - assertTrue(lensResponse.areValidStackTracesPresent(), "Received Lens Response:" + lensResponse); + assertTrue(lensAPIResult.areValidStackTracesPresent(), "Received Lens Response:" + lensAPIResult); } } http://git-wip-us.apache.org/repos/asf/incubator-lens/blob/d1d99708/lens-server/src/test/java/org/apache/lens/server/common/TestDataUtils.java ---------------------------------------------------------------------- diff --git a/lens-server/src/test/java/org/apache/lens/server/common/TestDataUtils.java b/lens-server/src/test/java/org/apache/lens/server/common/TestDataUtils.java index a59252c..0400519 100644 --- a/lens-server/src/test/java/org/apache/lens/server/common/TestDataUtils.java +++ b/lens-server/src/test/java/org/apache/lens/server/common/TestDataUtils.java @@ -62,21 +62,16 @@ public class TestDataUtils { return "dimfield" + getRandomName(); } - public static XCube createXCube(final String cubeName, final XDimAttribute... dimensions) { - - return createXCube(cubeName, Optional.<String>absent(), dimensions); - } - - public static XCube createXCube(final String cubeName, final Optional<String> dtColName, + public static XCube createXCubeWithDummyMeasure(final String cubeName, final Optional<String> dtColName, final XDimAttribute... dimensions) { XDimAttributes xDimAttributes = createXDimAttributes(dimensions); XMeasures xMeasures = createXMeasures(createDummyXMeasure()); - return createXCube(cubeName, dtColName, xDimAttributes, xMeasures); + return createXCubeWithDummyMeasure(cubeName, dtColName, xDimAttributes, xMeasures); } - public static XCube createXCube(final String cubeName, final Optional<String> dtColName, + public static XCube createXCubeWithDummyMeasure(final String cubeName, final Optional<String> dateColName, final XDimAttributes xDimAttributes, final XMeasures xMeasures) { XBaseCube cube = new XBaseCube(); @@ -84,11 +79,11 @@ public class TestDataUtils { cube.setDimAttributes(xDimAttributes); cube.setMeasures(xMeasures); - if (dtColName.isPresent()) { + if (dateColName.isPresent()) { XProperty xp = new XProperty(); xp.setName("cube."+cubeName+".timed.dimensions.list"); - xp.setValue(dtColName.get()); + xp.setValue(dateColName.get()); XProperties xProperties = new XProperties(); xProperties.getProperty().add(xp); http://git-wip-us.apache.org/repos/asf/incubator-lens/blob/d1d99708/lens-server/src/test/java/org/apache/lens/server/metrics/TestResourceMethodMetrics.java ---------------------------------------------------------------------- diff --git a/lens-server/src/test/java/org/apache/lens/server/metrics/TestResourceMethodMetrics.java b/lens-server/src/test/java/org/apache/lens/server/metrics/TestResourceMethodMetrics.java index 695403e..118970d 100644 --- a/lens-server/src/test/java/org/apache/lens/server/metrics/TestResourceMethodMetrics.java +++ b/lens-server/src/test/java/org/apache/lens/server/metrics/TestResourceMethodMetrics.java @@ -38,8 +38,7 @@ import org.apache.lens.api.APIResult; import org.apache.lens.api.LensConf; import org.apache.lens.api.LensSessionHandle; import org.apache.lens.api.query.QueryHandle; -import org.apache.lens.api.response.LensResponse; -import org.apache.lens.api.response.NoErrorPayload; +import org.apache.lens.api.result.LensAPIResult; import org.apache.lens.server.LensAllApplicationJerseyTest; import org.apache.lens.server.LensApplication; import org.apache.lens.server.LensServices; @@ -242,7 +241,7 @@ public class TestResourceMethodMetrics extends LensAllApplicationJerseyTest { mp.bodyPart(new FormDataBodyPart(FormDataContentDisposition.name("conf").fileName("conf").build(), new LensConf(), MediaType.APPLICATION_XML_TYPE)); final QueryHandle handle = target.request().post(Entity.entity(mp, MediaType.MULTIPART_FORM_DATA_TYPE), - new GenericType<LensResponse<QueryHandle, NoErrorPayload>>() {}).getData(); + new GenericType<LensAPIResult<QueryHandle>>() {}).getData(); Assert.assertNotNull(handle); } http://git-wip-us.apache.org/repos/asf/incubator-lens/blob/d1d99708/lens-server/src/test/java/org/apache/lens/server/query/QueryAPIErrorResponseTest.java ---------------------------------------------------------------------- diff --git a/lens-server/src/test/java/org/apache/lens/server/query/QueryAPIErrorResponseTest.java b/lens-server/src/test/java/org/apache/lens/server/query/QueryAPIErrorResponseTest.java index 720229d..91e9081 100644 --- a/lens-server/src/test/java/org/apache/lens/server/query/QueryAPIErrorResponseTest.java +++ b/lens-server/src/test/java/org/apache/lens/server/query/QueryAPIErrorResponseTest.java @@ -41,8 +41,9 @@ import org.apache.lens.api.metastore.XColumn; import org.apache.lens.api.metastore.XCube; import org.apache.lens.api.metastore.XDimAttribute; import org.apache.lens.api.metastore.XFactTable; -import org.apache.lens.api.response.LensErrorTO; -import org.apache.lens.api.response.LensJAXBContextResolver; +import org.apache.lens.api.query.SupportedQuerySubmitOperations; +import org.apache.lens.api.result.LensErrorTO; +import org.apache.lens.api.result.LensJAXBContextResolver; import org.apache.lens.cube.error.ColUnAvailableInTimeRange; import org.apache.lens.server.LensJerseyTest; import org.apache.lens.server.LensRequestContextInitFilter; @@ -264,13 +265,13 @@ public class QueryAPIErrorResponseTest extends LensJerseyTest { /* Create a test cube with test dimension field having a start Date and end Date */ XDimAttribute testXDim = createXDimAttribute(testDimensionField, colStartDate, colEndDate); - XCube xcube = createXCube(testCube, Optional.of("dt"), testXDim); + XCube xcube = createXCubeWithDummyMeasure(testCube, Optional.of("dt"), testXDim); createCubeFailFast(target, sessionId, xcube); /* Create a fact with test dimension field */ XColumn xColumn = createXColumn(testDimensionField); XFactTable xFactTable = createXFactTableWithColumns(testFact, testCube, xColumn); - createFact(target, sessionId, xFactTable); + createFactFailFast(target, sessionId, xFactTable); /* Setup: End */ http://git-wip-us.apache.org/repos/asf/incubator-lens/blob/d1d99708/lens-server/src/test/java/org/apache/lens/server/query/TestQueryEndEmailNotifier.java ---------------------------------------------------------------------- diff --git a/lens-server/src/test/java/org/apache/lens/server/query/TestQueryEndEmailNotifier.java b/lens-server/src/test/java/org/apache/lens/server/query/TestQueryEndEmailNotifier.java index d3fa02a..0b152bf 100644 --- a/lens-server/src/test/java/org/apache/lens/server/query/TestQueryEndEmailNotifier.java +++ b/lens-server/src/test/java/org/apache/lens/server/query/TestQueryEndEmailNotifier.java @@ -35,8 +35,7 @@ import org.apache.lens.api.query.LensQuery; import org.apache.lens.api.query.QueryHandle; import org.apache.lens.api.query.QueryStatus; import org.apache.lens.api.query.QueryStatus.Status; -import org.apache.lens.api.response.LensResponse; -import org.apache.lens.api.response.NoErrorPayload; +import org.apache.lens.api.result.LensAPIResult; import org.apache.lens.server.LensJerseyTest; import org.apache.lens.server.LensServices; import org.apache.lens.server.LensTestUtil; @@ -176,7 +175,7 @@ public class TestQueryEndEmailNotifier extends LensJerseyTest { mp.bodyPart(new FormDataBodyPart(FormDataContentDisposition.name("conf").fileName("conf").build(), conf, MediaType.APPLICATION_XML_TYPE)); final QueryHandle handle = target.request().post(Entity.entity(mp, MediaType.MULTIPART_FORM_DATA_TYPE), - new GenericType<LensResponse<QueryHandle, NoErrorPayload>>(){}).getData(); + new GenericType<LensAPIResult<QueryHandle>>(){}).getData(); Assert.assertNotNull(handle); LensQuery ctx = target.path(handle.toString()).queryParam("sessionid", lensSessionId).request() http://git-wip-us.apache.org/repos/asf/incubator-lens/blob/d1d99708/lens-server/src/test/java/org/apache/lens/server/query/TestQueryService.java ---------------------------------------------------------------------- diff --git a/lens-server/src/test/java/org/apache/lens/server/query/TestQueryService.java b/lens-server/src/test/java/org/apache/lens/server/query/TestQueryService.java index 62c24ba..655549b 100644 --- a/lens-server/src/test/java/org/apache/lens/server/query/TestQueryService.java +++ b/lens-server/src/test/java/org/apache/lens/server/query/TestQueryService.java @@ -39,10 +39,9 @@ import org.apache.lens.api.LensSessionHandle; import org.apache.lens.api.error.LensCommonErrorCode; import org.apache.lens.api.query.*; import org.apache.lens.api.query.QueryStatus.Status; -import org.apache.lens.api.response.LensErrorTO; -import org.apache.lens.api.response.LensJAXBContextResolver; -import org.apache.lens.api.response.LensResponse; -import org.apache.lens.api.response.NoErrorPayload; +import org.apache.lens.api.result.LensAPIResult; +import org.apache.lens.api.result.LensErrorTO; +import org.apache.lens.api.result.LensJAXBContextResolver; import org.apache.lens.driver.hive.HiveDriver; import org.apache.lens.driver.hive.TestHiveDriver; import org.apache.lens.server.LensJerseyTest; @@ -236,7 +235,7 @@ public class TestQueryService extends LensJerseyTest { mp.bodyPart(new FormDataBodyPart(FormDataContentDisposition.name("conf").fileName("conf").build(), conf, MediaType.APPLICATION_XML_TYPE)); final QueryHandle handle = target.request().post(Entity.entity(mp, MediaType.MULTIPART_FORM_DATA_TYPE), - new GenericType<LensResponse<QueryHandle, NoErrorPayload>>() { + new GenericType<LensAPIResult<QueryHandle>>() { }).getData(); Assert.assertNotNull(handle); @@ -287,7 +286,7 @@ public class TestQueryService extends LensJerseyTest { long finishedQueries = metricsSvc.getFinishedQueries(); final QueryHandle handle = target.request().post(Entity.entity(mp, MediaType.MULTIPART_FORM_DATA_TYPE), - new GenericType<LensResponse<QueryHandle, NoErrorPayload>>() { + new GenericType<LensAPIResult<QueryHandle>>() { }).getData(); Assert.assertNotNull(handle); @@ -379,7 +378,7 @@ public class TestQueryService extends LensJerseyTest { final QueryPlan plan = target.request() .post(Entity.entity(mp, MediaType.MULTIPART_FORM_DATA_TYPE), - new GenericType<LensResponse<QueryPlan, NoErrorPayload>>() {}).getData(); + new GenericType<LensAPIResult<QueryPlan>>() {}).getData(); Assert.assertEquals(plan.getTablesQueried().size(), 1); Assert.assertTrue(plan.getTablesQueried().get(0).endsWith(TEST_TABLE.toLowerCase())); Assert.assertNull(plan.getPrepareHandle()); @@ -425,7 +424,7 @@ public class TestQueryService extends LensJerseyTest { final QueryPlan plan = target.request() .post(Entity.entity(mp, MediaType.MULTIPART_FORM_DATA_TYPE), - new GenericType<LensResponse<QueryPlan, NoErrorPayload>>() {}).getData(); + new GenericType<LensAPIResult<QueryPlan>>() {}).getData(); Assert.assertTrue(plan.isError()); Assert.assertNotNull(plan.getErrorMsg()); Assert.assertTrue(plan.getErrorMsg() @@ -676,7 +675,7 @@ public class TestQueryService extends LensJerseyTest { mp.bodyPart(new FormDataBodyPart(FormDataContentDisposition.name("conf").fileName("conf").build(), new LensConf(), MediaType.APPLICATION_XML_TYPE)); final QueryHandle handle = target.request().post(Entity.entity(mp, MediaType.MULTIPART_FORM_DATA_TYPE), - new GenericType<LensResponse<QueryHandle, NoErrorPayload>>() {}).getData(); + new GenericType<LensAPIResult<QueryHandle>>() {}).getData(); Assert.assertNotNull(handle); @@ -715,7 +714,7 @@ public class TestQueryService extends LensJerseyTest { // test cancel query final QueryHandle handle2 = target.request().post(Entity.entity(mp, MediaType.MULTIPART_FORM_DATA_TYPE), - new GenericType<LensResponse<QueryHandle, NoErrorPayload>>() {}).getData(); + new GenericType<LensAPIResult<QueryHandle>>() {}).getData(); Assert.assertNotNull(handle2); APIResult result = target.path(handle2.toString()).queryParam("sessionid", lensSessionId).request() @@ -747,7 +746,7 @@ public class TestQueryService extends LensJerseyTest { mp3.bodyPart(new FormDataBodyPart(FormDataContentDisposition.name("conf").fileName("conf").build(), conf, MediaType.APPLICATION_XML_TYPE)); final QueryHandle handle3 = target.request().post(Entity.entity(mp3, MediaType.MULTIPART_FORM_DATA_TYPE), - new GenericType<LensResponse<QueryHandle, NoErrorPayload>>() {}).getData(); + new GenericType<LensAPIResult<QueryHandle>>() {}).getData(); // Get query ctx = target.path(handle3.toString()).queryParam("sessionid", lensSessionId).request().get(LensQuery.class); @@ -961,7 +960,7 @@ public class TestQueryService extends LensJerseyTest { mp.bodyPart(new FormDataBodyPart(FormDataContentDisposition.name("conf").fileName("conf").build(), conf, MediaType.APPLICATION_XML_TYPE)); final QueryHandle handle = target.request().post(Entity.entity(mp, MediaType.MULTIPART_FORM_DATA_TYPE), - new GenericType<LensResponse<QueryHandle, NoErrorPayload>>() {}).getData(); + new GenericType<LensAPIResult<QueryHandle>>() {}).getData(); Assert.assertNotNull(handle); @@ -1016,7 +1015,7 @@ public class TestQueryService extends LensJerseyTest { drop.bodyPart(new FormDataBodyPart(FormDataContentDisposition.name("conf").fileName("conf").build(), conf, MediaType.APPLICATION_XML_TYPE)); final QueryHandle dropHandle = target.request().post(Entity.entity(drop, MediaType.MULTIPART_FORM_DATA_TYPE), - new GenericType<LensResponse<QueryHandle, NoErrorPayload>>() {}).getData(); + new GenericType<LensAPIResult<QueryHandle>>() {}).getData(); Assert.assertNotNull(dropHandle); @@ -1047,7 +1046,7 @@ public class TestQueryService extends LensJerseyTest { mp.bodyPart(new FormDataBodyPart(FormDataContentDisposition.name("conf").fileName("conf").build(), conf, MediaType.APPLICATION_XML_TYPE)); final QueryHandle handle = target.request().post(Entity.entity(mp, MediaType.MULTIPART_FORM_DATA_TYPE), - new GenericType<LensResponse<QueryHandle, NoErrorPayload>>() {}).getData(); + new GenericType<LensAPIResult<QueryHandle>>() {}).getData(); Assert.assertNotNull(handle); @@ -1075,7 +1074,7 @@ public class TestQueryService extends LensJerseyTest { fetch.bodyPart(new FormDataBodyPart(FormDataContentDisposition.name("conf").fileName("conf").build(), conf, MediaType.APPLICATION_XML_TYPE)); final QueryHandle handle2 = target.request().post(Entity.entity(fetch, MediaType.MULTIPART_FORM_DATA_TYPE), - new GenericType<LensResponse<QueryHandle, NoErrorPayload>>() {}).getData(); + new GenericType<LensAPIResult<QueryHandle>>() {}).getData(); Assert.assertNotNull(handle2); @@ -1184,7 +1183,7 @@ public class TestQueryService extends LensJerseyTest { MediaType.APPLICATION_XML_TYPE)); QueryHandleWithResultSet result = target.request().post(Entity.entity(mp, MediaType.MULTIPART_FORM_DATA_TYPE), - new GenericType<LensResponse<QueryHandleWithResultSet, NoErrorPayload>>() {}).getData(); + new GenericType<LensAPIResult<QueryHandleWithResultSet>>() {}).getData(); Assert.assertNotNull(result.getQueryHandle()); Assert.assertNotNull(result.getResult()); validatePersistentResult((PersistentQueryResult) result.getResult(), result.getQueryHandle(), true); @@ -1203,7 +1202,7 @@ public class TestQueryService extends LensJerseyTest { MediaType.APPLICATION_XML_TYPE)); result = target.request().post(Entity.entity(mp2, MediaType.MULTIPART_FORM_DATA_TYPE), - new GenericType<LensResponse<QueryHandleWithResultSet, NoErrorPayload>>() {}).getData(); + new GenericType<LensAPIResult<QueryHandleWithResultSet>>() {}).getData(); Assert.assertNotNull(result.getQueryHandle()); Assert.assertNotNull(result.getResult()); validateInmemoryResult((InMemoryQueryResult) result.getResult()); @@ -1230,7 +1229,7 @@ public class TestQueryService extends LensJerseyTest { MediaType.APPLICATION_XML_TYPE)); QueryHandleWithResultSet result = target.request().post(Entity.entity(mp, MediaType.MULTIPART_FORM_DATA_TYPE), - new GenericType<LensResponse<QueryHandleWithResultSet, NoErrorPayload>>() {}).getData(); + new GenericType<LensAPIResult<QueryHandleWithResultSet>>() {}).getData(); Assert.assertNotNull(result.getQueryHandle()); Assert.assertNull(result.getResult()); @@ -1322,7 +1321,7 @@ public class TestQueryService extends LensJerseyTest { final QueryCost result = target.request() .post(Entity.entity(mp, MediaType.MULTIPART_FORM_DATA_TYPE), - new GenericType<LensResponse<QueryCost, NoErrorPayload>>() {}).getData(); + new GenericType<LensAPIResult<QueryCost>>() {}).getData(); Assert.assertNotNull(result); Assert.assertEquals(result.getEstimatedExecTimeMillis(), 1L); Assert.assertEquals(result.getEstimatedResourceUsage(), 1.0); @@ -1477,7 +1476,7 @@ public class TestQueryService extends LensJerseyTest { final QueryCost queryCost = target.request() .post(Entity.entity(mp, MediaType.MULTIPART_FORM_DATA_TYPE), - new GenericType<LensResponse<QueryCost, NoErrorPayload>>() { + new GenericType<LensAPIResult<QueryCost>>() { }).getData(); Assert.assertNotNull(queryCost); http://git-wip-us.apache.org/repos/asf/incubator-lens/blob/d1d99708/lens-server/src/test/java/org/apache/lens/server/query/TestResultFormatting.java ---------------------------------------------------------------------- diff --git a/lens-server/src/test/java/org/apache/lens/server/query/TestResultFormatting.java b/lens-server/src/test/java/org/apache/lens/server/query/TestResultFormatting.java index f65805d..ea81e90 100644 --- a/lens-server/src/test/java/org/apache/lens/server/query/TestResultFormatting.java +++ b/lens-server/src/test/java/org/apache/lens/server/query/TestResultFormatting.java @@ -35,8 +35,7 @@ import org.apache.lens.api.query.LensQuery; import org.apache.lens.api.query.QueryHandle; import org.apache.lens.api.query.QueryStatus; import org.apache.lens.api.query.QueryStatus.Status; -import org.apache.lens.api.response.LensResponse; -import org.apache.lens.api.response.NoErrorPayload; +import org.apache.lens.api.result.LensAPIResult; import org.apache.lens.server.LensJerseyTest; import org.apache.lens.server.LensServices; import org.apache.lens.server.LensTestUtil; @@ -214,7 +213,7 @@ public class TestResultFormatting extends LensJerseyTest { MediaType.APPLICATION_XML_TYPE)); QueryHandle handle = target.request() .post(Entity.entity(mp, MediaType.MULTIPART_FORM_DATA_TYPE), - new GenericType<LensResponse<QueryHandle, NoErrorPayload>>() {}).getData(); + new GenericType<LensAPIResult<QueryHandle>>() {}).getData(); Assert.assertNotNull(handle); http://git-wip-us.apache.org/repos/asf/incubator-lens/blob/d1d99708/pom.xml ---------------------------------------------------------------------- diff --git a/pom.xml b/pom.xml index 8744974..a896aea 100644 --- a/pom.xml +++ b/pom.xml @@ -81,7 +81,7 @@ <!-- test --> <testng.version>6.8</testng.version> - <mockito.version>1.8.5</mockito.version> + <mockito.version>1.9.5</mockito.version> <powermock.version>1.4.12</powermock.version> <test.tmp.dir>${basedir}/target/tmp</test.tmp.dir>
