private Future submitVisualRequest()

in source/src/main/java/com/amazonaws/comprehend/esproxy/lambda/utils/kibana/KibanaUploader.java [157:185]


    private Future submitVisualRequest(@NonNull String indexName,
                                       @NonNull String fieldName,
                                       @NonNull Set<ComprehendOperationEnum> operations,
                                       @NonNull LambdaLogger logger) throws IOException {
        logger.log("Upload visualizations to Kibana");

        JSONObject visualizationJson = getResourceFileJson(VISUALIZATION_KEY_NAME);
        List<String> visualizationNameList = new ArrayList<>();

        // Load visualization name for each operation and add to the visualizationNameList
        operations.forEach(
                operation -> visualizationNameList.addAll(
                        Arrays.asList(operation.getComprehendOperation().getVisualizationNameList()))
        );

        return executorService.submit(() -> {
            // For each visualization name, submit a upload request
            for (String visualizationName : visualizationNameList) {
                String visualName = String.format("%s_%s-%s", indexName, fieldName, visualizationName);
                String endpoint = String.format("%s/%s-%s", VISUAL_PATH, visualName, VISUAL_OVERRIDE);

                String payload = buildAttributes(visualName, visualizationJson.get(visualizationName).toString())
                        .replaceAll(INDEX_NAME_KEY, indexName)
                        .replaceAll(FIELD_NAME_KEY, fieldName)
                        .replaceAll(INDEX_ID_KEY, String.format("%s-%s", indexName, INDEX_ID_NAME));
                performUploadRequest(endpoint, payload, logger);
            }
        });
    }