From 45c30fd0d145d3e0a5c4c2fc64a569e28ede41d5 Mon Sep 17 00:00:00 2001 From: Darshit Chanpura Date: Thu, 6 Jul 2023 13:10:46 -0400 Subject: [PATCH 1/3] Renames AD extension routes to NamedRoutes and modifies replaced handlers to use new handler signature from SDK Signed-off-by: Darshit Chanpura --- .../ad/rest/AbstractSearchAction.java | 29 +++++++----------- .../ad/rest/RestAnomalyDetectorJobAction.java | 3 +- .../rest/RestDeleteAnomalyDetectorAction.java | 3 +- .../rest/RestDeleteAnomalyResultsAction.java | 17 +++++++++-- .../RestExecuteAnomalyDetectorAction.java | 3 +- .../ad/rest/RestGetAnomalyDetectorAction.java | 30 +++++++++++-------- .../rest/RestIndexAnomalyDetectorAction.java | 3 +- .../RestPreviewAnomalyDetectorAction.java | 20 ++++++++----- .../RestSearchAnomalyDetectorInfoAction.java | 8 ++--- .../RestSearchTopAnomalyResultAction.java | 22 +++++++++++--- .../rest/RestStatsAnomalyDetectorAction.java | 3 +- .../RestValidateAnomalyDetectorAction.java | 29 ++++++++++-------- 12 files changed, 101 insertions(+), 69 deletions(-) diff --git a/src/main/java/org/opensearch/ad/rest/AbstractSearchAction.java b/src/main/java/org/opensearch/ad/rest/AbstractSearchAction.java index db0ee3315..b0b6f25a0 100644 --- a/src/main/java/org/opensearch/ad/rest/AbstractSearchAction.java +++ b/src/main/java/org/opensearch/ad/rest/AbstractSearchAction.java @@ -15,6 +15,8 @@ import static org.opensearch.common.xcontent.XContentFactory.jsonBuilder; import static org.opensearch.common.xcontent.XContentParserUtils.ensureExpectedToken; import static org.opensearch.core.xcontent.ToXContent.EMPTY_PARAMS; +import static org.opensearch.rest.RestRequest.Method.GET; +import static org.opensearch.rest.RestRequest.Method.POST; import java.io.IOException; import java.util.ArrayList; @@ -44,10 +46,7 @@ import org.opensearch.core.xcontent.XContentBuilder; import org.opensearch.core.xcontent.XContentParser; import org.opensearch.extensions.rest.ExtensionRestResponse; -import org.opensearch.rest.BytesRestResponse; -import org.opensearch.rest.RestChannel; -import org.opensearch.rest.RestRequest; -import org.opensearch.rest.RestStatus; +import org.opensearch.rest.*; import org.opensearch.sdk.ExtensionsRunner; import org.opensearch.sdk.SDKClient.SDKRestClient; import org.opensearch.sdk.rest.BaseExtensionRestHandler; @@ -88,7 +87,7 @@ public AbstractSearchAction( this.extensionsRunner = extensionsRunner; } - private Function handleRequest = (request) -> { + private Function handleRequest = (request) -> { try { return prepareRequest(request); } catch (Exception e) { @@ -170,11 +169,12 @@ protected ExtensionRestResponse search(RestRequest request, SearchResponse respo return new ExtensionRestResponse(request, RestStatus.OK, response.toXContent(JsonXContent.contentBuilder(), EMPTY_PARAMS)); } - public List routeHandlers() { - List routes = new ArrayList<>(); + @Override + public List routes() { + List routes = new ArrayList<>(); for (String path : urlPaths) { - routes.add(new RouteHandler(RestRequest.Method.POST, path, handleRequest)); - routes.add(new RouteHandler(RestRequest.Method.GET, path, handleRequest)); + routes.add(new NamedRoute.Builder().method(POST).path(path).uniqueName(routePrefix(path)).handler(handleRequest).build()); + routes.add(new NamedRoute.Builder().method(GET).path(path).uniqueName(routePrefix(path)).handler(handleRequest).build()); } return routes; } @@ -183,16 +183,7 @@ public List routeHandlers() { public List replacedRouteHandlers() { List replacedRoutes = new ArrayList<>(); for (Pair deprecatedPath : deprecatedPaths) { - replacedRoutes - .add( - new ReplacedRouteHandler( - RestRequest.Method.POST, - deprecatedPath.getKey(), - RestRequest.Method.POST, - deprecatedPath.getValue(), - handleRequest - ) - ); + replacedRoutes.add(new ReplacedRouteHandler(POST, deprecatedPath.getKey(), POST, deprecatedPath.getValue(), handleRequest)); replacedRoutes .add( new ReplacedRouteHandler( diff --git a/src/main/java/org/opensearch/ad/rest/RestAnomalyDetectorJobAction.java b/src/main/java/org/opensearch/ad/rest/RestAnomalyDetectorJobAction.java index 3f6505609..29ed0189a 100644 --- a/src/main/java/org/opensearch/ad/rest/RestAnomalyDetectorJobAction.java +++ b/src/main/java/org/opensearch/ad/rest/RestAnomalyDetectorJobAction.java @@ -56,6 +56,7 @@ import org.opensearch.jobscheduler.JobSchedulerPlugin; import org.opensearch.jobscheduler.rest.request.GetJobDetailsRequest; 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.SDKRestClient; @@ -173,7 +174,7 @@ public List replacedRouteHandlers() { ); } - private Function handleRequest = (request) -> { + private Function handleRequest = (request) -> { try { return prepareRequest(request); } catch (Exception e) { diff --git a/src/main/java/org/opensearch/ad/rest/RestDeleteAnomalyDetectorAction.java b/src/main/java/org/opensearch/ad/rest/RestDeleteAnomalyDetectorAction.java index 1566d5b96..d01462b48 100644 --- a/src/main/java/org/opensearch/ad/rest/RestDeleteAnomalyDetectorAction.java +++ b/src/main/java/org/opensearch/ad/rest/RestDeleteAnomalyDetectorAction.java @@ -36,6 +36,7 @@ import org.opensearch.core.xcontent.ToXContent; import org.opensearch.extensions.rest.ExtensionRestResponse; 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.SDKRestClient; @@ -105,7 +106,7 @@ public List replacedRouteHandlers() { ); } - private Function handleRequest = (request) -> { + private Function handleRequest = (request) -> { try { return prepareRequest(request); } catch (Exception e) { diff --git a/src/main/java/org/opensearch/ad/rest/RestDeleteAnomalyResultsAction.java b/src/main/java/org/opensearch/ad/rest/RestDeleteAnomalyResultsAction.java index 9bd0ce8d0..a0ef5cb8a 100644 --- a/src/main/java/org/opensearch/ad/rest/RestDeleteAnomalyResultsAction.java +++ b/src/main/java/org/opensearch/ad/rest/RestDeleteAnomalyResultsAction.java @@ -12,6 +12,7 @@ package org.opensearch.ad.rest; import static org.opensearch.ad.indices.AnomalyDetectionIndices.ALL_AD_RESULTS_INDEX_PATTERN; +import static org.opensearch.rest.RestRequest.Method.DELETE; import java.io.IOException; import java.util.List; @@ -34,7 +35,9 @@ import org.opensearch.extensions.rest.ExtensionRestResponse; import org.opensearch.index.reindex.BulkByScrollResponse; import org.opensearch.index.reindex.DeleteByQueryRequest; +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.SDKRestClient; @@ -71,7 +74,7 @@ public String getName() { return DELETE_AD_RESULTS_ACTION; } - private Function handleRequest = (request) -> { + private Function handleRequest = (request) -> { try { return prepareRequest(request); } catch (Exception e) { @@ -112,8 +115,16 @@ protected ExtensionRestResponse prepareRequest(RestRequest request) throws IOExc } @Override - public List routeHandlers() { + public List routes() { + String path = AnomalyDetectorExtension.AD_BASE_DETECTORS_URI + "/results"; return ImmutableList - .of(new RouteHandler(RestRequest.Method.DELETE, AnomalyDetectorExtension.AD_BASE_DETECTORS_URI + "/results", handleRequest)); + .of( + new NamedRoute.Builder() + .method(DELETE) + .path(path) + .uniqueName(routePrefix("detector/results")) + .handler(handleRequest) + .build() + ); } } diff --git a/src/main/java/org/opensearch/ad/rest/RestExecuteAnomalyDetectorAction.java b/src/main/java/org/opensearch/ad/rest/RestExecuteAnomalyDetectorAction.java index b5028ba6c..1e43924ce 100644 --- a/src/main/java/org/opensearch/ad/rest/RestExecuteAnomalyDetectorAction.java +++ b/src/main/java/org/opensearch/ad/rest/RestExecuteAnomalyDetectorAction.java @@ -41,6 +41,7 @@ import org.opensearch.core.xcontent.XContentParser; import org.opensearch.extensions.rest.ExtensionRestResponse; 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.SDKRestClient; @@ -110,7 +111,7 @@ protected ExtensionRestResponse prepareRequest(RestRequest request) throws IOExc ); } - private Function handleRequest = (request) -> { + private Function handleRequest = (request) -> { try { return prepareRequest(request); } catch (Exception e) { diff --git a/src/main/java/org/opensearch/ad/rest/RestGetAnomalyDetectorAction.java b/src/main/java/org/opensearch/ad/rest/RestGetAnomalyDetectorAction.java index 00ff8af22..c53c01f08 100644 --- a/src/main/java/org/opensearch/ad/rest/RestGetAnomalyDetectorAction.java +++ b/src/main/java/org/opensearch/ad/rest/RestGetAnomalyDetectorAction.java @@ -14,6 +14,7 @@ import static org.opensearch.ad.util.RestHandlerUtils.DETECTOR_ID; import static org.opensearch.ad.util.RestHandlerUtils.PROFILE; import static org.opensearch.ad.util.RestHandlerUtils.TYPE; +import static org.opensearch.rest.RestRequest.Method.POST; import java.io.IOException; import java.util.List; @@ -40,7 +41,9 @@ import org.opensearch.core.common.Strings; import org.opensearch.core.xcontent.ToXContent; import org.opensearch.extensions.rest.ExtensionRestResponse; +import org.opensearch.rest.NamedRoute; import org.opensearch.rest.RestRequest; +import org.opensearch.rest.RestResponse; import org.opensearch.rest.RestStatus; import org.opensearch.rest.action.RestActions; import org.opensearch.sdk.ExtensionsRunner; @@ -109,7 +112,7 @@ protected ExtensionRestResponse prepareRequest(RestRequest request) throws IOExc return getAnomalyDetectorResponse(request, response); } - private Function handleRequest = (request) -> { + private Function handleRequest = (request) -> { try { return prepareRequest(request); } catch (Exception e) { @@ -119,21 +122,22 @@ protected ExtensionRestResponse prepareRequest(RestRequest request) throws IOExc }; @Override - public List routeHandlers() { + public List routes() { return ImmutableList .of( // Opensearch-only API. Considering users may provide entity in the search body, support POST as well. - new RouteHandler( - RestRequest.Method.POST, - String.format(Locale.ROOT, "%s/{%s}/%s", AnomalyDetectorExtension.AD_BASE_DETECTORS_URI, DETECTOR_ID, PROFILE), - handleRequest - ), - new RouteHandler( - RestRequest.Method.POST, - String - .format(Locale.ROOT, "%s/{%s}/%s/{%s}", AnomalyDetectorExtension.AD_BASE_DETECTORS_URI, DETECTOR_ID, PROFILE, TYPE), - handleRequest - ) + new NamedRoute.Builder() + .method(POST) + .path(String.format(Locale.ROOT, "%s/{%s}/%s", AnomalyDetectorExtension.AD_BASE_DETECTORS_URI, DETECTOR_ID, PROFILE)) + .uniqueName(routePrefix("detector/profile")) + .handler(handleRequest) + .build(), + new NamedRoute.Builder() + .method(POST) + .path(String.format(Locale.ROOT, "%s/{%s}/%s", AnomalyDetectorExtension.AD_BASE_DETECTORS_URI, DETECTOR_ID, TYPE)) + .uniqueName(routePrefix("detector/type")) + .handler(handleRequest) + .build() ); } diff --git a/src/main/java/org/opensearch/ad/rest/RestIndexAnomalyDetectorAction.java b/src/main/java/org/opensearch/ad/rest/RestIndexAnomalyDetectorAction.java index 66369b0e4..12117826c 100644 --- a/src/main/java/org/opensearch/ad/rest/RestIndexAnomalyDetectorAction.java +++ b/src/main/java/org/opensearch/ad/rest/RestIndexAnomalyDetectorAction.java @@ -43,6 +43,7 @@ import org.opensearch.extensions.rest.ExtensionRestResponse; import org.opensearch.index.seqno.SequenceNumbers; 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.SDKRestClient; @@ -154,7 +155,7 @@ public List replacedRouteHandlers() { ); } - private Function handleRequest = (request) -> { + private Function handleRequest = (request) -> { try { return prepareRequest(request); } catch (Exception e) { diff --git a/src/main/java/org/opensearch/ad/rest/RestPreviewAnomalyDetectorAction.java b/src/main/java/org/opensearch/ad/rest/RestPreviewAnomalyDetectorAction.java index aba55ac41..a3022fd68 100644 --- a/src/main/java/org/opensearch/ad/rest/RestPreviewAnomalyDetectorAction.java +++ b/src/main/java/org/opensearch/ad/rest/RestPreviewAnomalyDetectorAction.java @@ -11,8 +11,9 @@ package org.opensearch.ad.rest; -import static org.opensearch.ad.util.RestHandlerUtils.PREVIEW; +import static org.opensearch.ad.util.RestHandlerUtils.*; import static org.opensearch.common.xcontent.XContentParserUtils.ensureExpectedToken; +import static org.opensearch.rest.RestRequest.Method.POST; import java.io.IOException; import java.util.List; @@ -40,7 +41,9 @@ import org.opensearch.core.xcontent.ToXContent; import org.opensearch.core.xcontent.XContentParser; import org.opensearch.extensions.rest.ExtensionRestResponse; +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.SDKRestClient; @@ -67,7 +70,7 @@ public String getName() { return PREVIEW_ANOMALY_DETECTOR_ACTION; } - private Function handleRequest = (request) -> { + private Function handleRequest = (request) -> { try { return prepareRequest(request); } catch (Exception e) { @@ -138,15 +141,16 @@ private String validateAdExecutionInput(AnomalyDetectorExecutionInput input) { } @Override - public List routeHandlers() { + public List routes() { return ImmutableList .of( // preview detector - new RouteHandler( - RestRequest.Method.POST, - String.format(Locale.ROOT, "%s/%s", AnomalyDetectorExtension.AD_BASE_DETECTORS_URI, PREVIEW), - handleRequest - ) + new NamedRoute.Builder() + .method(POST) + .path(String.format(String.format(Locale.ROOT, "%s/%s", AnomalyDetectorExtension.AD_BASE_DETECTORS_URI, PREVIEW))) + .uniqueName(routePrefix("detector/preview")) + .handler(handleRequest) + .build() ); } diff --git a/src/main/java/org/opensearch/ad/rest/RestSearchAnomalyDetectorInfoAction.java b/src/main/java/org/opensearch/ad/rest/RestSearchAnomalyDetectorInfoAction.java index 02b4af691..03cf0e6c5 100644 --- a/src/main/java/org/opensearch/ad/rest/RestSearchAnomalyDetectorInfoAction.java +++ b/src/main/java/org/opensearch/ad/rest/RestSearchAnomalyDetectorInfoAction.java @@ -34,9 +34,7 @@ import org.opensearch.common.xcontent.json.JsonXContent; import org.opensearch.core.xcontent.ToXContent; import org.opensearch.extensions.rest.ExtensionRestResponse; -import org.opensearch.rest.RestHandler; -import org.opensearch.rest.RestRequest; -import org.opensearch.rest.RestStatus; +import org.opensearch.rest.*; import org.opensearch.sdk.ExtensionsRunner; import org.opensearch.sdk.SDKClient.SDKRestClient; import org.opensearch.sdk.rest.BaseExtensionRestHandler; @@ -61,7 +59,7 @@ public String getName() { return SEARCH_ANOMALY_DETECTOR_INFO_ACTION; } - private Function handleRequest = (request) -> { + private Function handleRequest = (request) -> { try { return prepareRequest(request); } catch (Exception e) { @@ -105,7 +103,7 @@ protected ExtensionRestResponse prepareRequest(RestRequest request) throws IOExc } @Override - public List routes() { + public List routes() { return ImmutableList.of(); } diff --git a/src/main/java/org/opensearch/ad/rest/RestSearchTopAnomalyResultAction.java b/src/main/java/org/opensearch/ad/rest/RestSearchTopAnomalyResultAction.java index 2a5296140..d53eac22e 100644 --- a/src/main/java/org/opensearch/ad/rest/RestSearchTopAnomalyResultAction.java +++ b/src/main/java/org/opensearch/ad/rest/RestSearchTopAnomalyResultAction.java @@ -12,6 +12,8 @@ package org.opensearch.ad.rest; import static org.opensearch.common.xcontent.XContentParserUtils.ensureExpectedToken; +import static org.opensearch.rest.RestRequest.Method.GET; +import static org.opensearch.rest.RestRequest.Method.POST; import java.io.IOException; import java.util.List; @@ -33,7 +35,9 @@ import org.opensearch.core.xcontent.ToXContent; import org.opensearch.core.xcontent.XContentParser; import org.opensearch.extensions.rest.ExtensionRestResponse; +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.SDKRestClient; @@ -68,7 +72,7 @@ public String getName() { return SEARCH_TOP_ANOMALY_DETECTOR_ACTION; } - private Function handleRequest = (request) -> { + private Function handleRequest = (request) -> { try { return prepareRequest(request); } catch (Exception e) { @@ -131,11 +135,21 @@ private SearchTopAnomalyResultRequest getSearchTopAnomalyResultRequest(RestReque } @Override - public List routeHandlers() { + public List routes() { return ImmutableList .of( - new RouteHandler(RestRequest.Method.POST, URL_PATH, handleRequest), - new RouteHandler(RestRequest.Method.GET, URL_PATH, handleRequest) + new NamedRoute.Builder() + .method(POST) + .path(URL_PATH) + .uniqueName(routePrefix("search/post/topresults")) + .handler(handleRequest) + .build(), + new NamedRoute.Builder() + .method(GET) + .path(URL_PATH) + .uniqueName(routePrefix("search/read/topresults")) + .handler(handleRequest) + .build() ); } } diff --git a/src/main/java/org/opensearch/ad/rest/RestStatsAnomalyDetectorAction.java b/src/main/java/org/opensearch/ad/rest/RestStatsAnomalyDetectorAction.java index a343dad00..57b857cfb 100644 --- a/src/main/java/org/opensearch/ad/rest/RestStatsAnomalyDetectorAction.java +++ b/src/main/java/org/opensearch/ad/rest/RestStatsAnomalyDetectorAction.java @@ -44,6 +44,7 @@ import org.opensearch.core.xcontent.XContentBuilder; import org.opensearch.extensions.rest.ExtensionRestResponse; 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.SDKRestClient; @@ -115,7 +116,7 @@ public List replacedRouteHandlers() { ); } - private Function handleRequest = (request) -> { + private Function handleRequest = (request) -> { try { return prepareRequest(request); } catch (Exception e) { diff --git a/src/main/java/org/opensearch/ad/rest/RestValidateAnomalyDetectorAction.java b/src/main/java/org/opensearch/ad/rest/RestValidateAnomalyDetectorAction.java index 66078e384..7be451cb3 100644 --- a/src/main/java/org/opensearch/ad/rest/RestValidateAnomalyDetectorAction.java +++ b/src/main/java/org/opensearch/ad/rest/RestValidateAnomalyDetectorAction.java @@ -14,6 +14,7 @@ import static org.opensearch.ad.util.RestHandlerUtils.TYPE; import static org.opensearch.ad.util.RestHandlerUtils.VALIDATE; import static org.opensearch.common.xcontent.XContentParserUtils.ensureExpectedToken; +import static org.opensearch.rest.RestRequest.Method.POST; import java.io.IOException; import java.util.Arrays; @@ -45,7 +46,9 @@ import org.opensearch.core.xcontent.ToXContent; import org.opensearch.core.xcontent.XContentParser; import org.opensearch.extensions.rest.ExtensionRestResponse; +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.SDKRestClient; @@ -78,23 +81,25 @@ public String getName() { } @Override - public List routeHandlers() { + public List routes() { return ImmutableList .of( - new RouteHandler( - RestRequest.Method.POST, - String.format(Locale.ROOT, "%s/%s", AnomalyDetectorExtension.AD_BASE_DETECTORS_URI, VALIDATE), - handleRequest - ), - new RouteHandler( - RestRequest.Method.POST, - String.format(Locale.ROOT, "%s/%s/{%s}", AnomalyDetectorExtension.AD_BASE_DETECTORS_URI, VALIDATE, TYPE), - handleRequest - ) + new NamedRoute.Builder() + .method(POST) + .path(String.format(Locale.ROOT, "%s/%s", AnomalyDetectorExtension.AD_BASE_DETECTORS_URI, VALIDATE)) + .uniqueName(routePrefix("detector/validate")) + .handler(handleRequest) + .build(), + new NamedRoute.Builder() + .method(POST) + .path(String.format(Locale.ROOT, "%s/%s/{%s}", AnomalyDetectorExtension.AD_BASE_DETECTORS_URI, VALIDATE, TYPE)) + .uniqueName(routePrefix("detector/validate/type")) + .handler(handleRequest) + .build() ); } - private Function handleRequest = (request) -> { + private Function handleRequest = (request) -> { try { return prepareRequest(request); } catch (Exception e) { From 713b2af34878f432ce8cb13872ea33501053db06 Mon Sep 17 00:00:00 2001 From: Darshit Chanpura Date: Mon, 10 Jul 2023 13:18:47 -0400 Subject: [PATCH 2/3] Renames route names to conform to uris and avoids star imports Signed-off-by: Darshit Chanpura --- .../java/org/opensearch/ad/rest/AbstractSearchAction.java | 7 ++++++- .../opensearch/ad/rest/RestDeleteAnomalyResultsAction.java | 2 +- .../opensearch/ad/rest/RestGetAnomalyDetectorAction.java | 4 ++-- .../ad/rest/RestPreviewAnomalyDetectorAction.java | 4 ++-- .../ad/rest/RestSearchAnomalyDetectorInfoAction.java | 5 ++++- .../ad/rest/RestValidateAnomalyDetectorAction.java | 4 ++-- 6 files changed, 17 insertions(+), 9 deletions(-) diff --git a/src/main/java/org/opensearch/ad/rest/AbstractSearchAction.java b/src/main/java/org/opensearch/ad/rest/AbstractSearchAction.java index b0b6f25a0..fab6c1c05 100644 --- a/src/main/java/org/opensearch/ad/rest/AbstractSearchAction.java +++ b/src/main/java/org/opensearch/ad/rest/AbstractSearchAction.java @@ -46,7 +46,12 @@ import org.opensearch.core.xcontent.XContentBuilder; import org.opensearch.core.xcontent.XContentParser; import org.opensearch.extensions.rest.ExtensionRestResponse; -import org.opensearch.rest.*; +import org.opensearch.rest.BytesRestResponse; +import org.opensearch.rest.NamedRoute; +import org.opensearch.rest.RestChannel; +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.SDKRestClient; import org.opensearch.sdk.rest.BaseExtensionRestHandler; diff --git a/src/main/java/org/opensearch/ad/rest/RestDeleteAnomalyResultsAction.java b/src/main/java/org/opensearch/ad/rest/RestDeleteAnomalyResultsAction.java index a0ef5cb8a..416e12420 100644 --- a/src/main/java/org/opensearch/ad/rest/RestDeleteAnomalyResultsAction.java +++ b/src/main/java/org/opensearch/ad/rest/RestDeleteAnomalyResultsAction.java @@ -122,7 +122,7 @@ public List routes() { new NamedRoute.Builder() .method(DELETE) .path(path) - .uniqueName(routePrefix("detector/results")) + .uniqueName(routePrefix("detectors/results")) .handler(handleRequest) .build() ); diff --git a/src/main/java/org/opensearch/ad/rest/RestGetAnomalyDetectorAction.java b/src/main/java/org/opensearch/ad/rest/RestGetAnomalyDetectorAction.java index c53c01f08..2251ee7f4 100644 --- a/src/main/java/org/opensearch/ad/rest/RestGetAnomalyDetectorAction.java +++ b/src/main/java/org/opensearch/ad/rest/RestGetAnomalyDetectorAction.java @@ -129,13 +129,13 @@ public List routes() { new NamedRoute.Builder() .method(POST) .path(String.format(Locale.ROOT, "%s/{%s}/%s", AnomalyDetectorExtension.AD_BASE_DETECTORS_URI, DETECTOR_ID, PROFILE)) - .uniqueName(routePrefix("detector/profile")) + .uniqueName(routePrefix("detectors/profile")) .handler(handleRequest) .build(), new NamedRoute.Builder() .method(POST) .path(String.format(Locale.ROOT, "%s/{%s}/%s", AnomalyDetectorExtension.AD_BASE_DETECTORS_URI, DETECTOR_ID, TYPE)) - .uniqueName(routePrefix("detector/type")) + .uniqueName(routePrefix("detectors/type")) .handler(handleRequest) .build() ); diff --git a/src/main/java/org/opensearch/ad/rest/RestPreviewAnomalyDetectorAction.java b/src/main/java/org/opensearch/ad/rest/RestPreviewAnomalyDetectorAction.java index a3022fd68..d8f043fd4 100644 --- a/src/main/java/org/opensearch/ad/rest/RestPreviewAnomalyDetectorAction.java +++ b/src/main/java/org/opensearch/ad/rest/RestPreviewAnomalyDetectorAction.java @@ -11,7 +11,7 @@ package org.opensearch.ad.rest; -import static org.opensearch.ad.util.RestHandlerUtils.*; +import static org.opensearch.ad.util.RestHandlerUtils.PREVIEW; import static org.opensearch.common.xcontent.XContentParserUtils.ensureExpectedToken; import static org.opensearch.rest.RestRequest.Method.POST; @@ -148,7 +148,7 @@ public List routes() { new NamedRoute.Builder() .method(POST) .path(String.format(String.format(Locale.ROOT, "%s/%s", AnomalyDetectorExtension.AD_BASE_DETECTORS_URI, PREVIEW))) - .uniqueName(routePrefix("detector/preview")) + .uniqueName(routePrefix("detectors/preview")) .handler(handleRequest) .build() ); diff --git a/src/main/java/org/opensearch/ad/rest/RestSearchAnomalyDetectorInfoAction.java b/src/main/java/org/opensearch/ad/rest/RestSearchAnomalyDetectorInfoAction.java index 03cf0e6c5..51a06f159 100644 --- a/src/main/java/org/opensearch/ad/rest/RestSearchAnomalyDetectorInfoAction.java +++ b/src/main/java/org/opensearch/ad/rest/RestSearchAnomalyDetectorInfoAction.java @@ -34,7 +34,10 @@ import org.opensearch.common.xcontent.json.JsonXContent; import org.opensearch.core.xcontent.ToXContent; import org.opensearch.extensions.rest.ExtensionRestResponse; -import org.opensearch.rest.*; +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.SDKRestClient; import org.opensearch.sdk.rest.BaseExtensionRestHandler; diff --git a/src/main/java/org/opensearch/ad/rest/RestValidateAnomalyDetectorAction.java b/src/main/java/org/opensearch/ad/rest/RestValidateAnomalyDetectorAction.java index 7be451cb3..6885fb525 100644 --- a/src/main/java/org/opensearch/ad/rest/RestValidateAnomalyDetectorAction.java +++ b/src/main/java/org/opensearch/ad/rest/RestValidateAnomalyDetectorAction.java @@ -87,13 +87,13 @@ public List routes() { new NamedRoute.Builder() .method(POST) .path(String.format(Locale.ROOT, "%s/%s", AnomalyDetectorExtension.AD_BASE_DETECTORS_URI, VALIDATE)) - .uniqueName(routePrefix("detector/validate")) + .uniqueName(routePrefix("detectors/validate")) .handler(handleRequest) .build(), new NamedRoute.Builder() .method(POST) .path(String.format(Locale.ROOT, "%s/%s/{%s}", AnomalyDetectorExtension.AD_BASE_DETECTORS_URI, VALIDATE, TYPE)) - .uniqueName(routePrefix("detector/validate/type")) + .uniqueName(routePrefix("detectors/validate/type")) .handler(handleRequest) .build() ); From 47bdc95de3911e67cbea803ee58663d869877e7b Mon Sep 17 00:00:00 2001 From: Darshit Chanpura Date: Tue, 11 Jul 2023 12:15:27 -0400 Subject: [PATCH 3/3] Changes the routePrefix method call to reflect correct name Signed-off-by: Darshit Chanpura --- .../java/org/opensearch/ad/rest/AbstractSearchAction.java | 5 +++-- .../opensearch/ad/rest/RestDeleteAnomalyResultsAction.java | 2 +- .../org/opensearch/ad/rest/RestGetAnomalyDetectorAction.java | 4 ++-- .../opensearch/ad/rest/RestPreviewAnomalyDetectorAction.java | 2 +- .../opensearch/ad/rest/RestSearchTopAnomalyResultAction.java | 4 ++-- .../ad/rest/RestValidateAnomalyDetectorAction.java | 4 ++-- src/main/resources/ad-extension.yml | 1 + 7 files changed, 12 insertions(+), 10 deletions(-) diff --git a/src/main/java/org/opensearch/ad/rest/AbstractSearchAction.java b/src/main/java/org/opensearch/ad/rest/AbstractSearchAction.java index fab6c1c05..c60aa504e 100644 --- a/src/main/java/org/opensearch/ad/rest/AbstractSearchAction.java +++ b/src/main/java/org/opensearch/ad/rest/AbstractSearchAction.java @@ -178,8 +178,9 @@ protected ExtensionRestResponse search(RestRequest request, SearchResponse respo public List routes() { List routes = new ArrayList<>(); for (String path : urlPaths) { - routes.add(new NamedRoute.Builder().method(POST).path(path).uniqueName(routePrefix(path)).handler(handleRequest).build()); - routes.add(new NamedRoute.Builder().method(GET).path(path).uniqueName(routePrefix(path)).handler(handleRequest).build()); + routes + .add(new NamedRoute.Builder().method(POST).path(path).uniqueName(addRouteNamePrefix(path)).handler(handleRequest).build()); + routes.add(new NamedRoute.Builder().method(GET).path(path).uniqueName(addRouteNamePrefix(path)).handler(handleRequest).build()); } return routes; } diff --git a/src/main/java/org/opensearch/ad/rest/RestDeleteAnomalyResultsAction.java b/src/main/java/org/opensearch/ad/rest/RestDeleteAnomalyResultsAction.java index 416e12420..ba5556665 100644 --- a/src/main/java/org/opensearch/ad/rest/RestDeleteAnomalyResultsAction.java +++ b/src/main/java/org/opensearch/ad/rest/RestDeleteAnomalyResultsAction.java @@ -122,7 +122,7 @@ public List routes() { new NamedRoute.Builder() .method(DELETE) .path(path) - .uniqueName(routePrefix("detectors/results")) + .uniqueName(addRouteNamePrefix("detectors/results")) .handler(handleRequest) .build() ); diff --git a/src/main/java/org/opensearch/ad/rest/RestGetAnomalyDetectorAction.java b/src/main/java/org/opensearch/ad/rest/RestGetAnomalyDetectorAction.java index 2251ee7f4..779b7e82f 100644 --- a/src/main/java/org/opensearch/ad/rest/RestGetAnomalyDetectorAction.java +++ b/src/main/java/org/opensearch/ad/rest/RestGetAnomalyDetectorAction.java @@ -129,13 +129,13 @@ public List routes() { new NamedRoute.Builder() .method(POST) .path(String.format(Locale.ROOT, "%s/{%s}/%s", AnomalyDetectorExtension.AD_BASE_DETECTORS_URI, DETECTOR_ID, PROFILE)) - .uniqueName(routePrefix("detectors/profile")) + .uniqueName(addRouteNamePrefix("detectors/profile")) .handler(handleRequest) .build(), new NamedRoute.Builder() .method(POST) .path(String.format(Locale.ROOT, "%s/{%s}/%s", AnomalyDetectorExtension.AD_BASE_DETECTORS_URI, DETECTOR_ID, TYPE)) - .uniqueName(routePrefix("detectors/type")) + .uniqueName(addRouteNamePrefix("detectors/type")) .handler(handleRequest) .build() ); diff --git a/src/main/java/org/opensearch/ad/rest/RestPreviewAnomalyDetectorAction.java b/src/main/java/org/opensearch/ad/rest/RestPreviewAnomalyDetectorAction.java index d8f043fd4..6ed659b05 100644 --- a/src/main/java/org/opensearch/ad/rest/RestPreviewAnomalyDetectorAction.java +++ b/src/main/java/org/opensearch/ad/rest/RestPreviewAnomalyDetectorAction.java @@ -148,7 +148,7 @@ public List routes() { new NamedRoute.Builder() .method(POST) .path(String.format(String.format(Locale.ROOT, "%s/%s", AnomalyDetectorExtension.AD_BASE_DETECTORS_URI, PREVIEW))) - .uniqueName(routePrefix("detectors/preview")) + .uniqueName(addRouteNamePrefix("detectors/preview")) .handler(handleRequest) .build() ); diff --git a/src/main/java/org/opensearch/ad/rest/RestSearchTopAnomalyResultAction.java b/src/main/java/org/opensearch/ad/rest/RestSearchTopAnomalyResultAction.java index d53eac22e..ffd2f4ad0 100644 --- a/src/main/java/org/opensearch/ad/rest/RestSearchTopAnomalyResultAction.java +++ b/src/main/java/org/opensearch/ad/rest/RestSearchTopAnomalyResultAction.java @@ -141,13 +141,13 @@ public List routes() { new NamedRoute.Builder() .method(POST) .path(URL_PATH) - .uniqueName(routePrefix("search/post/topresults")) + .uniqueName(addRouteNamePrefix("search/post/topresults")) .handler(handleRequest) .build(), new NamedRoute.Builder() .method(GET) .path(URL_PATH) - .uniqueName(routePrefix("search/read/topresults")) + .uniqueName(addRouteNamePrefix("search/read/topresults")) .handler(handleRequest) .build() ); diff --git a/src/main/java/org/opensearch/ad/rest/RestValidateAnomalyDetectorAction.java b/src/main/java/org/opensearch/ad/rest/RestValidateAnomalyDetectorAction.java index 6885fb525..c336dc6fc 100644 --- a/src/main/java/org/opensearch/ad/rest/RestValidateAnomalyDetectorAction.java +++ b/src/main/java/org/opensearch/ad/rest/RestValidateAnomalyDetectorAction.java @@ -87,13 +87,13 @@ public List routes() { new NamedRoute.Builder() .method(POST) .path(String.format(Locale.ROOT, "%s/%s", AnomalyDetectorExtension.AD_BASE_DETECTORS_URI, VALIDATE)) - .uniqueName(routePrefix("detectors/validate")) + .uniqueName(addRouteNamePrefix("detectors/validate")) .handler(handleRequest) .build(), new NamedRoute.Builder() .method(POST) .path(String.format(Locale.ROOT, "%s/%s/{%s}", AnomalyDetectorExtension.AD_BASE_DETECTORS_URI, VALIDATE, TYPE)) - .uniqueName(routePrefix("detectors/validate/type")) + .uniqueName(addRouteNamePrefix("detectors/validate/type")) .handler(handleRequest) .build() ); diff --git a/src/main/resources/ad-extension.yml b/src/main/resources/ad-extension.yml index cb6e52265..001d2dbe1 100644 --- a/src/main/resources/ad-extension.yml +++ b/src/main/resources/ad-extension.yml @@ -3,3 +3,4 @@ hostAddress: 127.0.0.1 hostPort: 4532 opensearchAddress: 127.0.0.1 opensearchPort: 9200 +routeNamePrefix: ad