Core: Combine Action and GenericAction (#31405)

Since #30966, Action no longer has anything but a call to the
GenericAction super constructor. This commit renames GenericAction
into Action, thus eliminating the Action class. Additionally, this
commit removes the Request generic parameter of the class, since
it was unused.
This commit is contained in:
Ryan Ernst 2018-06-18 23:53:04 +02:00 committed by GitHub
parent 4ad334f8e0
commit e67aa96c81
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
260 changed files with 361 additions and 402 deletions

View File

@ -19,10 +19,9 @@
package org.elasticsearch.plugin.noop.action.bulk;
import org.elasticsearch.action.Action;
import org.elasticsearch.action.bulk.BulkRequest;
import org.elasticsearch.action.bulk.BulkResponse;
public class NoopBulkAction extends Action<BulkRequest, BulkResponse> {
public class NoopBulkAction extends Action<BulkResponse> {
public static final String NAME = "mock:data/write/bulk";
public static final NoopBulkAction INSTANCE = new NoopBulkAction();

View File

@ -19,10 +19,9 @@
package org.elasticsearch.plugin.noop.action.search;
import org.elasticsearch.action.Action;
import org.elasticsearch.action.search.SearchRequest;
import org.elasticsearch.action.search.SearchResponse;
public class NoopSearchAction extends Action<SearchRequest, SearchResponse> {
public class NoopSearchAction extends Action<SearchResponse> {
public static final NoopSearchAction INSTANCE = new NoopSearchAction();
public static final String NAME = "mock:data/read/search";

View File

@ -52,7 +52,7 @@ import static org.elasticsearch.ingest.common.IngestCommonPlugin.GROK_PATTERNS;
import static org.elasticsearch.rest.RestRequest.Method.GET;
import static org.elasticsearch.rest.RestStatus.OK;
public class GrokProcessorGetAction extends Action<GrokProcessorGetAction.Request, GrokProcessorGetAction.Response> {
public class GrokProcessorGetAction extends Action<GrokProcessorGetAction.Response> {
public static final GrokProcessorGetAction INSTANCE = new GrokProcessorGetAction();
public static final String NAME = "cluster:admin/ingest/processor/grok/get";

View File

@ -21,7 +21,7 @@ package org.elasticsearch.script.mustache;
import org.elasticsearch.action.Action;
public class MultiSearchTemplateAction extends Action<MultiSearchTemplateRequest, MultiSearchTemplateResponse> {
public class MultiSearchTemplateAction extends Action<MultiSearchTemplateResponse> {
public static final MultiSearchTemplateAction INSTANCE = new MultiSearchTemplateAction();
public static final String NAME = "indices:data/read/msearch/template";

View File

@ -21,7 +21,7 @@ package org.elasticsearch.script.mustache;
import org.elasticsearch.action.Action;
public class SearchTemplateAction extends Action<SearchTemplateRequest, SearchTemplateResponse> {
public class SearchTemplateAction extends Action<SearchTemplateResponse> {
public static final SearchTemplateAction INSTANCE = new SearchTemplateAction();
public static final String NAME = "indices:data/read/search/template";

View File

@ -62,7 +62,7 @@ import static org.elasticsearch.rest.RestRequest.Method.GET;
import static org.elasticsearch.rest.RestRequest.Method.POST;
import static org.elasticsearch.rest.RestStatus.OK;
public class PainlessExecuteAction extends Action<PainlessExecuteAction.Request, PainlessExecuteAction.Response> {
public class PainlessExecuteAction extends Action<PainlessExecuteAction.Response> {
static final PainlessExecuteAction INSTANCE = new PainlessExecuteAction();
private static final String NAME = "cluster:admin/scripts/painless/execute";

View File

@ -24,7 +24,7 @@ import org.elasticsearch.action.Action;
/**
* Action for explaining evaluating search ranking results.
*/
public class RankEvalAction extends Action<RankEvalRequest, RankEvalResponse> {
public class RankEvalAction extends Action<RankEvalResponse> {
public static final RankEvalAction INSTANCE = new RankEvalAction();
public static final String NAME = "indices:data/read/rank_eval";

View File

@ -25,7 +25,7 @@ import org.elasticsearch.client.ElasticsearchClient;
public class RankEvalRequestBuilder extends ActionRequestBuilder<RankEvalRequest, RankEvalResponse> {
public RankEvalRequestBuilder(ElasticsearchClient client, Action<RankEvalRequest, RankEvalResponse> action,
public RankEvalRequestBuilder(ElasticsearchClient client, Action<RankEvalResponse> action,
RankEvalRequest request) {
super(client, action, request);
}

View File

@ -20,7 +20,7 @@
package org.elasticsearch.index.reindex;
import org.elasticsearch.action.ActionRequestValidationException;
import org.elasticsearch.action.GenericAction;
import org.elasticsearch.action.Action;
import org.elasticsearch.action.support.ActiveShardCount;
import org.elasticsearch.client.node.NodeClient;
import org.elasticsearch.common.settings.Settings;
@ -38,7 +38,7 @@ import java.util.Map;
public abstract class AbstractBaseReindexRestHandler<
Request extends AbstractBulkByScrollRequest<Request>,
A extends GenericAction<Request, BulkByScrollResponse>
A extends Action<BulkByScrollResponse>
> extends BaseRestHandler {
private final A action;

View File

@ -19,7 +19,7 @@
package org.elasticsearch.index.reindex;
import org.elasticsearch.action.GenericAction;
import org.elasticsearch.action.Action;
import org.elasticsearch.action.search.SearchRequest;
import org.elasticsearch.common.bytes.BytesReference;
import org.elasticsearch.common.settings.Settings;
@ -38,7 +38,7 @@ import java.util.function.Consumer;
*/
public abstract class AbstractBulkByQueryRestHandler<
Request extends AbstractBulkByScrollRequest<Request>,
A extends GenericAction<Request, BulkByScrollResponse>> extends AbstractBaseReindexRestHandler<Request, A> {
A extends Action<BulkByScrollResponse>> extends AbstractBaseReindexRestHandler<Request, A> {
protected AbstractBulkByQueryRestHandler(Settings settings, A action) {
super(settings, action);

View File

@ -61,7 +61,7 @@ class BulkByScrollParallelizationHelper {
static <Request extends AbstractBulkByScrollRequest<Request>> void startSlicedAction(
Request request,
BulkByScrollTask task,
Action<Request, BulkByScrollResponse> action,
Action<BulkByScrollResponse> action,
ActionListener<BulkByScrollResponse> listener,
Client client,
DiscoveryNode node,
@ -85,7 +85,7 @@ class BulkByScrollParallelizationHelper {
private static <Request extends AbstractBulkByScrollRequest<Request>> void sliceConditionally(
Request request,
BulkByScrollTask task,
Action<Request, BulkByScrollResponse> action,
Action<BulkByScrollResponse> action,
ActionListener<BulkByScrollResponse> listener,
Client client,
DiscoveryNode node,
@ -118,7 +118,7 @@ class BulkByScrollParallelizationHelper {
private static <Request extends AbstractBulkByScrollRequest<Request>> void sendSubRequests(
Client client,
Action<Request, BulkByScrollResponse> action,
Action<BulkByScrollResponse> action,
String localNodeId,
BulkByScrollTask task,
Request request,

View File

@ -22,7 +22,7 @@ package org.elasticsearch.index.reindex;
import org.elasticsearch.action.Action;
import org.elasticsearch.action.admin.cluster.node.tasks.list.ListTasksResponse;
public class RethrottleAction extends Action<RethrottleRequest, ListTasksResponse> {
public class RethrottleAction extends Action<ListTasksResponse> {
public static final RethrottleAction INSTANCE = new RethrottleAction();
public static final String NAME = "cluster:admin/reindex/rethrottle";

View File

@ -29,7 +29,7 @@ import org.elasticsearch.client.ElasticsearchClient;
*/
public class RethrottleRequestBuilder extends TasksRequestBuilder<RethrottleRequest, ListTasksResponse, RethrottleRequestBuilder> {
public RethrottleRequestBuilder(ElasticsearchClient client,
Action<RethrottleRequest, ListTasksResponse> action) {
Action<ListTasksResponse> action) {
super(client, action, new RethrottleRequest());
}

View File

@ -745,7 +745,7 @@ public class AsyncBulkByScrollActionTests extends ESTestCase {
@SuppressWarnings("unchecked")
protected <Request extends ActionRequest, Response extends ActionResponse,
RequestBuilder extends ActionRequestBuilder<Request, Response>> void doExecute(
Action<Request, Response> action, Request request, ActionListener<Response> listener) {
Action<Response> action, Request request, ActionListener<Response> listener) {
if (false == expectedHeaders.equals(threadPool().getThreadContext().getHeaders())) {
listener.onFailure(
new RuntimeException("Expected " + expectedHeaders + " but got " + threadPool().getThreadContext().getHeaders()));

View File

@ -19,13 +19,49 @@
package org.elasticsearch.action;
/**
* Base action. Supports building the <code>Request</code> through a <code>RequestBuilder</code>.
*/
public abstract class Action<Request extends ActionRequest, Response extends ActionResponse>
extends GenericAction<Request, Response> {
import org.elasticsearch.common.settings.Settings;
import org.elasticsearch.transport.TransportRequestOptions;
/**
* A generic action. Should strive to make it a singleton.
*/
public abstract class Action<Response extends ActionResponse> {
private final String name;
/**
* @param name The name of the action, must be unique across actions.
*/
protected Action(String name) {
super(name);
this.name = name;
}
/**
* The name of the action. Must be unique across actions.
*/
public String name() {
return this.name;
}
/**
* Creates a new response instance.
*/
public abstract Response newResponse();
/**
* Optional request options for the action.
*/
public TransportRequestOptions transportOptions(Settings settings) {
return TransportRequestOptions.EMPTY;
}
@Override
public boolean equals(Object o) {
return o instanceof Action && name.equals(((Action) o).name());
}
@Override
public int hashCode() {
return name.hashCode();
}
}

View File

@ -406,8 +406,8 @@ public class ActionModule extends AbstractModule {
}
public <Request extends ActionRequest, Response extends ActionResponse> void register(
GenericAction<Request, Response> action, Class<? extends TransportAction<Request, Response>> transportAction,
Class<?>... supportTransportActions) {
Action<Response> action, Class<? extends TransportAction<Request, Response>> transportAction,
Class<?>... supportTransportActions) {
register(new ActionHandler<>(action, transportAction, supportTransportActions));
}
}
@ -675,10 +675,10 @@ public class ActionModule extends AbstractModule {
bind(AutoCreateIndex.class).toInstance(autoCreateIndex);
bind(TransportLivenessAction.class).asEagerSingleton();
// register GenericAction -> transportAction Map used by NodeClient
// register Action -> transportAction Map used by NodeClient
@SuppressWarnings("rawtypes")
MapBinder<GenericAction, TransportAction> transportActionsBinder
= MapBinder.newMapBinder(binder(), GenericAction.class, TransportAction.class);
MapBinder<Action, TransportAction> transportActionsBinder
= MapBinder.newMapBinder(binder(), Action.class, TransportAction.class);
for (ActionHandler<?, ?> action : actions.values()) {
// bind the action as eager singleton, so the map binder one will reuse it
bind(action.getTransportAction()).asEagerSingleton();

View File

@ -26,11 +26,11 @@ import java.util.Objects;
public abstract class ActionRequestBuilder<Request extends ActionRequest, Response extends ActionResponse> {
protected final Action<Request, Response> action;
protected final Action<Response> action;
protected final Request request;
protected final ElasticsearchClient client;
protected ActionRequestBuilder(ElasticsearchClient client, Action<Request, Response> action, Request request) {
protected ActionRequestBuilder(ElasticsearchClient client, Action<Response> action, Request request) {
Objects.requireNonNull(action, "action must not be null");
this.action = action;
this.request = request;

View File

@ -1,67 +0,0 @@
/*
* 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.action;
import org.elasticsearch.common.settings.Settings;
import org.elasticsearch.transport.TransportRequestOptions;
/**
* A generic action. Should strive to make it a singleton.
*/
public abstract class GenericAction<Request extends ActionRequest, Response extends ActionResponse> {
private final String name;
/**
* @param name The name of the action, must be unique across actions.
*/
protected GenericAction(String name) {
this.name = name;
}
/**
* The name of the action. Must be unique across actions.
*/
public String name() {
return this.name;
}
/**
* Creates a new response instance.
*/
public abstract Response newResponse();
/**
* Optional request options for the action.
*/
public TransportRequestOptions transportOptions(Settings settings) {
return TransportRequestOptions.EMPTY;
}
@Override
public boolean equals(Object o) {
return o instanceof GenericAction && name.equals(((GenericAction) o).name());
}
@Override
public int hashCode() {
return name.hashCode();
}
}

View File

@ -31,10 +31,10 @@ import org.elasticsearch.transport.TransportService;
public class TransportActionNodeProxy<Request extends ActionRequest, Response extends ActionResponse> extends AbstractComponent {
private final TransportService transportService;
private final GenericAction<Request, Response> action;
private final Action<Response> action;
private final TransportRequestOptions transportOptions;
public TransportActionNodeProxy(Settings settings, GenericAction<Request, Response> action, TransportService transportService) {
public TransportActionNodeProxy(Settings settings, Action<Response> action, TransportService transportService) {
super(settings);
this.action = action;
this.transportService = transportService;

View File

@ -24,7 +24,7 @@ import org.elasticsearch.action.Action;
/**
* Action for explaining shard allocation for a shard in the cluster
*/
public class ClusterAllocationExplainAction extends Action<ClusterAllocationExplainRequest, ClusterAllocationExplainResponse> {
public class ClusterAllocationExplainAction extends Action<ClusterAllocationExplainResponse> {
public static final ClusterAllocationExplainAction INSTANCE = new ClusterAllocationExplainAction();
public static final String NAME = "cluster:monitor/allocation/explain";

View File

@ -21,7 +21,7 @@ package org.elasticsearch.action.admin.cluster.health;
import org.elasticsearch.action.Action;
public class ClusterHealthAction extends Action<ClusterHealthRequest, ClusterHealthResponse> {
public class ClusterHealthAction extends Action<ClusterHealthResponse> {
public static final ClusterHealthAction INSTANCE = new ClusterHealthAction();
public static final String NAME = "cluster:monitor/health";

View File

@ -21,7 +21,7 @@ package org.elasticsearch.action.admin.cluster.node.hotthreads;
import org.elasticsearch.action.Action;
public class NodesHotThreadsAction extends Action<NodesHotThreadsRequest, NodesHotThreadsResponse> {
public class NodesHotThreadsAction extends Action<NodesHotThreadsResponse> {
public static final NodesHotThreadsAction INSTANCE = new NodesHotThreadsAction();
public static final String NAME = "cluster:monitor/nodes/hot_threads";

View File

@ -21,7 +21,7 @@ package org.elasticsearch.action.admin.cluster.node.info;
import org.elasticsearch.action.Action;
public class NodesInfoAction extends Action<NodesInfoRequest, NodesInfoResponse> {
public class NodesInfoAction extends Action<NodesInfoResponse> {
public static final NodesInfoAction INSTANCE = new NodesInfoAction();
public static final String NAME = "cluster:monitor/nodes/info";

View File

@ -22,7 +22,7 @@ package org.elasticsearch.action.admin.cluster.node.reload;
import org.elasticsearch.action.Action;
public class NodesReloadSecureSettingsAction
extends Action<NodesReloadSecureSettingsRequest, NodesReloadSecureSettingsResponse> {
extends Action<NodesReloadSecureSettingsResponse> {
public static final NodesReloadSecureSettingsAction INSTANCE = new NodesReloadSecureSettingsAction();
public static final String NAME = "cluster:admin/nodes/reload_secure_settings";

View File

@ -21,7 +21,7 @@ package org.elasticsearch.action.admin.cluster.node.stats;
import org.elasticsearch.action.Action;
public class NodesStatsAction extends Action<NodesStatsRequest, NodesStatsResponse> {
public class NodesStatsAction extends Action<NodesStatsResponse> {
public static final NodesStatsAction INSTANCE = new NodesStatsAction();
public static final String NAME = "cluster:monitor/nodes/stats";

View File

@ -24,7 +24,7 @@ import org.elasticsearch.action.Action;
/**
* Action for cancelling running tasks
*/
public class CancelTasksAction extends Action<CancelTasksRequest, CancelTasksResponse> {
public class CancelTasksAction extends Action<CancelTasksResponse> {
public static final CancelTasksAction INSTANCE = new CancelTasksAction();
public static final String NAME = "cluster:admin/tasks/cancel";

View File

@ -24,7 +24,7 @@ import org.elasticsearch.action.Action;
/**
* Action for retrieving a list of currently running tasks
*/
public class GetTaskAction extends Action<GetTaskRequest, GetTaskResponse> {
public class GetTaskAction extends Action<GetTaskResponse> {
public static final GetTaskAction INSTANCE = new GetTaskAction();
public static final String NAME = "cluster:monitor/task/get";

View File

@ -24,7 +24,7 @@ import org.elasticsearch.action.Action;
/**
* Action for retrieving a list of currently running tasks
*/
public class ListTasksAction extends Action<ListTasksRequest, ListTasksResponse> {
public class ListTasksAction extends Action<ListTasksResponse> {
public static final ListTasksAction INSTANCE = new ListTasksAction();
public static final String NAME = "cluster:monitor/tasks/lists";

View File

@ -21,7 +21,7 @@ package org.elasticsearch.action.admin.cluster.node.usage;
import org.elasticsearch.action.Action;
public class NodesUsageAction extends Action<NodesUsageRequest, NodesUsageResponse> {
public class NodesUsageAction extends Action<NodesUsageResponse> {
public static final NodesUsageAction INSTANCE = new NodesUsageAction();
public static final String NAME = "cluster:monitor/nodes/usage";

View File

@ -26,7 +26,7 @@ import org.elasticsearch.client.ElasticsearchClient;
public class NodesUsageRequestBuilder
extends NodesOperationRequestBuilder<NodesUsageRequest, NodesUsageResponse, NodesUsageRequestBuilder> {
public NodesUsageRequestBuilder(ElasticsearchClient client, Action<NodesUsageRequest, NodesUsageResponse> action) {
public NodesUsageRequestBuilder(ElasticsearchClient client, Action<NodesUsageResponse> action) {
super(client, action, new NodesUsageRequest());
}

View File

@ -21,7 +21,7 @@ package org.elasticsearch.action.admin.cluster.remote;
import org.elasticsearch.action.Action;
public final class RemoteInfoAction extends Action<RemoteInfoRequest, RemoteInfoResponse> {
public final class RemoteInfoAction extends Action<RemoteInfoResponse> {
public static final String NAME = "cluster:monitor/remote/info";
public static final RemoteInfoAction INSTANCE = new RemoteInfoAction();

View File

@ -24,7 +24,7 @@ import org.elasticsearch.action.Action;
/**
* Unregister repository action
*/
public class DeleteRepositoryAction extends Action<DeleteRepositoryRequest, DeleteRepositoryResponse> {
public class DeleteRepositoryAction extends Action<DeleteRepositoryResponse> {
public static final DeleteRepositoryAction INSTANCE = new DeleteRepositoryAction();
public static final String NAME = "cluster:admin/repository/delete";

View File

@ -24,7 +24,7 @@ import org.elasticsearch.action.Action;
/**
* Get repositories action
*/
public class GetRepositoriesAction extends Action<GetRepositoriesRequest, GetRepositoriesResponse> {
public class GetRepositoriesAction extends Action<GetRepositoriesResponse> {
public static final GetRepositoriesAction INSTANCE = new GetRepositoriesAction();
public static final String NAME = "cluster:admin/repository/get";

View File

@ -24,7 +24,7 @@ import org.elasticsearch.action.Action;
/**
* Register repository action
*/
public class PutRepositoryAction extends Action<PutRepositoryRequest, PutRepositoryResponse> {
public class PutRepositoryAction extends Action<PutRepositoryResponse> {
public static final PutRepositoryAction INSTANCE = new PutRepositoryAction();
public static final String NAME = "cluster:admin/repository/put";

View File

@ -24,7 +24,7 @@ import org.elasticsearch.action.Action;
/**
* Unregister repository action
*/
public class VerifyRepositoryAction extends Action<VerifyRepositoryRequest, VerifyRepositoryResponse> {
public class VerifyRepositoryAction extends Action<VerifyRepositoryResponse> {
public static final VerifyRepositoryAction INSTANCE = new VerifyRepositoryAction();
public static final String NAME = "cluster:admin/repository/verify";

View File

@ -21,7 +21,7 @@ package org.elasticsearch.action.admin.cluster.reroute;
import org.elasticsearch.action.Action;
public class ClusterRerouteAction extends Action<ClusterRerouteRequest, ClusterRerouteResponse> {
public class ClusterRerouteAction extends Action<ClusterRerouteResponse> {
public static final ClusterRerouteAction INSTANCE = new ClusterRerouteAction();
public static final String NAME = "cluster:admin/reroute";

View File

@ -21,7 +21,7 @@ package org.elasticsearch.action.admin.cluster.settings;
import org.elasticsearch.action.Action;
public class ClusterUpdateSettingsAction extends Action<ClusterUpdateSettingsRequest, ClusterUpdateSettingsResponse> {
public class ClusterUpdateSettingsAction extends Action<ClusterUpdateSettingsResponse> {
public static final ClusterUpdateSettingsAction INSTANCE = new ClusterUpdateSettingsAction();
public static final String NAME = "cluster:admin/settings/update";

View File

@ -21,7 +21,7 @@ package org.elasticsearch.action.admin.cluster.shards;
import org.elasticsearch.action.Action;
public class ClusterSearchShardsAction extends Action<ClusterSearchShardsRequest, ClusterSearchShardsResponse> {
public class ClusterSearchShardsAction extends Action<ClusterSearchShardsResponse> {
public static final ClusterSearchShardsAction INSTANCE = new ClusterSearchShardsAction();
public static final String NAME = "indices:admin/shards/search_shards";

View File

@ -24,7 +24,7 @@ import org.elasticsearch.action.Action;
/**
* Create snapshot action
*/
public class CreateSnapshotAction extends Action<CreateSnapshotRequest, CreateSnapshotResponse> {
public class CreateSnapshotAction extends Action<CreateSnapshotResponse> {
public static final CreateSnapshotAction INSTANCE = new CreateSnapshotAction();
public static final String NAME = "cluster:admin/snapshot/create";

View File

@ -24,7 +24,7 @@ import org.elasticsearch.action.Action;
/**
* Delete snapshot action
*/
public class DeleteSnapshotAction extends Action<DeleteSnapshotRequest, DeleteSnapshotResponse> {
public class DeleteSnapshotAction extends Action<DeleteSnapshotResponse> {
public static final DeleteSnapshotAction INSTANCE = new DeleteSnapshotAction();
public static final String NAME = "cluster:admin/snapshot/delete";

View File

@ -24,7 +24,7 @@ import org.elasticsearch.action.Action;
/**
* Get snapshots action
*/
public class GetSnapshotsAction extends Action<GetSnapshotsRequest, GetSnapshotsResponse> {
public class GetSnapshotsAction extends Action<GetSnapshotsResponse> {
public static final GetSnapshotsAction INSTANCE = new GetSnapshotsAction();
public static final String NAME = "cluster:admin/snapshot/get";

View File

@ -24,7 +24,7 @@ import org.elasticsearch.action.Action;
/**
* Restore snapshot action
*/
public class RestoreSnapshotAction extends Action<RestoreSnapshotRequest, RestoreSnapshotResponse> {
public class RestoreSnapshotAction extends Action<RestoreSnapshotResponse> {
public static final RestoreSnapshotAction INSTANCE = new RestoreSnapshotAction();
public static final String NAME = "cluster:admin/snapshot/restore";

View File

@ -24,7 +24,7 @@ import org.elasticsearch.action.Action;
/**
* Snapshots status action
*/
public class SnapshotsStatusAction extends Action<SnapshotsStatusRequest, SnapshotsStatusResponse> {
public class SnapshotsStatusAction extends Action<SnapshotsStatusResponse> {
public static final SnapshotsStatusAction INSTANCE = new SnapshotsStatusAction();
public static final String NAME = "cluster:admin/snapshot/status";

View File

@ -21,7 +21,7 @@ package org.elasticsearch.action.admin.cluster.state;
import org.elasticsearch.action.Action;
public class ClusterStateAction extends Action<ClusterStateRequest, ClusterStateResponse> {
public class ClusterStateAction extends Action<ClusterStateResponse> {
public static final ClusterStateAction INSTANCE = new ClusterStateAction();
public static final String NAME = "cluster:monitor/state";

View File

@ -21,7 +21,7 @@ package org.elasticsearch.action.admin.cluster.stats;
import org.elasticsearch.action.Action;
public class ClusterStatsAction extends Action<ClusterStatsRequest, ClusterStatsResponse> {
public class ClusterStatsAction extends Action<ClusterStatsResponse> {
public static final ClusterStatsAction INSTANCE = new ClusterStatsAction();
public static final String NAME = "cluster:monitor/stats";

View File

@ -21,7 +21,7 @@ package org.elasticsearch.action.admin.cluster.storedscripts;
import org.elasticsearch.action.Action;
public class DeleteStoredScriptAction extends Action<DeleteStoredScriptRequest, DeleteStoredScriptResponse> {
public class DeleteStoredScriptAction extends Action<DeleteStoredScriptResponse> {
public static final DeleteStoredScriptAction INSTANCE = new DeleteStoredScriptAction();
public static final String NAME = "cluster:admin/script/delete";

View File

@ -21,7 +21,7 @@ package org.elasticsearch.action.admin.cluster.storedscripts;
import org.elasticsearch.action.Action;
public class GetStoredScriptAction extends Action<GetStoredScriptRequest, GetStoredScriptResponse> {
public class GetStoredScriptAction extends Action<GetStoredScriptResponse> {
public static final GetStoredScriptAction INSTANCE = new GetStoredScriptAction();
public static final String NAME = "cluster:admin/script/get";

View File

@ -22,7 +22,7 @@ package org.elasticsearch.action.admin.cluster.storedscripts;
import org.elasticsearch.action.Action;
public class PutStoredScriptAction extends Action<PutStoredScriptRequest, PutStoredScriptResponse> {
public class PutStoredScriptAction extends Action<PutStoredScriptResponse> {
public static final PutStoredScriptAction INSTANCE = new PutStoredScriptAction();
public static final String NAME = "cluster:admin/script/put";

View File

@ -21,7 +21,7 @@ package org.elasticsearch.action.admin.cluster.tasks;
import org.elasticsearch.action.Action;
public class PendingClusterTasksAction extends Action<PendingClusterTasksRequest, PendingClusterTasksResponse> {
public class PendingClusterTasksAction extends Action<PendingClusterTasksResponse> {
public static final PendingClusterTasksAction INSTANCE = new PendingClusterTasksAction();
public static final String NAME = "cluster:monitor/task";

View File

@ -21,7 +21,7 @@ package org.elasticsearch.action.admin.indices.alias;
import org.elasticsearch.action.Action;
public class IndicesAliasesAction extends Action<IndicesAliasesRequest, IndicesAliasesResponse> {
public class IndicesAliasesAction extends Action<IndicesAliasesResponse> {
public static final IndicesAliasesAction INSTANCE = new IndicesAliasesAction();
public static final String NAME = "indices:admin/aliases";

View File

@ -20,9 +20,8 @@
package org.elasticsearch.action.admin.indices.alias.exists;
import org.elasticsearch.action.Action;
import org.elasticsearch.action.admin.indices.alias.get.GetAliasesRequest;
public class AliasesExistAction extends Action<GetAliasesRequest, AliasesExistResponse> {
public class AliasesExistAction extends Action<AliasesExistResponse> {
public static final AliasesExistAction INSTANCE = new AliasesExistAction();
public static final String NAME = "indices:admin/aliases/exists";

View File

@ -28,7 +28,7 @@ import org.elasticsearch.common.util.ArrayUtils;
public abstract class BaseAliasesRequestBuilder<Response extends ActionResponse, Builder extends BaseAliasesRequestBuilder<Response, Builder>> extends MasterNodeReadOperationRequestBuilder<GetAliasesRequest, Response, Builder> {
public BaseAliasesRequestBuilder(ElasticsearchClient client, Action<GetAliasesRequest, Response> action, String... aliases) {
public BaseAliasesRequestBuilder(ElasticsearchClient client, Action<Response> action, String... aliases) {
super(client, action, new GetAliasesRequest(aliases));
}

View File

@ -21,7 +21,7 @@ package org.elasticsearch.action.admin.indices.alias.get;
import org.elasticsearch.action.Action;
public class GetAliasesAction extends Action<GetAliasesRequest, GetAliasesResponse> {
public class GetAliasesAction extends Action<GetAliasesResponse> {
public static final GetAliasesAction INSTANCE = new GetAliasesAction();
public static final String NAME = "indices:admin/aliases/get";

View File

@ -21,7 +21,7 @@ package org.elasticsearch.action.admin.indices.analyze;
import org.elasticsearch.action.Action;
public class AnalyzeAction extends Action<AnalyzeRequest, AnalyzeResponse> {
public class AnalyzeAction extends Action<AnalyzeResponse> {
public static final AnalyzeAction INSTANCE = new AnalyzeAction();
public static final String NAME = "indices:admin/analyze";

View File

@ -21,7 +21,7 @@ package org.elasticsearch.action.admin.indices.cache.clear;
import org.elasticsearch.action.Action;
public class ClearIndicesCacheAction extends Action<ClearIndicesCacheRequest, ClearIndicesCacheResponse> {
public class ClearIndicesCacheAction extends Action<ClearIndicesCacheResponse> {
public static final ClearIndicesCacheAction INSTANCE = new ClearIndicesCacheAction();
public static final String NAME = "indices:admin/cache/clear";

View File

@ -21,7 +21,7 @@ package org.elasticsearch.action.admin.indices.close;
import org.elasticsearch.action.Action;
public class CloseIndexAction extends Action<CloseIndexRequest, CloseIndexResponse> {
public class CloseIndexAction extends Action<CloseIndexResponse> {
public static final CloseIndexAction INSTANCE = new CloseIndexAction();
public static final String NAME = "indices:admin/close";

View File

@ -21,7 +21,7 @@ package org.elasticsearch.action.admin.indices.create;
import org.elasticsearch.action.Action;
public class CreateIndexAction extends Action<CreateIndexRequest, CreateIndexResponse> {
public class CreateIndexAction extends Action<CreateIndexResponse> {
public static final CreateIndexAction INSTANCE = new CreateIndexAction();
public static final String NAME = "indices:admin/create";

View File

@ -21,7 +21,7 @@ package org.elasticsearch.action.admin.indices.delete;
import org.elasticsearch.action.Action;
public class DeleteIndexAction extends Action<DeleteIndexRequest, DeleteIndexResponse> {
public class DeleteIndexAction extends Action<DeleteIndexResponse> {
public static final DeleteIndexAction INSTANCE = new DeleteIndexAction();
public static final String NAME = "indices:admin/delete";

View File

@ -21,7 +21,7 @@ package org.elasticsearch.action.admin.indices.exists.indices;
import org.elasticsearch.action.Action;
public class IndicesExistsAction extends Action<IndicesExistsRequest, IndicesExistsResponse> {
public class IndicesExistsAction extends Action<IndicesExistsResponse> {
public static final IndicesExistsAction INSTANCE = new IndicesExistsAction();
public static final String NAME = "indices:admin/exists";

View File

@ -20,7 +20,7 @@ package org.elasticsearch.action.admin.indices.exists.types;
import org.elasticsearch.action.Action;
public class TypesExistsAction extends Action<TypesExistsRequest, TypesExistsResponse> {
public class TypesExistsAction extends Action<TypesExistsResponse> {
public static final TypesExistsAction INSTANCE = new TypesExistsAction();
public static final String NAME = "indices:admin/types/exists";

View File

@ -21,7 +21,7 @@ package org.elasticsearch.action.admin.indices.flush;
import org.elasticsearch.action.Action;
public class FlushAction extends Action<FlushRequest, FlushResponse> {
public class FlushAction extends Action<FlushResponse> {
public static final FlushAction INSTANCE = new FlushAction();
public static final String NAME = "indices:admin/flush";

View File

@ -22,7 +22,7 @@ package org.elasticsearch.action.admin.indices.flush;
import org.elasticsearch.action.Action;
public class SyncedFlushAction extends Action<SyncedFlushRequest, SyncedFlushResponse> {
public class SyncedFlushAction extends Action<SyncedFlushResponse> {
public static final SyncedFlushAction INSTANCE = new SyncedFlushAction();
public static final String NAME = "indices:admin/synced_flush";

View File

@ -21,7 +21,7 @@ package org.elasticsearch.action.admin.indices.forcemerge;
import org.elasticsearch.action.Action;
public class ForceMergeAction extends Action<ForceMergeRequest, ForceMergeResponse> {
public class ForceMergeAction extends Action<ForceMergeResponse> {
public static final ForceMergeAction INSTANCE = new ForceMergeAction();
public static final String NAME = "indices:admin/forcemerge";

View File

@ -21,7 +21,7 @@ package org.elasticsearch.action.admin.indices.get;
import org.elasticsearch.action.Action;
public class GetIndexAction extends Action<GetIndexRequest, GetIndexResponse> {
public class GetIndexAction extends Action<GetIndexResponse> {
public static final GetIndexAction INSTANCE = new GetIndexAction();
public static final String NAME = "indices:admin/get";

View File

@ -21,7 +21,7 @@ package org.elasticsearch.action.admin.indices.mapping.get;
import org.elasticsearch.action.Action;
public class GetFieldMappingsAction extends Action<GetFieldMappingsRequest, GetFieldMappingsResponse> {
public class GetFieldMappingsAction extends Action<GetFieldMappingsResponse> {
public static final GetFieldMappingsAction INSTANCE = new GetFieldMappingsAction();
public static final String NAME = "indices:admin/mappings/fields/get";

View File

@ -21,7 +21,7 @@ package org.elasticsearch.action.admin.indices.mapping.get;
import org.elasticsearch.action.Action;
public class GetMappingsAction extends Action<GetMappingsRequest, GetMappingsResponse> {
public class GetMappingsAction extends Action<GetMappingsResponse> {
public static final GetMappingsAction INSTANCE = new GetMappingsAction();
public static final String NAME = "indices:admin/mappings/get";

View File

@ -21,7 +21,7 @@ package org.elasticsearch.action.admin.indices.mapping.put;
import org.elasticsearch.action.Action;
public class PutMappingAction extends Action<PutMappingRequest, PutMappingResponse> {
public class PutMappingAction extends Action<PutMappingResponse> {
public static final PutMappingAction INSTANCE = new PutMappingAction();
public static final String NAME = "indices:admin/mapping/put";

View File

@ -21,7 +21,7 @@ package org.elasticsearch.action.admin.indices.open;
import org.elasticsearch.action.Action;
public class OpenIndexAction extends Action<OpenIndexRequest, OpenIndexResponse> {
public class OpenIndexAction extends Action<OpenIndexResponse> {
public static final OpenIndexAction INSTANCE = new OpenIndexAction();
public static final String NAME = "indices:admin/open";

View File

@ -24,7 +24,7 @@ import org.elasticsearch.action.Action;
/**
* Recovery information action
*/
public class RecoveryAction extends Action<RecoveryRequest, RecoveryResponse> {
public class RecoveryAction extends Action<RecoveryResponse> {
public static final RecoveryAction INSTANCE = new RecoveryAction();
public static final String NAME = "indices:monitor/recovery";

View File

@ -21,7 +21,7 @@ package org.elasticsearch.action.admin.indices.refresh;
import org.elasticsearch.action.Action;
public class RefreshAction extends Action<RefreshRequest, RefreshResponse> {
public class RefreshAction extends Action<RefreshResponse> {
public static final RefreshAction INSTANCE = new RefreshAction();
public static final String NAME = "indices:admin/refresh";

View File

@ -21,7 +21,7 @@ package org.elasticsearch.action.admin.indices.rollover;
import org.elasticsearch.action.Action;
public class RolloverAction extends Action<RolloverRequest, RolloverResponse> {
public class RolloverAction extends Action<RolloverResponse> {
public static final RolloverAction INSTANCE = new RolloverAction();
public static final String NAME = "indices:admin/rollover";

View File

@ -21,7 +21,7 @@ package org.elasticsearch.action.admin.indices.segments;
import org.elasticsearch.action.Action;
public class IndicesSegmentsAction extends Action<IndicesSegmentsRequest, IndicesSegmentResponse> {
public class IndicesSegmentsAction extends Action<IndicesSegmentResponse> {
public static final IndicesSegmentsAction INSTANCE = new IndicesSegmentsAction();
public static final String NAME = "indices:monitor/segments";

View File

@ -21,7 +21,7 @@ package org.elasticsearch.action.admin.indices.settings.get;
import org.elasticsearch.action.Action;
public class GetSettingsAction extends Action<GetSettingsRequest, GetSettingsResponse> {
public class GetSettingsAction extends Action<GetSettingsResponse> {
public static final GetSettingsAction INSTANCE = new GetSettingsAction();
public static final String NAME = "indices:monitor/settings/get";

View File

@ -21,7 +21,7 @@ package org.elasticsearch.action.admin.indices.settings.put;
import org.elasticsearch.action.Action;
public class UpdateSettingsAction extends Action<UpdateSettingsRequest, UpdateSettingsResponse> {
public class UpdateSettingsAction extends Action<UpdateSettingsResponse> {
public static final UpdateSettingsAction INSTANCE = new UpdateSettingsAction();
public static final String NAME = "indices:admin/settings/update";

View File

@ -30,7 +30,7 @@ import org.elasticsearch.cluster.health.ClusterHealthStatus;
*/
public class IndicesShardStoreRequestBuilder extends MasterNodeReadOperationRequestBuilder<IndicesShardStoresRequest, IndicesShardStoresResponse, IndicesShardStoreRequestBuilder> {
public IndicesShardStoreRequestBuilder(ElasticsearchClient client, Action<IndicesShardStoresRequest, IndicesShardStoresResponse> action, String... indices) {
public IndicesShardStoreRequestBuilder(ElasticsearchClient client, Action<IndicesShardStoresResponse> action, String... indices) {
super(client, action, new IndicesShardStoresRequest(indices));
}

View File

@ -28,7 +28,7 @@ import org.elasticsearch.action.Action;
* Shard store information reports which nodes hold shard copies, how recent they are
* and any exceptions on opening the shard index or from previous engine failures
*/
public class IndicesShardStoresAction extends Action<IndicesShardStoresRequest, IndicesShardStoresResponse> {
public class IndicesShardStoresAction extends Action<IndicesShardStoresResponse> {
public static final IndicesShardStoresAction INSTANCE = new IndicesShardStoresAction();
public static final String NAME = "indices:monitor/shard_stores";

View File

@ -22,7 +22,7 @@ package org.elasticsearch.action.admin.indices.shrink;
import org.elasticsearch.Version;
import org.elasticsearch.action.Action;
public class ResizeAction extends Action<ResizeRequest, ResizeResponse> {
public class ResizeAction extends Action<ResizeResponse> {
public static final ResizeAction INSTANCE = new ResizeAction();
public static final String NAME = "indices:admin/resize";

View File

@ -27,7 +27,7 @@ import org.elasticsearch.common.settings.Settings;
public class ResizeRequestBuilder extends AcknowledgedRequestBuilder<ResizeRequest, ResizeResponse,
ResizeRequestBuilder> {
public ResizeRequestBuilder(ElasticsearchClient client, Action<ResizeRequest, ResizeResponse> action) {
public ResizeRequestBuilder(ElasticsearchClient client, Action<ResizeResponse> action) {
super(client, action, new ResizeRequest());
}

View File

@ -21,7 +21,7 @@ package org.elasticsearch.action.admin.indices.shrink;
import org.elasticsearch.action.Action;
public class ShrinkAction extends Action<ResizeRequest, ResizeResponse> {
public class ShrinkAction extends Action<ResizeResponse> {
public static final ShrinkAction INSTANCE = new ShrinkAction();
public static final String NAME = "indices:admin/shrink";

View File

@ -21,7 +21,7 @@ package org.elasticsearch.action.admin.indices.stats;
import org.elasticsearch.action.Action;
public class IndicesStatsAction extends Action<IndicesStatsRequest, IndicesStatsResponse> {
public class IndicesStatsAction extends Action<IndicesStatsResponse> {
public static final IndicesStatsAction INSTANCE = new IndicesStatsAction();
public static final String NAME = "indices:monitor/stats";

View File

@ -21,7 +21,7 @@ package org.elasticsearch.action.admin.indices.template.delete;
import org.elasticsearch.action.Action;
public class DeleteIndexTemplateAction extends Action<DeleteIndexTemplateRequest, DeleteIndexTemplateResponse> {
public class DeleteIndexTemplateAction extends Action<DeleteIndexTemplateResponse> {
public static final DeleteIndexTemplateAction INSTANCE = new DeleteIndexTemplateAction();
public static final String NAME = "indices:admin/template/delete";

View File

@ -20,7 +20,7 @@ package org.elasticsearch.action.admin.indices.template.get;
import org.elasticsearch.action.Action;
public class GetIndexTemplatesAction extends Action<GetIndexTemplatesRequest, GetIndexTemplatesResponse> {
public class GetIndexTemplatesAction extends Action<GetIndexTemplatesResponse> {
public static final GetIndexTemplatesAction INSTANCE = new GetIndexTemplatesAction();
public static final String NAME = "indices:admin/template/get";

View File

@ -21,7 +21,7 @@ package org.elasticsearch.action.admin.indices.template.put;
import org.elasticsearch.action.Action;
public class PutIndexTemplateAction extends Action<PutIndexTemplateRequest, PutIndexTemplateResponse> {
public class PutIndexTemplateAction extends Action<PutIndexTemplateResponse> {
public static final PutIndexTemplateAction INSTANCE = new PutIndexTemplateAction();
public static final String NAME = "indices:admin/template/put";

View File

@ -21,7 +21,7 @@ package org.elasticsearch.action.admin.indices.upgrade.get;
import org.elasticsearch.action.Action;
public class UpgradeStatusAction extends Action<UpgradeStatusRequest, UpgradeStatusResponse> {
public class UpgradeStatusAction extends Action<UpgradeStatusResponse> {
public static final UpgradeStatusAction INSTANCE = new UpgradeStatusAction();
public static final String NAME = "indices:monitor/upgrade";

View File

@ -24,7 +24,7 @@ import org.elasticsearch.action.Action;
/**
* Upgrade index/indices action.
*/
public class UpgradeAction extends Action<UpgradeRequest, UpgradeResponse> {
public class UpgradeAction extends Action<UpgradeResponse> {
public static final UpgradeAction INSTANCE = new UpgradeAction();
public static final String NAME = "indices:admin/upgrade";

View File

@ -21,7 +21,7 @@ package org.elasticsearch.action.admin.indices.upgrade.post;
import org.elasticsearch.action.Action;
public class UpgradeSettingsAction extends Action<UpgradeSettingsRequest, UpgradeSettingsResponse> {
public class UpgradeSettingsAction extends Action<UpgradeSettingsResponse> {
public static final UpgradeSettingsAction INSTANCE = new UpgradeSettingsAction();
public static final String NAME = "internal:indices/admin/upgrade";

View File

@ -21,7 +21,7 @@ package org.elasticsearch.action.admin.indices.validate.query;
import org.elasticsearch.action.Action;
public class ValidateQueryAction extends Action<ValidateQueryRequest, ValidateQueryResponse> {
public class ValidateQueryAction extends Action<ValidateQueryResponse> {
public static final ValidateQueryAction INSTANCE = new ValidateQueryAction();
public static final String NAME = "indices:admin/validate/query";

View File

@ -23,7 +23,7 @@ import org.elasticsearch.action.Action;
import org.elasticsearch.common.settings.Settings;
import org.elasticsearch.transport.TransportRequestOptions;
public class BulkAction extends Action<BulkRequest, BulkResponse> {
public class BulkAction extends Action<BulkResponse> {
public static final BulkAction INSTANCE = new BulkAction();
public static final String NAME = "indices:data/write/bulk";

View File

@ -21,7 +21,7 @@ package org.elasticsearch.action.delete;
import org.elasticsearch.action.Action;
public class DeleteAction extends Action<DeleteRequest, DeleteResponse> {
public class DeleteAction extends Action<DeleteResponse> {
public static final DeleteAction INSTANCE = new DeleteAction();
public static final String NAME = "indices:data/write/delete";

View File

@ -24,7 +24,7 @@ import org.elasticsearch.action.Action;
/**
* Entry point for the explain feature.
*/
public class ExplainAction extends Action<ExplainRequest, ExplainResponse> {
public class ExplainAction extends Action<ExplainResponse> {
public static final ExplainAction INSTANCE = new ExplainAction();
public static final String NAME = "indices:data/read/explain";

View File

@ -21,7 +21,7 @@ package org.elasticsearch.action.fieldcaps;
import org.elasticsearch.action.Action;
public class FieldCapabilitiesAction extends Action<FieldCapabilitiesRequest, FieldCapabilitiesResponse> {
public class FieldCapabilitiesAction extends Action<FieldCapabilitiesResponse> {
public static final FieldCapabilitiesAction INSTANCE = new FieldCapabilitiesAction();
public static final String NAME = "indices:data/read/field_caps";

View File

@ -21,7 +21,7 @@ package org.elasticsearch.action.get;
import org.elasticsearch.action.Action;
public class GetAction extends Action<GetRequest, GetResponse> {
public class GetAction extends Action<GetResponse> {
public static final GetAction INSTANCE = new GetAction();
public static final String NAME = "indices:data/read/get";

View File

@ -21,7 +21,7 @@ package org.elasticsearch.action.get;
import org.elasticsearch.action.Action;
public class MultiGetAction extends Action<MultiGetRequest, MultiGetResponse> {
public class MultiGetAction extends Action<MultiGetResponse> {
public static final MultiGetAction INSTANCE = new MultiGetAction();
public static final String NAME = "indices:data/read/mget";

View File

@ -21,7 +21,7 @@ package org.elasticsearch.action.index;
import org.elasticsearch.action.Action;
public class IndexAction extends Action<IndexRequest, IndexResponse> {
public class IndexAction extends Action<IndexResponse> {
public static final IndexAction INSTANCE = new IndexAction();
public static final String NAME = "indices:data/write/index";

View File

@ -21,7 +21,7 @@ package org.elasticsearch.action.ingest;
import org.elasticsearch.action.Action;
public class DeletePipelineAction extends Action<DeletePipelineRequest, WritePipelineResponse> {
public class DeletePipelineAction extends Action<WritePipelineResponse> {
public static final DeletePipelineAction INSTANCE = new DeletePipelineAction();
public static final String NAME = "cluster:admin/ingest/pipeline/delete";

View File

@ -21,7 +21,7 @@ package org.elasticsearch.action.ingest;
import org.elasticsearch.action.Action;
public class GetPipelineAction extends Action<GetPipelineRequest, GetPipelineResponse> {
public class GetPipelineAction extends Action<GetPipelineResponse> {
public static final GetPipelineAction INSTANCE = new GetPipelineAction();
public static final String NAME = "cluster:admin/ingest/pipeline/get";

View File

@ -47,7 +47,7 @@ public final class IngestActionForwarder implements ClusterStateApplier {
ingestNodes = new DiscoveryNode[0];
}
public void forwardIngestRequest(Action<?, ?> action, ActionRequest request, ActionListener<?> listener) {
public void forwardIngestRequest(Action<?> action, ActionRequest request, ActionListener<?> listener) {
transportService.sendRequest(randomIngestNode(), action.name(), request,
new ActionListenerResponseHandler(listener, action::newResponse));
}

View File

@ -21,7 +21,7 @@ package org.elasticsearch.action.ingest;
import org.elasticsearch.action.Action;
public class PutPipelineAction extends Action<PutPipelineRequest, WritePipelineResponse> {
public class PutPipelineAction extends Action<WritePipelineResponse> {
public static final PutPipelineAction INSTANCE = new PutPipelineAction();
public static final String NAME = "cluster:admin/ingest/pipeline/put";

View File

@ -21,7 +21,7 @@ package org.elasticsearch.action.ingest;
import org.elasticsearch.action.Action;
public class SimulatePipelineAction extends Action<SimulatePipelineRequest, SimulatePipelineResponse> {
public class SimulatePipelineAction extends Action<SimulatePipelineResponse> {
public static final SimulatePipelineAction INSTANCE = new SimulatePipelineAction();
public static final String NAME = "cluster:admin/ingest/pipeline/simulate";

View File

@ -21,7 +21,7 @@ package org.elasticsearch.action.main;
import org.elasticsearch.action.Action;
public class MainAction extends Action<MainRequest, MainResponse> {
public class MainAction extends Action<MainResponse> {
public static final String NAME = "cluster:monitor/main";
public static final MainAction INSTANCE = new MainAction();

Some files were not shown because too many files have changed in this diff Show More