Hi David!
I just checked the new version of free chart under IntelliJ IDEA (www.intellij.net/eap to get a current version) and discovered a bunch of little bugs: typos, unused parameters in constructors etc. I really recommend you to try their code inspection tool (under menu Tools, inspect code), it will reveals you all weak location in JFreeChart.
I thought this may prevent a lot of bugs.
Anyway I want to thank you all for the really great lib, it is the best OpenSource lib for charting I ever used!
Sincerely,
Taoufik
about 50 possible bugs and code enhancements
Re: about 50 possible bugs and code enhancements
Hi Taoufik,
Thanks for the suggestion. Can you e-mail me a sample of the errors it reports?
I'm using Checkstyle 2.3 (an Open Source utility) at the moment to catch Javadoc errors and generally improve the consistency of the coding style used in JFreeChart. It's reporting a lot of issues which will take a while for me to sort through, but I like what it does.
Regards,
DG.
Thanks for the suggestion. Can you e-mail me a sample of the errors it reports?
I'm using Checkstyle 2.3 (an Open Source utility) at the moment to catch Javadoc errors and generally improve the consistency of the coding style used in JFreeChart. It's reporting a lot of issues which will take a while for me to sort through, but I like what it does.
Regards,
DG.
Re: about 50 possible bugs and code enhancements
Hi David,
The code inspection report is too big about 17 MB, I compressed it and sent it to you per email.
For interested users: you may download IDEA and create a new project for JFreeChart then run the inspection. I am sure there are some bugs that arent detected yet.
For example:
This constructor has a parameter: boolean tickMarkVisible,
notice the typo: tickMark(s)Visible
this way, the parameter tickMarkVisible will be fully ignored because
the real value this.tickMarksVisible = tickMarksVisible is initialised
with its default value which is false
protected Axis(String label,
Font labelFont, Paint labelPaint, Insets labelInsets,
boolean tickLabelsVisible,
Font tickLabelFont, Paint tickLabelPaint, Insets tickLabelInsets,
boolean tickMarkVisible, Stroke tickMarkStroke)
{
this.label = label;
this.labelFont = labelFont;
this.labelPaint = labelPaint;
this.labelInsets = labelInsets;
this.tickLabelsVisible = tickLabelsVisible;
this.tickLabelFont = tickLabelFont;
this.tickLabelPaint = tickLabelPaint;
this.tickLabelInsets = tickLabelInsets;
this.tickMarksVisible = tickMarksVisible;
this.tickMarkStroke = tickMarkStroke;
this.ticks = new java.util.ArrayList();
this.listeners = new java.util.ArrayList();
this.visible = true;
}
That was only one example of many little problems.
Sincerely,
Taoufik
The code inspection report is too big about 17 MB, I compressed it and sent it to you per email.
For interested users: you may download IDEA and create a new project for JFreeChart then run the inspection. I am sure there are some bugs that arent detected yet.
For example:
This constructor has a parameter: boolean tickMarkVisible,
notice the typo: tickMark(s)Visible
this way, the parameter tickMarkVisible will be fully ignored because
the real value this.tickMarksVisible = tickMarksVisible is initialised
with its default value which is false
protected Axis(String label,
Font labelFont, Paint labelPaint, Insets labelInsets,
boolean tickLabelsVisible,
Font tickLabelFont, Paint tickLabelPaint, Insets tickLabelInsets,
boolean tickMarkVisible, Stroke tickMarkStroke)
{
this.label = label;
this.labelFont = labelFont;
this.labelPaint = labelPaint;
this.labelInsets = labelInsets;
this.tickLabelsVisible = tickLabelsVisible;
this.tickLabelFont = tickLabelFont;
this.tickLabelPaint = tickLabelPaint;
this.tickLabelInsets = tickLabelInsets;
this.tickMarksVisible = tickMarksVisible;
this.tickMarkStroke = tickMarkStroke;
this.ticks = new java.util.ArrayList();
this.listeners = new java.util.ArrayList();
this.visible = true;
}
That was only one example of many little problems.
Sincerely,
Taoufik
Re: about 50 possible bugs and code enhancements
Thanks Taoufik,
I have the file and will look through it. Thankfully someone else already spotted the type in the constructor you mentioned above, and the fix is in CVS so that problem is gone for 0.9.4 when it gets released.
Regards,
DG
I have the file and will look through it. Thankfully someone else already spotted the type in the constructor you mentioned above, and the fix is in CVS so that problem is gone for 0.9.4 when it gets released.
Regards,
DG