/** * 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())); } }
@Override public ActionRequest request() { return requestBuilder.request(); }
@Override public ActionResponse get() { return requestBuilder.get(); }
public void execute(ActionListener<Response> listener) { client.execute(action, beforeExecute(request), listener); }
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(); }
public void execute(ActionListener<Response> listener) { client.execute(action, beforeExecute(request), listener); }
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));
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 SyncedFlushRequestBuilder setIndicesOptions(IndicesOptions indicesOptions) { super.request().indicesOptions(indicesOptions); return this; } }
@Override public ActionResponse get() { return requestBuilder.get(); }
@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())); } }
public SyncedFlushRequestBuilder setIndices(String[] indices) { super.request().indices(indices); return this; }
/** * Executes the request and fails if the request has not been blocked by a specific {@link ClusterBlock}. * * @param builder the request builder * @param expectedBlock the expected block */ public static void assertBlocked(ActionRequestBuilder builder, ClusterBlock expectedBlock) { try { builder.get(); fail("Request executed with success but a ClusterBlockException was expected"); } catch (ClusterBlockException e) { assertThat(e.blocks().size(), greaterThan(0)); assertThat(e.status(), equalTo(RestStatus.FORBIDDEN)); if (expectedBlock != null) { boolean found = false; for (ClusterBlock clusterBlock : e.blocks()) { if (clusterBlock.id() == expectedBlock.id()) { found = true; break; } } assertThat("Request should have been blocked by [" + expectedBlock + "] instead of " + e.blocks(), found, equalTo(true)); } } }
/** * Short version of execute().actionGet(). */ public Response get() { return execute().actionGet(); }
@Override public ActionRequest request() { return requestBuilder.request(); }
/** * Short version of execute().actionGet(). */ public Response get(TimeValue timeout) { return execute().actionGet(timeout); }
public SyncedFlushRequestBuilder setIndicesOptions(IndicesOptions indicesOptions) { super.request().indicesOptions(indicesOptions); return this; } }
/** * Short version of execute().actionGet(). */ public Response get(String timeout) { return execute().actionGet(timeout); }
public SyncedFlushRequestBuilder setIndicesOptions(IndicesOptions indicesOptions) { super.request().indicesOptions(indicesOptions); return this; } }