77import org .apache .maven .doxia .sink .impl .SinkEventAttributeSet ;
88import org .apache .maven .plugins .annotations .LifecyclePhase ;
99import org .apache .maven .plugins .annotations .Mojo ;
10+ import org .apache .maven .plugins .annotations .Parameter ;
1011import org .apache .maven .plugins .annotations .ResolutionScope ;
1112import org .apache .maven .reporting .AbstractMavenReport ;
1213import org .apache .maven .reporting .MavenReportException ;
3637)
3738public class RefactorFirstMavenReport extends AbstractMavenReport {
3839
40+ @ Parameter (property = "showDetails" )
41+ private boolean showDetails = false ;
42+
3943 public String getOutputName () {
4044 // This report will generate simple-report.html when invoked in a project with `mvn site`
4145 return "refactor-first-report" ;
@@ -59,20 +63,30 @@ protected void executeReport(Locale locale) throws MavenReportException {
5963 String projectBaseDir = project .getBasedir ().getPath ();
6064 String parentOfGitDir = gitLogReader .getGitDir (project .getBasedir ()).getParentFile ().getPath ();
6165
62- final String [] tableHeadings = {"Class" ,
63- "Priority" ,
64- "Change Proneness Rank" ,
65- "Effort Rank" ,
66- "WMC" ,
67- "WMC Rank" ,
68- "ATFD" ,
69- "ATFD Rank" ,
70- "TCC" ,
71- "TCC Rank" ,
72- "Date of First Commit" ,
73- "Date of Most Recent Commit" ,
74- "Commit Count" ,
75- "Full Path" };
66+ final String [] simpleTableHeadings = { "Class" ,
67+ "Priority" ,
68+ "Change Proneness Rank" ,
69+ "Effort Rank" ,
70+ "Method Count" ,
71+ "Most Recent Commit Date" ,
72+ "Commit Count" };
73+
74+ final String [] detailedTableHeadings = {"Class" ,
75+ "Priority" ,
76+ "Change Proneness Rank" ,
77+ "Effort Rank" ,
78+ "WMC" ,
79+ "WMC Rank" ,
80+ "ATFD" ,
81+ "ATFD Rank" ,
82+ "TCC" ,
83+ "TCC Rank" ,
84+ "Date of First Commit" ,
85+ "Date of Most Recent Commit" ,
86+ "Commit Count" ,
87+ "Full Path" };
88+
89+ final String [] tableHeadings = showDetails ? detailedTableHeadings : simpleTableHeadings ;
7690
7791 log .info ("Project Base Dir: {} " , projectBaseDir );
7892 log .info ("Parent of Git Dir: {}" , parentOfGitDir );
@@ -163,20 +177,31 @@ protected void executeReport(Locale locale) throws MavenReportException {
163177 for (RankedDisharmony rankedDisharmony : rankedDisharmonies ) {
164178 mainSink .tableRow ();
165179
166- final String [] rankedDisharmonyData = {rankedDisharmony .getClassName (),
167- rankedDisharmony .getPriority ().toString (),
168- rankedDisharmony .getChangePronenessRank ().toString (),
169- rankedDisharmony .getEffortRank ().toString (),
170- rankedDisharmony .getWmc ().toString (),
171- rankedDisharmony .getWmcRank ().toString (),
172- rankedDisharmony .getAtfd ().toString (),
173- rankedDisharmony .getAtfdRank ().toString (),
174- rankedDisharmony .getTcc ().toString (),
175- rankedDisharmony .getTccRank ().toString (),
176- formatter .format (rankedDisharmony .getFirstCommitTime ()),
177- formatter .format (rankedDisharmony .getMostRecentCommitTime ()),
178- rankedDisharmony .getCommitCount ().toString (),
179- rankedDisharmony .getPath ()};
180+ String [] simpleRankedDisharmonyData = { rankedDisharmony .getClassName (),
181+ rankedDisharmony .getPriority ().toString (),
182+ rankedDisharmony .getChangePronenessRank ().toString (),
183+ rankedDisharmony .getEffortRank ().toString (),
184+ rankedDisharmony .getWmc ().toString (),
185+ formatter .format (rankedDisharmony .getMostRecentCommitTime ()),
186+ rankedDisharmony .getCommitCount ().toString ()};
187+
188+ String [] detailedRankedDisharmonyData = { rankedDisharmony .getClassName (),
189+ rankedDisharmony .getPriority ().toString (),
190+ rankedDisharmony .getChangePronenessRank ().toString (),
191+ rankedDisharmony .getEffortRank ().toString (),
192+ rankedDisharmony .getWmc ().toString (),
193+ rankedDisharmony .getWmcRank ().toString (),
194+ rankedDisharmony .getAtfd ().toString (),
195+ rankedDisharmony .getAtfdRank ().toString (),
196+ rankedDisharmony .getTcc ().toString (),
197+ rankedDisharmony .getTccRank ().toString (),
198+ formatter .format (rankedDisharmony .getFirstCommitTime ()),
199+ formatter .format (rankedDisharmony .getMostRecentCommitTime ()),
200+ rankedDisharmony .getCommitCount ().toString (),
201+ rankedDisharmony .getPath ()};
202+
203+ final String [] rankedDisharmonyData =
204+ showDetails ? detailedRankedDisharmonyData : simpleRankedDisharmonyData ;
180205
181206 for (String rowData : rankedDisharmonyData ) {
182207 drawTableCell (rowData , mainSink );
0 commit comments