From 2a3c89c5fd96948bb2401ecb5091445cb5f11c7c Mon Sep 17 00:00:00 2001 From: Daniel Widdis Date: Sat, 12 Nov 2022 20:59:38 -0800 Subject: [PATCH] CreateDetectorAction extends BaseExtensionRestHandler Signed-off-by: Daniel Widdis --- .../ad/rest/RestCreateDetectorAction.java | 28 ++++--------------- 1 file changed, 6 insertions(+), 22 deletions(-) diff --git a/src/main/java/org/opensearch/ad/rest/RestCreateDetectorAction.java b/src/main/java/org/opensearch/ad/rest/RestCreateDetectorAction.java index 3f86cedb8..d53194ae4 100644 --- a/src/main/java/org/opensearch/ad/rest/RestCreateDetectorAction.java +++ b/src/main/java/org/opensearch/ad/rest/RestCreateDetectorAction.java @@ -15,7 +15,6 @@ import static org.opensearch.rest.RestRequest.Method.POST; import static org.opensearch.rest.RestStatus.BAD_REQUEST; import static org.opensearch.rest.RestStatus.CREATED; -import static org.opensearch.rest.RestStatus.NOT_FOUND; import static org.opensearch.rest.RestStatus.OK; import java.io.ByteArrayInputStream; @@ -25,8 +24,6 @@ import java.time.Instant; import java.util.List; -import org.apache.logging.log4j.LogManager; -import org.apache.logging.log4j.Logger; import org.opensearch.ad.AnomalyDetectorExtension; import org.opensearch.ad.constant.CommonErrorMessages; import org.opensearch.ad.indices.AnomalyDetectionIndices; @@ -45,17 +42,15 @@ import org.opensearch.common.xcontent.XContentType; import org.opensearch.extensions.rest.ExtensionRestRequest; import org.opensearch.extensions.rest.ExtensionRestResponse; -import org.opensearch.rest.RestHandler.Route; -import org.opensearch.rest.RestRequest.Method; -import org.opensearch.sdk.ExtensionRestHandler; +import org.opensearch.sdk.BaseExtensionRestHandler; import org.opensearch.sdk.ExtensionsRunner; +import org.opensearch.sdk.RouteHandler; import com.google.common.base.Charsets; import com.google.common.io.Resources; import jakarta.json.stream.JsonParser; -public class RestCreateDetectorAction implements ExtensionRestHandler { - private static final Logger logger = LogManager.getLogger(RestCreateDetectorAction.class); +public class RestCreateDetectorAction extends BaseExtensionRestHandler { private final OpenSearchClient sdkClient; private final NamedXContentRegistry xContentRegistry; @@ -66,8 +61,8 @@ public RestCreateDetectorAction(ExtensionsRunner runner, AnomalyDetectorExtensio } @Override - public List routes() { - return List.of(new Route(POST, "/detectors")); + protected List routeHandlers() { + return List.of(new RouteHandler(POST, "/detectors", (r) -> handlePostRequest(r))); } private String getAnomalyDetectorMappings() throws IOException { @@ -129,20 +124,10 @@ private CreateIndexRequest initAnomalyDetectorIndex() { return request; } - @Override - public ExtensionRestResponse handleRequest(ExtensionRestRequest request) { + private ExtensionRestResponse handlePostRequest(ExtensionRestRequest request) { if (!EnabledSetting.isADPluginEnabled()) { throw new IllegalStateException(CommonErrorMessages.DISABLED_ERR_MSG); } - Method method = request.method(); - - if (!Method.POST.equals(method)) { - return new ExtensionRestResponse( - request, - NOT_FOUND, - "Extension REST action improperly configured to handle " + request.toString() - ); - } XContentParser parser; AnomalyDetector detector; @@ -175,5 +160,4 @@ public ExtensionRestResponse handleRequest(ExtensionRestRequest request) { } return new ExtensionRestResponse(request, OK, builder); } - }