Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Remove unnecessary intermediate interfaces #6517

Merged
merged 1 commit into from Jun 17, 2014
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
4 changes: 2 additions & 2 deletions src/main/java/org/elasticsearch/action/Action.java
Expand Up @@ -19,12 +19,12 @@

package org.elasticsearch.action;

import org.elasticsearch.client.Client;
import org.elasticsearch.client.ElasticsearchClient;

/**
* Main action (used with {@link Client} API.
*/
public abstract class Action<Request extends ActionRequest, Response extends ActionResponse, RequestBuilder extends ActionRequestBuilder<Request, Response, RequestBuilder>>
public abstract class Action<Request extends ActionRequest, Response extends ActionResponse, RequestBuilder extends ActionRequestBuilder<Request, Response, RequestBuilder, Client>, Client extends ElasticsearchClient>
extends GenericAction<Request, Response> {

protected Action(String name) {
Expand Down
20 changes: 13 additions & 7 deletions src/main/java/org/elasticsearch/action/ActionRequestBuilder.java
Expand Up @@ -21,23 +21,29 @@

import org.elasticsearch.ElasticsearchException;
import org.elasticsearch.action.support.PlainListenableActionFuture;
import org.elasticsearch.client.internal.InternalGenericClient;
import org.elasticsearch.client.Client;
import org.elasticsearch.client.ClusterAdminClient;
import org.elasticsearch.client.ElasticsearchClient;
import org.elasticsearch.client.IndicesAdminClient;
import org.elasticsearch.common.unit.TimeValue;
import org.elasticsearch.threadpool.ThreadPool;

/**
*
*/
public abstract class ActionRequestBuilder<Request extends ActionRequest, Response extends ActionResponse, RequestBuilder extends ActionRequestBuilder> {
public abstract class ActionRequestBuilder<Request extends ActionRequest, Response extends ActionResponse, RequestBuilder extends ActionRequestBuilder, Client extends ElasticsearchClient> {

protected final Request request;
private final ThreadPool threadPool;
protected final Client client;

protected final InternalGenericClient client;

protected ActionRequestBuilder(InternalGenericClient client, Request request) {
this.client = client;
protected ActionRequestBuilder(Client client, Request request) {
this.request = request;
this.client = client;
threadPool = client.threadPool();
}


public Request request() {
return this.request;
}
Expand All @@ -55,7 +61,7 @@ public final RequestBuilder putHeader(String key, Object value) {
}

public ListenableActionFuture<Response> execute() {
PlainListenableActionFuture<Response> future = new PlainListenableActionFuture<>(request.listenerThreaded(), client.threadPool());
PlainListenableActionFuture<Response> future = new PlainListenableActionFuture<>(request.listenerThreaded(), threadPool);
execute(future);
return future;
}
Expand Down
Expand Up @@ -17,13 +17,18 @@
* under the License.
*/

package org.elasticsearch.client.internal;
package org.elasticsearch.action;

import org.elasticsearch.client.Client;
import org.elasticsearch.client.IndicesAdminClient;

/**
*
* Indices action (used with {@link IndicesAdminClient} API.
*/
public interface InternalIndicesAdminClient extends IndicesAdminClient, InternalGenericClient {
public abstract class ClientAction<Request extends ActionRequest, Response extends ActionResponse, RequestBuilder extends ActionRequestBuilder<Request, Response, RequestBuilder, Client>>
extends Action<Request, Response, RequestBuilder, Client> {

protected ClientAction(String name) {
super(name);
}
}
Expand Up @@ -19,21 +19,17 @@

package org.elasticsearch.action.admin.cluster;

import org.elasticsearch.action.ActionRequest;
import org.elasticsearch.action.ActionRequestBuilder;
import org.elasticsearch.action.ActionResponse;
import org.elasticsearch.action.GenericAction;
import org.elasticsearch.action.*;
import org.elasticsearch.client.ClusterAdminClient;
import org.elasticsearch.client.ElasticsearchClient;

/**
* Cluster action (used with {@link ClusterAdminClient} API.
*/
public abstract class ClusterAction<Request extends ActionRequest, Response extends ActionResponse, RequestBuilder extends ActionRequestBuilder<Request, Response, RequestBuilder>>
extends GenericAction<Request, Response> {
public abstract class ClusterAction<Request extends ActionRequest, Response extends ActionResponse, RequestBuilder extends ActionRequestBuilder<Request, Response, RequestBuilder, ClusterAdminClient>>
extends Action<Request, Response, RequestBuilder, ClusterAdminClient> {

protected ClusterAction(String name) {
super(name);
}

public abstract RequestBuilder newRequestBuilder(ClusterAdminClient client);
}
Expand Up @@ -22,17 +22,16 @@
import org.elasticsearch.action.ActionListener;
import org.elasticsearch.action.support.master.MasterNodeReadOperationRequestBuilder;
import org.elasticsearch.client.ClusterAdminClient;
import org.elasticsearch.client.internal.InternalClusterAdminClient;
import org.elasticsearch.common.Priority;
import org.elasticsearch.common.unit.TimeValue;

/**
*
*/
public class ClusterHealthRequestBuilder extends MasterNodeReadOperationRequestBuilder<ClusterHealthRequest, ClusterHealthResponse, ClusterHealthRequestBuilder> {
public class ClusterHealthRequestBuilder extends MasterNodeReadOperationRequestBuilder<ClusterHealthRequest, ClusterHealthResponse, ClusterHealthRequestBuilder, ClusterAdminClient> {

public ClusterHealthRequestBuilder(ClusterAdminClient clusterClient) {
super((InternalClusterAdminClient) clusterClient, new ClusterHealthRequest());
super(clusterClient, new ClusterHealthRequest());
}

public ClusterHealthRequestBuilder setIndices(String... indices) {
Expand Down Expand Up @@ -90,6 +89,6 @@ public ClusterHealthRequestBuilder setWaitForEvents(Priority waitForEvents) {

@Override
protected void doExecute(ActionListener<ClusterHealthResponse> listener) {
((ClusterAdminClient) client).health(request, listener);
client.health(request, listener);
}
}
Expand Up @@ -22,15 +22,14 @@
import org.elasticsearch.action.ActionListener;
import org.elasticsearch.action.support.nodes.NodesOperationRequestBuilder;
import org.elasticsearch.client.ClusterAdminClient;
import org.elasticsearch.client.internal.InternalClusterAdminClient;
import org.elasticsearch.common.unit.TimeValue;

/**
*/
public class NodesHotThreadsRequestBuilder extends NodesOperationRequestBuilder<NodesHotThreadsRequest, NodesHotThreadsResponse, NodesHotThreadsRequestBuilder> {

public NodesHotThreadsRequestBuilder(ClusterAdminClient clusterClient) {
super((InternalClusterAdminClient) clusterClient, new NodesHotThreadsRequest());
super(clusterClient, new NodesHotThreadsRequest());
}

public NodesHotThreadsRequestBuilder setThreads(int threads) {
Expand All @@ -50,6 +49,6 @@ public NodesHotThreadsRequestBuilder setInterval(TimeValue interval) {

@Override
protected void doExecute(ActionListener<NodesHotThreadsResponse> listener) {
((ClusterAdminClient) client).nodesHotThreads(request, listener);
client.nodesHotThreads(request, listener);
}
}
Expand Up @@ -22,15 +22,14 @@
import org.elasticsearch.action.ActionListener;
import org.elasticsearch.action.support.nodes.NodesOperationRequestBuilder;
import org.elasticsearch.client.ClusterAdminClient;
import org.elasticsearch.client.internal.InternalClusterAdminClient;

/**
*
*/
public class NodesInfoRequestBuilder extends NodesOperationRequestBuilder<NodesInfoRequest, NodesInfoResponse, NodesInfoRequestBuilder> {

public NodesInfoRequestBuilder(ClusterAdminClient clusterClient) {
super((InternalClusterAdminClient) clusterClient, new NodesInfoRequest());
super(clusterClient, new NodesInfoRequest());
}

/**
Expand Down Expand Up @@ -123,6 +122,6 @@ public NodesInfoRequestBuilder setPlugins(boolean plugins) {

@Override
protected void doExecute(ActionListener<NodesInfoResponse> listener) {
((ClusterAdminClient) client).nodesInfo(request, listener);
client.nodesInfo(request, listener);
}
}
Expand Up @@ -22,7 +22,6 @@
import org.elasticsearch.action.ActionListener;
import org.elasticsearch.action.support.nodes.NodesOperationRequestBuilder;
import org.elasticsearch.client.ClusterAdminClient;
import org.elasticsearch.client.internal.InternalClusterAdminClient;
import org.elasticsearch.common.unit.TimeValue;

/**
Expand All @@ -31,7 +30,7 @@
public class NodesRestartRequestBuilder extends NodesOperationRequestBuilder<NodesRestartRequest, NodesRestartResponse, NodesRestartRequestBuilder> {

public NodesRestartRequestBuilder(ClusterAdminClient clusterClient) {
super((InternalClusterAdminClient) clusterClient, new NodesRestartRequest());
super(clusterClient, new NodesRestartRequest());
}

/**
Expand All @@ -52,6 +51,6 @@ public NodesRestartRequestBuilder setDelay(String delay) {

@Override
protected void doExecute(ActionListener<NodesRestartResponse> listener) {
((ClusterAdminClient) client).nodesRestart(request, listener);
client.nodesRestart(request, listener);
}
}
Expand Up @@ -22,16 +22,15 @@
import org.elasticsearch.action.ActionListener;
import org.elasticsearch.action.support.master.MasterNodeOperationRequestBuilder;
import org.elasticsearch.client.ClusterAdminClient;
import org.elasticsearch.client.internal.InternalClusterAdminClient;
import org.elasticsearch.common.unit.TimeValue;

/**
*
*/
public class NodesShutdownRequestBuilder extends MasterNodeOperationRequestBuilder<NodesShutdownRequest, NodesShutdownResponse, NodesShutdownRequestBuilder> {
public class NodesShutdownRequestBuilder extends MasterNodeOperationRequestBuilder<NodesShutdownRequest, NodesShutdownResponse, NodesShutdownRequestBuilder, ClusterAdminClient> {

public NodesShutdownRequestBuilder(ClusterAdminClient clusterClient) {
super((InternalClusterAdminClient) clusterClient, new NodesShutdownRequest());
super(clusterClient, new NodesShutdownRequest());
}

/**
Expand Down Expand Up @@ -68,6 +67,6 @@ public NodesShutdownRequestBuilder setExit(boolean exit) {

@Override
protected void doExecute(ActionListener<NodesShutdownResponse> listener) {
((ClusterAdminClient) client).nodesShutdown(request, listener);
client.nodesShutdown(request, listener);
}
}
Expand Up @@ -23,15 +23,14 @@
import org.elasticsearch.action.admin.indices.stats.CommonStatsFlags;
import org.elasticsearch.action.support.nodes.NodesOperationRequestBuilder;
import org.elasticsearch.client.ClusterAdminClient;
import org.elasticsearch.client.internal.InternalClusterAdminClient;

/**
*
*/
public class NodesStatsRequestBuilder extends NodesOperationRequestBuilder<NodesStatsRequest, NodesStatsResponse, NodesStatsRequestBuilder> {

public NodesStatsRequestBuilder(ClusterAdminClient clusterClient) {
super((InternalClusterAdminClient) clusterClient, new NodesStatsRequest());
super(clusterClient, new NodesStatsRequest());
}

/**
Expand Down Expand Up @@ -137,6 +136,6 @@ public NodesStatsRequestBuilder setHttp(boolean http) {

@Override
protected void doExecute(ActionListener<NodesStatsResponse> listener) {
((ClusterAdminClient) client).nodesStats(request, listener);
client.nodesStats(request, listener);
}
}
Expand Up @@ -22,20 +22,19 @@
import org.elasticsearch.action.ActionListener;
import org.elasticsearch.action.support.master.AcknowledgedRequestBuilder;
import org.elasticsearch.client.ClusterAdminClient;
import org.elasticsearch.client.internal.InternalClusterAdminClient;

/**
* Builder for unregister repository request
*/
public class DeleteRepositoryRequestBuilder extends AcknowledgedRequestBuilder<DeleteRepositoryRequest, DeleteRepositoryResponse, DeleteRepositoryRequestBuilder> {
public class DeleteRepositoryRequestBuilder extends AcknowledgedRequestBuilder<DeleteRepositoryRequest, DeleteRepositoryResponse, DeleteRepositoryRequestBuilder, ClusterAdminClient> {

/**
* Constructs unregister repository request builder
*
* @param clusterAdminClient cluster admin client
*/
public DeleteRepositoryRequestBuilder(ClusterAdminClient clusterAdminClient) {
super((InternalClusterAdminClient) clusterAdminClient, new DeleteRepositoryRequest());
super(clusterAdminClient, new DeleteRepositoryRequest());
}

/**
Expand All @@ -44,7 +43,7 @@ public DeleteRepositoryRequestBuilder(ClusterAdminClient clusterAdminClient) {
* @param clusterAdminClient cluster adming client
*/
public DeleteRepositoryRequestBuilder(ClusterAdminClient clusterAdminClient, String name) {
super((InternalClusterAdminClient) clusterAdminClient, new DeleteRepositoryRequest(name));
super(clusterAdminClient, new DeleteRepositoryRequest(name));
}

/**
Expand All @@ -59,6 +58,6 @@ public DeleteRepositoryRequestBuilder setName(String name) {

@Override
protected void doExecute(ActionListener<DeleteRepositoryResponse> listener) {
((ClusterAdminClient) client).deleteRepository(request, listener);
client.deleteRepository(request, listener);
}
}
Expand Up @@ -23,20 +23,19 @@
import org.elasticsearch.action.ActionListener;
import org.elasticsearch.action.support.master.MasterNodeReadOperationRequestBuilder;
import org.elasticsearch.client.ClusterAdminClient;
import org.elasticsearch.client.internal.InternalClusterAdminClient;

/**
* Get repository request builder
*/
public class GetRepositoriesRequestBuilder extends MasterNodeReadOperationRequestBuilder<GetRepositoriesRequest, GetRepositoriesResponse, GetRepositoriesRequestBuilder> {
public class GetRepositoriesRequestBuilder extends MasterNodeReadOperationRequestBuilder<GetRepositoriesRequest, GetRepositoriesResponse, GetRepositoriesRequestBuilder, ClusterAdminClient> {

/**
* Creates new get repository request builder
*
* @param clusterAdminClient cluster admin client
*/
public GetRepositoriesRequestBuilder(ClusterAdminClient clusterAdminClient) {
super((InternalClusterAdminClient) clusterAdminClient, new GetRepositoriesRequest());
super(clusterAdminClient, new GetRepositoriesRequest());
}

/**
Expand All @@ -46,7 +45,7 @@ public GetRepositoriesRequestBuilder(ClusterAdminClient clusterAdminClient) {
* @param repositories list of repositories to get
*/
public GetRepositoriesRequestBuilder(ClusterAdminClient clusterAdminClient, String... repositories) {
super((InternalClusterAdminClient) clusterAdminClient, new GetRepositoriesRequest(repositories));
super(clusterAdminClient, new GetRepositoriesRequest(repositories));
}

/**
Expand All @@ -73,6 +72,6 @@ public GetRepositoriesRequestBuilder addRepositories(String... repositories) {

@Override
protected void doExecute(ActionListener<GetRepositoriesResponse> listener) {
((ClusterAdminClient) client).getRepositories(request, listener);
client.getRepositories(request, listener);
}
}
Expand Up @@ -22,23 +22,22 @@
import org.elasticsearch.action.ActionListener;
import org.elasticsearch.action.support.master.AcknowledgedRequestBuilder;
import org.elasticsearch.client.ClusterAdminClient;
import org.elasticsearch.client.internal.InternalClusterAdminClient;
import org.elasticsearch.common.settings.Settings;

import java.util.Map;

/**
* Register repository request builder
*/
public class PutRepositoryRequestBuilder extends AcknowledgedRequestBuilder<PutRepositoryRequest, PutRepositoryResponse, PutRepositoryRequestBuilder> {
public class PutRepositoryRequestBuilder extends AcknowledgedRequestBuilder<PutRepositoryRequest, PutRepositoryResponse, PutRepositoryRequestBuilder, ClusterAdminClient> {

/**
* Constructs register repository request
*
* @param clusterAdminClient cluster admin client
*/
public PutRepositoryRequestBuilder(ClusterAdminClient clusterAdminClient) {
super((InternalClusterAdminClient) clusterAdminClient, new PutRepositoryRequest());
super(clusterAdminClient, new PutRepositoryRequest());
}

/**
Expand All @@ -48,7 +47,7 @@ public PutRepositoryRequestBuilder(ClusterAdminClient clusterAdminClient) {
* @param name repository name
*/
public PutRepositoryRequestBuilder(ClusterAdminClient clusterAdminClient, String name) {
super((InternalClusterAdminClient) clusterAdminClient, new PutRepositoryRequest(name));
super(clusterAdminClient, new PutRepositoryRequest(name));
}

/**
Expand Down Expand Up @@ -119,6 +118,6 @@ public PutRepositoryRequestBuilder setSettings(Map<String, Object> source) {

@Override
protected void doExecute(ActionListener<PutRepositoryResponse> listener) {
((ClusterAdminClient) client).putRepository(request, listener);
client.putRepository(request, listener);
}
}