@Override protected void doExecute(ActionListener<GathererResponse> listener) { ((ClusterAdminClient) client).execute(GathererAction.INSTANCE, request, listener); } }
/** * Execute Skywalker action. * * @param listener a response listener */ @Override protected void doExecute(ActionListener<SkywalkerResponse> listener) { client.execute(SkywalkerAction.INSTANCE, request, listener); } }
@Override protected void doExecute(ActionListener<WebsocketInfoResponse> listener) { client.execute(WebsocketInfoAction.INSTANCE, request, listener); } }
@Override protected void doExecute(ActionListener<CacheStatsPerFieldResponse> listener) { ((ClusterAdminClient) client).execute(CacheStatsPerFieldAction.INSTANCE, request, listener); } }
@Override protected void doExecute(ActionListener<ConsistencyCheckResponse> listener) { client.execute(ConsistencyCheckAction.INSTANCE, request, listener); } }
@Override protected void doExecute(ActionListener<DeployResponse> listener) { ((ClusterAdminClient) client).execute(DeployAction.INSTANCE, request, listener); }
@Override protected void doExecute(ActionListener<ListRiversResponse> listener) { client.execute(ListRiversAction.INSTANCE, request, listener); }
@Override protected void doExecute(ActionListener<FullUpdateResponse> listener) { if (request.getRiverName() == null) throw new IllegalArgumentException("riverName must be provided for request"); client.execute(FullUpdateAction.INSTANCE, request, listener); }
@Override protected void doExecute(ActionListener<IncrementalUpdateResponse> listener) { if (request.getRiverName() == null) throw new IllegalArgumentException("riverName must be provided for request"); client.execute(IncrementalUpdateAction.INSTANCE, request, listener); }
@Override protected void doExecute(ActionListener<JRStateResponse> listener) { if (request.getRiverName() == null) throw new IllegalArgumentException("riverName must be provided for request"); client.execute(JRStateAction.INSTANCE, request, listener); }
@Override protected void doExecute(ActionListener<JRLifecycleResponse> listener) { if (request.getRiverName() == null) throw new IllegalArgumentException("riverName must be provided for request"); if (request.getCommand() == null) throw new IllegalArgumentException("command must be provided for request"); client.execute(JRLifecycleAction.INSTANCE, request, listener); }
@Override public void handleRequest(final RestRequest restRequest, final RestChannel restChannel, Client client) { JRStateRequest actionRequest = new JRStateRequest(restRequest.param("riverName")); client .admin() .cluster() .execute( JRStateAction.INSTANCE, actionRequest, new JRMgmBaseActionListener<JRStateRequest, JRStateResponse, NodeJRStateResponse>(actionRequest, restRequest, restChannel) { @Override protected void handleJiraRiverResponse(NodeJRStateResponse nodeInfo) throws Exception { restChannel.sendResponse(new BytesRestResponse(RestStatus.OK, XContentType.JSON.restContentType(), nodeInfo.stateInformation.getBytes())); } }); } }
@Override public void handleRequest(final RestRequest restRequest, final RestChannel restChannel, Client client) { JRLifecycleCommand command = JRLifecycleCommand.RESTART; if (restRequest.path().endsWith("stop")) command = JRLifecycleCommand.STOP; JRLifecycleRequest actionRequest = new JRLifecycleRequest(restRequest.param("riverName"), command); client .admin() .cluster() .execute( JRLifecycleAction.INSTANCE, actionRequest, new JRMgmBaseActionListener<JRLifecycleRequest, JRLifecycleResponse, NodeJRLifecycleResponse>( actionRequest, restRequest, restChannel) { @Override protected void handleJiraRiverResponse(NodeJRLifecycleResponse nodeInfo) throws Exception { restChannel.sendResponse(new BytesRestResponse(OK, buildMessageDocument(restRequest, "Command successful"))); } }); } }
@Override public void handleRequest(final RestRequest request, final RestChannel channel, final Client client) { SkywalkerRequest r = new SkywalkerRequest(Strings.splitStringByCommaToArray(request.param("index"))); client.admin().cluster().execute(SkywalkerAction.INSTANCE, r, new RestResponseListener<SkywalkerResponse>(channel) { @Override public RestResponse buildResponse(SkywalkerResponse response) throws Exception { XContentBuilder builder = jsonBuilder(); builder.startObject(); builder.field("ok", true); buildBroadcastShardsHeader(builder, response); builder.field("result", response.getResponse()); builder.endObject(); return new BytesRestResponse(OK, builder); } }); } }
@Override public void handleRequest(final RestRequest restRequest, final RestChannel restChannel, Client client) { final String riverName = restRequest.param("riverName"); final String projectKey = restRequest.param("projectKey"); FullUpdateRequest actionRequest = new FullUpdateRequest(riverName, projectKey); client .admin() .cluster() .execute( FullUpdateAction.INSTANCE, actionRequest, new JRMgmBaseActionListener<FullUpdateRequest, FullUpdateResponse, NodeFullUpdateResponse>(actionRequest, restRequest, restChannel) { @Override protected void handleJiraRiverResponse(NodeFullUpdateResponse nodeInfo) throws Exception { if (actionRequest.isProjectKeyRequest() && !nodeInfo.projectFound) { restChannel .sendResponse(new BytesRestResponse(RestStatus.NOT_FOUND, buildMessageDocument(restRequest, "Project '" + projectKey + "' is not indexed by JiraRiver with name: " + riverName))); } else { restChannel.sendResponse(new BytesRestResponse(OK, buildMessageDocument(restRequest, "Scheduled full reindex for JIRA projects: " + nodeInfo.reindexedProjectNames))); } } }); }
@Override public void handleRequest(final RestRequest request, final RestChannel channel) { String[] nodesIds = RestActions.splitNodes(request.param("nodeId")); CacheStatsPerFieldRequest nodesRequest = new CacheStatsPerFieldRequest(nodesIds); client.admin().cluster().execute(CacheStatsPerFieldAction.INSTANCE, nodesRequest, new ActionListener<CacheStatsPerFieldResponse>() { @Override public void onResponse(CacheStatsPerFieldResponse response) { try { XContentBuilder builder = RestXContentBuilder.restContentBuilder(request); builder.startObject(); response.toXContent(builder, request); builder.endObject(); channel.sendResponse(new XContentRestResponse(request, RestStatus.OK, builder)); } catch (Exception e) { onFailure(e); } } @Override public void onFailure(Throwable e) { try { channel.sendResponse(new XContentThrowableRestResponse(request, e)); } catch (IOException e1) { logger.error("Failed to send failure response", e1); } } }); }
@Override public void handleRequest(final RestRequest restRequest, final RestChannel restChannel, Client client) { final String riverName = restRequest.param("riverName"); final String projectKey = restRequest.param("projectKey"); IncrementalUpdateRequest actionRequest = new IncrementalUpdateRequest(riverName, projectKey); client .admin() .cluster() .execute( IncrementalUpdateAction.INSTANCE, actionRequest, new JRMgmBaseActionListener<IncrementalUpdateRequest, IncrementalUpdateResponse, NodeIncrementalUpdateResponse>( actionRequest, restRequest, restChannel) { @Override protected void handleJiraRiverResponse(NodeIncrementalUpdateResponse nodeInfo) throws Exception { if (actionRequest.isProjectKeyRequest() && !nodeInfo.projectFound) { restChannel .sendResponse(new BytesRestResponse(RestStatus.NOT_FOUND, buildMessageDocument(restRequest, "Project '" + projectKey + "' is not indexed by JiraRiver with name: " + riverName))); } else { restChannel.sendResponse(new BytesRestResponse(OK, buildMessageDocument(restRequest, "Forced incremental reindex for JIRA projects: " + nodeInfo.reindexedProjectNames))); } } }); }
@Test public void TestEmpty() throws ExecutionException, InterruptedException { CacheStatsPerFieldResponse r = client.admin().cluster() .execute(CacheStatsPerFieldAction.INSTANCE, new CacheStatsPerFieldRequest()) .get(); for (CacheStatsPerFieldStats s : r) { assertThat(s.fieldEntries().size(), equalTo(0)); } }
@Test public void TestNotEmptyAfterFacet() throws Exception { for (int i = 0; i < numberOfRuns(); i++) { clearCache(); facetOnTags(); CacheStatsPerFieldResponse r = client.admin().cluster() .execute(CacheStatsPerFieldAction.INSTANCE, new CacheStatsPerFieldRequest()) .get(); for (CacheStatsPerFieldStats s : r) { assertThat(s.fieldEntries().size(), equalTo(1)); assertThat(s.fieldEntries().get(0).fieldName, equalTo("tag")); assertThat(s.fieldEntries().get(0).size, greaterThan(0L)); } } }
@Test public void TestJSONResponse() throws Exception { facetOnTags(); CacheStatsPerFieldResponse r = client.admin().cluster() .execute(CacheStatsPerFieldAction.INSTANCE, new CacheStatsPerFieldRequest()) .get(); XContentBuilder builder = jsonBuilder(); builder.startObject(); r.toXContent(builder, ToXContent.EMPTY_PARAMS); builder.endObject(); builder.close(); String JSON = builder.bytes().toUtf8(); logger.info("JSON: {}",JSON); // {"cluster_name":"test-cluster-boazmbp.fritz.box", // "nodes":{"qpCAo38-Rm2epLPs0FJu8w": // {"setTimestamp":1353104133685,"name":"node0", // "transport_address":"inet[/192.168.1.107:9300]","hostname":"boazmbp.fritz.box", // "fields":{"tag":{"size":144}}}}} }