Process VNF event from spike
[aai/data-router.git] / src / main / java / org / onap / aai / datarouter / util / SearchServiceAgent.java
index fe1df3b..42861b4 100644 (file)
@@ -127,6 +127,14 @@ public class SearchServiceAgent {
     createIndex(index, schemaLocation);\r
   }\r
   \r
+  public void createSearchIndex(String index, String schemaLocation, String endUrl) {\r
+    \r
+    // Create a mapping of the index name to schema location \r
+    indexSchemaMapping.put(index, schemaLocation);\r
+    \r
+    // Now, create the index.\r
+    createIndex(index, schemaLocation, endUrl);\r
+  }\r
   \r
   /**\r
    * This method performs the actual work of creating a search index.\r
@@ -160,6 +168,30 @@ public class SearchServiceAgent {
     }\r
   }\r
   \r
+  private void createIndex(String index, String schemaLocation, String endUrl) {\r
+    \r
+    logger.debug("Creating search index, index name: = " + index + ", schemaLocation = " + schemaLocation);\r
+    \r
+    MultivaluedMap<String, String> headers = new MultivaluedMapImpl();\r
+    headers.put("Accept", Arrays.asList("application/json"));\r
+    headers.put(Headers.FROM_APP_ID, Arrays.asList("DL"));\r
+    headers.put(Headers.TRANSACTION_ID, Arrays.asList(UUID.randomUUID().toString()));\r
+      \r
+    String url = concatSubUri(searchUrl, endUrl, index);\r
+    try {\r
+\r
+      OperationResult result = searchClient.put(url, loadFileData(schemaLocation), headers,\r
+                                                MediaType.APPLICATION_JSON_TYPE, null);\r
+      if (!HttpUtil.isHttpResponseClassSuccess(result.getResultCode())) {\r
+        logger.error(DataRouterMsgs.FAIL_TO_CREATE_SEARCH_INDEX, index, result.getFailureCause());\r
+      } else {\r
+        logger.info(DataRouterMsgs.SEARCH_INDEX_CREATE_SUCCESS, index);\r
+      }\r
+\r
+    } catch (Exception e) {\r
+      logger.error(DataRouterMsgs.FAIL_TO_CREATE_SEARCH_INDEX, index, e.getLocalizedMessage());\r
+    }\r
+  }\r
   \r
   /**\r
    * Retrieves a document from the search service.\r