protected void writeHTML() throws IOException {
writeHTMLHeader("Defects.Title");
// get information about the current process
ListData developmentPhases = getProcessList("Development_Phase_List");
ListData qualityPhases = getProcessList("Quality_Phase_List");
ListData failurePhases = getProcessList("Failure_Phase_List");
// write the total defects chart
writeChartHTML(LINE_CHART, TOTAL_CHART);
// write the "injected in phase" charts
for (int i = 0; i < developmentPhases.size(); i++)
writeChartHTML(LINE_CHART, INJ_CHART,
fmtArg("phase", developmentPhases.get(i)));
// write the "removed in phase" charts
for (int i = 0; i < qualityPhases.size(); i++)
writeChartHTML(LINE_CHART, REM_CHART,
fmtArg("phase", qualityPhases.get(i)));
// write the cumulative injection percentage chart
if (developmentPhases.size() > 1)
writeChartHTML(LINE_CHART, CUM_INJ_PCT_CHART);
// write the cumulative removal percentage chart
if (qualityPhases.size() > 1)
writeChartHTML(LINE_CHART, CUM_REM_PCT_CHART);
// write the removal rates chart
if (qualityPhases.size() > 0)
writeChartHTML(LINE_CHART, REM_RATES_CHART);
if (qualityPhases.size() > 1)
// write the defect removal leverage chart
writeChartHTML(LINE_CHART, LEVERAGE_CHART);
// write scatter plots of failure phase densities
for (int i = 1; i < failurePhases.size(); i++)
writeChartHTML(XY_CHART, FAIL_SCATTER_CHART,
fmtArg("phaseX", failurePhases.get(i-1)) + "&" +
fmtArg("phaseY", failurePhases.get(i)));
// write pie charts of injected/removed defects by phase
writeChartHTML(PIE_CHART, INJ_PIE_CHART);
writeChartHTML(PIE_CHART, REM_PIE_CHART);