mirror of
https://github.com/honeymoose/OpenSearch.git
synced 2025-02-23 21:38:15 +00:00
allow to filter out settings from REST serivces
This commit is contained in:
parent
db4afc8750
commit
66f011ae76
@ -19,13 +19,13 @@
|
||||
|
||||
package org.elasticsearch.http;
|
||||
|
||||
import org.elasticsearch.util.guice.inject.Inject;
|
||||
import org.elasticsearch.ElasticSearchException;
|
||||
import org.elasticsearch.action.admin.cluster.node.info.TransportNodesInfo;
|
||||
import org.elasticsearch.rest.JsonThrowableRestResponse;
|
||||
import org.elasticsearch.rest.RestController;
|
||||
import org.elasticsearch.rest.XContentThrowableRestResponse;
|
||||
import org.elasticsearch.threadpool.ThreadPool;
|
||||
import org.elasticsearch.util.component.AbstractLifecycleComponent;
|
||||
import org.elasticsearch.util.guice.inject.Inject;
|
||||
import org.elasticsearch.util.path.PathTrie;
|
||||
import org.elasticsearch.util.settings.Settings;
|
||||
|
||||
@ -110,7 +110,7 @@ public class HttpServer extends AbstractLifecycleComponent<HttpServer> {
|
||||
httpHandler.handleRequest(request, channel);
|
||||
} catch (Exception e) {
|
||||
try {
|
||||
channel.sendResponse(new JsonThrowableRestResponse(request, e));
|
||||
channel.sendResponse(new XContentThrowableRestResponse(request, e));
|
||||
} catch (IOException e1) {
|
||||
logger.error("Failed to send failure response for uri [" + request.uri() + "]", e1);
|
||||
}
|
||||
@ -122,7 +122,7 @@ public class HttpServer extends AbstractLifecycleComponent<HttpServer> {
|
||||
httpHandler.handleRequest(request, channel);
|
||||
} catch (Exception e) {
|
||||
try {
|
||||
channel.sendResponse(new JsonThrowableRestResponse(request, e));
|
||||
channel.sendResponse(new XContentThrowableRestResponse(request, e));
|
||||
} catch (IOException e1) {
|
||||
logger.error("Failed to send failure response for uri [" + request.uri() + "]", e1);
|
||||
}
|
||||
|
@ -82,7 +82,7 @@ public class RestController extends AbstractLifecycleComponent<RestController> {
|
||||
handler.handleRequest(request, channel);
|
||||
} catch (Exception e) {
|
||||
try {
|
||||
channel.sendResponse(new JsonThrowableRestResponse(request, e));
|
||||
channel.sendResponse(new XContentThrowableRestResponse(request, e));
|
||||
} catch (IOException e1) {
|
||||
logger.error("Failed to send failure response for uri [" + request.uri() + "]", e1);
|
||||
}
|
||||
|
@ -28,7 +28,7 @@ import java.io.IOException;
|
||||
/**
|
||||
* @author kimchy (shay.banon)
|
||||
*/
|
||||
public class JsonRestResponse extends AbstractRestResponse {
|
||||
public class XContentRestResponse extends AbstractRestResponse {
|
||||
|
||||
private static final byte[] END_JSONP;
|
||||
|
||||
@ -51,13 +51,13 @@ public class JsonRestResponse extends AbstractRestResponse {
|
||||
|
||||
private final XContentBuilder builder;
|
||||
|
||||
public JsonRestResponse(RestRequest request, Status status) {
|
||||
public XContentRestResponse(RestRequest request, Status status) {
|
||||
this.builder = null;
|
||||
this.status = status;
|
||||
this.prefixUtf8Result = startJsonp(request);
|
||||
}
|
||||
|
||||
public JsonRestResponse(RestRequest request, Status status, XContentBuilder builder) throws IOException {
|
||||
public XContentRestResponse(RestRequest request, Status status, XContentBuilder builder) throws IOException {
|
||||
this.builder = builder;
|
||||
this.status = status;
|
||||
this.prefixUtf8Result = startJsonp(request);
|
@ -27,15 +27,15 @@ import static org.elasticsearch.ExceptionsHelper.*;
|
||||
import static org.elasticsearch.rest.action.support.RestXContentBuilder.*;
|
||||
|
||||
/**
|
||||
* @author kimchy (Shay Banon)
|
||||
* @author kimchy (shay.banon)
|
||||
*/
|
||||
public class JsonThrowableRestResponse extends JsonRestResponse {
|
||||
public class XContentThrowableRestResponse extends XContentRestResponse {
|
||||
|
||||
public JsonThrowableRestResponse(RestRequest request, Throwable t) throws IOException {
|
||||
public XContentThrowableRestResponse(RestRequest request, Throwable t) throws IOException {
|
||||
this(request, Status.INTERNAL_SERVER_ERROR, t);
|
||||
}
|
||||
|
||||
public JsonThrowableRestResponse(RestRequest request, Status status, Throwable t) throws IOException {
|
||||
public XContentThrowableRestResponse(RestRequest request, Status status, Throwable t) throws IOException {
|
||||
super(request, status, convert(request, t));
|
||||
}
|
||||
|
@ -69,7 +69,7 @@ public class RestClusterHealthAction extends BaseRestHandler {
|
||||
} catch (Exception e) {
|
||||
try {
|
||||
XContentBuilder builder = RestXContentBuilder.restContentBuilder(request);
|
||||
channel.sendResponse(new JsonRestResponse(request, PRECONDITION_FAILED, builder.startObject().field("error", e.getMessage()).endObject()));
|
||||
channel.sendResponse(new XContentRestResponse(request, PRECONDITION_FAILED, builder.startObject().field("error", e.getMessage()).endObject()));
|
||||
} catch (IOException e1) {
|
||||
logger.error("Failed to send failure response", e1);
|
||||
}
|
||||
@ -157,7 +157,7 @@ public class RestClusterHealthAction extends BaseRestHandler {
|
||||
|
||||
builder.endObject();
|
||||
|
||||
channel.sendResponse(new JsonRestResponse(request, RestResponse.Status.OK, builder));
|
||||
channel.sendResponse(new XContentRestResponse(request, RestResponse.Status.OK, builder));
|
||||
} catch (Exception e) {
|
||||
onFailure(e);
|
||||
}
|
||||
@ -165,7 +165,7 @@ public class RestClusterHealthAction extends BaseRestHandler {
|
||||
|
||||
@Override public void onFailure(Throwable e) {
|
||||
try {
|
||||
channel.sendResponse(new JsonThrowableRestResponse(request, e));
|
||||
channel.sendResponse(new XContentThrowableRestResponse(request, e));
|
||||
} catch (IOException e1) {
|
||||
logger.error("Failed to send failure response", e1);
|
||||
}
|
||||
|
@ -29,6 +29,7 @@ import org.elasticsearch.rest.action.support.RestActions;
|
||||
import org.elasticsearch.rest.action.support.RestXContentBuilder;
|
||||
import org.elasticsearch.util.guice.inject.Inject;
|
||||
import org.elasticsearch.util.settings.Settings;
|
||||
import org.elasticsearch.util.settings.SettingsFilter;
|
||||
import org.elasticsearch.util.xcontent.builder.XContentBuilder;
|
||||
|
||||
import java.io.IOException;
|
||||
@ -39,11 +40,15 @@ import java.util.Map;
|
||||
*/
|
||||
public class RestNodesInfoAction extends BaseRestHandler {
|
||||
|
||||
@Inject public RestNodesInfoAction(Settings settings, Client client, RestController controller) {
|
||||
super(settings, client);
|
||||
private final SettingsFilter settingsFilter;
|
||||
|
||||
@Inject public RestNodesInfoAction(Settings settings, Client client, RestController controller,
|
||||
SettingsFilter settingsFilter) {
|
||||
super(settings, client);
|
||||
controller.registerHandler(RestRequest.Method.GET, "/_cluster/nodes", this);
|
||||
controller.registerHandler(RestRequest.Method.GET, "/_cluster/nodes/{nodeId}", this);
|
||||
|
||||
this.settingsFilter = settingsFilter;
|
||||
}
|
||||
|
||||
@Override public void handleRequest(final RestRequest request, final RestChannel channel) {
|
||||
@ -77,7 +82,8 @@ public class RestNodesInfoAction extends BaseRestHandler {
|
||||
|
||||
if (includeSettings) {
|
||||
builder.startObject("settings");
|
||||
for (Map.Entry<String, String> entry : nodeInfo.settings().getAsMap().entrySet()) {
|
||||
Settings settings = settingsFilter.filterSettings(nodeInfo.settings());
|
||||
for (Map.Entry<String, String> entry : settings.getAsMap().entrySet()) {
|
||||
builder.field(entry.getKey(), entry.getValue());
|
||||
}
|
||||
builder.endObject();
|
||||
@ -88,7 +94,7 @@ public class RestNodesInfoAction extends BaseRestHandler {
|
||||
builder.endObject();
|
||||
|
||||
builder.endObject();
|
||||
channel.sendResponse(new JsonRestResponse(request, RestResponse.Status.OK, builder));
|
||||
channel.sendResponse(new XContentRestResponse(request, RestResponse.Status.OK, builder));
|
||||
} catch (Exception e) {
|
||||
onFailure(e);
|
||||
}
|
||||
@ -96,7 +102,7 @@ public class RestNodesInfoAction extends BaseRestHandler {
|
||||
|
||||
@Override public void onFailure(Throwable e) {
|
||||
try {
|
||||
channel.sendResponse(new JsonThrowableRestResponse(request, e));
|
||||
channel.sendResponse(new XContentThrowableRestResponse(request, e));
|
||||
} catch (IOException e1) {
|
||||
logger.error("Failed to send failure response", e1);
|
||||
}
|
||||
|
@ -66,7 +66,7 @@ public class RestNodesRestartAction extends BaseRestHandler {
|
||||
builder.endObject();
|
||||
|
||||
builder.endObject();
|
||||
channel.sendResponse(new JsonRestResponse(request, RestResponse.Status.OK, builder));
|
||||
channel.sendResponse(new XContentRestResponse(request, RestResponse.Status.OK, builder));
|
||||
} catch (Exception e) {
|
||||
onFailure(e);
|
||||
}
|
||||
@ -74,7 +74,7 @@ public class RestNodesRestartAction extends BaseRestHandler {
|
||||
|
||||
@Override public void onFailure(Throwable e) {
|
||||
try {
|
||||
channel.sendResponse(new JsonThrowableRestResponse(request, e));
|
||||
channel.sendResponse(new XContentThrowableRestResponse(request, e));
|
||||
} catch (IOException e1) {
|
||||
logger.error("Failed to send failure response", e1);
|
||||
}
|
||||
|
@ -66,7 +66,7 @@ public class RestNodesShutdownAction extends BaseRestHandler {
|
||||
builder.endObject();
|
||||
|
||||
builder.endObject();
|
||||
channel.sendResponse(new JsonRestResponse(request, RestResponse.Status.OK, builder));
|
||||
channel.sendResponse(new XContentRestResponse(request, RestResponse.Status.OK, builder));
|
||||
} catch (Exception e) {
|
||||
onFailure(e);
|
||||
}
|
||||
@ -74,7 +74,7 @@ public class RestNodesShutdownAction extends BaseRestHandler {
|
||||
|
||||
@Override public void onFailure(Throwable e) {
|
||||
try {
|
||||
channel.sendResponse(new JsonThrowableRestResponse(request, e));
|
||||
channel.sendResponse(new XContentThrowableRestResponse(request, e));
|
||||
} catch (IOException e1) {
|
||||
logger.error("Failed to send failure response", e1);
|
||||
}
|
||||
|
@ -64,7 +64,7 @@ public class RestBroadcastPingAction extends BaseRestHandler {
|
||||
builder.field("ok", true);
|
||||
buildBroadcastShardsHeader(builder, response);
|
||||
builder.endObject();
|
||||
channel.sendResponse(new JsonRestResponse(request, OK, builder));
|
||||
channel.sendResponse(new XContentRestResponse(request, OK, builder));
|
||||
} catch (Exception e) {
|
||||
onFailure(e);
|
||||
}
|
||||
@ -72,7 +72,7 @@ public class RestBroadcastPingAction extends BaseRestHandler {
|
||||
|
||||
@Override public void onFailure(Throwable e) {
|
||||
try {
|
||||
channel.sendResponse(new JsonThrowableRestResponse(request, e));
|
||||
channel.sendResponse(new XContentThrowableRestResponse(request, e));
|
||||
} catch (IOException e1) {
|
||||
logger.error("Failed to send failure response", e1);
|
||||
}
|
||||
|
@ -68,7 +68,7 @@ public class RestReplicationPingAction extends BaseRestHandler {
|
||||
.endObject();
|
||||
}
|
||||
builder.endObject();
|
||||
channel.sendResponse(new JsonRestResponse(request, OK, builder));
|
||||
channel.sendResponse(new XContentRestResponse(request, OK, builder));
|
||||
} catch (Exception e) {
|
||||
onFailure(e);
|
||||
}
|
||||
@ -76,7 +76,7 @@ public class RestReplicationPingAction extends BaseRestHandler {
|
||||
|
||||
@Override public void onFailure(Throwable e) {
|
||||
try {
|
||||
channel.sendResponse(new JsonThrowableRestResponse(request, e));
|
||||
channel.sendResponse(new XContentThrowableRestResponse(request, e));
|
||||
} catch (IOException e1) {
|
||||
logger.error("Failed to send failure response", e1);
|
||||
}
|
||||
|
@ -55,7 +55,7 @@ public class RestSinglePingAction extends BaseRestHandler {
|
||||
try {
|
||||
XContentBuilder generator = RestXContentBuilder.restContentBuilder(request);
|
||||
generator.startObject().field("ok", true).endObject();
|
||||
channel.sendResponse(new JsonRestResponse(request, OK, generator));
|
||||
channel.sendResponse(new XContentRestResponse(request, OK, generator));
|
||||
} catch (Exception e) {
|
||||
onFailure(e);
|
||||
}
|
||||
@ -63,7 +63,7 @@ public class RestSinglePingAction extends BaseRestHandler {
|
||||
|
||||
@Override public void onFailure(Throwable e) {
|
||||
try {
|
||||
channel.sendResponse(new JsonThrowableRestResponse(request, e));
|
||||
channel.sendResponse(new XContentThrowableRestResponse(request, e));
|
||||
} catch (IOException e1) {
|
||||
logger.error("Failed to send failure response", e1);
|
||||
}
|
||||
|
@ -33,20 +33,25 @@ import org.elasticsearch.rest.*;
|
||||
import org.elasticsearch.rest.action.support.RestXContentBuilder;
|
||||
import org.elasticsearch.util.guice.inject.Inject;
|
||||
import org.elasticsearch.util.settings.Settings;
|
||||
import org.elasticsearch.util.settings.SettingsFilter;
|
||||
import org.elasticsearch.util.xcontent.builder.XContentBuilder;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* @author kimchy (Shay Banon)
|
||||
* @author kimchy (shay.banon)
|
||||
*/
|
||||
public class RestClusterStateAction extends BaseRestHandler {
|
||||
|
||||
@Inject public RestClusterStateAction(Settings settings, Client client, RestController controller) {
|
||||
super(settings, client);
|
||||
private final SettingsFilter settingsFilter;
|
||||
|
||||
@Inject public RestClusterStateAction(Settings settings, Client client, RestController controller,
|
||||
SettingsFilter settingsFilter) {
|
||||
super(settings, client);
|
||||
controller.registerHandler(RestRequest.Method.GET, "/_cluster/state", this);
|
||||
|
||||
this.settingsFilter = settingsFilter;
|
||||
}
|
||||
|
||||
@Override public void handleRequest(final RestRequest request, final RestChannel channel) {
|
||||
@ -65,7 +70,8 @@ public class RestClusterStateAction extends BaseRestHandler {
|
||||
builder.startObject(indexMetaData.index());
|
||||
|
||||
builder.startObject("settings");
|
||||
for (Map.Entry<String, String> entry : indexMetaData.settings().getAsMap().entrySet()) {
|
||||
Settings settings = settingsFilter.filterSettings(indexMetaData.settings());
|
||||
for (Map.Entry<String, String> entry : settings.getAsMap().entrySet()) {
|
||||
builder.field(entry.getKey(), entry.getValue());
|
||||
}
|
||||
builder.endObject();
|
||||
@ -119,7 +125,7 @@ public class RestClusterStateAction extends BaseRestHandler {
|
||||
builder.endObject();
|
||||
|
||||
builder.endObject();
|
||||
channel.sendResponse(new JsonRestResponse(request, RestResponse.Status.OK, builder));
|
||||
channel.sendResponse(new XContentRestResponse(request, RestResponse.Status.OK, builder));
|
||||
} catch (Exception e) {
|
||||
onFailure(e);
|
||||
}
|
||||
@ -138,7 +144,7 @@ public class RestClusterStateAction extends BaseRestHandler {
|
||||
|
||||
@Override public void onFailure(Throwable e) {
|
||||
try {
|
||||
channel.sendResponse(new JsonThrowableRestResponse(request, e));
|
||||
channel.sendResponse(new XContentThrowableRestResponse(request, e));
|
||||
} catch (IOException e1) {
|
||||
logger.error("Failed to send failure response", e1);
|
||||
}
|
||||
|
@ -107,7 +107,7 @@ public class RestIndicesAliasesAction extends BaseRestHandler {
|
||||
}
|
||||
} catch (Exception e) {
|
||||
try {
|
||||
channel.sendResponse(new JsonThrowableRestResponse(request, e));
|
||||
channel.sendResponse(new XContentThrowableRestResponse(request, e));
|
||||
} catch (IOException e1) {
|
||||
logger.warn("Failed to send response", e1);
|
||||
return;
|
||||
@ -120,7 +120,7 @@ public class RestIndicesAliasesAction extends BaseRestHandler {
|
||||
builder.startObject()
|
||||
.field("ok", true)
|
||||
.endObject();
|
||||
channel.sendResponse(new JsonRestResponse(request, OK, builder));
|
||||
channel.sendResponse(new XContentRestResponse(request, OK, builder));
|
||||
} catch (Exception e) {
|
||||
onFailure(e);
|
||||
}
|
||||
@ -128,7 +128,7 @@ public class RestIndicesAliasesAction extends BaseRestHandler {
|
||||
|
||||
@Override public void onFailure(Throwable e) {
|
||||
try {
|
||||
channel.sendResponse(new JsonThrowableRestResponse(request, e));
|
||||
channel.sendResponse(new XContentThrowableRestResponse(request, e));
|
||||
} catch (IOException e1) {
|
||||
logger.error("Failed to send failure response", e1);
|
||||
}
|
||||
|
@ -67,7 +67,7 @@ public class RestClearIndicesCacheAction extends BaseRestHandler {
|
||||
} catch (Exception e) {
|
||||
try {
|
||||
XContentBuilder builder = RestXContentBuilder.restContentBuilder(request);
|
||||
channel.sendResponse(new JsonRestResponse(request, BAD_REQUEST, builder.startObject().field("error", e.getMessage()).endObject()));
|
||||
channel.sendResponse(new XContentRestResponse(request, BAD_REQUEST, builder.startObject().field("error", e.getMessage()).endObject()));
|
||||
} catch (IOException e1) {
|
||||
logger.error("Failed to send failure response", e1);
|
||||
}
|
||||
@ -83,7 +83,7 @@ public class RestClearIndicesCacheAction extends BaseRestHandler {
|
||||
buildBroadcastShardsHeader(builder, response);
|
||||
|
||||
builder.endObject();
|
||||
channel.sendResponse(new JsonRestResponse(request, OK, builder));
|
||||
channel.sendResponse(new XContentRestResponse(request, OK, builder));
|
||||
} catch (Exception e) {
|
||||
onFailure(e);
|
||||
}
|
||||
@ -91,7 +91,7 @@ public class RestClearIndicesCacheAction extends BaseRestHandler {
|
||||
|
||||
@Override public void onFailure(Throwable e) {
|
||||
try {
|
||||
channel.sendResponse(new JsonThrowableRestResponse(request, e));
|
||||
channel.sendResponse(new XContentThrowableRestResponse(request, e));
|
||||
} catch (IOException e1) {
|
||||
logger.error("Failed to send failure response", e1);
|
||||
}
|
||||
|
@ -59,7 +59,7 @@ public class RestCreateIndexAction extends BaseRestHandler {
|
||||
indexSettings = ImmutableSettings.settingsBuilder().loadFromSource(bodySettings).build();
|
||||
} catch (Exception e) {
|
||||
try {
|
||||
channel.sendResponse(new JsonThrowableRestResponse(request, BAD_REQUEST, new SettingsException("Failed to parse index settings", e)));
|
||||
channel.sendResponse(new XContentThrowableRestResponse(request, BAD_REQUEST, new SettingsException("Failed to parse index settings", e)));
|
||||
} catch (IOException e1) {
|
||||
logger.warn("Failed to send response", e1);
|
||||
return;
|
||||
@ -76,7 +76,7 @@ public class RestCreateIndexAction extends BaseRestHandler {
|
||||
.field("ok", true)
|
||||
.field("acknowledged", response.acknowledged())
|
||||
.endObject();
|
||||
channel.sendResponse(new JsonRestResponse(request, OK, builder));
|
||||
channel.sendResponse(new XContentRestResponse(request, OK, builder));
|
||||
} catch (Exception e) {
|
||||
onFailure(e);
|
||||
}
|
||||
@ -87,9 +87,9 @@ public class RestCreateIndexAction extends BaseRestHandler {
|
||||
Throwable t = unwrapCause(e);
|
||||
if (t instanceof IndexAlreadyExistsException || t instanceof InvalidIndexNameException) {
|
||||
XContentBuilder builder = RestXContentBuilder.restContentBuilder(request);
|
||||
channel.sendResponse(new JsonRestResponse(request, BAD_REQUEST, builder.startObject().field("error", t.getMessage()).endObject()));
|
||||
channel.sendResponse(new XContentRestResponse(request, BAD_REQUEST, builder.startObject().field("error", t.getMessage()).endObject()));
|
||||
} else {
|
||||
channel.sendResponse(new JsonThrowableRestResponse(request, e));
|
||||
channel.sendResponse(new XContentThrowableRestResponse(request, e));
|
||||
}
|
||||
} catch (IOException e1) {
|
||||
logger.error("Failed to send failure response", e1);
|
||||
|
@ -57,7 +57,7 @@ public class RestDeleteIndexAction extends BaseRestHandler {
|
||||
.field("ok", true)
|
||||
.field("acknowledged", response.acknowledged())
|
||||
.endObject();
|
||||
channel.sendResponse(new JsonRestResponse(request, OK, builder));
|
||||
channel.sendResponse(new XContentRestResponse(request, OK, builder));
|
||||
} catch (IOException e) {
|
||||
onFailure(e);
|
||||
}
|
||||
@ -68,9 +68,9 @@ public class RestDeleteIndexAction extends BaseRestHandler {
|
||||
Throwable t = unwrapCause(e);
|
||||
if (t instanceof IndexMissingException) {
|
||||
XContentBuilder builder = RestXContentBuilder.restContentBuilder(request);
|
||||
channel.sendResponse(new JsonRestResponse(request, BAD_REQUEST, builder.startObject().field("error", t.getMessage()).endObject()));
|
||||
channel.sendResponse(new XContentRestResponse(request, BAD_REQUEST, builder.startObject().field("error", t.getMessage()).endObject()));
|
||||
} else {
|
||||
channel.sendResponse(new JsonThrowableRestResponse(request, e));
|
||||
channel.sendResponse(new XContentThrowableRestResponse(request, e));
|
||||
}
|
||||
} catch (IOException e1) {
|
||||
logger.error("Failed to send failure response", e1);
|
||||
|
@ -72,7 +72,7 @@ public class RestFlushAction extends BaseRestHandler {
|
||||
buildBroadcastShardsHeader(builder, response);
|
||||
|
||||
builder.endObject();
|
||||
channel.sendResponse(new JsonRestResponse(request, OK, builder));
|
||||
channel.sendResponse(new XContentRestResponse(request, OK, builder));
|
||||
} catch (Exception e) {
|
||||
onFailure(e);
|
||||
}
|
||||
@ -80,7 +80,7 @@ public class RestFlushAction extends BaseRestHandler {
|
||||
|
||||
@Override public void onFailure(Throwable e) {
|
||||
try {
|
||||
channel.sendResponse(new JsonThrowableRestResponse(request, e));
|
||||
channel.sendResponse(new XContentThrowableRestResponse(request, e));
|
||||
} catch (IOException e1) {
|
||||
logger.error("Failed to send failure response", e1);
|
||||
}
|
||||
|
@ -71,7 +71,7 @@ public class RestGatewaySnapshotAction extends BaseRestHandler {
|
||||
}
|
||||
builder.endObject();
|
||||
builder.endObject();
|
||||
channel.sendResponse(new JsonRestResponse(request, OK, builder));
|
||||
channel.sendResponse(new XContentRestResponse(request, OK, builder));
|
||||
} catch (Exception e) {
|
||||
onFailure(e);
|
||||
}
|
||||
@ -79,7 +79,7 @@ public class RestGatewaySnapshotAction extends BaseRestHandler {
|
||||
|
||||
@Override public void onFailure(Throwable e) {
|
||||
try {
|
||||
channel.sendResponse(new JsonThrowableRestResponse(request, e));
|
||||
channel.sendResponse(new XContentThrowableRestResponse(request, e));
|
||||
} catch (IOException e1) {
|
||||
logger.error("Failed to send failure response", e1);
|
||||
}
|
||||
|
@ -69,7 +69,7 @@ public class RestPutMappingAction extends BaseRestHandler {
|
||||
.field("ok", true)
|
||||
.field("acknowledged", response.acknowledged());
|
||||
builder.endObject();
|
||||
channel.sendResponse(new JsonRestResponse(request, OK, builder));
|
||||
channel.sendResponse(new XContentRestResponse(request, OK, builder));
|
||||
} catch (IOException e) {
|
||||
onFailure(e);
|
||||
}
|
||||
@ -80,9 +80,9 @@ public class RestPutMappingAction extends BaseRestHandler {
|
||||
XContentBuilder builder = RestXContentBuilder.restContentBuilder(request);
|
||||
Throwable t = unwrapCause(e);
|
||||
if (t instanceof IndexMissingException || t instanceof InvalidTypeNameException || t instanceof MergeMappingException) {
|
||||
channel.sendResponse(new JsonRestResponse(request, BAD_REQUEST, builder.startObject().field("error", t.getMessage()).endObject()));
|
||||
channel.sendResponse(new XContentRestResponse(request, BAD_REQUEST, builder.startObject().field("error", t.getMessage()).endObject()));
|
||||
} else {
|
||||
channel.sendResponse(new JsonThrowableRestResponse(request, e));
|
||||
channel.sendResponse(new XContentThrowableRestResponse(request, e));
|
||||
}
|
||||
} catch (IOException e1) {
|
||||
logger.error("Failed to send failure response", e1);
|
||||
|
@ -71,7 +71,7 @@ public class RestOptimizeAction extends BaseRestHandler {
|
||||
} catch (Exception e) {
|
||||
try {
|
||||
XContentBuilder builder = RestXContentBuilder.restContentBuilder(request);
|
||||
channel.sendResponse(new JsonRestResponse(request, BAD_REQUEST, builder.startObject().field("error", e.getMessage()).endObject()));
|
||||
channel.sendResponse(new XContentRestResponse(request, BAD_REQUEST, builder.startObject().field("error", e.getMessage()).endObject()));
|
||||
} catch (IOException e1) {
|
||||
logger.error("Failed to send failure response", e1);
|
||||
}
|
||||
@ -87,7 +87,7 @@ public class RestOptimizeAction extends BaseRestHandler {
|
||||
buildBroadcastShardsHeader(builder, response);
|
||||
|
||||
builder.endObject();
|
||||
channel.sendResponse(new JsonRestResponse(request, OK, builder));
|
||||
channel.sendResponse(new XContentRestResponse(request, OK, builder));
|
||||
} catch (Exception e) {
|
||||
onFailure(e);
|
||||
}
|
||||
@ -95,7 +95,7 @@ public class RestOptimizeAction extends BaseRestHandler {
|
||||
|
||||
@Override public void onFailure(Throwable e) {
|
||||
try {
|
||||
channel.sendResponse(new JsonThrowableRestResponse(request, e));
|
||||
channel.sendResponse(new XContentThrowableRestResponse(request, e));
|
||||
} catch (IOException e1) {
|
||||
logger.error("Failed to send failure response", e1);
|
||||
}
|
||||
|
@ -71,7 +71,7 @@ public class RestRefreshAction extends BaseRestHandler {
|
||||
buildBroadcastShardsHeader(builder, response);
|
||||
|
||||
builder.endObject();
|
||||
channel.sendResponse(new JsonRestResponse(request, OK, builder));
|
||||
channel.sendResponse(new XContentRestResponse(request, OK, builder));
|
||||
} catch (Exception e) {
|
||||
onFailure(e);
|
||||
}
|
||||
@ -79,7 +79,7 @@ public class RestRefreshAction extends BaseRestHandler {
|
||||
|
||||
@Override public void onFailure(Throwable e) {
|
||||
try {
|
||||
channel.sendResponse(new JsonThrowableRestResponse(request, e));
|
||||
channel.sendResponse(new XContentThrowableRestResponse(request, e));
|
||||
} catch (IOException e1) {
|
||||
logger.error("Failed to send failure response", e1);
|
||||
}
|
||||
|
@ -27,6 +27,7 @@ import org.elasticsearch.rest.*;
|
||||
import org.elasticsearch.rest.action.support.RestXContentBuilder;
|
||||
import org.elasticsearch.util.guice.inject.Inject;
|
||||
import org.elasticsearch.util.settings.Settings;
|
||||
import org.elasticsearch.util.settings.SettingsFilter;
|
||||
import org.elasticsearch.util.xcontent.builder.XContentBuilder;
|
||||
|
||||
import java.io.IOException;
|
||||
@ -41,10 +42,15 @@ import static org.elasticsearch.rest.action.support.RestActions.*;
|
||||
*/
|
||||
public class RestIndicesStatusAction extends BaseRestHandler {
|
||||
|
||||
@Inject public RestIndicesStatusAction(Settings settings, Client client, RestController controller) {
|
||||
private final SettingsFilter settingsFilter;
|
||||
|
||||
@Inject public RestIndicesStatusAction(Settings settings, Client client, RestController controller,
|
||||
SettingsFilter settingsFilter) {
|
||||
super(settings, client);
|
||||
controller.registerHandler(GET, "/_status", this);
|
||||
controller.registerHandler(GET, "/{index}/_status", this);
|
||||
|
||||
this.settingsFilter = settingsFilter;
|
||||
}
|
||||
|
||||
@Override public void handleRequest(final RestRequest request, final RestChannel channel) {
|
||||
@ -73,7 +79,8 @@ public class RestIndicesStatusAction extends BaseRestHandler {
|
||||
builder.array("aliases", indexStatus.settings().getAsArray("index.aliases"));
|
||||
|
||||
builder.startObject("settings");
|
||||
for (Map.Entry<String, String> entry : indexStatus.settings().getAsMap().entrySet()) {
|
||||
Settings settings = settingsFilter.filterSettings(indexStatus.settings());
|
||||
for (Map.Entry<String, String> entry : settings.getAsMap().entrySet()) {
|
||||
builder.field(entry.getKey(), entry.getValue());
|
||||
}
|
||||
builder.endObject();
|
||||
@ -150,7 +157,7 @@ public class RestIndicesStatusAction extends BaseRestHandler {
|
||||
builder.endObject();
|
||||
|
||||
builder.endObject();
|
||||
channel.sendResponse(new JsonRestResponse(request, OK, builder));
|
||||
channel.sendResponse(new XContentRestResponse(request, OK, builder));
|
||||
} catch (Exception e) {
|
||||
onFailure(e);
|
||||
}
|
||||
@ -158,7 +165,7 @@ public class RestIndicesStatusAction extends BaseRestHandler {
|
||||
|
||||
@Override public void onFailure(Throwable e) {
|
||||
try {
|
||||
channel.sendResponse(new JsonThrowableRestResponse(request, e));
|
||||
channel.sendResponse(new XContentThrowableRestResponse(request, e));
|
||||
} catch (IOException e1) {
|
||||
logger.error("Failed to send failure response", e1);
|
||||
}
|
||||
|
@ -75,7 +75,7 @@ public class RestCountAction extends BaseRestHandler {
|
||||
} catch (Exception e) {
|
||||
try {
|
||||
XContentBuilder builder = RestXContentBuilder.restContentBuilder(request);
|
||||
channel.sendResponse(new JsonRestResponse(request, BAD_REQUEST, builder.startObject().field("error", e.getMessage()).endObject()));
|
||||
channel.sendResponse(new XContentRestResponse(request, BAD_REQUEST, builder.startObject().field("error", e.getMessage()).endObject()));
|
||||
} catch (IOException e1) {
|
||||
logger.error("Failed to send failure response", e1);
|
||||
}
|
||||
@ -92,7 +92,7 @@ public class RestCountAction extends BaseRestHandler {
|
||||
buildBroadcastShardsHeader(builder, response);
|
||||
|
||||
builder.endObject();
|
||||
channel.sendResponse(new JsonRestResponse(request, OK, builder));
|
||||
channel.sendResponse(new XContentRestResponse(request, OK, builder));
|
||||
} catch (Exception e) {
|
||||
onFailure(e);
|
||||
}
|
||||
@ -100,7 +100,7 @@ public class RestCountAction extends BaseRestHandler {
|
||||
|
||||
@Override public void onFailure(Throwable e) {
|
||||
try {
|
||||
channel.sendResponse(new JsonThrowableRestResponse(request, e));
|
||||
channel.sendResponse(new XContentThrowableRestResponse(request, e));
|
||||
} catch (IOException e1) {
|
||||
logger.error("Failed to send failure response", e1);
|
||||
}
|
||||
|
@ -61,7 +61,7 @@ public class RestDeleteAction extends BaseRestHandler {
|
||||
.field("_type", result.type())
|
||||
.field("_id", result.id())
|
||||
.endObject();
|
||||
channel.sendResponse(new JsonRestResponse(request, OK, builder));
|
||||
channel.sendResponse(new XContentRestResponse(request, OK, builder));
|
||||
} catch (Exception e) {
|
||||
onFailure(e);
|
||||
}
|
||||
@ -69,7 +69,7 @@ public class RestDeleteAction extends BaseRestHandler {
|
||||
|
||||
@Override public void onFailure(Throwable e) {
|
||||
try {
|
||||
channel.sendResponse(new JsonThrowableRestResponse(request, e));
|
||||
channel.sendResponse(new XContentThrowableRestResponse(request, e));
|
||||
} catch (IOException e1) {
|
||||
logger.error("Failed to send failure response", e1);
|
||||
}
|
||||
|
@ -64,7 +64,7 @@ public class RestDeleteByQueryAction extends BaseRestHandler {
|
||||
} catch (Exception e) {
|
||||
try {
|
||||
XContentBuilder builder = RestXContentBuilder.restContentBuilder(request);
|
||||
channel.sendResponse(new JsonRestResponse(request, PRECONDITION_FAILED, builder.startObject().field("error", e.getMessage()).endObject()));
|
||||
channel.sendResponse(new XContentRestResponse(request, PRECONDITION_FAILED, builder.startObject().field("error", e.getMessage()).endObject()));
|
||||
} catch (IOException e1) {
|
||||
logger.error("Failed to send failure response", e1);
|
||||
}
|
||||
@ -91,7 +91,7 @@ public class RestDeleteByQueryAction extends BaseRestHandler {
|
||||
builder.endObject();
|
||||
|
||||
builder.endObject();
|
||||
channel.sendResponse(new JsonRestResponse(request, OK, builder));
|
||||
channel.sendResponse(new XContentRestResponse(request, OK, builder));
|
||||
} catch (Exception e) {
|
||||
onFailure(e);
|
||||
}
|
||||
@ -99,7 +99,7 @@ public class RestDeleteByQueryAction extends BaseRestHandler {
|
||||
|
||||
@Override public void onFailure(Throwable e) {
|
||||
try {
|
||||
channel.sendResponse(new JsonThrowableRestResponse(request, e));
|
||||
channel.sendResponse(new XContentThrowableRestResponse(request, e));
|
||||
} catch (IOException e1) {
|
||||
logger.error("Failed to send failure response", e1);
|
||||
}
|
||||
|
@ -80,7 +80,7 @@ public class RestGetAction extends BaseRestHandler {
|
||||
builder.field("_type", response.type());
|
||||
builder.field("_id", response.id());
|
||||
builder.endObject();
|
||||
channel.sendResponse(new JsonRestResponse(request, NOT_FOUND, builder));
|
||||
channel.sendResponse(new XContentRestResponse(request, NOT_FOUND, builder));
|
||||
} else {
|
||||
XContentBuilder builder = restContentBuilder(request);
|
||||
builder.startObject();
|
||||
@ -118,7 +118,7 @@ public class RestGetAction extends BaseRestHandler {
|
||||
|
||||
|
||||
builder.endObject();
|
||||
channel.sendResponse(new JsonRestResponse(request, OK, builder));
|
||||
channel.sendResponse(new XContentRestResponse(request, OK, builder));
|
||||
}
|
||||
} catch (Exception e) {
|
||||
onFailure(e);
|
||||
@ -127,7 +127,7 @@ public class RestGetAction extends BaseRestHandler {
|
||||
|
||||
@Override public void onFailure(Throwable e) {
|
||||
try {
|
||||
channel.sendResponse(new JsonThrowableRestResponse(request, e));
|
||||
channel.sendResponse(new XContentThrowableRestResponse(request, e));
|
||||
} catch (IOException e1) {
|
||||
logger.error("Failed to send failure response", e1);
|
||||
}
|
||||
|
@ -67,7 +67,7 @@ public class RestIndexAction extends BaseRestHandler {
|
||||
} else {
|
||||
try {
|
||||
XContentBuilder builder = RestXContentBuilder.restContentBuilder(request);
|
||||
channel.sendResponse(new JsonRestResponse(request, BAD_REQUEST, builder.startObject().field("error", "opType [" + sOpType + "] not allowed, either [index] or [create] are allowed").endObject()));
|
||||
channel.sendResponse(new XContentRestResponse(request, BAD_REQUEST, builder.startObject().field("error", "opType [" + sOpType + "] not allowed, either [index] or [create] are allowed").endObject()));
|
||||
} catch (IOException e1) {
|
||||
logger.warn("Failed to send response", e1);
|
||||
return;
|
||||
@ -88,7 +88,7 @@ public class RestIndexAction extends BaseRestHandler {
|
||||
.field("_type", result.type())
|
||||
.field("_id", result.id())
|
||||
.endObject();
|
||||
channel.sendResponse(new JsonRestResponse(request, OK, builder));
|
||||
channel.sendResponse(new XContentRestResponse(request, OK, builder));
|
||||
} catch (Exception e) {
|
||||
onFailure(e);
|
||||
}
|
||||
@ -96,7 +96,7 @@ public class RestIndexAction extends BaseRestHandler {
|
||||
|
||||
@Override public void onFailure(Throwable e) {
|
||||
try {
|
||||
channel.sendResponse(new JsonThrowableRestResponse(request, e));
|
||||
channel.sendResponse(new XContentThrowableRestResponse(request, e));
|
||||
} catch (IOException e1) {
|
||||
logger.error("Failed to send failure response", e1);
|
||||
}
|
||||
|
@ -96,10 +96,10 @@ public class RestMainAction extends BaseRestHandler {
|
||||
builder.endObject();
|
||||
}
|
||||
builder.endObject();
|
||||
channel.sendResponse(new JsonRestResponse(request, RestResponse.Status.OK, builder));
|
||||
channel.sendResponse(new XContentRestResponse(request, RestResponse.Status.OK, builder));
|
||||
} catch (Exception e) {
|
||||
try {
|
||||
channel.sendResponse(new JsonThrowableRestResponse(request, e));
|
||||
channel.sendResponse(new XContentThrowableRestResponse(request, e));
|
||||
} catch (IOException e1) {
|
||||
logger.warn("Failed to send response", e);
|
||||
}
|
||||
|
@ -83,7 +83,7 @@ public class RestMoreLikeThisAction extends BaseRestHandler {
|
||||
} catch (Exception e) {
|
||||
try {
|
||||
XContentBuilder builder = restContentBuilder(request);
|
||||
channel.sendResponse(new JsonRestResponse(request, BAD_REQUEST, builder.startObject().field("error", e.getMessage()).endObject()));
|
||||
channel.sendResponse(new XContentRestResponse(request, BAD_REQUEST, builder.startObject().field("error", e.getMessage()).endObject()));
|
||||
} catch (IOException e1) {
|
||||
logger.error("Failed to send failure response", e1);
|
||||
}
|
||||
@ -97,7 +97,7 @@ public class RestMoreLikeThisAction extends BaseRestHandler {
|
||||
builder.startObject();
|
||||
response.toXContent(builder, request);
|
||||
builder.endObject();
|
||||
channel.sendResponse(new JsonRestResponse(request, OK, builder));
|
||||
channel.sendResponse(new XContentRestResponse(request, OK, builder));
|
||||
} catch (Exception e) {
|
||||
onFailure(e);
|
||||
}
|
||||
@ -105,7 +105,7 @@ public class RestMoreLikeThisAction extends BaseRestHandler {
|
||||
|
||||
@Override public void onFailure(Throwable e) {
|
||||
try {
|
||||
channel.sendResponse(new JsonThrowableRestResponse(request, e));
|
||||
channel.sendResponse(new XContentThrowableRestResponse(request, e));
|
||||
} catch (IOException e1) {
|
||||
logger.error("Failed to send failure response", e1);
|
||||
}
|
||||
|
@ -82,7 +82,7 @@ public class RestSearchAction extends BaseRestHandler {
|
||||
} catch (Exception e) {
|
||||
try {
|
||||
XContentBuilder builder = restContentBuilder(request);
|
||||
channel.sendResponse(new JsonRestResponse(request, BAD_REQUEST, builder.startObject().field("error", e.getMessage()).endObject()));
|
||||
channel.sendResponse(new XContentRestResponse(request, BAD_REQUEST, builder.startObject().field("error", e.getMessage()).endObject()));
|
||||
} catch (IOException e1) {
|
||||
logger.error("Failed to send failure response", e1);
|
||||
}
|
||||
@ -95,7 +95,7 @@ public class RestSearchAction extends BaseRestHandler {
|
||||
builder.startObject();
|
||||
response.toXContent(builder, request);
|
||||
builder.endObject();
|
||||
channel.sendResponse(new JsonRestResponse(request, OK, builder));
|
||||
channel.sendResponse(new XContentRestResponse(request, OK, builder));
|
||||
} catch (Exception e) {
|
||||
onFailure(e);
|
||||
}
|
||||
@ -103,7 +103,7 @@ public class RestSearchAction extends BaseRestHandler {
|
||||
|
||||
@Override public void onFailure(Throwable e) {
|
||||
try {
|
||||
channel.sendResponse(new JsonThrowableRestResponse(request, e));
|
||||
channel.sendResponse(new XContentThrowableRestResponse(request, e));
|
||||
} catch (IOException e1) {
|
||||
logger.error("Failed to send failure response", e1);
|
||||
}
|
||||
|
@ -68,7 +68,7 @@ public class RestSearchScrollAction extends BaseRestHandler {
|
||||
} catch (Exception e) {
|
||||
try {
|
||||
XContentBuilder builder = restContentBuilder(request);
|
||||
channel.sendResponse(new JsonRestResponse(request, BAD_REQUEST, builder.startObject().field("error", e.getMessage()).endObject()));
|
||||
channel.sendResponse(new XContentRestResponse(request, BAD_REQUEST, builder.startObject().field("error", e.getMessage()).endObject()));
|
||||
} catch (IOException e1) {
|
||||
logger.error("Failed to send failure response", e1);
|
||||
}
|
||||
@ -82,7 +82,7 @@ public class RestSearchScrollAction extends BaseRestHandler {
|
||||
builder.startObject();
|
||||
response.toXContent(builder, request);
|
||||
builder.endObject();
|
||||
channel.sendResponse(new JsonRestResponse(request, OK, builder));
|
||||
channel.sendResponse(new XContentRestResponse(request, OK, builder));
|
||||
} catch (Exception e) {
|
||||
onFailure(e);
|
||||
}
|
||||
@ -90,7 +90,7 @@ public class RestSearchScrollAction extends BaseRestHandler {
|
||||
|
||||
@Override public void onFailure(Throwable e) {
|
||||
try {
|
||||
channel.sendResponse(new JsonThrowableRestResponse(request, e));
|
||||
channel.sendResponse(new XContentThrowableRestResponse(request, e));
|
||||
} catch (IOException e1) {
|
||||
logger.error("Failed to send failure response", e1);
|
||||
}
|
||||
|
@ -109,7 +109,7 @@ public class RestTermsAction extends BaseRestHandler {
|
||||
} catch (Exception e) {
|
||||
try {
|
||||
XContentBuilder builder = RestXContentBuilder.restContentBuilder(request);
|
||||
channel.sendResponse(new JsonRestResponse(request, BAD_REQUEST, builder.startObject().field("error", e.getMessage()).endObject()));
|
||||
channel.sendResponse(new XContentRestResponse(request, BAD_REQUEST, builder.startObject().field("error", e.getMessage()).endObject()));
|
||||
} catch (IOException e1) {
|
||||
logger.error("Failed to send failure response", e1);
|
||||
}
|
||||
@ -159,7 +159,7 @@ public class RestTermsAction extends BaseRestHandler {
|
||||
builder.endObject();
|
||||
|
||||
builder.endObject();
|
||||
channel.sendResponse(new JsonRestResponse(request, OK, builder));
|
||||
channel.sendResponse(new XContentRestResponse(request, OK, builder));
|
||||
} catch (Exception e) {
|
||||
onFailure(e);
|
||||
}
|
||||
@ -167,7 +167,7 @@ public class RestTermsAction extends BaseRestHandler {
|
||||
|
||||
@Override public void onFailure(Throwable e) {
|
||||
try {
|
||||
channel.sendResponse(new JsonThrowableRestResponse(request, e));
|
||||
channel.sendResponse(new XContentThrowableRestResponse(request, e));
|
||||
} catch (IOException e1) {
|
||||
logger.error("Failed to send failure response", e1);
|
||||
}
|
||||
|
@ -345,6 +345,13 @@ public class ImmutableSettings implements Settings {
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* Removes the provided setting.
|
||||
*/
|
||||
public String remove(String key) {
|
||||
return map.remove(key);
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns a setting value based on the setting key.
|
||||
*/
|
||||
|
@ -0,0 +1,39 @@
|
||||
package org.elasticsearch.util.settings;
|
||||
|
||||
import org.elasticsearch.util.component.AbstractComponent;
|
||||
import org.elasticsearch.util.guice.inject.Inject;
|
||||
|
||||
import java.util.concurrent.CopyOnWriteArrayList;
|
||||
|
||||
/**
|
||||
* @author kimchy (shay.banon)
|
||||
*/
|
||||
public class SettingsFilter extends AbstractComponent {
|
||||
|
||||
public static interface Filter {
|
||||
|
||||
void filter(ImmutableSettings.Builder settings);
|
||||
}
|
||||
|
||||
private final CopyOnWriteArrayList<Filter> filters = new CopyOnWriteArrayList<Filter>();
|
||||
|
||||
@Inject public SettingsFilter(Settings settings) {
|
||||
super(settings);
|
||||
}
|
||||
|
||||
public void addFilter(Filter filter) {
|
||||
filters.add(filter);
|
||||
}
|
||||
|
||||
public void removeFilter(Filter filter) {
|
||||
filters.remove(filter);
|
||||
}
|
||||
|
||||
public Settings filterSettings(Settings settings) {
|
||||
ImmutableSettings.Builder builder = ImmutableSettings.settingsBuilder().put(settings);
|
||||
for (Filter filter : filters) {
|
||||
filter.filter(builder);
|
||||
}
|
||||
return builder.build();
|
||||
}
|
||||
}
|
@ -36,5 +36,6 @@ public class SettingsModule extends AbstractModule {
|
||||
|
||||
@Override protected void configure() {
|
||||
bind(Settings.class).toInstance(settings);
|
||||
bind(SettingsFilter.class).asEagerSingleton();
|
||||
}
|
||||
}
|
@ -24,7 +24,9 @@ import org.elasticsearch.ElasticSearchIllegalStateException;
|
||||
import org.elasticsearch.cloud.jclouds.JCloudsUtils;
|
||||
import org.elasticsearch.util.component.AbstractLifecycleComponent;
|
||||
import org.elasticsearch.util.guice.inject.Inject;
|
||||
import org.elasticsearch.util.settings.ImmutableSettings;
|
||||
import org.elasticsearch.util.settings.Settings;
|
||||
import org.elasticsearch.util.settings.SettingsFilter;
|
||||
import org.jclouds.blobstore.BlobStoreContext;
|
||||
import org.jclouds.blobstore.BlobStoreContextFactory;
|
||||
|
||||
@ -39,7 +41,7 @@ public class CloudBlobStoreService extends AbstractLifecycleComponent<CloudBlobS
|
||||
|
||||
private final BlobStoreContext blobStoreContext;
|
||||
|
||||
@Inject public CloudBlobStoreService(Settings settings) throws IOException {
|
||||
@Inject public CloudBlobStoreService(Settings settings, SettingsFilter settingsFilter) throws IOException {
|
||||
super(settings);
|
||||
|
||||
String type = componentSettings.get("type");
|
||||
@ -64,6 +66,8 @@ public class CloudBlobStoreService extends AbstractLifecycleComponent<CloudBlobS
|
||||
} else {
|
||||
blobStoreContext = null;
|
||||
}
|
||||
|
||||
settingsFilter.addFilter(new BlobStorSettingsFilter());
|
||||
}
|
||||
|
||||
@Override protected void doStart() throws ElasticSearchException {
|
||||
@ -84,4 +88,14 @@ public class CloudBlobStoreService extends AbstractLifecycleComponent<CloudBlobS
|
||||
}
|
||||
return blobStoreContext;
|
||||
}
|
||||
|
||||
|
||||
private static class BlobStorSettingsFilter implements SettingsFilter.Filter {
|
||||
@Override public void filter(ImmutableSettings.Builder settings) {
|
||||
settings.remove("cloud.key");
|
||||
settings.remove("cloud.account");
|
||||
settings.remove("cloud.blobstore.key");
|
||||
settings.remove("cloud.blobstore.account");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -24,7 +24,9 @@ import org.elasticsearch.ElasticSearchIllegalStateException;
|
||||
import org.elasticsearch.cloud.jclouds.JCloudsUtils;
|
||||
import org.elasticsearch.util.component.AbstractLifecycleComponent;
|
||||
import org.elasticsearch.util.guice.inject.Inject;
|
||||
import org.elasticsearch.util.settings.ImmutableSettings;
|
||||
import org.elasticsearch.util.settings.Settings;
|
||||
import org.elasticsearch.util.settings.SettingsFilter;
|
||||
import org.jclouds.compute.ComputeServiceContext;
|
||||
import org.jclouds.compute.ComputeServiceContextFactory;
|
||||
|
||||
@ -39,7 +41,7 @@ public class CloudComputeService extends AbstractLifecycleComponent<CloudCompute
|
||||
|
||||
private final ComputeServiceContext computeServiceContext;
|
||||
|
||||
@Inject public CloudComputeService(Settings settings) throws IOException {
|
||||
@Inject public CloudComputeService(Settings settings, SettingsFilter filter) throws IOException {
|
||||
super(settings);
|
||||
|
||||
String type = componentSettings.get("type");
|
||||
@ -64,6 +66,8 @@ public class CloudComputeService extends AbstractLifecycleComponent<CloudCompute
|
||||
} else {
|
||||
computeServiceContext = null;
|
||||
}
|
||||
|
||||
filter.addFilter(new ComputeSettingsFilter());
|
||||
}
|
||||
|
||||
@Override protected void doStart() throws ElasticSearchException {
|
||||
@ -84,4 +88,13 @@ public class CloudComputeService extends AbstractLifecycleComponent<CloudCompute
|
||||
}
|
||||
return this.computeServiceContext;
|
||||
}
|
||||
|
||||
private static class ComputeSettingsFilter implements SettingsFilter.Filter {
|
||||
@Override public void filter(ImmutableSettings.Builder settings) {
|
||||
settings.remove("cloud.key");
|
||||
settings.remove("cloud.account");
|
||||
settings.remove("cloud.compute.key");
|
||||
settings.remove("cloud.compute.account");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user