diff --git a/sample/src/main/java/org/opensearch/sdk/sample/helloworld/rest/RestRemoteHelloAction.java b/sample/src/main/java/org/opensearch/sdk/sample/helloworld/rest/RestRemoteHelloAction.java index be6e1220..6a49ea0f 100644 --- a/sample/src/main/java/org/opensearch/sdk/sample/helloworld/rest/RestRemoteHelloAction.java +++ b/sample/src/main/java/org/opensearch/sdk/sample/helloworld/rest/RestRemoteHelloAction.java @@ -38,7 +38,9 @@ import org.opensearch.jobscheduler.rest.request.GetJobDetailsRequest; import org.opensearch.jobscheduler.spi.schedule.IntervalSchedule; import org.opensearch.jobscheduler.spi.schedule.Schedule; +import org.opensearch.rest.NamedRoute; import org.opensearch.rest.RestRequest; +import org.opensearch.rest.RestResponse; import org.opensearch.rest.RestStatus; import org.opensearch.sdk.ExtensionsRunner; import org.opensearch.sdk.SDKClient; @@ -58,6 +60,7 @@ import java.time.Duration; import java.time.Instant; import java.time.temporal.ChronoUnit; +import java.util.Collections; import java.util.List; import java.util.Locale; import java.util.Random; @@ -85,10 +88,20 @@ public RestRemoteHelloAction(ExtensionsRunner runner) { } @Override - public List routeHandlers() { + public List routes() { return List.of( - new RouteHandler(GET, "/hello/{name}", handleRemoteGetRequest), - new RouteHandler(PUT, "/schedule/hello", handleScheduleRequest) + new NamedRoute.Builder().method(GET) + .path("/hello/{name}") + .handler(handleRemoteGetRequest) + .uniqueName(routePrefix("remote_greet_with_name")) + .legacyActionNames(Collections.emptySet()) + .build(), + new NamedRoute.Builder().method(GET) + .path("/schedule/hello") + .handler(handleScheduleRequest) + .uniqueName(routePrefix("scheduled_greet")) + .legacyActionNames(Collections.emptySet()) + .build() ); } @@ -100,7 +113,7 @@ private void registerJobDetails(SDKClient.SDKRestClient client) throws IOExcepti requestBody.field(GetJobDetailsRequest.JOB_TYPE, GreetJob.PARSE_FIELD_NAME); requestBody.field(GetJobDetailsRequest.JOB_PARAMETER_ACTION, HWJobParameterAction.class.getName()); requestBody.field(GetJobDetailsRequest.JOB_RUNNER_ACTION, HWJobRunnerAction.class.getName()); - requestBody.field(GetJobDetailsRequest.EXTENSION_UNIQUE_ID, extensionsRunner.getUniqueId()); + requestBody.field(GetJobDetailsRequest.EXTENSION_UNIQUE_ID, extensionsRunner.getSdkTransportService().getUniqueId()); requestBody.endObject(); Request request = new Request("PUT", String.format(Locale.ROOT, "%s/%s", JobSchedulerPlugin.JS_BASE_URI, "_job_details")); @@ -156,7 +169,7 @@ public T fromJson(String json, Class clazz) { return mapper.deserialize(parser, clazz); } - private Function handleScheduleRequest = (request) -> { + private Function handleScheduleRequest = (request) -> { SDKClient client = extensionsRunner.getSdkClient(); SDKClient.SDKRestClient restClient = client.initializeRestClient(); OpenSearchClient javaClient = client.initializeJavaClient(); @@ -223,7 +236,7 @@ public T fromJson(String json, Class clazz) { return new ExtensionRestResponse(request, OK, "GreetJob successfully scheduled"); }; - private Function handleRemoteGetRequest = (request) -> { + private Function handleRemoteGetRequest = (request) -> { SDKClient client = extensionsRunner.getSdkClient(); String name = request.param("name"); @@ -250,7 +263,7 @@ public T fromJson(String json, Class clazz) { TimeUnit.SECONDS ).get(); if (!response.isSuccess()) { - return new ExtensionRestResponse(request, OK, "Remote extension reponse failed: " + response.getResponseBytesAsString()); + return new ExtensionRestResponse(request, OK, "Remote extension response failed: " + response.getResponseBytesAsString()); } // Parse out the expected response class from the bytes SampleResponse sampleResponse = new SampleResponse(StreamInput.wrap(response.getResponseBytes())); diff --git a/sample/src/main/resources/sample/helloworld-settings.yml b/sample/src/main/resources/sample/helloworld-settings.yml index 417136e2..50881050 100644 --- a/sample/src/main/resources/sample/helloworld-settings.yml +++ b/sample/src/main/resources/sample/helloworld-settings.yml @@ -1,4 +1,4 @@ -extensionName: hello-world +extensionName: hw hostAddress: 127.0.0.1 hostPort: 4532 opensearchAddress: 127.0.0.1 diff --git a/src/main/resources/sample/helloworld-settings.yml b/src/main/resources/sample/helloworld-settings.yml deleted file mode 100644 index 15cdbdcf..00000000 --- a/src/main/resources/sample/helloworld-settings.yml +++ /dev/null @@ -1,11 +0,0 @@ -extensionName: hello-world -hostAddress: 127.0.0.1 -hostPort: 4500 -opensearchAddress: 127.0.0.1 -opensearchPort: 9200 -#ssl.transport.enabled: true -#ssl.transport.pemcert_filepath: certs/extension-01.pem -#ssl.transport.pemkey_filepath: certs/extension-01-key.pem -#ssl.transport.pemtrustedcas_filepath: certs/root-ca.pem -#ssl.transport.enforce_hostname_verification: false -#path.home: