Skip to content

Commit 5adec70

Browse files
committed
Rebased to use public interfaces added in opensearch-project/OpenSearch#11876.
Signed-off-by: dblock <[email protected]>
1 parent fb20d3d commit 5adec70

File tree

18 files changed

+236
-225
lines changed

18 files changed

+236
-225
lines changed

.github/workflows/CI.yml

-7
Original file line numberDiff line numberDiff line change
@@ -32,10 +32,3 @@ jobs:
3232
- name: Build and Run Tests
3333
run: |
3434
./gradlew build
35-
# Generated by 'opensearch.pluginzip' custom gradle plugin
36-
./gradlew publishPluginZipPublicationToZipStagingRepository
37-
- name: Update version to the next development iteration
38-
if: matrix.os != 'windows-latest'
39-
run: |
40-
# Task to auto update version to the next development iteration
41-
./gradlew updateVersion -DnewVersion=3.1.0-SNAPSHOT

build.gradle

+1-1
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ apply plugin: 'opensearch.pluginzip'
99
def pluginName = 'opensearch-api'
1010
def pluginDescription = 'OpenSearch API plugin.'
1111
def projectPath = 'org.opensearch'
12-
def pathToPlugin = 'api'
12+
def pathToPlugin = 'plugin.api'
1313
def pluginClassName = 'APIPlugin'
1414
group = "APIPluginGroup"
1515

src/main/java/org/opensearch/api/action/api/APIResponse.java

-133
This file was deleted.

src/main/java/org/opensearch/api/APIPlugin.java src/main/java/org/opensearch/plugin/api/APIPlugin.java

+22-11
Original file line numberDiff line numberDiff line change
@@ -6,44 +6,55 @@
66
* compatible open source license.
77
*/
88

9-
package org.opensearch.api;
10-
11-
import static java.util.Collections.singletonList;
12-
13-
import java.util.List;
14-
import java.util.function.Supplier;
9+
package org.opensearch.plugin.api;
1510

1611
import org.opensearch.action.ActionRequest;
17-
import org.opensearch.api.action.api.APIAction;
18-
import org.opensearch.api.action.api.TransportAPIAction;
1912
import org.opensearch.cluster.metadata.IndexNameExpressionResolver;
13+
import org.opensearch.cluster.node.DiscoveryNodes;
2014
import org.opensearch.common.settings.ClusterSettings;
2115
import org.opensearch.common.settings.IndexScopedSettings;
2216
import org.opensearch.common.settings.Settings;
2317
import org.opensearch.common.settings.SettingsFilter;
2418
import org.opensearch.core.action.ActionResponse;
19+
import org.opensearch.plugin.api.action.api.APIAction;
20+
import org.opensearch.plugin.api.action.api.TransportAPIAction;
2521
import org.opensearch.plugins.ActionPlugin;
2622
import org.opensearch.plugins.Plugin;
2723
import org.opensearch.rest.RestController;
24+
import org.opensearch.rest.RestHandler;
25+
26+
import java.util.List;
27+
import java.util.function.Supplier;
28+
29+
import static java.util.Collections.singletonList;
2830

