@@ -174,125 +174,135 @@ public void execute(
174174 }
175175
176176 if (!rankedGodClassDisharmonies .isEmpty ()) {
177- int maxGodClassPriority = rankedGodClassDisharmonies
178- .get (rankedGodClassDisharmonies .size () - 1 )
179- .getPriority ();
177+ renderGodClassInfo (showDetails , outputDirectory , rankedGodClassDisharmonies , stringBuilder , godClassTableHeadings , formatter );
178+ }
180179
181- stringBuilder .append ("<div style=\" text-align: center;\" ><a id=\" GOD\" ><h1>God Classes</h1></a></div>" );
180+ if (!rankedGodClassDisharmonies .isEmpty () && !rankedCBODisharmonies .isEmpty ()) {
181+ stringBuilder .append ("<br/>\n " + "<br/>\n " + "<br/>\n " + "<br/>\n " + "<hr/>\n " + "<br/>\n " + "<br/>" );
182+ }
182183
183- renderGodClassChart (outputDirectory , rankedGodClassDisharmonies , maxGodClassPriority , stringBuilder );
184+ if (!rankedCBODisharmonies .isEmpty ()) {
185+ renderHighlyCoupledClassInfo (outputDirectory , stringBuilder , rankedCBODisharmonies , formatter );
186+ }
184187
185- stringBuilder .append (
186- "<h2 align= \" center \" >God classes by the numbers: (Refactor Starting with Priority 1)</h2>" );
187- stringBuilder .append ("<table align= \" center \" border= \" 5px \" >" );
188+ stringBuilder .append ("</section>" );
189+ printProjectFooter ( stringBuilder , formatter );
190+ stringBuilder .append (THE_END );
188191
189- // Content
190- stringBuilder .append ("<thead><tr>" );
191- for (String heading : godClassTableHeadings ) {
192- stringBuilder .append ("<th>" ).append (heading ).append ("</th>" );
193- }
194- stringBuilder .append ("</tr></thead>" );
195-
196- stringBuilder .append ("<tbody>" );
197- for (RankedDisharmony rankedGodClassDisharmony : rankedGodClassDisharmonies ) {
198- stringBuilder .append ("<tr>" );
199-
200- String [] simpleRankedGodClassDisharmonyData = {
201- rankedGodClassDisharmony .getFileName (),
202- rankedGodClassDisharmony .getPriority ().toString (),
203- rankedGodClassDisharmony .getChangePronenessRank ().toString (),
204- rankedGodClassDisharmony .getEffortRank ().toString (),
205- rankedGodClassDisharmony .getWmc ().toString (),
206- formatter .format (rankedGodClassDisharmony .getMostRecentCommitTime ()),
207- rankedGodClassDisharmony .getCommitCount ().toString ()
208- };
209-
210- String [] detailedRankedGodClassDisharmonyData = {
211- rankedGodClassDisharmony .getFileName (),
212- rankedGodClassDisharmony .getPriority ().toString (),
213- rankedGodClassDisharmony .getRawPriority ().toString (),
214- rankedGodClassDisharmony .getChangePronenessRank ().toString (),
215- rankedGodClassDisharmony .getEffortRank ().toString (),
216- rankedGodClassDisharmony .getWmc ().toString (),
217- rankedGodClassDisharmony .getWmcRank ().toString (),
218- rankedGodClassDisharmony .getAtfd ().toString (),
219- rankedGodClassDisharmony .getAtfdRank ().toString (),
220- rankedGodClassDisharmony .getTcc ().toString (),
221- rankedGodClassDisharmony .getTccRank ().toString (),
222- formatter .format (rankedGodClassDisharmony .getFirstCommitTime ()),
223- formatter .format (rankedGodClassDisharmony .getMostRecentCommitTime ()),
224- rankedGodClassDisharmony .getCommitCount ().toString (),
225- rankedGodClassDisharmony .getPath ()
226- };
227-
228- final String [] rankedDisharmonyData =
229- showDetails ? detailedRankedGodClassDisharmonyData : simpleRankedGodClassDisharmonyData ;
230-
231- for (String rowData : rankedDisharmonyData ) {
232- drawTableCell (rowData , stringBuilder );
233- }
234-
235- stringBuilder .append ("</tr>" );
236- }
192+ log .debug (stringBuilder .toString ());
193+
194+ writeReportToDisk (outputDirectory , filename , stringBuilder );
195+ log .info ("Done! View the report at target/site/{}" , filename );
196+ }
197+
198+ private void renderGodClassInfo (boolean showDetails , String outputDirectory , List <RankedDisharmony > rankedGodClassDisharmonies , StringBuilder stringBuilder , String [] godClassTableHeadings , DateTimeFormatter formatter ) {
199+ int maxGodClassPriority = rankedGodClassDisharmonies
200+ .get (rankedGodClassDisharmonies .size () - 1 )
201+ .getPriority ();
202+
203+ stringBuilder .append ("<div style=\" text-align: center;\" ><a id=\" GOD\" ><h1>God Classes</h1></a></div>" );
237204
238- stringBuilder .append ("</tbody>" );
239- stringBuilder .append ("</table>" );
205+ renderGodClassChart (outputDirectory , rankedGodClassDisharmonies , maxGodClassPriority , stringBuilder );
206+
207+ stringBuilder .append (
208+ "<h2 align=\" center\" >God classes by the numbers: (Refactor Starting with Priority 1)</h2>" );
209+ stringBuilder .append ("<table align=\" center\" border=\" 5px\" >" );
210+
211+ // Content
212+ stringBuilder .append ("<thead><tr>" );
213+ for (String heading : godClassTableHeadings ) {
214+ stringBuilder .append ("<th>" ).append (heading ).append ("</th>" );
240215 }
216+ stringBuilder .append ("</tr></thead>" );
217+
218+ stringBuilder .append ("<tbody>" );
219+ for (RankedDisharmony rankedGodClassDisharmony : rankedGodClassDisharmonies ) {
220+ stringBuilder .append ("<tr>" );
221+
222+ String [] simpleRankedGodClassDisharmonyData = {
223+ rankedGodClassDisharmony .getFileName (),
224+ rankedGodClassDisharmony .getPriority ().toString (),
225+ rankedGodClassDisharmony .getChangePronenessRank ().toString (),
226+ rankedGodClassDisharmony .getEffortRank ().toString (),
227+ rankedGodClassDisharmony .getWmc ().toString (),
228+ formatter .format (rankedGodClassDisharmony .getMostRecentCommitTime ()),
229+ rankedGodClassDisharmony .getCommitCount ().toString ()
230+ };
231+
232+ String [] detailedRankedGodClassDisharmonyData = {
233+ rankedGodClassDisharmony .getFileName (),
234+ rankedGodClassDisharmony .getPriority ().toString (),
235+ rankedGodClassDisharmony .getRawPriority ().toString (),
236+ rankedGodClassDisharmony .getChangePronenessRank ().toString (),
237+ rankedGodClassDisharmony .getEffortRank ().toString (),
238+ rankedGodClassDisharmony .getWmc ().toString (),
239+ rankedGodClassDisharmony .getWmcRank ().toString (),
240+ rankedGodClassDisharmony .getAtfd ().toString (),
241+ rankedGodClassDisharmony .getAtfdRank ().toString (),
242+ rankedGodClassDisharmony .getTcc ().toString (),
243+ rankedGodClassDisharmony .getTccRank ().toString (),
244+ formatter .format (rankedGodClassDisharmony .getFirstCommitTime ()),
245+ formatter .format (rankedGodClassDisharmony .getMostRecentCommitTime ()),
246+ rankedGodClassDisharmony .getCommitCount ().toString (),
247+ rankedGodClassDisharmony .getPath ()
248+ };
249+
250+ final String [] rankedDisharmonyData =
251+ showDetails ? detailedRankedGodClassDisharmonyData : simpleRankedGodClassDisharmonyData ;
252+
253+ for (String rowData : rankedDisharmonyData ) {
254+ drawTableCell (rowData , stringBuilder );
255+ }
241256
242- if (!rankedCBODisharmonies .isEmpty ()) {
257+ stringBuilder .append ("</tr>" );
258+ }
243259
244- stringBuilder .append ("<br/>\n " + "<br/>\n " + "<br/>\n " + "<br/>\n " + "<hr/>\n " + "<br/>\n " + "<br/>" );
260+ stringBuilder .append ("</tbody>" );
261+ stringBuilder .append ("</table>" );
262+ }
245263
246- stringBuilder .append (
247- "<div style=\" text-align: center;\" ><a id=\" CBO\" ><h1>Highly Coupled Classes</h1></a></div>" );
264+ private void renderHighlyCoupledClassInfo (String outputDirectory , StringBuilder stringBuilder , List <RankedDisharmony > rankedCBODisharmonies , DateTimeFormatter formatter ) {
265+ stringBuilder .append (
266+ "<div style=\" text-align: center;\" ><a id=\" CBO\" ><h1>Highly Coupled Classes</h1></a></div>" );
248267
249- int maxCboPriority =
250- rankedCBODisharmonies .get (rankedCBODisharmonies .size () - 1 ).getPriority ();
268+ int maxCboPriority =
269+ rankedCBODisharmonies .get (rankedCBODisharmonies .size () - 1 ).getPriority ();
251270
252- renderCBOChart (outputDirectory , rankedCBODisharmonies , maxCboPriority , stringBuilder );
271+ renderCBOChart (outputDirectory , rankedCBODisharmonies , maxCboPriority , stringBuilder );
253272
254- stringBuilder .append (
255- "<h2 align=\" center\" >Highly Coupled classes by the numbers: (Refactor starting with Priority 1)</h2>" );
256- stringBuilder .append ("<table align=\" center\" border=\" 5px\" >" );
273+ stringBuilder .append (
274+ "<h2 align=\" center\" >Highly Coupled classes by the numbers: (Refactor starting with Priority 1)</h2>" );
275+ stringBuilder .append ("<table align=\" center\" border=\" 5px\" >" );
257276
258- // Content
259- stringBuilder .append ("<thead><tr>" );
260- for (String heading : cboTableHeadings ) {
261- stringBuilder .append ("<th>" ).append (heading ).append ("</th>" );
262- }
263- stringBuilder .append ("</tr></thead>" );
277+ // Content
278+ stringBuilder .append ("<thead><tr>" );
279+ for (String heading : cboTableHeadings ) {
280+ stringBuilder .append ("<th>" ).append (heading ).append ("</th>" );
281+ }
282+ stringBuilder .append ("</tr></thead>" );
264283
265- stringBuilder .append ("<tbody>" );
266- for (RankedDisharmony rankedCboClassDisharmony : rankedCBODisharmonies ) {
267- stringBuilder .append ("<tr>" );
284+ stringBuilder .append ("<tbody>" );
285+ for (RankedDisharmony rankedCboClassDisharmony : rankedCBODisharmonies ) {
286+ stringBuilder .append ("<tr>" );
268287
269- String [] rankedCboClassDisharmonyData = {
288+ String [] rankedCboClassDisharmonyData = {
270289 rankedCboClassDisharmony .getFileName (),
271290 rankedCboClassDisharmony .getPriority ().toString (),
272291 rankedCboClassDisharmony .getChangePronenessRank ().toString (),
273292 rankedCboClassDisharmony .getEffortRank ().toString (),
274293 formatter .format (rankedCboClassDisharmony .getMostRecentCommitTime ()),
275294 rankedCboClassDisharmony .getCommitCount ().toString ()
276- };
295+ };
277296
278- for (String rowData : rankedCboClassDisharmonyData ) {
279- drawTableCell (rowData , stringBuilder );
280- }
281-
282- stringBuilder .append ("</tr>" );
297+ for (String rowData : rankedCboClassDisharmonyData ) {
298+ drawTableCell (rowData , stringBuilder );
283299 }
284300
285- stringBuilder .append ("</tbody >" );
301+ stringBuilder .append ("</tr >" );
286302 }
287303
288- stringBuilder .append ("</table></section>" );
289- printProjectFooter (stringBuilder , formatter );
290- stringBuilder .append (THE_END );
291-
292- log .debug (stringBuilder .toString ());
293-
294- writeReportToDisk (outputDirectory , filename , stringBuilder );
295- log .info ("Done! View the report at target/site/{}" , filename );
304+ stringBuilder .append ("</tbody>" );
305+ stringBuilder .append ("</table>" );
296306 }
297307
298308 void drawTableCell (String rowData , StringBuilder stringBuilder ) {
0 commit comments