From f079bafb2c691d32b85d657c5d8a64dfaa8e7f91 Mon Sep 17 00:00:00 2001
From: Jackie Han <hnyng@amazon.com>
Date: Mon, 27 Jan 2025 09:19:00 -0800
Subject: [PATCH] clean up

Signed-off-by: Jackie Han <hnyng@amazon.com>
---
 .../timeseries/indices/IndexManagement.java   |  8 ++++++++
 .../AbstractTimeSeriesActionHandler.java      | 19 ++++++-------------
 .../ad/model/AnomalyDetectorTests.java        |  2 +-
 3 files changed, 15 insertions(+), 14 deletions(-)

diff --git a/src/main/java/org/opensearch/timeseries/indices/IndexManagement.java b/src/main/java/org/opensearch/timeseries/indices/IndexManagement.java
index 57e25fb79..39b64c0a9 100644
--- a/src/main/java/org/opensearch/timeseries/indices/IndexManagement.java
+++ b/src/main/java/org/opensearch/timeseries/indices/IndexManagement.java
@@ -1052,6 +1052,14 @@ public void initFlattenedResultIndex(String flattenedResultIndexAlias, ActionLis
         }));
     }
 
+    public String getFlattenedResultIndexAlias(String indexOrAliasName, String configId) {
+        return indexOrAliasName + "_flattened_" + configId.toLowerCase(Locale.ROOT);
+    }
+
+    public String getFlattenResultIndexIngestPipelineId(String configId) {
+        return "flatten_result_index_ingest_pipeline" + configId.toLowerCase(Locale.ROOT);
+    }
+
     public <T> void validateCustomIndexForBackendJob(
         String resultIndexOrAlias,
         String securityLogId,
diff --git a/src/main/java/org/opensearch/timeseries/rest/handler/AbstractTimeSeriesActionHandler.java b/src/main/java/org/opensearch/timeseries/rest/handler/AbstractTimeSeriesActionHandler.java
index 69cf0ddcc..61c47888d 100644
--- a/src/main/java/org/opensearch/timeseries/rest/handler/AbstractTimeSeriesActionHandler.java
+++ b/src/main/java/org/opensearch/timeseries/rest/handler/AbstractTimeSeriesActionHandler.java
@@ -454,14 +454,6 @@ protected void prepareConfigIndexing(boolean indexingDryRun, ActionListener<T> l
         }
     }
 
-    private String getFlattenedResultIndexAlias(String configId) {
-        return config.getCustomResultIndexOrAlias() + "_flattened_" + configId.toLowerCase(Locale.ROOT);
-    }
-
-    private String getFlattenResultIndexIngestPipelineId(String configId) {
-        return "flatten_result_index_ingest_pipeline" + configId.toLowerCase(Locale.ROOT);
-    }
-
     private void handlePutRequest(boolean indexingDryRun, ActionListener<T> listener) {
         handler.confirmJobRunning(clusterService, client, id, listener, () -> {
             handleFlattenResultIndexMappingUpdate(listener);
@@ -474,8 +466,9 @@ private void handlePostRequest(boolean indexingDryRun, ActionListener<T> listene
             if (shouldHandleFlattening(indexingDryRun, createConfigResponse)) {
                 IndexAnomalyDetectorResponse response = (IndexAnomalyDetectorResponse) createConfigResponse;
                 String configId = response.getId();
-                String flattenedResultIndexAlias = getFlattenedResultIndexAlias(configId);
-                String pipelineId = getFlattenResultIndexIngestPipelineId(configId);
+                String flattenedResultIndexAlias = timeSeriesIndices
+                    .getFlattenedResultIndexAlias(config.getCustomResultIndexOrAlias(), configId);
+                String pipelineId = timeSeriesIndices.getFlattenResultIndexIngestPipelineId(configId);
 
                 timeSeriesIndices
                     .initFlattenedResultIndex(
@@ -504,8 +497,8 @@ private boolean shouldHandleFlattening(boolean indexingDryRun, Object createConf
     }
 
     protected void setupIngestPipeline(String configId, ActionListener<T> listener) {
-        String flattenedResultIndexAlias = getFlattenedResultIndexAlias(configId);
-        String pipelineId = getFlattenResultIndexIngestPipelineId(configId);
+        String flattenedResultIndexAlias = timeSeriesIndices.getFlattenedResultIndexAlias(config.getCustomResultIndexOrAlias(), configId);
+        String pipelineId = timeSeriesIndices.getFlattenResultIndexIngestPipelineId(configId);
 
         try {
             BytesReference pipelineSource = createPipelineDefinition(flattenedResultIndexAlias);
@@ -588,7 +581,7 @@ private void handleFlattenResultIndexMappingUpdate(ActionListener<T> listener) {
         if (config.getFlattenResultIndexMapping() != null && config.getFlattenResultIndexMapping()) {
             setupIngestPipeline(id, listener);
         } else {
-            String pipelineId = getFlattenResultIndexIngestPipelineId(config.getId());
+            String pipelineId = timeSeriesIndices.getFlattenResultIndexIngestPipelineId(config.getId());
             client.admin().cluster().deletePipeline(new DeletePipelineRequest(pipelineId), new ActionListener<AcknowledgedResponse>() {
 
                 @Override
diff --git a/src/test/java/org/opensearch/ad/model/AnomalyDetectorTests.java b/src/test/java/org/opensearch/ad/model/AnomalyDetectorTests.java
index 4bc0e6b9e..bc634a869 100644
--- a/src/test/java/org/opensearch/ad/model/AnomalyDetectorTests.java
+++ b/src/test/java/org/opensearch/ad/model/AnomalyDetectorTests.java
@@ -1007,7 +1007,7 @@ public void testParseAnomalyDetector_withCustomIndex_withFlattenResultIndexMappi
             + "\"aggregation_query\":{\"XzewX\":{\"value_count\":{\"field\":\"ok\"}}}}],\"recency_emphasis\":3342,"
             + "\"history\":62,\"last_update_time\":1717192049845,\"category_field\":[\"Tcqcb\"],\"result_index\":"
             + "\"opensearch-ad-plugin-result-test\",\"imputation_option\":{\"method\":\"ZERO\"},\"suggested_seasonality\":64,\"detection_interval\":{\"period\":"
-            + "{\"interval\":5,\"unit\":\"Minutes\"}},\"detector_type\":\"MULTI_ENTITY\",\"rules\":[],\"flatten_result_index_mapping\":true}";
+            + "{\"interval\":5,\"unit\":\"Minutes\"}},\"detector_type\":\"MULTI_ENTITY\",\"rules\":[],\"flatten_custom_result_index\":true}";
         AnomalyDetector parsedDetector = AnomalyDetector.parse(TestHelpers.parser(detectorString), "id", 1L, null, null);
         assertEquals(true, (boolean) parsedDetector.getFlattenResultIndexMapping());
     }