2931
/**
3032
* A plugin that returns the OpenAPI spec for the current OpenSearch instance.
3133
*/
3234
public class APIPlugin extends Plugin implements ActionPlugin {
35+
/**
36+
* Instantiate this plugin.
37+
*/
38+
public APIPlugin() {
39+
40+
}
41+
3342
@Override
3443
public List<ActionHandler<? extends ActionRequest, ? extends ActionResponse>> getActions() {
3544
return singletonList(new ActionHandler<>(APIAction.INSTANCE, TransportAPIAction.class));
3645
}
3746

3847
@Override
39-
public List getRestHandlers(final Settings settings,
48+
public List<RestHandler> getRestHandlers(
49+
final Settings settings,
4050
final RestController restController,
4151
final ClusterSettings clusterSettings,
4252
final IndexScopedSettings indexScopedSettings,
4353
final SettingsFilter settingsFilter,
4454
final IndexNameExpressionResolver indexNameExpressionResolver,
45-
final Supplier nodesInCluster) {
55+
final Supplier<DiscoveryNodes> nodesInCluster
56+
) {
4657

47-
return singletonList(new RestAPIAction());
58+
return singletonList(new RestAPIAction(restController));
4859
}
4960
}

src/main/java/org/opensearch/api/RestAPIAction.java src/main/java/org/opensearch/plugin/api/RestAPIAction.java

+33-12
Original file line numberDiff line numberDiff line change
@@ -6,48 +6,69 @@
66
* compatible open source license.
77
*/
88

9-
package org.opensearch.api;
9+
package org.opensearch.plugin.api;
1010

11-
import java.io.IOException;
12-
import java.util.List;
13-
14-
import org.opensearch.api.action.api.APIAction;
15-
import org.opensearch.api.action.api.APIRequest;
16-
import org.opensearch.api.action.api.APIResponse;
1711
import org.opensearch.client.node.NodeClient;
1812
import org.opensearch.core.rest.RestStatus;
1913
import org.opensearch.core.xcontent.XContentBuilder;
14+
import org.opensearch.plugin.api.action.api.APIAction;
15+
import org.opensearch.plugin.api.action.api.APIRequest;
16+
import org.opensearch.plugin.api.action.api.APIResponse;
2017
import org.opensearch.rest.BaseRestHandler;
2118
import org.opensearch.rest.BytesRestResponse;
19+
import org.opensearch.rest.RestController;
2220
import org.opensearch.rest.RestRequest;
2321
import org.opensearch.rest.RestResponse;
2422
import org.opensearch.rest.action.RestBuilderListener;
2523

26-
import static org.opensearch.rest.RestRequest.Method.GET;
24+
import java.io.IOException;
25+
import java.util.List;
26+
2727
import static java.util.Arrays.asList;
2828
import static java.util.Collections.unmodifiableList;
29+
import static org.opensearch.rest.RestRequest.Method.GET;
2930

3031
/**
3132
* A REST handler.
3233
*/
3334
public class RestAPIAction extends BaseRestHandler {
35+
RestController restController;
36+
37+
RestAPIAction(RestController restController) {
38+
this.restController = restController;
39+
}
40+
41+
/**
42+
*
43+
* @return
44+
*/
3445
@Override
3546
public String getName() {
3647
return "api";
3748
}
3849

50+
/**
51+
*
52+
* @return
53+
*/
3954
@Override
40-
public List routes() {
41-
return unmodifiableList(asList(
42-
new Route(GET, "/_plugins/api")
43-
));
55+
public List<Route> routes() {
56+
return unmodifiableList(asList(new Route(GET, "/_plugins/api")));
4457
}
4558

59+
/**
60+
*
61+
* @param request the request to execute
62+
* @param client client for executing actions on the local node
63+
* @return
64+
* @throws IOException
65+
*/
4666
@Override
4767
protected RestChannelConsumer prepareRequest(RestRequest request, NodeClient client) throws IOException {
4868
return channel -> client.execute(APIAction.INSTANCE, new APIRequest(), new RestBuilderListener<APIResponse>(channel) {
4969
@Override
5070
public RestResponse buildResponse(APIResponse response, XContentBuilder builder) throws Exception {
71+
response.setRestController(restController);
5172
response.toXContent(builder, request);
5273
return new BytesRestResponse(RestStatus.OK, builder);
5374
}

src/main/java/org/opensearch/api/action/api/APIAction.java src/main/java/org/opensearch/plugin/api/action/api/APIAction.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
* compatible open source license.
77
*/
88

9-
package org.opensearch.api.action.api;
9+
package org.opensearch.plugin.api.action.api;
1010

1111
import org.opensearch.action.ActionType;
1212

src/main/java/org/opensearch/api/action/api/APIRequest.java src/main/java/org/opensearch/plugin/api/action/api/APIRequest.java

+9-1
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
* compatible open source license.
77
*/
88

9-
package org.opensearch.api.action.api;
9+
package org.opensearch.plugin.api.action.api;
1010

1111
import org.opensearch.action.ActionRequest;
1212
import org.opensearch.action.ActionRequestValidationException;
@@ -16,8 +16,16 @@
1616

1717
public class APIRequest extends ActionRequest {
1818

19+
/**
20+
*
21+
*/
1922
public APIRequest() {}
2023

24+
/**
25+
*
26+
* @param in
27+
* @throws IOException
28+
*/
2129
APIRequest(StreamInput in) throws IOException {
2230
super(in);
2331
}

src/main/java/org/opensearch/api/action/api/APIRequestBuilder.java src/main/java/org/opensearch/plugin/api/action/api/APIRequestBuilder.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
* compatible open source license.
77
*/
88

9-
package org.opensearch.api.action.api;
9+
package org.opensearch.plugin.api.action.api;
1010

1111
import org.opensearch.action.ActionRequestBuilder;
1212
import org.opensearch.client.OpenSearchClient;

0 commit comments

Comments
 (0)