private void appendHeader()

in reports/src/main/java/nl/obren/sokrates/reports/generators/statichtml/OverviewReportGenerator.java [155:193]


    private void appendHeader(RichTextReport report) {
        report.startSection("Source Code Analysis Scope", "Files includes and excluded from analyses");
        report.startUnorderedList();
        int totalNumberOfFilesInScope = codeAnalysisResults.getTotalNumberOfFilesInScope();
        int numberOfExcludedFiles = codeAnalysisResults.getNumberOfExcludedFiles();
        List<String> extensions = codeAnalysisResults.getCodeConfiguration().getExtensions();
        int extensionsCount = extensions.size();
        report.addListItem("<b>" + extensionsCount + "</b> extension" + (extensionsCount > 1 ? "s are" : " is") + " included in analyses: " + getExtensionsString(extensions));
        ArrayList<SourceFileFilter> exclusions = codeAnalysisResults.getCodeConfiguration().getIgnore();
        if (exclusions != null && exclusions.size() > 0) {
            report.addListItem(RichTextRenderingUtils.renderNumberStrong(exclusions.size())
                    + (exclusions.size() == 1 ? " criterion is " : " criteria are ") +
                    " used to exclude files from analysis:");
            report.startUnorderedList();
            exclusions.forEach(exclusion -> {
                report.addListItem(describeExclusion(exclusion));
            });
            report.endUnorderedList();
        }
        int totalNumberOfIncludedFiles = totalNumberOfFilesInScope - numberOfExcludedFiles;
        String scopeSvg = getScopeSvg(totalNumberOfFilesInScope, numberOfExcludedFiles, totalNumberOfIncludedFiles);
        report.endUnorderedList();

        report.startUnorderedList();
        report.addListItem("The source code folder contains " + RichTextRenderingUtils.renderNumberStrong(totalNumberOfFilesInScope) + " files:");
        report.startUnorderedList();
        report.addListItem(scopeSvg);
        report.addListItem(RichTextRenderingUtils.renderNumberStrong(totalNumberOfIncludedFiles) + " files are included in analyses. ");
        report.addListItem(RichTextRenderingUtils.renderNumberStrong(numberOfExcludedFiles) + " files are excluded from analyses:");
        report.startUnorderedList();
        int filesExcludedByExtensionCount = codeAnalysisResults.getFilesExcludedByExtension().size();
        report.addListItem("<a href='../data/text/excluded_files_ignored_extensions.txt'>" + RichTextRenderingUtils.renderNumberStrong(filesExcludedByExtensionCount) + " based on extension</a>.");
        report.addListItem("<a href='../data/text/excluded_files_ignored_rules.txt'>" +RichTextRenderingUtils.renderNumberStrong(numberOfExcludedFiles - filesExcludedByExtensionCount) + " based on ignore rules</a>.");
        report.endUnorderedList();
        report.endUnorderedList();


        report.endSection();
    }