/** * Execute the ActionRequest and returns the REST response using the channel. */ public void execute() throws Exception { ActionRequest request = requestBuilder.request(); //todo: maby change to instanceof multi? if(requestBuilder instanceof JoinRequestBuilder){ executeJoinRequestAndSendResponse(); } else if (request instanceof SearchRequest) { client.search((SearchRequest) request, new RestStatusToXContentListener<SearchResponse>(channel)); } else if (requestBuilder instanceof SqlElasticDeleteByQueryRequestBuilder) { throw new UnsupportedOperationException("currently not support delete on elastic 2.0.0"); } else if(request instanceof GetIndexRequest) { this.requestBuilder.getBuilder().execute( new GetIndexRequestRestListener(channel, (GetIndexRequest) request)); } else { throw new Exception(String.format("Unsupported ActionRequest provided: %s", request.getClass().getName())); } }
requestBuilder.getBuilder().execute(new BulkIndexByScrollResponseContentListener(channel, Maps.newHashMap())); } else if (request instanceof GetIndexRequest) { requestBuilder.getBuilder().execute(new GetIndexRequestRestListener(channel, (GetIndexRequest) request)); } else if (request instanceof SearchScrollRequest) { client.searchScroll((SearchScrollRequest) request, new RestStatusToXContentListener<>(channel));
@Override public String execute(Client client, Map<String, String> params, QueryAction queryAction) throws Exception { SqlElasticRequestBuilder requestBuilder = queryAction.explain(); ActionRequest request = requestBuilder.request(); if (requestBuilder instanceof JoinRequestBuilder) { ElasticJoinExecutor executor = ElasticJoinExecutor.createJoinExecutor(client, requestBuilder); executor.run(); return ElasticUtils.hitsAsStringResult(executor.getHits(), new MetaSearchResult()); } else if (requestBuilder instanceof MultiQueryRequestBuilder) { ElasticHitsExecutor executor = MultiRequestExecutorFactory.createExecutor(client, (MultiQueryRequestBuilder) requestBuilder); executor.run(); return ElasticUtils.hitsAsStringResult(executor.getHits(), new MetaSearchResult()); } else if (request instanceof SearchRequest) { ActionFuture<SearchResponse> future = client.search((SearchRequest) request); SearchResponse response = future.actionGet(); return response.toString(); } else if (request instanceof DeleteByQueryRequest) { return requestBuilder.get().toString(); } else if (request instanceof GetIndexRequest) { return requestBuilder.getBuilder().execute().actionGet().toString(); } else { throw new Exception(String.format("Unsupported ActionRequest provided: %s", request.getClass().getName())); } }
/** * Short version of execute().actionGet(). */ public Response get() { return execute().actionGet(); }
/** * Short version of execute().actionGet(). */ public Response get(TimeValue timeout) { return execute().actionGet(timeout); }
/** * Short version of execute().actionGet(). */ public Response get(String timeout) { return execute().actionGet(timeout); }
/** * Short version of execute().actionGet(). */ public Response get(TimeValue timeout) { return execute().actionGet(timeout); }
/** * Short version of execute().actionGet(). */ public Response get() { return execute().actionGet(); }
/** * Short version of execute().actionGet(). */ public Response get(String timeout) { return execute().actionGet(timeout); }
/** * Short version of execute().actionGet(). * * @param timeout Timeout */ public Response get(TimeValue timeout) { return execute().actionGet(timeout); }
/** * Run the request from a given builder and check that it throws an exception of the right type */ public static <E extends Throwable> void assertThrows(ActionRequestBuilder<?, ?, ?> builder, Class<E> exceptionClass) { assertThrows(builder.execute(), exceptionClass); }
/** * Run the request from a given builder and check that it throws an exception of the right type, with a given {@link org.elasticsearch.rest.RestStatus} */ public static <E extends Throwable> void assertThrows(ActionRequestBuilder<?, ?, ?> builder, Class<E> exceptionClass, RestStatus status) { assertThrows(builder.execute(), exceptionClass, status); }
/** * Short version of execute().actionGet(). */ public Response get(String timeout) { return execute().actionGet(timeout); }
/** * Short version of execute().actionGet(). */ public Response get() { return execute().actionGet(); }
public static <E extends Throwable> void assertThrows(ActionRequestBuilder<?, ?, ?> builder, RestStatus status) { assertThrows(builder.execute(), status); }
public static <E extends Throwable> void assertThrows(ActionRequestBuilder<?, ?, ?> builder, RestStatus status, String extraInfo) { assertThrows(builder.execute(), status, extraInfo); }
public <Request extends ActionRequest, Response extends ActionResponse, RequestBuilder extends ActionRequestBuilder<Request, Response, RequestBuilder>> Response syncExecuteWithException(RequestBuilder requestBuilder) { ListenableActionFuture<Response> searchActionFuture = requestBuilder.execute(); searchActionFuture.addListener(defaultActionListener(requestBuilder)); return searchActionFuture.actionGet(); }
private static long doIndexRequest(ActionRequestBuilder<?, ? extends IndexResponse, ?> request) throws IOException { IndexResponse response = request.execute().actionGet(); boolean ok = response.status().equals(RestStatus.CREATED); if (!ok) { throw new IOException("Document not created: " + request.get().getClass().getName()); } return response.getVersion(); }
private static long doUpdateRequest(ActionRequestBuilder<?, ? extends UpdateResponse, ?> request) throws IOException { UpdateResponse response = request.execute().actionGet(); boolean isUpsert = response.status().equals(RestStatus.CREATED); if (isUpsert) { throw new IOException("Unexpected upsert: " + request.get().getClass().getName()); } return response.getVersion(); } }
public <Request extends ActionRequest, Response extends ActionResponse, RequestBuilder extends ActionRequestBuilder<Request, Response, RequestBuilder>> void asyncExecute(RequestBuilder requestBuilder) { ListenableActionFuture<Response> searchActionFuture = requestBuilder.execute(); searchActionFuture.addListener(defaultActionListener(requestBuilder)); }