summaryrefslogtreecommitdiff
path: root/qpid/java/perftests/visualisation-jfc
diff options
context:
space:
mode:
authorKeith Wall <kwall@apache.org>2012-07-05 15:28:54 +0000
committerKeith Wall <kwall@apache.org>2012-07-05 15:28:54 +0000
commit86ce77a7c93fa80a80501e6980d607819db48085 (patch)
tree3cbb9c147b7d0508e66f99c275f5e5dae6040e89 /qpid/java/perftests/visualisation-jfc
parentc47834db296c0fda1bc97c662412a6310d788a5a (diff)
downloadqpid-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')
-rw-r--r--qpid/java/perftests/visualisation-jfc/src/main/java/org/apache/qpid/disttest/charting/chartbuilder/CategoryDataSetBasedChartBuilder.java3
-rw-r--r--qpid/java/perftests/visualisation-jfc/src/main/java/org/apache/qpid/disttest/charting/chartbuilder/StatisticalBarCharBuilder.java3
-rw-r--r--qpid/java/perftests/visualisation-jfc/src/main/java/org/apache/qpid/disttest/charting/chartbuilder/XYDataSetBasedChartBuilder.java1
-rw-r--r--qpid/java/perftests/visualisation-jfc/src/main/java/org/apache/qpid/disttest/charting/writer/ChartWriter.java7
-rw-r--r--qpid/java/perftests/visualisation-jfc/src/test/java/org/apache/qpid/disttest/charting/chartbuilder/ChartProductionTest.java38
-rw-r--r--qpid/java/perftests/visualisation-jfc/src/test/java/org/apache/qpid/disttest/charting/writer/ChartWriterTest.java2
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();