diff options
| author | Keith Wall <kwall@apache.org> | 2012-07-05 15:28:54 +0000 |
|---|---|---|
| committer | Keith Wall <kwall@apache.org> | 2012-07-05 15:28:54 +0000 |
| commit | 86ce77a7c93fa80a80501e6980d607819db48085 (patch) | |
| tree | 3cbb9c147b7d0508e66f99c275f5e5dae6040e89 /qpid/java/perftests/visualisation-jfc | |
| parent | c47834db296c0fda1bc97c662412a6310d788a5a (diff) | |
| download | qpid-python-86ce77a7c93fa80a80501e6980d607819db48085.tar.gz | |
QPID-3977: tidy up chart generation.
Specifically:
- chart-summary.html now shows charts in deterministic order (dictated by the chart file names)
- We now only have one set of test definitions rather than maintaining both short and standard sets of files. We will use QPID-4103 to adjust the durations across the board.
- Charts have been given subtitles, and sloping CategoryLabelPositions to Plots that aren't CategoryPlots. Also added test for statistical bar charts to ChartProductionTest.
Applied patch from Philip Harvey <phil@philharveyonline.com>
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1357682 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'qpid/java/perftests/visualisation-jfc')
6 files changed, 47 insertions, 7 deletions
diff --git a/qpid/java/perftests/visualisation-jfc/src/main/java/org/apache/qpid/disttest/charting/chartbuilder/CategoryDataSetBasedChartBuilder.java b/qpid/java/perftests/visualisation-jfc/src/main/java/org/apache/qpid/disttest/charting/chartbuilder/CategoryDataSetBasedChartBuilder.java index 5617b9c330..a6c63f4560 100644 --- a/qpid/java/perftests/visualisation-jfc/src/main/java/org/apache/qpid/disttest/charting/chartbuilder/CategoryDataSetBasedChartBuilder.java +++ b/qpid/java/perftests/visualisation-jfc/src/main/java/org/apache/qpid/disttest/charting/chartbuilder/CategoryDataSetBasedChartBuilder.java @@ -25,6 +25,7 @@ import org.apache.qpid.disttest.charting.definition.SeriesDefinition; import org.apache.qpid.disttest.charting.seriesbuilder.SeriesBuilderCallback; import org.apache.qpid.disttest.charting.seriesbuilder.SeriesBuilder; import org.jfree.chart.JFreeChart; +import org.jfree.chart.axis.CategoryLabelPositions; import org.jfree.data.category.DefaultCategoryDataset; public abstract class CategoryDataSetBasedChartBuilder extends BaseChartBuilder @@ -74,6 +75,8 @@ public abstract class CategoryDataSetBasedChartBuilder extends BaseChartBuilder JFreeChart chart = createChartImpl(title, xAxisTitle, yAxisTitle, dataset, PLOT_ORIENTATION, SHOW_LEGEND, SHOW_TOOL_TIPS, SHOW_URLS); + chart.getCategoryPlot().getDomainAxis().setCategoryLabelPositions(CategoryLabelPositions.UP_45); + addCommonChartAttributes(chart, chartingDefinition); return chart; diff --git a/qpid/java/perftests/visualisation-jfc/src/main/java/org/apache/qpid/disttest/charting/chartbuilder/StatisticalBarCharBuilder.java b/qpid/java/perftests/visualisation-jfc/src/main/java/org/apache/qpid/disttest/charting/chartbuilder/StatisticalBarCharBuilder.java index 843b57939f..86c3f62e09 100644 --- a/qpid/java/perftests/visualisation-jfc/src/main/java/org/apache/qpid/disttest/charting/chartbuilder/StatisticalBarCharBuilder.java +++ b/qpid/java/perftests/visualisation-jfc/src/main/java/org/apache/qpid/disttest/charting/chartbuilder/StatisticalBarCharBuilder.java @@ -28,6 +28,7 @@ import org.apache.qpid.disttest.charting.seriesbuilder.SeriesBuilder; import org.apache.qpid.disttest.charting.seriesbuilder.SeriesBuilderCallback; import org.jfree.chart.JFreeChart; import org.jfree.chart.axis.CategoryAxis; +import org.jfree.chart.axis.CategoryLabelPositions; import org.jfree.chart.axis.NumberAxis; import org.jfree.chart.axis.ValueAxis; import org.jfree.chart.plot.CategoryPlot; @@ -86,6 +87,8 @@ public class StatisticalBarCharBuilder extends BaseChartBuilder JFreeChart chart = createChartImpl(title, xAxisTitle, yAxisTitle, dataset, PLOT_ORIENTATION, SHOW_LEGEND, SHOW_TOOL_TIPS, SHOW_URLS); + chart.getCategoryPlot().getDomainAxis().setCategoryLabelPositions(CategoryLabelPositions.UP_45); + addCommonChartAttributes(chart, chartingDefinition); return chart; diff --git a/qpid/java/perftests/visualisation-jfc/src/main/java/org/apache/qpid/disttest/charting/chartbuilder/XYDataSetBasedChartBuilder.java b/qpid/java/perftests/visualisation-jfc/src/main/java/org/apache/qpid/disttest/charting/chartbuilder/XYDataSetBasedChartBuilder.java index 8d5332c126..87d61ca2ee 100644 --- a/qpid/java/perftests/visualisation-jfc/src/main/java/org/apache/qpid/disttest/charting/chartbuilder/XYDataSetBasedChartBuilder.java +++ b/qpid/java/perftests/visualisation-jfc/src/main/java/org/apache/qpid/disttest/charting/chartbuilder/XYDataSetBasedChartBuilder.java @@ -28,6 +28,7 @@ import org.apache.qpid.disttest.charting.definition.SeriesDefinition; import org.apache.qpid.disttest.charting.seriesbuilder.SeriesBuilderCallback; import org.apache.qpid.disttest.charting.seriesbuilder.SeriesBuilder; import org.jfree.chart.JFreeChart; +import org.jfree.chart.axis.CategoryLabelPositions; import org.jfree.data.xy.DefaultXYDataset; diff --git a/qpid/java/perftests/visualisation-jfc/src/main/java/org/apache/qpid/disttest/charting/writer/ChartWriter.java b/qpid/java/perftests/visualisation-jfc/src/main/java/org/apache/qpid/disttest/charting/writer/ChartWriter.java index 134933ef50..08bdf122ba 100644 --- a/qpid/java/perftests/visualisation-jfc/src/main/java/org/apache/qpid/disttest/charting/writer/ChartWriter.java +++ b/qpid/java/perftests/visualisation-jfc/src/main/java/org/apache/qpid/disttest/charting/writer/ChartWriter.java @@ -26,8 +26,8 @@ import java.io.FileOutputStream; import java.io.FileWriter; import java.io.IOException; import java.io.OutputStream; -import java.util.ArrayList; -import java.util.List; +import java.util.SortedSet; +import java.util.TreeSet; import org.apache.qpid.disttest.charting.ChartingException; import org.jfree.chart.ChartUtilities; @@ -42,14 +42,13 @@ public class ChartWriter static final String SUMMARY_FILE_NAME = "chart-summary.html"; private File _chartDirectory = new File("."); - private List<File> _chartFiles = new ArrayList<File>(); + private SortedSet<File> _chartFiles = new TreeSet<File>(); public void writeChartToFileSystem(JFreeChart chart, String chartStemName) { OutputStream pngOutputStream = null; try { - File pngFile = new File(_chartDirectory, chartStemName + ".png"); pngOutputStream = new BufferedOutputStream(new FileOutputStream(pngFile)); ChartUtilities.writeChartAsPNG(pngOutputStream, chart, 600, 400, true, 0); diff --git a/qpid/java/perftests/visualisation-jfc/src/test/java/org/apache/qpid/disttest/charting/chartbuilder/ChartProductionTest.java b/qpid/java/perftests/visualisation-jfc/src/test/java/org/apache/qpid/disttest/charting/chartbuilder/ChartProductionTest.java index d2f988f7c8..2744e17404 100644 --- a/qpid/java/perftests/visualisation-jfc/src/test/java/org/apache/qpid/disttest/charting/chartbuilder/ChartProductionTest.java +++ b/qpid/java/perftests/visualisation-jfc/src/test/java/org/apache/qpid/disttest/charting/chartbuilder/ChartProductionTest.java @@ -109,12 +109,47 @@ public class ChartProductionTest extends TestCase ChartBuilder builder = ChartBuilderFactory.createChartBuilder(ChartType.LINE3D, new SampleSeriesBuilder()); assertChartTitlesAndWriteToFile(builder); } + public void testXYLineChart() throws Exception { ChartBuilder builder = ChartBuilderFactory.createChartBuilder(ChartType.XYLINE, new SampleSeriesBuilder()); assertChartTitlesAndWriteToFile(builder); } + public void testStatiscticalBarChart() throws Exception + { + ChartBuilder builder = ChartBuilderFactory.createChartBuilder( + ChartType.STATISTICAL_BAR, + new SeriesBuilder() + { + private SeriesBuilderCallback _dataPointCallback; + + @Override + public void build(List<SeriesDefinition> seriesDefinitions) + { + for (Iterator<SeriesDefinition> iterator = seriesDefinitions.iterator(); iterator.hasNext();) + { + SeriesDefinition seriesDefinition = iterator.next(); + _dataPointCallback.beginSeries(seriesDefinition); + _dataPointCallback.addDataPointToSeries(seriesDefinition, new Object[]{1d, 1d, 0.5d}); + _dataPointCallback.addDataPointToSeries(seriesDefinition, new Object[]{2d, 2d, 0.4d}); + _dataPointCallback.addDataPointToSeries(seriesDefinition, new Object[]{4d, 4d, 0.3d}); + _dataPointCallback.addDataPointToSeries(seriesDefinition, new Object[]{5d, 5d, 0.2d}); + _dataPointCallback.addDataPointToSeries(seriesDefinition, new Object[]{6d, 3d, 0.1d}); + _dataPointCallback.endSeries(seriesDefinition); + } + } + + @Override + public void setSeriesBuilderCallback(SeriesBuilderCallback dataPointCallback) + { + _dataPointCallback = dataPointCallback; + } + }); + + assertChartTitlesAndWriteToFile(builder); + } + private void assertChartTitlesAndWriteToFile(ChartBuilder builder) { JFreeChart chart = builder.buildChart(_chartingDefinition); @@ -141,8 +176,7 @@ public class ChartProductionTest extends TestCase @Override public void build(List<SeriesDefinition> seriesDefinitions) { - for (Iterator<SeriesDefinition> iterator = seriesDefinitions.iterator(); iterator - .hasNext();) + for (Iterator<SeriesDefinition> iterator = seriesDefinitions.iterator(); iterator.hasNext();) { SeriesDefinition seriesDefinition = iterator.next(); _dataPointCallback.beginSeries(seriesDefinition); diff --git a/qpid/java/perftests/visualisation-jfc/src/test/java/org/apache/qpid/disttest/charting/writer/ChartWriterTest.java b/qpid/java/perftests/visualisation-jfc/src/test/java/org/apache/qpid/disttest/charting/writer/ChartWriterTest.java index 472edd69a1..0e176d326b 100644 --- a/qpid/java/perftests/visualisation-jfc/src/test/java/org/apache/qpid/disttest/charting/writer/ChartWriterTest.java +++ b/qpid/java/perftests/visualisation-jfc/src/test/java/org/apache/qpid/disttest/charting/writer/ChartWriterTest.java @@ -73,8 +73,8 @@ public class ChartWriterTest extends TestCase writeDummyContentToSummaryFileToEnsureItGetsOverwritten(summaryFile); - _writer.writeChartToFileSystem(_chart1, "chart1"); _writer.writeChartToFileSystem(_chart2, "chart2"); + _writer.writeChartToFileSystem(_chart1, "chart1"); _writer.writeHtmlSummaryToFileSystem(); |
