diff options
| author | Keith Wall <kwall@apache.org> | 2012-09-21 12:34:44 +0000 |
|---|---|---|
| committer | Keith Wall <kwall@apache.org> | 2012-09-21 12:34:44 +0000 |
| commit | fc62a60d120f829c2a9c3c173fb4e0db3dfba633 (patch) | |
| tree | d364964ed67abf6ffdb7331c42a69203f1533e88 /qpid/java/perftests/visualisation-jfc/src | |
| parent | 7baf23b894093bcf83fe396b34a37ddf4fd80997 (diff) | |
| download | qpid-python-fc62a60d120f829c2a9c3c173fb4e0db3dfba633.tar.gz | |
QPID-4338: [Java Performance Charts] Added descriptions to all charts; use consistent colours across all charts; use dotted series for baselines
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1388458 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'qpid/java/perftests/visualisation-jfc/src')
5 files changed, 43 insertions, 10 deletions
diff --git a/qpid/java/perftests/visualisation-jfc/src/main/java/org/apache/qpid/disttest/charting/chartbuilder/BaseChartBuilder.java b/qpid/java/perftests/visualisation-jfc/src/main/java/org/apache/qpid/disttest/charting/chartbuilder/BaseChartBuilder.java index 0be86fc747..2fe30bb751 100644 --- a/qpid/java/perftests/visualisation-jfc/src/main/java/org/apache/qpid/disttest/charting/chartbuilder/BaseChartBuilder.java +++ b/qpid/java/perftests/visualisation-jfc/src/main/java/org/apache/qpid/disttest/charting/chartbuilder/BaseChartBuilder.java @@ -52,11 +52,33 @@ public abstract class BaseChartBuilder implements ChartBuilder } if (seriesDefinition.getStrokeWidth() != null) { - stokeAndPaintAccessor.setSeriesStroke(i, new BasicStroke(seriesDefinition.getStrokeWidth())); + // Negative width used to signify dashed + boolean dashed = seriesDefinition.getStrokeWidth() < 0; + float width = Math.abs(seriesDefinition.getStrokeWidth()); + BasicStroke stroke = buildStrokeOfWidth(width, dashed); + stokeAndPaintAccessor.setSeriesStroke(i, stroke); } } } + public abstract JFreeChart createChartImpl(String title, String xAxisTitle, + String yAxisTitle, final Dataset dataset, PlotOrientation plotOrientation, boolean showLegend, boolean showToolTips, + boolean showUrls); + + private BasicStroke buildStrokeOfWidth(float width, boolean dashed) + { + final BasicStroke stroke; + if (dashed) + { + stroke = new BasicStroke(width, BasicStroke.CAP_ROUND, BasicStroke.JOIN_ROUND, 1.0f, new float[] {5.0f, 3.0f}, 0.0f); + } + else + { + stroke = new BasicStroke(width, BasicStroke.CAP_ROUND, BasicStroke.JOIN_ROUND); + } + return stroke; + } + private void addSubtitle(JFreeChart chart, ChartingDefinition chartingDefinition) { if (chartingDefinition.getChartSubtitle() != null) @@ -70,8 +92,4 @@ public abstract class BaseChartBuilder implements ChartBuilder chart.setBackgroundPaint(BLUE_GRADIENT); } - public abstract JFreeChart createChartImpl(String title, String xAxisTitle, - String yAxisTitle, final Dataset dataset, PlotOrientation plotOrientation, boolean showLegend, boolean showToolTips, - boolean showUrls); - } 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 86c3f62e09..40a8b31b87 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 @@ -20,7 +20,9 @@ */ package org.apache.qpid.disttest.charting.chartbuilder; +import java.awt.Color; import java.awt.Font; +import java.awt.Stroke; import org.apache.qpid.disttest.charting.definition.ChartingDefinition; import org.apache.qpid.disttest.charting.definition.SeriesDefinition; @@ -84,12 +86,26 @@ public class StatisticalBarCharBuilder extends BaseChartBuilder _seriesBuilder.build(chartingDefinition.getSeries()); - JFreeChart chart = createChartImpl(title, xAxisTitle, yAxisTitle, dataset, PLOT_ORIENTATION, SHOW_LEGEND, + final 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); + addSeriesAttributes(chartingDefinition.getSeries(), new SeriesStokeAndPaintAccessor() + { + @Override + public void setSeriesStroke(int seriesIndex, Stroke stroke) + { + chart.getCategoryPlot().getRenderer().setSeriesStroke(seriesIndex, stroke); + } + + @Override + public void setSeriesPaint(int seriesIndex, Color colour) + { + chart.getCategoryPlot().getRenderer().setSeriesPaint(seriesIndex, colour); + } + }); return chart; } 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 c5958a4914..69997a051c 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 @@ -118,8 +118,8 @@ public class ChartWriter for (File chartFile : _chartFilesToChartDef.keySet()) { ChartingDefinition def = _chartFilesToChartDef.get(chartFile); - writer.write(" <a name='" + chartFile.getName() + "'/>\n"); writer.write(" <figure>\n"); + writer.write(" <a name='" + chartFile.getName() + "'/>\n"); writer.write(" <img src='" + chartFile.getName() + "'/>\n"); if (def.getChartDescription() != null) { 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 70998fec0c..b515e70f2c 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 @@ -36,7 +36,6 @@ import org.apache.qpid.test.utils.TestFileUtils; import org.apache.qpid.util.FileUtils; import org.jfree.chart.ChartFactory; import org.jfree.chart.JFreeChart; -import org.jfree.chart.servlet.ChartDeleter; import org.jfree.data.general.DefaultPieDataset; public class ChartWriterTest extends TestCase diff --git a/qpid/java/perftests/visualisation-jfc/src/test/java/org/apache/qpid/disttest/charting/writer/expected-chart-summary.html b/qpid/java/perftests/visualisation-jfc/src/test/java/org/apache/qpid/disttest/charting/writer/expected-chart-summary.html index 4b9c2d1713..e7dadcb05b 100755 --- a/qpid/java/perftests/visualisation-jfc/src/test/java/org/apache/qpid/disttest/charting/writer/expected-chart-summary.html +++ b/qpid/java/perftests/visualisation-jfc/src/test/java/org/apache/qpid/disttest/charting/writer/expected-chart-summary.html @@ -8,13 +8,13 @@ <li><a href='#chart1.png'>chart1.png</a></li> <li><a href='#chart2.png'>chart2.png</a></li> </ul> - <a name='chart1.png'/> <figure> + <a name='chart1.png'/> <img src='chart1.png'/> <figcaption>chart description1</figcaption> </figure> - <a name='chart2.png'/> <figure> + <a name='chart2.png'/> <img src='chart2.png'/> </figure> </body> |
