List execQueryList()

in src/main/java/co/elastic/support/diagnostics/commands/BaseQuery.java [63:105]


    List<RestEntry> execQueryList(RestClient restClient, List<RestEntry> calls, String tempdir){

        List<RestEntry> retryFailed = new ArrayList<>();

        for (RestEntry entry : calls) {
            try {
                String subdir = entry.getSubdir();
                if(StringUtils.isEmpty(subdir)){
                    subdir = tempdir;
                }
                else {
                    subdir = tempdir + SystemProperties.fileSeparator + subdir;
                    File nestedFolder = new File(subdir);
                    if( ! nestedFolder.isDirectory() ){
                        nestedFolder.mkdir();
                    }
                }
                String fileName = subdir + SystemProperties.fileSeparator + entry.getName() + entry.getExtension();
                RestResult restResult = restClient.execQuery(entry.getUrl(), fileName);
                if (restResult.isValid()) {
                    logger.info(Constants.CONSOLE, "Results written to: {}", fileName);
                }
                else{
                    if(entry.isRetry() && restResult.isRetryable()){
                        retryFailed.add(entry);
                        logger.info("{}   {}  failed.", entry.getName(), entry.getUrl());
                        logger.info(restResult.formatStatusMessage("Flagged for retry."));
                    }
                    else{
                        logger.info(Constants.CONSOLE, "{}   {}  failed. Bypassing", entry.getName(), entry.getUrl());
                        logger.info(Constants.CONSOLE, restResult.formatStatusMessage("See archived diagnostics.log for more detail."));
                    }
                }
            } catch (Exception e) {
                // Something happens just log it and go to the next query.
                logger.error( "Error occurred executing query {}", entry.getName() + " - " + entry.getUrl(), e);
                continue;
            }

        }
        return retryFailed;

    }