1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23 package net.sf.statcvs.reports;
24
25 import net.sf.statcvs.Messages;
26 import net.sf.statcvs.model.Directory;
27 import net.sf.statcvs.output.ReportConfig;
28 import net.sf.statcvs.reportmodel.AuthorColumn;
29 import net.sf.statcvs.reportmodel.Table;
30
31 /**
32 * Table report which creates a table containing the names of the
33 * authors who have committed changes to a certain directory,
34 * and their LOC contributions and number of changes in that directory.
35 *
36 * @author Richard Cyganiak <rcyg@gmx.de>
37 * @version $Id: AuthorsForDirectoryTableReport.java,v 1.8 2008/04/02 11:22:15 benoitx Exp $
38 */
39 public class AuthorsForDirectoryTableReport extends AbstractLocTableReport implements TableReport {
40
41 private final Directory directory;
42 private Table table = null;
43
44 /**
45 * Creates a table report containing authors who have committed
46 * changes to a specified directory, their number of changes
47 * and LOC contributions.
48 * @param content the version control source data
49 * @param directory a directory
50 */
51 public AuthorsForDirectoryTableReport(final ReportConfig config, final Directory directory) {
52 super(config);
53 this.directory = directory;
54 }
55
56 /**
57 * @see net.sf.statcvs.reports.TableReport#calculate()
58 */
59 public void calculate() {
60 calculateChangesAndLinesPerDeveloper(directory.getRevisions());
61 table = createChangesAndLinesTable(new AuthorColumn(), null, Messages.getString("AUTHORS_TABLE_FOR_DIRECTORY_SUMMARY"));
62 }
63
64 /**
65 * @see net.sf.statcvs.reports.TableReport#getTable()
66 */
67 public Table getTable() {
68 return table;
69 }
70 }