public List processProjects()

in services/library/src/main/java/com/google/cloud/pso/bq_pii_classifier/functions/dispatcher/Dispatcher.java [288:325]


    public List<JsonMessage> processProjects(
            List<String> projectIncludeList,
            List<String> datasetExcludeList,
            List<String> tableExcludeList
    ) throws IOException, InterruptedException, NonRetryableApplicationException {

        List<String> datasetIncludeList = new ArrayList<>();

        logger.logInfoWithTracker(runId, String.format("Will process projects %s", projectIncludeList));

        for (String project : projectIncludeList) {
            logger.logInfoWithTracker(runId, String.format("Inspecting project %s", project));

            try {

                // get all datasets with tables that have DLP findings
                List<String> projectDatasets = scanner.listParents(project);
                datasetIncludeList.addAll(projectDatasets);

                if (projectDatasets.isEmpty()) {
                    String msg = String.format(
                            "No datasets found under project '%s'.",
                            project);

                    logger.logWarnWithTracker(runId, msg);
                } else {

                    logger.logInfoWithTracker(runId, String.format("Datasets found in project %s : %s", project, projectDatasets));
                }

            } catch (Exception exception) {
                // log and continue
                logger.logFailedDispatcherEntityId(runId, project, exception);
            }

        }
        return processDatasets(datasetIncludeList, datasetExcludeList, tableExcludeList);
    }