in reports/src/main/java/nl/obren/sokrates/reports/core/ReportFileExporter.java [343:433]
private static List<String[]> getReportsList(CodeAnalysisResults analysisResults, File sokratesConfigFolder) {
List<String[]> list = new ArrayList<>();
CodeConfiguration config = analysisResults.getCodeConfiguration();
boolean mainExists = analysisResults.getMainAspectAnalysisResults().getFilesCount() > 0;
boolean showHistoryReport = mainExists && config.getFileHistoryAnalysis().filesHistoryImportPathExists(sokratesConfigFolder);
boolean showDuplication = mainExists && !config.getAnalysis().isSkipDuplication();
boolean showDependencies = mainExists && !config.getAnalysis().isSkipDependencies();
boolean showTrends = mainExists && config.getTrendAnalysis().getReferenceAnalyses(sokratesConfigFolder).size() > 0;
boolean showConcerns = mainExists && config.countAllConcernsDefinitions() > 1;
boolean showControls = mainExists && config.getGoalsAndControls().size() > 0;
boolean showUnits = mainExists && analysisResults.getUnitsAnalysisResults().getTotalNumberOfUnits() > 0;
File findingsFile = CodeConfigurationUtils.getDefaultSokratesFindingsFile(sokratesConfigFolder);
boolean showFindings = false;
if (findingsFile.exists()) {
showFindings = FileUtils.sizeOf(findingsFile) > 10;
}
list.add(new String[]{"SourceCodeOverview.html", "Source Code Overview", "codebase"});
if (mainExists) {
list.add(new String[]{"Components.html", showDependencies ? "Components and Dependencies" : "Components", "dependencies"});
}
if (showDuplication) {
list.add(new String[]{"Duplication.html", "Duplication", "duplication"});
}
if (mainExists) {
list.add(new String[]{"FileSize.html", "File Size", "file_size"});
}
if (showHistoryReport) {
list.add(new String[]{"FileAge.html", "File Age", "file_history"});
list.add(new String[]{"FileChangeFrequency.html", "File Change Frequency", "heat"});
list.add(new String[]{"FileTemporalDependencies.html", "Temporal Dependencies", "temporal_dependency"});
}
if (showUnits) {
list.add(new String[]{"UnitSize.html", "Unit Size", "unit_size"});
list.add(new String[]{"ConditionalComplexity.html", "Conditional Complexity", "conditional"});
}
if (showConcerns) {
list.add(new String[]{"FeaturesOfInterest.html", "Features of Interest", "cross_cutting_concerns"});
}
list.add(new String[]{"Metrics.html", "All Metrics", "metrics"});
if (showTrends) {
list.add(new String[]{"Trend.html", "Trend", "trend"});
}
if (showControls) {
list.add(new String[]{"Controls.html", "Goals & Controls", "goal"});
}
if (showFindings) {
list.add(new String[]{"Notes.html", "Notes & Findings", "notes"});
}
if (!mainExists) {
list.add(new String[]{"", showDependencies ? "Components and Dependencies" : "Components", "dependencies"});
}
if (!showDuplication) {
list.add(new String[]{"", "Duplication", "duplication"});
}
if (!mainExists) {
list.add(new String[]{"", "File Size", "file_size"});
}
if (!showHistoryReport) {
list.add(new String[]{"", "File Age", "file_age"});
list.add(new String[]{"", "File Change Frequency", "heat"});
list.add(new String[]{"", "Temporal Dependencies", "temporal-dependencies"});
}
if (!showUnits) {
list.add(new String[]{"", "Unit Size", "unit_size"});
list.add(new String[]{"", "Conditional Complexity", "conditional"});
}
if (!showConcerns) {
list.add(new String[]{"", "Features of Interest", "cross_cutting_concerns"});
}
if (!showTrends) {
list.add(new String[]{"", "Trend", "trend"});
}
if (!showControls) {
list.add(new String[]{"", "Goals & Controls", "goal"});
}
if (!showFindings) {
list.add(new String[]{"", "Notes & Findings", "notes"});
}
return list;
}