Good or Bad Design
The following is the design for a reporting module. Any suggestions on the same would be appreciated.
1)ChartGenerator implements Generator.
Attributes ?
private int ncompID = UNDEF
private int njobId = UNDEF
private String storedproc = ""
private java.util.Date fromdt = null
private java.util.Date todt = null
Methods ?
generateTrendlinevalues(String[] entities2plot)
generatePieChart(String[] entities2plot)
generateBarChart(String[] entities2plot)
generateBarChart(ReportingLabelsAndValues labelvals,
String[]boards)
2)GenerateValues implements Generator.
Attributes ?
private int ncompID = UNDEF;
private int njobId = UNDEF;
private Date fromdt = null;
private Date todt = null;
private double[] values = null;
private String[] labels = null;
Methods ?
public BaseObjectList generateData(String storedproc)
public String[] getLabels()
public double[] getValues()
3)ReportingSource extends baseobject
Attributes ?
String label
Double value1
Methods ?
getSetRepSource()
4)ReportingSourceDAO extends baseobjectDAO
5)Servlet ?responsible for generating the chart
Code in the servlet
GenerateValues gvalues = new GenerateValues(compid, jobId, frmdt,todt);
ChartGenerator obj = new ChartGenerator(compid, jobId, frmdt, todt, storprocname);
String[] boards = req.getParameterValues("boards");
ReportingLabelsAndValues labelvals = obj.generateTrendlinevalues(boards);
XYChart cxy = obj.generateXYChart(labelvals, boards);
PieChart cpie = obj.generatePieChart(boards);
XYChart cbarchart = obj.generateBarChart(labelvals, boards);

