1 package net.sf.statcvs.pages;
2
3 import net.sf.statcvs.charts.ChartImage;
4 import net.sf.statcvs.charts.DirectoryPieChartMaker.DirectorySizesChartMaker;
5 import net.sf.statcvs.charts.LOCChartMaker.AllDirectoriesLOCChartMaker;
6 import net.sf.statcvs.model.Repository;
7 import net.sf.statcvs.output.ReportConfig;
8 import net.sf.statcvs.reports.DirectoriesTableReport;
9 import net.sf.statcvs.reports.TableReport;
10
11
12
13
14
15
16 public class DirectorySizesPageMaker {
17 private final ReportConfig config;
18 private final Repository repository;
19
20 public DirectorySizesPageMaker(final ReportConfig config) {
21 this.config = config;
22 this.repository = config.getRepository();
23 }
24
25 public NavigationNode toFile() {
26 final ChartImage allDirLOCChart = new AllDirectoriesLOCChartMaker(this.config, 6).toFile();
27 final ChartImage dirSizesChart = new DirectorySizesChartMaker(this.config).toFile();
28 final TableReport table = new DirectoriesTableReport(this.repository);
29
30 final Page page = this.config.createPage("dir_sizes", "Directory Sizes", "Directory Sizes");
31 page.addAttribute("Total Directories", this.repository.getDirectories().size());
32 page.add(allDirLOCChart);
33 page.addSection("Directory Statistics");
34 page.add(table);
35 page.add(dirSizesChart);
36 return page;
37 }
38 }