org.elasticsearch.client.support.AbstractClient Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of elasticsearch Show documentation
Show all versions of elasticsearch Show documentation
Elasticsearch subproject :server
/*
* Licensed to Elasticsearch under one or more contributor
* license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright
* ownership. Elasticsearch 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.elasticsearch.client.support;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import org.elasticsearch.action.Action;
import org.elasticsearch.action.ActionFuture;
import org.elasticsearch.action.ActionListener;
import org.elasticsearch.action.ActionRequest;
import org.elasticsearch.action.ActionRequestBuilder;
import org.elasticsearch.action.ActionResponse;
import org.elasticsearch.action.admin.cluster.allocation.ClusterAllocationExplainAction;
import org.elasticsearch.action.admin.cluster.allocation.ClusterAllocationExplainRequest;
import org.elasticsearch.action.admin.cluster.allocation.ClusterAllocationExplainRequestBuilder;
import org.elasticsearch.action.admin.cluster.allocation.ClusterAllocationExplainResponse;
import org.elasticsearch.action.admin.cluster.health.ClusterHealthAction;
import org.elasticsearch.action.admin.cluster.health.ClusterHealthRequest;
import org.elasticsearch.action.admin.cluster.health.ClusterHealthRequestBuilder;
import org.elasticsearch.action.admin.cluster.health.ClusterHealthResponse;
import org.elasticsearch.action.admin.cluster.node.hotthreads.NodesHotThreadsAction;
import org.elasticsearch.action.admin.cluster.node.hotthreads.NodesHotThreadsRequest;
import org.elasticsearch.action.admin.cluster.node.hotthreads.NodesHotThreadsRequestBuilder;
import org.elasticsearch.action.admin.cluster.node.hotthreads.NodesHotThreadsResponse;
import org.elasticsearch.action.admin.cluster.node.info.NodesInfoAction;
import org.elasticsearch.action.admin.cluster.node.info.NodesInfoRequest;
import org.elasticsearch.action.admin.cluster.node.info.NodesInfoRequestBuilder;
import org.elasticsearch.action.admin.cluster.node.info.NodesInfoResponse;
import org.elasticsearch.action.admin.cluster.node.reload.NodesReloadSecureSettingsAction;
import org.elasticsearch.action.admin.cluster.node.reload.NodesReloadSecureSettingsRequestBuilder;
import org.elasticsearch.action.admin.cluster.node.stats.NodesStatsAction;
import org.elasticsearch.action.admin.cluster.node.stats.NodesStatsRequest;
import org.elasticsearch.action.admin.cluster.node.stats.NodesStatsRequestBuilder;
import org.elasticsearch.action.admin.cluster.node.stats.NodesStatsResponse;
import org.elasticsearch.action.admin.cluster.node.tasks.cancel.CancelTasksAction;
import org.elasticsearch.action.admin.cluster.node.tasks.cancel.CancelTasksRequest;
import org.elasticsearch.action.admin.cluster.node.tasks.cancel.CancelTasksRequestBuilder;
import org.elasticsearch.action.admin.cluster.node.tasks.cancel.CancelTasksResponse;
import org.elasticsearch.action.admin.cluster.node.tasks.get.GetTaskAction;
import org.elasticsearch.action.admin.cluster.node.tasks.get.GetTaskRequest;
import org.elasticsearch.action.admin.cluster.node.tasks.get.GetTaskRequestBuilder;
import org.elasticsearch.action.admin.cluster.node.tasks.get.GetTaskResponse;
import org.elasticsearch.action.admin.cluster.node.tasks.list.ListTasksAction;
import org.elasticsearch.action.admin.cluster.node.tasks.list.ListTasksRequest;
import org.elasticsearch.action.admin.cluster.node.tasks.list.ListTasksRequestBuilder;
import org.elasticsearch.action.admin.cluster.node.tasks.list.ListTasksResponse;
import org.elasticsearch.action.admin.cluster.node.usage.NodesUsageAction;
import org.elasticsearch.action.admin.cluster.node.usage.NodesUsageRequest;
import org.elasticsearch.action.admin.cluster.node.usage.NodesUsageRequestBuilder;
import org.elasticsearch.action.admin.cluster.node.usage.NodesUsageResponse;
import org.elasticsearch.action.admin.cluster.repositories.delete.DeleteRepositoryAction;
import org.elasticsearch.action.admin.cluster.repositories.delete.DeleteRepositoryRequest;
import org.elasticsearch.action.admin.cluster.repositories.delete.DeleteRepositoryRequestBuilder;
import org.elasticsearch.action.admin.cluster.repositories.get.GetRepositoriesAction;
import org.elasticsearch.action.admin.cluster.repositories.get.GetRepositoriesRequest;
import org.elasticsearch.action.admin.cluster.repositories.get.GetRepositoriesRequestBuilder;
import org.elasticsearch.action.admin.cluster.repositories.get.GetRepositoriesResponse;
import org.elasticsearch.action.admin.cluster.repositories.put.PutRepositoryAction;
import org.elasticsearch.action.admin.cluster.repositories.put.PutRepositoryRequest;
import org.elasticsearch.action.admin.cluster.repositories.put.PutRepositoryRequestBuilder;
import org.elasticsearch.action.admin.cluster.repositories.verify.VerifyRepositoryAction;
import org.elasticsearch.action.admin.cluster.repositories.verify.VerifyRepositoryRequest;
import org.elasticsearch.action.admin.cluster.repositories.verify.VerifyRepositoryRequestBuilder;
import org.elasticsearch.action.admin.cluster.repositories.verify.VerifyRepositoryResponse;
import org.elasticsearch.action.admin.cluster.reroute.ClusterRerouteAction;
import org.elasticsearch.action.admin.cluster.reroute.ClusterRerouteRequest;
import org.elasticsearch.action.admin.cluster.reroute.ClusterRerouteRequestBuilder;
import org.elasticsearch.action.admin.cluster.reroute.ClusterRerouteResponse;
import org.elasticsearch.action.admin.cluster.settings.ClusterUpdateSettingsAction;
import org.elasticsearch.action.admin.cluster.settings.ClusterUpdateSettingsRequest;
import org.elasticsearch.action.admin.cluster.settings.ClusterUpdateSettingsRequestBuilder;
import org.elasticsearch.action.admin.cluster.settings.ClusterUpdateSettingsResponse;
import org.elasticsearch.action.admin.cluster.shards.ClusterSearchShardsAction;
import org.elasticsearch.action.admin.cluster.shards.ClusterSearchShardsRequest;
import org.elasticsearch.action.admin.cluster.shards.ClusterSearchShardsRequestBuilder;
import org.elasticsearch.action.admin.cluster.shards.ClusterSearchShardsResponse;
import org.elasticsearch.action.admin.cluster.snapshots.create.CreateSnapshotAction;
import org.elasticsearch.action.admin.cluster.snapshots.create.CreateSnapshotRequest;
import org.elasticsearch.action.admin.cluster.snapshots.create.CreateSnapshotRequestBuilder;
import org.elasticsearch.action.admin.cluster.snapshots.create.CreateSnapshotResponse;
import org.elasticsearch.action.admin.cluster.snapshots.delete.DeleteSnapshotAction;
import org.elasticsearch.action.admin.cluster.snapshots.delete.DeleteSnapshotRequest;
import org.elasticsearch.action.admin.cluster.snapshots.delete.DeleteSnapshotRequestBuilder;
import org.elasticsearch.action.admin.cluster.snapshots.get.GetSnapshotsAction;
import org.elasticsearch.action.admin.cluster.snapshots.get.GetSnapshotsRequest;
import org.elasticsearch.action.admin.cluster.snapshots.get.GetSnapshotsRequestBuilder;
import org.elasticsearch.action.admin.cluster.snapshots.get.GetSnapshotsResponse;
import org.elasticsearch.action.admin.cluster.snapshots.restore.RestoreSnapshotAction;
import org.elasticsearch.action.admin.cluster.snapshots.restore.RestoreSnapshotRequest;
import org.elasticsearch.action.admin.cluster.snapshots.restore.RestoreSnapshotRequestBuilder;
import org.elasticsearch.action.admin.cluster.snapshots.restore.RestoreSnapshotResponse;
import org.elasticsearch.action.admin.cluster.snapshots.status.SnapshotsStatusAction;
import org.elasticsearch.action.admin.cluster.snapshots.status.SnapshotsStatusRequest;
import org.elasticsearch.action.admin.cluster.snapshots.status.SnapshotsStatusRequestBuilder;
import org.elasticsearch.action.admin.cluster.snapshots.status.SnapshotsStatusResponse;
import org.elasticsearch.action.admin.cluster.state.ClusterStateAction;
import org.elasticsearch.action.admin.cluster.state.ClusterStateRequest;
import org.elasticsearch.action.admin.cluster.state.ClusterStateRequestBuilder;
import org.elasticsearch.action.admin.cluster.state.ClusterStateResponse;
import org.elasticsearch.action.admin.cluster.stats.ClusterStatsAction;
import org.elasticsearch.action.admin.cluster.stats.ClusterStatsRequest;
import org.elasticsearch.action.admin.cluster.stats.ClusterStatsRequestBuilder;
import org.elasticsearch.action.admin.cluster.stats.ClusterStatsResponse;
import org.elasticsearch.action.admin.cluster.storedscripts.DeleteStoredScriptAction;
import org.elasticsearch.action.admin.cluster.storedscripts.DeleteStoredScriptRequest;
import org.elasticsearch.action.admin.cluster.storedscripts.DeleteStoredScriptRequestBuilder;
import org.elasticsearch.action.admin.cluster.storedscripts.GetStoredScriptAction;
import org.elasticsearch.action.admin.cluster.storedscripts.GetStoredScriptRequest;
import org.elasticsearch.action.admin.cluster.storedscripts.GetStoredScriptRequestBuilder;
import org.elasticsearch.action.admin.cluster.storedscripts.GetStoredScriptResponse;
import org.elasticsearch.action.admin.cluster.storedscripts.PutStoredScriptAction;
import org.elasticsearch.action.admin.cluster.storedscripts.PutStoredScriptRequest;
import org.elasticsearch.action.admin.cluster.storedscripts.PutStoredScriptRequestBuilder;
import org.elasticsearch.action.admin.cluster.tasks.PendingClusterTasksAction;
import org.elasticsearch.action.admin.cluster.tasks.PendingClusterTasksRequest;
import org.elasticsearch.action.admin.cluster.tasks.PendingClusterTasksRequestBuilder;
import org.elasticsearch.action.admin.cluster.tasks.PendingClusterTasksResponse;
import org.elasticsearch.action.admin.indices.alias.IndicesAliasesAction;
import org.elasticsearch.action.admin.indices.alias.IndicesAliasesRequest;
import org.elasticsearch.action.admin.indices.alias.IndicesAliasesRequestBuilder;
import org.elasticsearch.action.admin.indices.alias.exists.AliasesExistAction;
import org.elasticsearch.action.admin.indices.alias.exists.AliasesExistRequestBuilder;
import org.elasticsearch.action.admin.indices.alias.exists.AliasesExistResponse;
import org.elasticsearch.action.admin.indices.alias.get.GetAliasesAction;
import org.elasticsearch.action.admin.indices.alias.get.GetAliasesRequest;
import org.elasticsearch.action.admin.indices.alias.get.GetAliasesRequestBuilder;
import org.elasticsearch.action.admin.indices.alias.get.GetAliasesResponse;
import org.elasticsearch.action.admin.indices.analyze.AnalyzeAction;
import org.elasticsearch.action.admin.indices.analyze.AnalyzeRequest;
import org.elasticsearch.action.admin.indices.analyze.AnalyzeRequestBuilder;
import org.elasticsearch.action.admin.indices.analyze.AnalyzeResponse;
import org.elasticsearch.action.admin.indices.cache.clear.ClearIndicesCacheAction;
import org.elasticsearch.action.admin.indices.cache.clear.ClearIndicesCacheRequest;
import org.elasticsearch.action.admin.indices.cache.clear.ClearIndicesCacheRequestBuilder;
import org.elasticsearch.action.admin.indices.cache.clear.ClearIndicesCacheResponse;
import org.elasticsearch.action.admin.indices.close.CloseIndexAction;
import org.elasticsearch.action.admin.indices.close.CloseIndexRequest;
import org.elasticsearch.action.admin.indices.close.CloseIndexRequestBuilder;
import org.elasticsearch.action.admin.indices.create.CreateIndexAction;
import org.elasticsearch.action.admin.indices.create.CreateIndexRequest;
import org.elasticsearch.action.admin.indices.create.CreateIndexRequestBuilder;
import org.elasticsearch.action.admin.indices.create.CreateIndexResponse;
import org.elasticsearch.action.admin.indices.delete.DeleteIndexAction;
import org.elasticsearch.action.admin.indices.delete.DeleteIndexRequest;
import org.elasticsearch.action.admin.indices.delete.DeleteIndexRequestBuilder;
import org.elasticsearch.action.admin.indices.exists.indices.IndicesExistsAction;
import org.elasticsearch.action.admin.indices.exists.indices.IndicesExistsRequest;
import org.elasticsearch.action.admin.indices.exists.indices.IndicesExistsRequestBuilder;
import org.elasticsearch.action.admin.indices.exists.indices.IndicesExistsResponse;
import org.elasticsearch.action.admin.indices.exists.types.TypesExistsAction;
import org.elasticsearch.action.admin.indices.exists.types.TypesExistsRequest;
import org.elasticsearch.action.admin.indices.exists.types.TypesExistsRequestBuilder;
import org.elasticsearch.action.admin.indices.exists.types.TypesExistsResponse;
import org.elasticsearch.action.admin.indices.flush.FlushAction;
import org.elasticsearch.action.admin.indices.flush.FlushRequest;
import org.elasticsearch.action.admin.indices.flush.FlushRequestBuilder;
import org.elasticsearch.action.admin.indices.flush.FlushResponse;
import org.elasticsearch.action.admin.indices.flush.SyncedFlushAction;
import org.elasticsearch.action.admin.indices.flush.SyncedFlushRequest;
import org.elasticsearch.action.admin.indices.flush.SyncedFlushRequestBuilder;
import org.elasticsearch.action.admin.indices.flush.SyncedFlushResponse;
import org.elasticsearch.action.admin.indices.forcemerge.ForceMergeAction;
import org.elasticsearch.action.admin.indices.forcemerge.ForceMergeRequest;
import org.elasticsearch.action.admin.indices.forcemerge.ForceMergeRequestBuilder;
import org.elasticsearch.action.admin.indices.forcemerge.ForceMergeResponse;
import org.elasticsearch.action.admin.indices.get.GetIndexAction;
import org.elasticsearch.action.admin.indices.get.GetIndexRequest;
import org.elasticsearch.action.admin.indices.get.GetIndexRequestBuilder;
import org.elasticsearch.action.admin.indices.get.GetIndexResponse;
import org.elasticsearch.action.admin.indices.mapping.get.GetFieldMappingsAction;
import org.elasticsearch.action.admin.indices.mapping.get.GetFieldMappingsRequest;
import org.elasticsearch.action.admin.indices.mapping.get.GetFieldMappingsRequestBuilder;
import org.elasticsearch.action.admin.indices.mapping.get.GetFieldMappingsResponse;
import org.elasticsearch.action.admin.indices.mapping.get.GetMappingsAction;
import org.elasticsearch.action.admin.indices.mapping.get.GetMappingsRequest;
import org.elasticsearch.action.admin.indices.mapping.get.GetMappingsRequestBuilder;
import org.elasticsearch.action.admin.indices.mapping.get.GetMappingsResponse;
import org.elasticsearch.action.admin.indices.mapping.put.PutMappingAction;
import org.elasticsearch.action.admin.indices.mapping.put.PutMappingRequest;
import org.elasticsearch.action.admin.indices.mapping.put.PutMappingRequestBuilder;
import org.elasticsearch.action.admin.indices.open.OpenIndexAction;
import org.elasticsearch.action.admin.indices.open.OpenIndexRequest;
import org.elasticsearch.action.admin.indices.open.OpenIndexRequestBuilder;
import org.elasticsearch.action.admin.indices.open.OpenIndexResponse;
import org.elasticsearch.action.admin.indices.recovery.RecoveryAction;
import org.elasticsearch.action.admin.indices.recovery.RecoveryRequest;
import org.elasticsearch.action.admin.indices.recovery.RecoveryRequestBuilder;
import org.elasticsearch.action.admin.indices.recovery.RecoveryResponse;
import org.elasticsearch.action.admin.indices.refresh.RefreshAction;
import org.elasticsearch.action.admin.indices.refresh.RefreshRequest;
import org.elasticsearch.action.admin.indices.refresh.RefreshRequestBuilder;
import org.elasticsearch.action.admin.indices.refresh.RefreshResponse;
import org.elasticsearch.action.admin.indices.rollover.RolloverAction;
import org.elasticsearch.action.admin.indices.rollover.RolloverRequest;
import org.elasticsearch.action.admin.indices.rollover.RolloverRequestBuilder;
import org.elasticsearch.action.admin.indices.rollover.RolloverResponse;
import org.elasticsearch.action.admin.indices.segments.IndicesSegmentResponse;
import org.elasticsearch.action.admin.indices.segments.IndicesSegmentsAction;
import org.elasticsearch.action.admin.indices.segments.IndicesSegmentsRequest;
import org.elasticsearch.action.admin.indices.segments.IndicesSegmentsRequestBuilder;
import org.elasticsearch.action.admin.indices.settings.get.GetSettingsAction;
import org.elasticsearch.action.admin.indices.settings.get.GetSettingsRequest;
import org.elasticsearch.action.admin.indices.settings.get.GetSettingsRequestBuilder;
import org.elasticsearch.action.admin.indices.settings.get.GetSettingsResponse;
import org.elasticsearch.action.admin.indices.settings.put.UpdateSettingsAction;
import org.elasticsearch.action.admin.indices.settings.put.UpdateSettingsRequest;
import org.elasticsearch.action.admin.indices.settings.put.UpdateSettingsRequestBuilder;
import org.elasticsearch.action.admin.indices.shards.IndicesShardStoreRequestBuilder;
import org.elasticsearch.action.admin.indices.shards.IndicesShardStoresAction;
import org.elasticsearch.action.admin.indices.shards.IndicesShardStoresRequest;
import org.elasticsearch.action.admin.indices.shards.IndicesShardStoresResponse;
import org.elasticsearch.action.admin.indices.shrink.ResizeAction;
import org.elasticsearch.action.admin.indices.shrink.ResizeRequest;
import org.elasticsearch.action.admin.indices.shrink.ResizeRequestBuilder;
import org.elasticsearch.action.admin.indices.shrink.ResizeResponse;
import org.elasticsearch.action.admin.indices.stats.IndicesStatsAction;
import org.elasticsearch.action.admin.indices.stats.IndicesStatsRequest;
import org.elasticsearch.action.admin.indices.stats.IndicesStatsRequestBuilder;
import org.elasticsearch.action.admin.indices.stats.IndicesStatsResponse;
import org.elasticsearch.action.admin.indices.template.delete.DeleteIndexTemplateAction;
import org.elasticsearch.action.admin.indices.template.delete.DeleteIndexTemplateRequest;
import org.elasticsearch.action.admin.indices.template.delete.DeleteIndexTemplateRequestBuilder;
import org.elasticsearch.action.admin.indices.template.get.GetIndexTemplatesAction;
import org.elasticsearch.action.admin.indices.template.get.GetIndexTemplatesRequest;
import org.elasticsearch.action.admin.indices.template.get.GetIndexTemplatesRequestBuilder;
import org.elasticsearch.action.admin.indices.template.get.GetIndexTemplatesResponse;
import org.elasticsearch.action.admin.indices.template.put.PutIndexTemplateAction;
import org.elasticsearch.action.admin.indices.template.put.PutIndexTemplateRequest;
import org.elasticsearch.action.admin.indices.template.put.PutIndexTemplateRequestBuilder;
import org.elasticsearch.action.admin.indices.upgrade.get.UpgradeStatusAction;
import org.elasticsearch.action.admin.indices.upgrade.get.UpgradeStatusRequest;
import org.elasticsearch.action.admin.indices.upgrade.get.UpgradeStatusRequestBuilder;
import org.elasticsearch.action.admin.indices.upgrade.get.UpgradeStatusResponse;
import org.elasticsearch.action.admin.indices.upgrade.post.UpgradeAction;
import org.elasticsearch.action.admin.indices.upgrade.post.UpgradeRequest;
import org.elasticsearch.action.admin.indices.upgrade.post.UpgradeRequestBuilder;
import org.elasticsearch.action.admin.indices.upgrade.post.UpgradeResponse;
import org.elasticsearch.action.admin.indices.validate.query.ValidateQueryAction;
import org.elasticsearch.action.admin.indices.validate.query.ValidateQueryRequest;
import org.elasticsearch.action.admin.indices.validate.query.ValidateQueryRequestBuilder;
import org.elasticsearch.action.admin.indices.validate.query.ValidateQueryResponse;
import org.elasticsearch.action.bulk.BulkAction;
import org.elasticsearch.action.bulk.BulkRequest;
import org.elasticsearch.action.bulk.BulkRequestBuilder;
import org.elasticsearch.action.bulk.BulkResponse;
import org.elasticsearch.action.delete.DeleteAction;
import org.elasticsearch.action.delete.DeleteRequest;
import org.elasticsearch.action.delete.DeleteRequestBuilder;
import org.elasticsearch.action.delete.DeleteResponse;
import org.elasticsearch.action.explain.ExplainAction;
import org.elasticsearch.action.explain.ExplainRequest;
import org.elasticsearch.action.explain.ExplainRequestBuilder;
import org.elasticsearch.action.explain.ExplainResponse;
import org.elasticsearch.action.fieldcaps.FieldCapabilitiesAction;
import org.elasticsearch.action.fieldcaps.FieldCapabilitiesRequest;
import org.elasticsearch.action.fieldcaps.FieldCapabilitiesRequestBuilder;
import org.elasticsearch.action.fieldcaps.FieldCapabilitiesResponse;
import org.elasticsearch.action.get.GetAction;
import org.elasticsearch.action.get.GetRequest;
import org.elasticsearch.action.get.GetRequestBuilder;
import org.elasticsearch.action.get.GetResponse;
import org.elasticsearch.action.get.MultiGetAction;
import org.elasticsearch.action.get.MultiGetRequest;
import org.elasticsearch.action.get.MultiGetRequestBuilder;
import org.elasticsearch.action.get.MultiGetResponse;
import org.elasticsearch.action.index.IndexAction;
import org.elasticsearch.action.index.IndexRequest;
import org.elasticsearch.action.index.IndexRequestBuilder;
import org.elasticsearch.action.index.IndexResponse;
import org.elasticsearch.action.ingest.DeletePipelineAction;
import org.elasticsearch.action.ingest.DeletePipelineRequest;
import org.elasticsearch.action.ingest.DeletePipelineRequestBuilder;
import org.elasticsearch.action.ingest.GetPipelineAction;
import org.elasticsearch.action.ingest.GetPipelineRequest;
import org.elasticsearch.action.ingest.GetPipelineRequestBuilder;
import org.elasticsearch.action.ingest.GetPipelineResponse;
import org.elasticsearch.action.ingest.PutPipelineAction;
import org.elasticsearch.action.ingest.PutPipelineRequest;
import org.elasticsearch.action.ingest.PutPipelineRequestBuilder;
import org.elasticsearch.action.ingest.SimulatePipelineAction;
import org.elasticsearch.action.ingest.SimulatePipelineRequest;
import org.elasticsearch.action.ingest.SimulatePipelineRequestBuilder;
import org.elasticsearch.action.ingest.SimulatePipelineResponse;
import org.elasticsearch.action.search.ClearScrollAction;
import org.elasticsearch.action.search.ClearScrollRequest;
import org.elasticsearch.action.search.ClearScrollRequestBuilder;
import org.elasticsearch.action.search.ClearScrollResponse;
import org.elasticsearch.action.search.MultiSearchAction;
import org.elasticsearch.action.search.MultiSearchRequest;
import org.elasticsearch.action.search.MultiSearchRequestBuilder;
import org.elasticsearch.action.search.MultiSearchResponse;
import org.elasticsearch.action.search.SearchAction;
import org.elasticsearch.action.search.SearchRequest;
import org.elasticsearch.action.search.SearchRequestBuilder;
import org.elasticsearch.action.search.SearchResponse;
import org.elasticsearch.action.search.SearchScrollAction;
import org.elasticsearch.action.search.SearchScrollRequest;
import org.elasticsearch.action.search.SearchScrollRequestBuilder;
import org.elasticsearch.action.support.PlainActionFuture;
import org.elasticsearch.action.support.ThreadedActionListener;
import org.elasticsearch.action.support.master.AcknowledgedResponse;
import org.elasticsearch.action.termvectors.MultiTermVectorsAction;
import org.elasticsearch.action.termvectors.MultiTermVectorsRequest;
import org.elasticsearch.action.termvectors.MultiTermVectorsRequestBuilder;
import org.elasticsearch.action.termvectors.MultiTermVectorsResponse;
import org.elasticsearch.action.termvectors.TermVectorsAction;
import org.elasticsearch.action.termvectors.TermVectorsRequest;
import org.elasticsearch.action.termvectors.TermVectorsRequestBuilder;
import org.elasticsearch.action.termvectors.TermVectorsResponse;
import org.elasticsearch.action.update.UpdateAction;
import org.elasticsearch.action.update.UpdateRequest;
import org.elasticsearch.action.update.UpdateRequestBuilder;
import org.elasticsearch.action.update.UpdateResponse;
import org.elasticsearch.client.AdminClient;
import org.elasticsearch.client.Client;
import org.elasticsearch.client.ClusterAdminClient;
import org.elasticsearch.client.ElasticsearchClient;
import org.elasticsearch.client.FilterClient;
import org.elasticsearch.client.IndicesAdminClient;
import org.elasticsearch.common.Nullable;
import org.elasticsearch.common.bytes.BytesReference;
import org.elasticsearch.common.settings.Settings;
import org.elasticsearch.common.util.concurrent.ThreadContext;
import org.elasticsearch.common.xcontent.XContentType;
import org.elasticsearch.tasks.TaskId;
import org.elasticsearch.threadpool.ThreadPool;
import java.util.Map;
public abstract class AbstractClient implements Client {
protected final Logger logger;
protected final Settings settings;
private final ThreadPool threadPool;
private final Admin admin;
private final ThreadedActionListener.Wrapper threadedWrapper;
public AbstractClient(Settings settings, ThreadPool threadPool) {
this.settings = settings;
this.threadPool = threadPool;
this.admin = new Admin(this);
this.logger =LogManager.getLogger(this.getClass());
this.threadedWrapper = new ThreadedActionListener.Wrapper(logger, settings, threadPool);
}
@Override
public final Settings settings() {
return this.settings;
}
@Override
public final ThreadPool threadPool() {
return this.threadPool;
}
@Override
public final AdminClient admin() {
return admin;
}
@Override
public final > RequestBuilder prepareExecute(
final Action action) {
return action.newRequestBuilder(this);
}
@Override
public final > ActionFuture execute(
Action action, Request request) {
PlainActionFuture actionFuture = PlainActionFuture.newFuture();
execute(action, request, actionFuture);
return actionFuture;
}
/**
* This is the single execution point of *all* clients.
*/
@Override
public final > void execute(
Action action, Request request, ActionListener listener) {
listener = threadedWrapper.wrap(listener);
doExecute(action, request, listener);
}
protected abstract > void doExecute(
Action action, Request request, ActionListener listener);
@Override
public ActionFuture index(final IndexRequest request) {
return execute(IndexAction.INSTANCE, request);
}
@Override
public void index(final IndexRequest request, final ActionListener listener) {
execute(IndexAction.INSTANCE, request, listener);
}
@Override
public IndexRequestBuilder prepareIndex() {
return new IndexRequestBuilder(this, IndexAction.INSTANCE, null);
}
@Override
public IndexRequestBuilder prepareIndex(String index, String type) {
return prepareIndex(index, type, null);
}
@Override
public IndexRequestBuilder prepareIndex(String index, String type, @Nullable String id) {
return prepareIndex().setIndex(index).setType(type).setId(id);
}
@Override
public ActionFuture update(final UpdateRequest request) {
return execute(UpdateAction.INSTANCE, request);
}
@Override
public void update(final UpdateRequest request, final ActionListener listener) {
execute(UpdateAction.INSTANCE, request, listener);
}
@Override
public UpdateRequestBuilder prepareUpdate() {
return new UpdateRequestBuilder(this, UpdateAction.INSTANCE, null, null, null);
}
@Override
public UpdateRequestBuilder prepareUpdate(String index, String type, String id) {
return new UpdateRequestBuilder(this, UpdateAction.INSTANCE, index, type, id);
}
@Override
public ActionFuture delete(final DeleteRequest request) {
return execute(DeleteAction.INSTANCE, request);
}
@Override
public void delete(final DeleteRequest request, final ActionListener listener) {
execute(DeleteAction.INSTANCE, request, listener);
}
@Override
public DeleteRequestBuilder prepareDelete() {
return new DeleteRequestBuilder(this, DeleteAction.INSTANCE, null);
}
@Override
public DeleteRequestBuilder prepareDelete(String index, String type, String id) {
return prepareDelete().setIndex(index).setType(type).setId(id);
}
@Override
public ActionFuture bulk(final BulkRequest request) {
return execute(BulkAction.INSTANCE, request);
}
@Override
public void bulk(final BulkRequest request, final ActionListener listener) {
execute(BulkAction.INSTANCE, request, listener);
}
@Override
public BulkRequestBuilder prepareBulk() {
return new BulkRequestBuilder(this, BulkAction.INSTANCE);
}
@Override
public BulkRequestBuilder prepareBulk(@Nullable String globalIndex, @Nullable String globalType) {
return new BulkRequestBuilder(this, BulkAction.INSTANCE, globalIndex, globalType);
}
@Override
public ActionFuture get(final GetRequest request) {
return execute(GetAction.INSTANCE, request);
}
@Override
public void get(final GetRequest request, final ActionListener listener) {
execute(GetAction.INSTANCE, request, listener);
}
@Override
public GetRequestBuilder prepareGet() {
return new GetRequestBuilder(this, GetAction.INSTANCE, null);
}
@Override
public GetRequestBuilder prepareGet(String index, String type, String id) {
return prepareGet().setIndex(index).setType(type).setId(id);
}
@Override
public ActionFuture multiGet(final MultiGetRequest request) {
return execute(MultiGetAction.INSTANCE, request);
}
@Override
public void multiGet(final MultiGetRequest request, final ActionListener listener) {
execute(MultiGetAction.INSTANCE, request, listener);
}
@Override
public MultiGetRequestBuilder prepareMultiGet() {
return new MultiGetRequestBuilder(this, MultiGetAction.INSTANCE);
}
@Override
public ActionFuture search(final SearchRequest request) {
return execute(SearchAction.INSTANCE, request);
}
@Override
public void search(final SearchRequest request, final ActionListener listener) {
execute(SearchAction.INSTANCE, request, listener);
}
@Override
public SearchRequestBuilder prepareSearch(String... indices) {
return new SearchRequestBuilder(this, SearchAction.INSTANCE).setIndices(indices);
}
@Override
public ActionFuture searchScroll(final SearchScrollRequest request) {
return execute(SearchScrollAction.INSTANCE, request);
}
@Override
public void searchScroll(final SearchScrollRequest request, final ActionListener listener) {
execute(SearchScrollAction.INSTANCE, request, listener);
}
@Override
public SearchScrollRequestBuilder prepareSearchScroll(String scrollId) {
return new SearchScrollRequestBuilder(this, SearchScrollAction.INSTANCE, scrollId);
}
@Override
public ActionFuture multiSearch(MultiSearchRequest request) {
return execute(MultiSearchAction.INSTANCE, request);
}
@Override
public void multiSearch(MultiSearchRequest request, ActionListener listener) {
execute(MultiSearchAction.INSTANCE, request, listener);
}
@Override
public MultiSearchRequestBuilder prepareMultiSearch() {
return new MultiSearchRequestBuilder(this, MultiSearchAction.INSTANCE);
}
@Override
public ActionFuture termVectors(final TermVectorsRequest request) {
return execute(TermVectorsAction.INSTANCE, request);
}
@Override
public void termVectors(final TermVectorsRequest request, final ActionListener listener) {
execute(TermVectorsAction.INSTANCE, request, listener);
}
@Override
public TermVectorsRequestBuilder prepareTermVectors() {
return new TermVectorsRequestBuilder(this, TermVectorsAction.INSTANCE);
}
@Override
public TermVectorsRequestBuilder prepareTermVectors(String index, String type, String id) {
return new TermVectorsRequestBuilder(this, TermVectorsAction.INSTANCE, index, type, id);
}
@Deprecated
@Override
public ActionFuture termVector(final TermVectorsRequest request) {
return termVectors(request);
}
@Deprecated
@Override
public void termVector(final TermVectorsRequest request, final ActionListener listener) {
termVectors(request, listener);
}
@Deprecated
@Override
public TermVectorsRequestBuilder prepareTermVector() {
return prepareTermVectors();
}
@Deprecated
@Override
public TermVectorsRequestBuilder prepareTermVector(String index, String type, String id) {
return prepareTermVectors(index, type, id);
}
@Override
public ActionFuture multiTermVectors(final MultiTermVectorsRequest request) {
return execute(MultiTermVectorsAction.INSTANCE, request);
}
@Override
public void multiTermVectors(final MultiTermVectorsRequest request, final ActionListener listener) {
execute(MultiTermVectorsAction.INSTANCE, request, listener);
}
@Override
public MultiTermVectorsRequestBuilder prepareMultiTermVectors() {
return new MultiTermVectorsRequestBuilder(this, MultiTermVectorsAction.INSTANCE);
}
@Override
public ExplainRequestBuilder prepareExplain(String index, String type, String id) {
return new ExplainRequestBuilder(this, ExplainAction.INSTANCE, index, type, id);
}
@Override
public ActionFuture explain(ExplainRequest request) {
return execute(ExplainAction.INSTANCE, request);
}
@Override
public void explain(ExplainRequest request, ActionListener listener) {
execute(ExplainAction.INSTANCE, request, listener);
}
@Override
public void clearScroll(ClearScrollRequest request, ActionListener listener) {
execute(ClearScrollAction.INSTANCE, request, listener);
}
@Override
public ActionFuture clearScroll(ClearScrollRequest request) {
return execute(ClearScrollAction.INSTANCE, request);
}
@Override
public ClearScrollRequestBuilder prepareClearScroll() {
return new ClearScrollRequestBuilder(this, ClearScrollAction.INSTANCE);
}
@Override
public void fieldCaps(FieldCapabilitiesRequest request, ActionListener listener) {
execute(FieldCapabilitiesAction.INSTANCE, request, listener);
}
@Override
public ActionFuture fieldCaps(FieldCapabilitiesRequest request) {
return execute(FieldCapabilitiesAction.INSTANCE, request);
}
@Override
public FieldCapabilitiesRequestBuilder prepareFieldCaps(String... indices) {
return new FieldCapabilitiesRequestBuilder(this, FieldCapabilitiesAction.INSTANCE, indices);
}
static class Admin implements AdminClient {
private final ClusterAdmin clusterAdmin;
private final IndicesAdmin indicesAdmin;
Admin(ElasticsearchClient client) {
this.clusterAdmin = new ClusterAdmin(client);
this.indicesAdmin = new IndicesAdmin(client);
}
@Override
public ClusterAdminClient cluster() {
return clusterAdmin;
}
@Override
public IndicesAdminClient indices() {
return indicesAdmin;
}
}
static class ClusterAdmin implements ClusterAdminClient {
private final ElasticsearchClient client;
ClusterAdmin(ElasticsearchClient client) {
this.client = client;
}
@Override
public > ActionFuture execute(
Action action, Request request) {
return client.execute(action, request);
}
@Override
public > void execute(
Action action, Request request, ActionListener listener) {
client.execute(action, request, listener);
}
@Override
public > RequestBuilder prepareExecute(
Action action) {
return client.prepareExecute(action);
}
@Override
public ThreadPool threadPool() {
return client.threadPool();
}
@Override
public ActionFuture health(final ClusterHealthRequest request) {
return execute(ClusterHealthAction.INSTANCE, request);
}
@Override
public void health(final ClusterHealthRequest request, final ActionListener listener) {
execute(ClusterHealthAction.INSTANCE, request, listener);
}
@Override
public ClusterHealthRequestBuilder prepareHealth(String... indices) {
return new ClusterHealthRequestBuilder(this, ClusterHealthAction.INSTANCE).setIndices(indices);
}
@Override
public ActionFuture state(final ClusterStateRequest request) {
return execute(ClusterStateAction.INSTANCE, request);
}
@Override
public void state(final ClusterStateRequest request, final ActionListener listener) {
execute(ClusterStateAction.INSTANCE, request, listener);
}
@Override
public ClusterStateRequestBuilder prepareState() {
return new ClusterStateRequestBuilder(this, ClusterStateAction.INSTANCE);
}
@Override
public ActionFuture reroute(final ClusterRerouteRequest request) {
return execute(ClusterRerouteAction.INSTANCE, request);
}
@Override
public void reroute(final ClusterRerouteRequest request, final ActionListener listener) {
execute(ClusterRerouteAction.INSTANCE, request, listener);
}
@Override
public ClusterRerouteRequestBuilder prepareReroute() {
return new ClusterRerouteRequestBuilder(this, ClusterRerouteAction.INSTANCE);
}
@Override
public ActionFuture updateSettings(final ClusterUpdateSettingsRequest request) {
return execute(ClusterUpdateSettingsAction.INSTANCE, request);
}
@Override
public void updateSettings(final ClusterUpdateSettingsRequest request,
final ActionListener listener) {
execute(ClusterUpdateSettingsAction.INSTANCE, request, listener);
}
@Override
public ClusterUpdateSettingsRequestBuilder prepareUpdateSettings() {
return new ClusterUpdateSettingsRequestBuilder(this, ClusterUpdateSettingsAction.INSTANCE);
}
@Override
public NodesReloadSecureSettingsRequestBuilder prepareReloadSecureSettings() {
return new NodesReloadSecureSettingsRequestBuilder(this, NodesReloadSecureSettingsAction.INSTANCE);
}
@Override
public ActionFuture nodesInfo(final NodesInfoRequest request) {
return execute(NodesInfoAction.INSTANCE, request);
}
@Override
public void nodesInfo(final NodesInfoRequest request, final ActionListener listener) {
execute(NodesInfoAction.INSTANCE, request, listener);
}
@Override
public NodesInfoRequestBuilder prepareNodesInfo(String... nodesIds) {
return new NodesInfoRequestBuilder(this, NodesInfoAction.INSTANCE).setNodesIds(nodesIds);
}
@Override
public ActionFuture nodesStats(final NodesStatsRequest request) {
return execute(NodesStatsAction.INSTANCE, request);
}
@Override
public void nodesStats(final NodesStatsRequest request, final ActionListener listener) {
execute(NodesStatsAction.INSTANCE, request, listener);
}
@Override
public NodesStatsRequestBuilder prepareNodesStats(String... nodesIds) {
return new NodesStatsRequestBuilder(this, NodesStatsAction.INSTANCE).setNodesIds(nodesIds);
}
@Override
public ActionFuture nodesUsage(final NodesUsageRequest request) {
return execute(NodesUsageAction.INSTANCE, request);
}
@Override
public void nodesUsage(final NodesUsageRequest request, final ActionListener listener) {
execute(NodesUsageAction.INSTANCE, request, listener);
}
@Override
public NodesUsageRequestBuilder prepareNodesUsage(String... nodesIds) {
return new NodesUsageRequestBuilder(this, NodesUsageAction.INSTANCE).setNodesIds(nodesIds);
}
@Override
public ActionFuture clusterStats(ClusterStatsRequest request) {
return execute(ClusterStatsAction.INSTANCE, request);
}
@Override
public void clusterStats(ClusterStatsRequest request, ActionListener listener) {
execute(ClusterStatsAction.INSTANCE, request, listener);
}
@Override
public ClusterStatsRequestBuilder prepareClusterStats() {
return new ClusterStatsRequestBuilder(this, ClusterStatsAction.INSTANCE);
}
@Override
public ActionFuture nodesHotThreads(NodesHotThreadsRequest request) {
return execute(NodesHotThreadsAction.INSTANCE, request);
}
@Override
public void nodesHotThreads(NodesHotThreadsRequest request, ActionListener listener) {
execute(NodesHotThreadsAction.INSTANCE, request, listener);
}
@Override
public NodesHotThreadsRequestBuilder prepareNodesHotThreads(String... nodesIds) {
return new NodesHotThreadsRequestBuilder(this, NodesHotThreadsAction.INSTANCE).setNodesIds(nodesIds);
}
@Override
public ActionFuture listTasks(final ListTasksRequest request) {
return execute(ListTasksAction.INSTANCE, request);
}
@Override
public void listTasks(final ListTasksRequest request, final ActionListener listener) {
execute(ListTasksAction.INSTANCE, request, listener);
}
@Override
public ListTasksRequestBuilder prepareListTasks(String... nodesIds) {
return new ListTasksRequestBuilder(this, ListTasksAction.INSTANCE).setNodesIds(nodesIds);
}
@Override
public ActionFuture getTask(final GetTaskRequest request) {
return execute(GetTaskAction.INSTANCE, request);
}
@Override
public void getTask(final GetTaskRequest request, final ActionListener listener) {
execute(GetTaskAction.INSTANCE, request, listener);
}
@Override
public GetTaskRequestBuilder prepareGetTask(String taskId) {
return prepareGetTask(new TaskId(taskId));
}
@Override
public GetTaskRequestBuilder prepareGetTask(TaskId taskId) {
return new GetTaskRequestBuilder(this, GetTaskAction.INSTANCE).setTaskId(taskId);
}
@Override
public ActionFuture cancelTasks(CancelTasksRequest request) {
return execute(CancelTasksAction.INSTANCE, request);
}
@Override
public void cancelTasks(CancelTasksRequest request, ActionListener listener) {
execute(CancelTasksAction.INSTANCE, request, listener);
}
@Override
public CancelTasksRequestBuilder prepareCancelTasks(String... nodesIds) {
return new CancelTasksRequestBuilder(this, CancelTasksAction.INSTANCE).setNodesIds(nodesIds);
}
@Override
public ActionFuture searchShards(final ClusterSearchShardsRequest request) {
return execute(ClusterSearchShardsAction.INSTANCE, request);
}
@Override
public void searchShards(final ClusterSearchShardsRequest request, final ActionListener listener) {
execute(ClusterSearchShardsAction.INSTANCE, request, listener);
}
@Override
public ClusterSearchShardsRequestBuilder prepareSearchShards() {
return new ClusterSearchShardsRequestBuilder(this, ClusterSearchShardsAction.INSTANCE);
}
@Override
public ClusterSearchShardsRequestBuilder prepareSearchShards(String... indices) {
return new ClusterSearchShardsRequestBuilder(this, ClusterSearchShardsAction.INSTANCE).setIndices(indices);
}
@Override
public PendingClusterTasksRequestBuilder preparePendingClusterTasks() {
return new PendingClusterTasksRequestBuilder(this, PendingClusterTasksAction.INSTANCE);
}
@Override
public ActionFuture pendingClusterTasks(PendingClusterTasksRequest request) {
return execute(PendingClusterTasksAction.INSTANCE, request);
}
@Override
public void pendingClusterTasks(PendingClusterTasksRequest request, ActionListener listener) {
execute(PendingClusterTasksAction.INSTANCE, request, listener);
}
@Override
public ActionFuture putRepository(PutRepositoryRequest request) {
return execute(PutRepositoryAction.INSTANCE, request);
}
@Override
public void putRepository(PutRepositoryRequest request, ActionListener listener) {
execute(PutRepositoryAction.INSTANCE, request, listener);
}
@Override
public PutRepositoryRequestBuilder preparePutRepository(String name) {
return new PutRepositoryRequestBuilder(this, PutRepositoryAction.INSTANCE, name);
}
@Override
public ActionFuture createSnapshot(CreateSnapshotRequest request) {
return execute(CreateSnapshotAction.INSTANCE, request);
}
@Override
public void createSnapshot(CreateSnapshotRequest request, ActionListener listener) {
execute(CreateSnapshotAction.INSTANCE, request, listener);
}
@Override
public CreateSnapshotRequestBuilder prepareCreateSnapshot(String repository, String name) {
return new CreateSnapshotRequestBuilder(this, CreateSnapshotAction.INSTANCE, repository, name);
}
@Override
public ActionFuture getSnapshots(GetSnapshotsRequest request) {
return execute(GetSnapshotsAction.INSTANCE, request);
}
@Override
public void getSnapshots(GetSnapshotsRequest request, ActionListener listener) {
execute(GetSnapshotsAction.INSTANCE, request, listener);
}
@Override
public GetSnapshotsRequestBuilder prepareGetSnapshots(String repository) {
return new GetSnapshotsRequestBuilder(this, GetSnapshotsAction.INSTANCE, repository);
}
@Override
public ActionFuture deleteSnapshot(DeleteSnapshotRequest request) {
return execute(DeleteSnapshotAction.INSTANCE, request);
}
@Override
public void deleteSnapshot(DeleteSnapshotRequest request, ActionListener listener) {
execute(DeleteSnapshotAction.INSTANCE, request, listener);
}
@Override
public DeleteSnapshotRequestBuilder prepareDeleteSnapshot(String repository, String name) {
return new DeleteSnapshotRequestBuilder(this, DeleteSnapshotAction.INSTANCE, repository, name);
}
@Override
public ActionFuture deleteRepository(DeleteRepositoryRequest request) {
return execute(DeleteRepositoryAction.INSTANCE, request);
}
@Override
public void deleteRepository(DeleteRepositoryRequest request, ActionListener listener) {
execute(DeleteRepositoryAction.INSTANCE, request, listener);
}
@Override
public DeleteRepositoryRequestBuilder prepareDeleteRepository(String name) {
return new DeleteRepositoryRequestBuilder(this, DeleteRepositoryAction.INSTANCE, name);
}
@Override
public ActionFuture verifyRepository(VerifyRepositoryRequest request) {
return execute(VerifyRepositoryAction.INSTANCE, request);
}
@Override
public void verifyRepository(VerifyRepositoryRequest request, ActionListener listener) {
execute(VerifyRepositoryAction.INSTANCE, request, listener);
}
@Override
public VerifyRepositoryRequestBuilder prepareVerifyRepository(String name) {
return new VerifyRepositoryRequestBuilder(this, VerifyRepositoryAction.INSTANCE, name);
}
@Override
public ActionFuture getRepositories(GetRepositoriesRequest request) {
return execute(GetRepositoriesAction.INSTANCE, request);
}
@Override
public void getRepositories(GetRepositoriesRequest request, ActionListener listener) {
execute(GetRepositoriesAction.INSTANCE, request, listener);
}
@Override
public GetRepositoriesRequestBuilder prepareGetRepositories(String... name) {
return new GetRepositoriesRequestBuilder(this, GetRepositoriesAction.INSTANCE, name);
}
@Override
public ActionFuture restoreSnapshot(RestoreSnapshotRequest request) {
return execute(RestoreSnapshotAction.INSTANCE, request);
}
@Override
public void restoreSnapshot(RestoreSnapshotRequest request, ActionListener listener) {
execute(RestoreSnapshotAction.INSTANCE, request, listener);
}
@Override
public RestoreSnapshotRequestBuilder prepareRestoreSnapshot(String repository, String snapshot) {
return new RestoreSnapshotRequestBuilder(this, RestoreSnapshotAction.INSTANCE, repository, snapshot);
}
@Override
public ActionFuture snapshotsStatus(SnapshotsStatusRequest request) {
return execute(SnapshotsStatusAction.INSTANCE, request);
}
@Override
public void snapshotsStatus(SnapshotsStatusRequest request, ActionListener listener) {
execute(SnapshotsStatusAction.INSTANCE, request, listener);
}
@Override
public SnapshotsStatusRequestBuilder prepareSnapshotStatus(String repository) {
return new SnapshotsStatusRequestBuilder(this, SnapshotsStatusAction.INSTANCE, repository);
}
@Override
public SnapshotsStatusRequestBuilder prepareSnapshotStatus() {
return new SnapshotsStatusRequestBuilder(this, SnapshotsStatusAction.INSTANCE);
}
@Override
public void putPipeline(PutPipelineRequest request, ActionListener listener) {
execute(PutPipelineAction.INSTANCE, request, listener);
}
@Override
public ActionFuture putPipeline(PutPipelineRequest request) {
return execute(PutPipelineAction.INSTANCE, request);
}
@Override
public PutPipelineRequestBuilder preparePutPipeline(String id, BytesReference source) {
return new PutPipelineRequestBuilder(this, PutPipelineAction.INSTANCE, id, source);
}
@Override
public PutPipelineRequestBuilder preparePutPipeline(String id, BytesReference source, XContentType xContentType) {
return new PutPipelineRequestBuilder(this, PutPipelineAction.INSTANCE, id, source, xContentType);
}
@Override
public void deletePipeline(DeletePipelineRequest request, ActionListener listener) {
execute(DeletePipelineAction.INSTANCE, request, listener);
}
@Override
public ActionFuture deletePipeline(DeletePipelineRequest request) {
return execute(DeletePipelineAction.INSTANCE, request);
}
@Override
public DeletePipelineRequestBuilder prepareDeletePipeline() {
return new DeletePipelineRequestBuilder(this, DeletePipelineAction.INSTANCE);
}
@Override
public DeletePipelineRequestBuilder prepareDeletePipeline(String id) {
return new DeletePipelineRequestBuilder(this, DeletePipelineAction.INSTANCE, id);
}
@Override
public void getPipeline(GetPipelineRequest request, ActionListener listener) {
execute(GetPipelineAction.INSTANCE, request, listener);
}
@Override
public ActionFuture getPipeline(GetPipelineRequest request) {
return execute(GetPipelineAction.INSTANCE, request);
}
@Override
public GetPipelineRequestBuilder prepareGetPipeline(String... ids) {
return new GetPipelineRequestBuilder(this, GetPipelineAction.INSTANCE, ids);
}
@Override
public void simulatePipeline(SimulatePipelineRequest request, ActionListener listener) {
execute(SimulatePipelineAction.INSTANCE, request, listener);
}
@Override
public ActionFuture simulatePipeline(SimulatePipelineRequest request) {
return execute(SimulatePipelineAction.INSTANCE, request);
}
@Override
public SimulatePipelineRequestBuilder prepareSimulatePipeline(BytesReference source) {
return new SimulatePipelineRequestBuilder(this, SimulatePipelineAction.INSTANCE, source);
}
@Override
public SimulatePipelineRequestBuilder prepareSimulatePipeline(BytesReference source, XContentType xContentType) {
return new SimulatePipelineRequestBuilder(this, SimulatePipelineAction.INSTANCE, source, xContentType);
}
@Override
public void allocationExplain(ClusterAllocationExplainRequest request, ActionListener listener) {
execute(ClusterAllocationExplainAction.INSTANCE, request, listener);
}
@Override
public ActionFuture allocationExplain(ClusterAllocationExplainRequest request) {
return execute(ClusterAllocationExplainAction.INSTANCE, request);
}
@Override
public ClusterAllocationExplainRequestBuilder prepareAllocationExplain() {
return new ClusterAllocationExplainRequestBuilder(this, ClusterAllocationExplainAction.INSTANCE);
}
@Override
public ActionFuture getStoredScript(final GetStoredScriptRequest request) {
return execute(GetStoredScriptAction.INSTANCE, request);
}
@Override
public void getStoredScript(final GetStoredScriptRequest request, final ActionListener listener) {
execute(GetStoredScriptAction.INSTANCE, request, listener);
}
@Override
public GetStoredScriptRequestBuilder prepareGetStoredScript() {
return new GetStoredScriptRequestBuilder(this, GetStoredScriptAction.INSTANCE);
}
@Override
public GetStoredScriptRequestBuilder prepareGetStoredScript(String id) {
return prepareGetStoredScript().setId(id);
}
@Override
public PutStoredScriptRequestBuilder preparePutStoredScript() {
return new PutStoredScriptRequestBuilder(this, PutStoredScriptAction.INSTANCE);
}
@Override
public void putStoredScript(final PutStoredScriptRequest request, ActionListener listener){
execute(PutStoredScriptAction.INSTANCE, request, listener);
}
@Override
public ActionFuture putStoredScript(final PutStoredScriptRequest request){
return execute(PutStoredScriptAction.INSTANCE, request);
}
@Override
public void deleteStoredScript(DeleteStoredScriptRequest request, ActionListener listener){
execute(DeleteStoredScriptAction.INSTANCE, request, listener);
}
@Override
public ActionFuture deleteStoredScript(DeleteStoredScriptRequest request){
return execute(DeleteStoredScriptAction.INSTANCE, request);
}
@Override
public DeleteStoredScriptRequestBuilder prepareDeleteStoredScript(){
return DeleteStoredScriptAction.INSTANCE.newRequestBuilder(this);
}
@Override
public DeleteStoredScriptRequestBuilder prepareDeleteStoredScript(String id){
return prepareDeleteStoredScript().setId(id);
}
}
static class IndicesAdmin implements IndicesAdminClient {
private final ElasticsearchClient client;
IndicesAdmin(ElasticsearchClient client) {
this.client = client;
}
@Override
public > ActionFuture execute(
Action action, Request request) {
return client.execute(action, request);
}
@Override
public > void execute(
Action action, Request request, ActionListener listener) {
client.execute(action, request, listener);
}
@Override
public > RequestBuilder prepareExecute(
Action action) {
return client.prepareExecute(action);
}
@Override
public ThreadPool threadPool() {
return client.threadPool();
}
@Override
public ActionFuture exists(final IndicesExistsRequest request) {
return execute(IndicesExistsAction.INSTANCE, request);
}
@Override
public void exists(final IndicesExistsRequest request, final ActionListener listener) {
execute(IndicesExistsAction.INSTANCE, request, listener);
}
@Override
public IndicesExistsRequestBuilder prepareExists(String... indices) {
return new IndicesExistsRequestBuilder(this, IndicesExistsAction.INSTANCE, indices);
}
@Override
public ActionFuture typesExists(TypesExistsRequest request) {
return execute(TypesExistsAction.INSTANCE, request);
}
@Override
public void typesExists(TypesExistsRequest request, ActionListener listener) {
execute(TypesExistsAction.INSTANCE, request, listener);
}
@Override
public TypesExistsRequestBuilder prepareTypesExists(String... index) {
return new TypesExistsRequestBuilder(this, TypesExistsAction.INSTANCE, index);
}
@Override
public ActionFuture aliases(final IndicesAliasesRequest request) {
return execute(IndicesAliasesAction.INSTANCE, request);
}
@Override
public void aliases(final IndicesAliasesRequest request, final ActionListener listener) {
execute(IndicesAliasesAction.INSTANCE, request, listener);
}
@Override
public IndicesAliasesRequestBuilder prepareAliases() {
return new IndicesAliasesRequestBuilder(this, IndicesAliasesAction.INSTANCE);
}
@Override
public ActionFuture getAliases(GetAliasesRequest request) {
return execute(GetAliasesAction.INSTANCE, request);
}
@Override
public void getAliases(GetAliasesRequest request, ActionListener listener) {
execute(GetAliasesAction.INSTANCE, request, listener);
}
@Override
public GetAliasesRequestBuilder prepareGetAliases(String... aliases) {
return new GetAliasesRequestBuilder(this, GetAliasesAction.INSTANCE, aliases);
}
@Override
public ActionFuture clearCache(final ClearIndicesCacheRequest request) {
return execute(ClearIndicesCacheAction.INSTANCE, request);
}
@Override
public void aliasesExist(GetAliasesRequest request, ActionListener listener) {
execute(AliasesExistAction.INSTANCE, request, listener);
}
@Override
public ActionFuture aliasesExist(GetAliasesRequest request) {
return execute(AliasesExistAction.INSTANCE, request);
}
@Override
public AliasesExistRequestBuilder prepareAliasesExist(String... aliases) {
return new AliasesExistRequestBuilder(this, AliasesExistAction.INSTANCE, aliases);
}
@Override
public ActionFuture getIndex(GetIndexRequest request) {
return execute(GetIndexAction.INSTANCE, request);
}
@Override
public void getIndex(GetIndexRequest request, ActionListener listener) {
execute(GetIndexAction.INSTANCE, request, listener);
}
@Override
public GetIndexRequestBuilder prepareGetIndex() {
return new GetIndexRequestBuilder(this, GetIndexAction.INSTANCE);
}
@Override
public void clearCache(final ClearIndicesCacheRequest request, final ActionListener listener) {
execute(ClearIndicesCacheAction.INSTANCE, request, listener);
}
@Override
public ClearIndicesCacheRequestBuilder prepareClearCache(String... indices) {
return new ClearIndicesCacheRequestBuilder(this, ClearIndicesCacheAction.INSTANCE).setIndices(indices);
}
@Override
public ActionFuture create(final CreateIndexRequest request) {
return execute(CreateIndexAction.INSTANCE, request);
}
@Override
public void create(final CreateIndexRequest request, final ActionListener listener) {
execute(CreateIndexAction.INSTANCE, request, listener);
}
@Override
public CreateIndexRequestBuilder prepareCreate(String index) {
return new CreateIndexRequestBuilder(this, CreateIndexAction.INSTANCE, index);
}
@Override
public ActionFuture delete(final DeleteIndexRequest request) {
return execute(DeleteIndexAction.INSTANCE, request);
}
@Override
public void delete(final DeleteIndexRequest request, final ActionListener listener) {
execute(DeleteIndexAction.INSTANCE, request, listener);
}
@Override
public DeleteIndexRequestBuilder prepareDelete(String... indices) {
return new DeleteIndexRequestBuilder(this, DeleteIndexAction.INSTANCE, indices);
}
@Override
public ActionFuture close(final CloseIndexRequest request) {
return execute(CloseIndexAction.INSTANCE, request);
}
@Override
public void close(final CloseIndexRequest request, final ActionListener listener) {
execute(CloseIndexAction.INSTANCE, request, listener);
}
@Override
public CloseIndexRequestBuilder prepareClose(String... indices) {
return new CloseIndexRequestBuilder(this, CloseIndexAction.INSTANCE, indices);
}
@Override
public ActionFuture open(final OpenIndexRequest request) {
return execute(OpenIndexAction.INSTANCE, request);
}
@Override
public void open(final OpenIndexRequest request, final ActionListener listener) {
execute(OpenIndexAction.INSTANCE, request, listener);
}
@Override
public OpenIndexRequestBuilder prepareOpen(String... indices) {
return new OpenIndexRequestBuilder(this, OpenIndexAction.INSTANCE, indices);
}
@Override
public ActionFuture flush(final FlushRequest request) {
return execute(FlushAction.INSTANCE, request);
}
@Override
public void flush(final FlushRequest request, final ActionListener listener) {
execute(FlushAction.INSTANCE, request, listener);
}
@Override
public FlushRequestBuilder prepareFlush(String... indices) {
return new FlushRequestBuilder(this, FlushAction.INSTANCE).setIndices(indices);
}
@Override
public ActionFuture syncedFlush(SyncedFlushRequest request) {
return execute(SyncedFlushAction.INSTANCE, request);
}
@Override
public void syncedFlush(SyncedFlushRequest request, ActionListener listener) {
execute(SyncedFlushAction.INSTANCE, request, listener);
}
@Override
public SyncedFlushRequestBuilder prepareSyncedFlush(String... indices) {
return new SyncedFlushRequestBuilder(this, SyncedFlushAction.INSTANCE).setIndices(indices);
}
@Override
public void getMappings(GetMappingsRequest request, ActionListener listener) {
execute(GetMappingsAction.INSTANCE, request, listener);
}
@Override
public void getFieldMappings(GetFieldMappingsRequest request, ActionListener listener) {
execute(GetFieldMappingsAction.INSTANCE, request, listener);
}
@Override
public GetMappingsRequestBuilder prepareGetMappings(String... indices) {
return new GetMappingsRequestBuilder(this, GetMappingsAction.INSTANCE, indices);
}
@Override
public ActionFuture getMappings(GetMappingsRequest request) {
return execute(GetMappingsAction.INSTANCE, request);
}
@Override
public GetFieldMappingsRequestBuilder prepareGetFieldMappings(String... indices) {
return new GetFieldMappingsRequestBuilder(this, GetFieldMappingsAction.INSTANCE, indices);
}
@Override
public ActionFuture getFieldMappings(GetFieldMappingsRequest request) {
return execute(GetFieldMappingsAction.INSTANCE, request);
}
@Override
public ActionFuture putMapping(final PutMappingRequest request) {
return execute(PutMappingAction.INSTANCE, request);
}
@Override
public void putMapping(final PutMappingRequest request, final ActionListener listener) {
execute(PutMappingAction.INSTANCE, request, listener);
}
@Override
public PutMappingRequestBuilder preparePutMapping(String... indices) {
return new PutMappingRequestBuilder(this, PutMappingAction.INSTANCE).setIndices(indices);
}
@Override
public ActionFuture forceMerge(final ForceMergeRequest request) {
return execute(ForceMergeAction.INSTANCE, request);
}
@Override
public void forceMerge(final ForceMergeRequest request, final ActionListener listener) {
execute(ForceMergeAction.INSTANCE, request, listener);
}
@Override
public ForceMergeRequestBuilder prepareForceMerge(String... indices) {
return new ForceMergeRequestBuilder(this, ForceMergeAction.INSTANCE).setIndices(indices);
}
@Override
public ActionFuture upgrade(final UpgradeRequest request) {
return execute(UpgradeAction.INSTANCE, request);
}
@Override
public void upgrade(final UpgradeRequest request, final ActionListener listener) {
execute(UpgradeAction.INSTANCE, request, listener);
}
@Override
public UpgradeRequestBuilder prepareUpgrade(String... indices) {
return new UpgradeRequestBuilder(this, UpgradeAction.INSTANCE).setIndices(indices);
}
@Override
public ActionFuture upgradeStatus(final UpgradeStatusRequest request) {
return execute(UpgradeStatusAction.INSTANCE, request);
}
@Override
public void upgradeStatus(final UpgradeStatusRequest request, final ActionListener listener) {
execute(UpgradeStatusAction.INSTANCE, request, listener);
}
@Override
public UpgradeStatusRequestBuilder prepareUpgradeStatus(String... indices) {
return new UpgradeStatusRequestBuilder(this, UpgradeStatusAction.INSTANCE).setIndices(indices);
}
@Override
public ActionFuture refresh(final RefreshRequest request) {
return execute(RefreshAction.INSTANCE, request);
}
@Override
public void refresh(final RefreshRequest request, final ActionListener listener) {
execute(RefreshAction.INSTANCE, request, listener);
}
@Override
public RefreshRequestBuilder prepareRefresh(String... indices) {
return new RefreshRequestBuilder(this, RefreshAction.INSTANCE).setIndices(indices);
}
@Override
public ActionFuture stats(final IndicesStatsRequest request) {
return execute(IndicesStatsAction.INSTANCE, request);
}
@Override
public void stats(final IndicesStatsRequest request, final ActionListener listener) {
execute(IndicesStatsAction.INSTANCE, request, listener);
}
@Override
public IndicesStatsRequestBuilder prepareStats(String... indices) {
return new IndicesStatsRequestBuilder(this, IndicesStatsAction.INSTANCE).setIndices(indices);
}
@Override
public ActionFuture recoveries(final RecoveryRequest request) {
return execute(RecoveryAction.INSTANCE, request);
}
@Override
public void recoveries(final RecoveryRequest request, final ActionListener listener) {
execute(RecoveryAction.INSTANCE, request, listener);
}
@Override
public RecoveryRequestBuilder prepareRecoveries(String... indices) {
return new RecoveryRequestBuilder(this, RecoveryAction.INSTANCE).setIndices(indices);
}
@Override
public ActionFuture segments(final IndicesSegmentsRequest request) {
return execute(IndicesSegmentsAction.INSTANCE, request);
}
@Override
public void segments(final IndicesSegmentsRequest request, final ActionListener listener) {
execute(IndicesSegmentsAction.INSTANCE, request, listener);
}
@Override
public IndicesSegmentsRequestBuilder prepareSegments(String... indices) {
return new IndicesSegmentsRequestBuilder(this, IndicesSegmentsAction.INSTANCE).setIndices(indices);
}
@Override
public ActionFuture shardStores(IndicesShardStoresRequest request) {
return execute(IndicesShardStoresAction.INSTANCE, request);
}
@Override
public void shardStores(IndicesShardStoresRequest request, ActionListener listener) {
execute(IndicesShardStoresAction.INSTANCE, request, listener);
}
@Override
public IndicesShardStoreRequestBuilder prepareShardStores(String... indices) {
return new IndicesShardStoreRequestBuilder(this, IndicesShardStoresAction.INSTANCE, indices);
}
@Override
public ActionFuture updateSettings(final UpdateSettingsRequest request) {
return execute(UpdateSettingsAction.INSTANCE, request);
}
@Override
public void updateSettings(final UpdateSettingsRequest request, final ActionListener listener) {
execute(UpdateSettingsAction.INSTANCE, request, listener);
}
@Override
public UpdateSettingsRequestBuilder prepareUpdateSettings(String... indices) {
return new UpdateSettingsRequestBuilder(this, UpdateSettingsAction.INSTANCE).setIndices(indices);
}
@Override
public ActionFuture analyze(final AnalyzeRequest request) {
return execute(AnalyzeAction.INSTANCE, request);
}
@Override
public void analyze(final AnalyzeRequest request, final ActionListener listener) {
execute(AnalyzeAction.INSTANCE, request, listener);
}
@Override
public AnalyzeRequestBuilder prepareAnalyze(@Nullable String index, String text) {
return new AnalyzeRequestBuilder(this, AnalyzeAction.INSTANCE, index, text);
}
@Override
public AnalyzeRequestBuilder prepareAnalyze(String text) {
return new AnalyzeRequestBuilder(this, AnalyzeAction.INSTANCE, null, text);
}
@Override
public AnalyzeRequestBuilder prepareAnalyze() {
return new AnalyzeRequestBuilder(this, AnalyzeAction.INSTANCE);
}
@Override
public ActionFuture putTemplate(final PutIndexTemplateRequest request) {
return execute(PutIndexTemplateAction.INSTANCE, request);
}
@Override
public void putTemplate(final PutIndexTemplateRequest request, final ActionListener listener) {
execute(PutIndexTemplateAction.INSTANCE, request, listener);
}
@Override
public PutIndexTemplateRequestBuilder preparePutTemplate(String name) {
return new PutIndexTemplateRequestBuilder(this, PutIndexTemplateAction.INSTANCE, name);
}
@Override
public ActionFuture getTemplates(final GetIndexTemplatesRequest request) {
return execute(GetIndexTemplatesAction.INSTANCE, request);
}
@Override
public void getTemplates(final GetIndexTemplatesRequest request, final ActionListener listener) {
execute(GetIndexTemplatesAction.INSTANCE, request, listener);
}
@Override
public GetIndexTemplatesRequestBuilder prepareGetTemplates(String... names) {
return new GetIndexTemplatesRequestBuilder(this, GetIndexTemplatesAction.INSTANCE, names);
}
@Override
public ActionFuture deleteTemplate(final DeleteIndexTemplateRequest request) {
return execute(DeleteIndexTemplateAction.INSTANCE, request);
}
@Override
public void deleteTemplate(final DeleteIndexTemplateRequest request, final ActionListener listener) {
execute(DeleteIndexTemplateAction.INSTANCE, request, listener);
}
@Override
public DeleteIndexTemplateRequestBuilder prepareDeleteTemplate(String name) {
return new DeleteIndexTemplateRequestBuilder(this, DeleteIndexTemplateAction.INSTANCE, name);
}
@Override
public ActionFuture validateQuery(final ValidateQueryRequest request) {
return execute(ValidateQueryAction.INSTANCE, request);
}
@Override
public void validateQuery(final ValidateQueryRequest request, final ActionListener listener) {
execute(ValidateQueryAction.INSTANCE, request, listener);
}
@Override
public ValidateQueryRequestBuilder prepareValidateQuery(String... indices) {
return new ValidateQueryRequestBuilder(this, ValidateQueryAction.INSTANCE).setIndices(indices);
}
@Override
public GetSettingsRequestBuilder prepareGetSettings(String... indices) {
return new GetSettingsRequestBuilder(this, GetSettingsAction.INSTANCE, indices);
}
@Override
public ResizeRequestBuilder prepareResizeIndex(String sourceIndex, String targetIndex) {
return new ResizeRequestBuilder(this, ResizeAction.INSTANCE).setSourceIndex(sourceIndex)
.setTargetIndex(new CreateIndexRequest(targetIndex));
}
@Override
public ActionFuture resizeIndex(ResizeRequest request) {
return execute(ResizeAction.INSTANCE, request);
}
@Override
public void resizeIndex(ResizeRequest request, ActionListener listener) {
execute(ResizeAction.INSTANCE, request, listener);
}
@Override
public RolloverRequestBuilder prepareRolloverIndex(String alias) {
return new RolloverRequestBuilder(this, RolloverAction.INSTANCE).setAlias(alias);
}
@Override
public ActionFuture rolloversIndex(RolloverRequest request) {
return execute(RolloverAction.INSTANCE, request);
}
@Override
public void rolloverIndex(RolloverRequest request, ActionListener listener) {
execute(RolloverAction.INSTANCE, request, listener);
}
@Override
public ActionFuture getSettings(GetSettingsRequest request) {
return execute(GetSettingsAction.INSTANCE, request);
}
@Override
public void getSettings(GetSettingsRequest request, ActionListener listener) {
execute(GetSettingsAction.INSTANCE, request, listener);
}
}
@Override
public Client filterWithHeader(Map headers) {
return new FilterClient(this) {
@Override
protected > void doExecute(
Action action, Request request, ActionListener listener) {
ThreadContext threadContext = threadPool().getThreadContext();
try (ThreadContext.StoredContext ctx = threadContext.stashAndMergeHeaders(headers)) {
super.doExecute(action, request, listener);
}
}
};
}
}