summaryrefslogtreecommitdiff
path: root/java/perftests/visualisation-jfc/src/main/java/org/apache/qpid/disttest/charting/chartbuilder/XYDataSetBasedChartBuilder.java
diff options
context:
space:
mode:
Diffstat (limited to 'java/perftests/visualisation-jfc/src/main/java/org/apache/qpid/disttest/charting/chartbuilder/XYDataSetBasedChartBuilder.java')
-rw-r--r--java/perftests/visualisation-jfc/src/main/java/org/apache/qpid/disttest/charting/chartbuilder/XYDataSetBasedChartBuilder.java70
1 files changed, 43 insertions, 27 deletions
diff --git a/java/perftests/visualisation-jfc/src/main/java/org/apache/qpid/disttest/charting/chartbuilder/XYDataSetBasedChartBuilder.java b/java/perftests/visualisation-jfc/src/main/java/org/apache/qpid/disttest/charting/chartbuilder/XYDataSetBasedChartBuilder.java
index 87d61ca2ee..575712f06c 100644
--- a/java/perftests/visualisation-jfc/src/main/java/org/apache/qpid/disttest/charting/chartbuilder/XYDataSetBasedChartBuilder.java
+++ b/java/perftests/visualisation-jfc/src/main/java/org/apache/qpid/disttest/charting/chartbuilder/XYDataSetBasedChartBuilder.java
@@ -19,38 +19,34 @@
*/
package org.apache.qpid.disttest.charting.chartbuilder;
+import java.awt.Color;
+import java.awt.Stroke;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
-import org.apache.qpid.disttest.charting.definition.ChartingDefinition;
import org.apache.qpid.disttest.charting.definition.SeriesDefinition;
-import org.apache.qpid.disttest.charting.seriesbuilder.SeriesBuilderCallback;
+import org.apache.qpid.disttest.charting.seriesbuilder.DatasetHolder;
import org.apache.qpid.disttest.charting.seriesbuilder.SeriesBuilder;
+import org.apache.qpid.disttest.charting.seriesbuilder.SeriesRow;
import org.jfree.chart.JFreeChart;
-import org.jfree.chart.axis.CategoryLabelPositions;
+import org.jfree.data.general.Dataset;
import org.jfree.data.xy.DefaultXYDataset;
public abstract class XYDataSetBasedChartBuilder extends BaseChartBuilder
{
- private final SeriesBuilder _seriesBuilder;
-
public XYDataSetBasedChartBuilder(SeriesBuilder seriesBuilder)
{
- this._seriesBuilder = seriesBuilder;
+ super(seriesBuilder);
}
@Override
- public JFreeChart buildChart(ChartingDefinition chartingDefinition)
+ protected DatasetHolder newDatasetHolder()
{
- String title = chartingDefinition.getChartTitle();
- String xAxisTitle = chartingDefinition.getXAxisTitle();
- String yAxisTitle = chartingDefinition.getYAxisTitle();
-
- final DefaultXYDataset dataset = new DefaultXYDataset();
- _seriesBuilder.setSeriesBuilderCallback(new SeriesBuilderCallback()
+ return new DatasetHolder()
{
+ private final DefaultXYDataset _dataset = new DefaultXYDataset();
private List<Double[]> _xyPairs = null;
@Override
@@ -60,20 +56,24 @@ public abstract class XYDataSetBasedChartBuilder extends BaseChartBuilder
}
@Override
- public void addDataPointToSeries(SeriesDefinition seriesDefinition,
- Object[] row)
+ public void addDataPointToSeries(SeriesDefinition seriesDefinition, SeriesRow row)
{
- double x = Double.parseDouble(row[0].toString());
- double y = Double.parseDouble(row[1].toString());
+ double x = row.dimensionAsDouble(0);
+ double y = row.dimensionAsDouble(1);
_xyPairs.add(new Double[] {x, y});
}
-
@Override
public void endSeries(SeriesDefinition seriesDefinition)
{
double[][] seriesData = listToSeriesDataArray();
- dataset.addSeries(seriesDefinition.getSeriesLegend(), seriesData);
+ _dataset.addSeries(seriesDefinition.getSeriesLegend(), seriesData);
+ }
+
+ @Override
+ public int getNumberOfDimensions()
+ {
+ return 2;
}
private double[][] listToSeriesDataArray()
@@ -86,18 +86,34 @@ public abstract class XYDataSetBasedChartBuilder extends BaseChartBuilder
seriesData[0][i] = xyPair[0];
seriesData[1][i] = xyPair[1];
i++;
- }
+ }
return seriesData;
}
- });
-
- _seriesBuilder.build(chartingDefinition.getSeries());
- JFreeChart chart = createChartImpl(title, xAxisTitle, yAxisTitle,
- dataset, PLOT_ORIENTATION, SHOW_LEGEND, SHOW_TOOL_TIPS, SHOW_URLS);
+ @Override
+ public Dataset getPopulatedDataset()
+ {
+ return _dataset;
+ }
+ };
+ }
- addCommonChartAttributes(chart, chartingDefinition);
+ @Override
+ protected SeriesStrokeAndPaintApplier newStrokeAndPaintApplier()
+ {
+ return new SeriesStrokeAndPaintApplier()
+ {
+ @Override
+ public void setSeriesStroke(int seriesIndex, Stroke stroke, JFreeChart targetChart)
+ {
+ targetChart.getXYPlot().getRenderer().setSeriesStroke(seriesIndex, stroke);
+ }
- return chart;
+ @Override
+ public void setSeriesPaint(int seriesIndex, Color colour, JFreeChart targetChart)
+ {
+ targetChart.getXYPlot().getRenderer().setSeriesPaint(seriesIndex, colour);
+ }
+ };
}
}