You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@qpid.apache.org by kw...@apache.org on 2012/09/21 00:56:16 UTC

svn commit: r1388256 - in /qpid/trunk/qpid/java/perftests/visualisation-jfc/src: main/java/org/apache/qpid/disttest/charting/ main/java/org/apache/qpid/disttest/charting/chartbuilder/ main/java/org/apache/qpid/disttest/charting/definition/ main/java/or...

Author: kwall
Date: Thu Sep 20 22:56:15 2012
New Revision: 1388256

URL: http://svn.apache.org/viewvc?rev=1388256&view=rev
Log:
QPID-4338: Performance tests charting: Support long chart descriptions and allow colour/stroke to be controlled

Added:
    qpid/trunk/qpid/java/perftests/visualisation-jfc/src/main/java/org/apache/qpid/disttest/charting/chartbuilder/ColorFactory.java
    qpid/trunk/qpid/java/perftests/visualisation-jfc/src/main/java/org/apache/qpid/disttest/charting/chartbuilder/SeriesStokeAndPaintAccessor.java
      - copied, changed from r1388072, qpid/trunk/qpid/java/perftests/visualisation-jfc/src/main/java/org/apache/qpid/disttest/charting/definition/SeriesDefinition.java
    qpid/trunk/qpid/java/perftests/visualisation-jfc/src/test/java/org/apache/qpid/disttest/charting/chartbuilder/ColorFactoryTest.java
      - copied, changed from r1388072, qpid/trunk/qpid/java/perftests/visualisation-jfc/src/main/java/org/apache/qpid/disttest/charting/definition/SeriesDefinition.java
Modified:
    qpid/trunk/qpid/java/perftests/visualisation-jfc/src/main/java/org/apache/qpid/disttest/charting/ChartingUtil.java
    qpid/trunk/qpid/java/perftests/visualisation-jfc/src/main/java/org/apache/qpid/disttest/charting/chartbuilder/BaseChartBuilder.java
    qpid/trunk/qpid/java/perftests/visualisation-jfc/src/main/java/org/apache/qpid/disttest/charting/chartbuilder/CategoryDataSetBasedChartBuilder.java
    qpid/trunk/qpid/java/perftests/visualisation-jfc/src/main/java/org/apache/qpid/disttest/charting/chartbuilder/XYDataSetBasedChartBuilder.java
    qpid/trunk/qpid/java/perftests/visualisation-jfc/src/main/java/org/apache/qpid/disttest/charting/definition/ChartingDefinition.java
    qpid/trunk/qpid/java/perftests/visualisation-jfc/src/main/java/org/apache/qpid/disttest/charting/definition/ChartingDefinitionCreator.java
    qpid/trunk/qpid/java/perftests/visualisation-jfc/src/main/java/org/apache/qpid/disttest/charting/definition/SeriesDefinition.java
    qpid/trunk/qpid/java/perftests/visualisation-jfc/src/main/java/org/apache/qpid/disttest/charting/definition/SeriesDefinitionCreator.java
    qpid/trunk/qpid/java/perftests/visualisation-jfc/src/main/java/org/apache/qpid/disttest/charting/writer/ChartWriter.java
    qpid/trunk/qpid/java/perftests/visualisation-jfc/src/test/java/org/apache/qpid/disttest/charting/chartbuilder/ChartProductionTest.java
    qpid/trunk/qpid/java/perftests/visualisation-jfc/src/test/java/org/apache/qpid/disttest/charting/definition/ChartingDefinitionCreatorTest.java
    qpid/trunk/qpid/java/perftests/visualisation-jfc/src/test/java/org/apache/qpid/disttest/charting/definition/SeriesDefinitionCreatorTest.java
    qpid/trunk/qpid/java/perftests/visualisation-jfc/src/test/java/org/apache/qpid/disttest/charting/seriesbuilder/JdbcCsvSeriesBuilderTest.java
    qpid/trunk/qpid/java/perftests/visualisation-jfc/src/test/java/org/apache/qpid/disttest/charting/writer/ChartWriterTest.java
    qpid/trunk/qpid/java/perftests/visualisation-jfc/src/test/java/org/apache/qpid/disttest/charting/writer/expected-chart-summary.html

Modified: qpid/trunk/qpid/java/perftests/visualisation-jfc/src/main/java/org/apache/qpid/disttest/charting/ChartingUtil.java
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/perftests/visualisation-jfc/src/main/java/org/apache/qpid/disttest/charting/ChartingUtil.java?rev=1388256&r1=1388255&r2=1388256&view=diff
==============================================================================
--- qpid/trunk/qpid/java/perftests/visualisation-jfc/src/main/java/org/apache/qpid/disttest/charting/ChartingUtil.java (original)
+++ qpid/trunk/qpid/java/perftests/visualisation-jfc/src/main/java/org/apache/qpid/disttest/charting/ChartingUtil.java Thu Sep 20 22:56:15 2012
@@ -98,7 +98,7 @@ public class ChartingUtil
         {
             ChartBuilder chartBuilder = ChartBuilderFactory.createChartBuilder(chartingDefinition.getChartType(), seriesBuilder);
             JFreeChart chart = chartBuilder.buildChart(chartingDefinition);
-            writer.writeChartToFileSystem(chart, chartingDefinition.getChartStemName());
+            writer.writeChartToFileSystem(chart, chartingDefinition);
         }
 
         writer.writeHtmlSummaryToFileSystem();

Modified: qpid/trunk/qpid/java/perftests/visualisation-jfc/src/main/java/org/apache/qpid/disttest/charting/chartbuilder/BaseChartBuilder.java
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/perftests/visualisation-jfc/src/main/java/org/apache/qpid/disttest/charting/chartbuilder/BaseChartBuilder.java?rev=1388256&r1=1388255&r2=1388256&view=diff
==============================================================================
--- qpid/trunk/qpid/java/perftests/visualisation-jfc/src/main/java/org/apache/qpid/disttest/charting/chartbuilder/BaseChartBuilder.java (original)
+++ qpid/trunk/qpid/java/perftests/visualisation-jfc/src/main/java/org/apache/qpid/disttest/charting/chartbuilder/BaseChartBuilder.java Thu Sep 20 22:56:15 2012
@@ -19,10 +19,13 @@
  */
 package org.apache.qpid.disttest.charting.chartbuilder;
 
+import java.awt.BasicStroke;
 import java.awt.Color;
 import java.awt.GradientPaint;
+import java.util.List;
 
 import org.apache.qpid.disttest.charting.definition.ChartingDefinition;
+import org.apache.qpid.disttest.charting.definition.SeriesDefinition;
 import org.jfree.chart.JFreeChart;
 import org.jfree.chart.plot.PlotOrientation;
 import org.jfree.chart.title.ShortTextTitle;
@@ -38,6 +41,22 @@ public abstract class BaseChartBuilder i
         setBackgroundColour(chart);
     }
 
+    public void addSeriesAttributes(List<SeriesDefinition> series, SeriesStokeAndPaintAccessor stokeAndPaintAccessor)
+    {
+        for (int i = 0; i < series.size(); i++)
+        {
+            SeriesDefinition seriesDefinition = series.get(i);
+            if (seriesDefinition.getSeriesColourName() != null)
+            {
+                stokeAndPaintAccessor.setSeriesPaint(i, ColorFactory.toColour(seriesDefinition.getSeriesColourName()));
+            }
+            if (seriesDefinition.getStrokeWidth() != null)
+            {
+                stokeAndPaintAccessor.setSeriesStroke(i, new BasicStroke(seriesDefinition.getStrokeWidth()));
+            }
+        }
+    }
+
     private void addSubtitle(JFreeChart chart, ChartingDefinition chartingDefinition)
     {
         if (chartingDefinition.getChartSubtitle() != null)

Modified: qpid/trunk/qpid/java/perftests/visualisation-jfc/src/main/java/org/apache/qpid/disttest/charting/chartbuilder/CategoryDataSetBasedChartBuilder.java
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/perftests/visualisation-jfc/src/main/java/org/apache/qpid/disttest/charting/chartbuilder/CategoryDataSetBasedChartBuilder.java?rev=1388256&r1=1388255&r2=1388256&view=diff
==============================================================================
--- qpid/trunk/qpid/java/perftests/visualisation-jfc/src/main/java/org/apache/qpid/disttest/charting/chartbuilder/CategoryDataSetBasedChartBuilder.java (original)
+++ qpid/trunk/qpid/java/perftests/visualisation-jfc/src/main/java/org/apache/qpid/disttest/charting/chartbuilder/CategoryDataSetBasedChartBuilder.java Thu Sep 20 22:56:15 2012
@@ -20,6 +20,9 @@
 package org.apache.qpid.disttest.charting.chartbuilder;
 
 
+import java.awt.Color;
+import java.awt.Stroke;
+
 import org.apache.qpid.disttest.charting.definition.ChartingDefinition;
 import org.apache.qpid.disttest.charting.definition.SeriesDefinition;
 import org.apache.qpid.disttest.charting.seriesbuilder.SeriesBuilderCallback;
@@ -72,12 +75,26 @@ public abstract class CategoryDataSetBas
 
         _seriesBuilder.build(chartingDefinition.getSeries());
 
-        JFreeChart chart = createChartImpl(title, xAxisTitle, yAxisTitle,
+        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;
     }

Added: qpid/trunk/qpid/java/perftests/visualisation-jfc/src/main/java/org/apache/qpid/disttest/charting/chartbuilder/ColorFactory.java
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/perftests/visualisation-jfc/src/main/java/org/apache/qpid/disttest/charting/chartbuilder/ColorFactory.java?rev=1388256&view=auto
==============================================================================
--- qpid/trunk/qpid/java/perftests/visualisation-jfc/src/main/java/org/apache/qpid/disttest/charting/chartbuilder/ColorFactory.java (added)
+++ qpid/trunk/qpid/java/perftests/visualisation-jfc/src/main/java/org/apache/qpid/disttest/charting/chartbuilder/ColorFactory.java Thu Sep 20 22:56:15 2012
@@ -0,0 +1,67 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ *
+ */
+package org.apache.qpid.disttest.charting.chartbuilder;
+
+import java.awt.Color;
+
+public class ColorFactory
+{
+
+    /**
+     * Converts a colour name known to the JDK into a {@link Color} instance.  Additionally,
+     * if the work dark_ is prepended to the colour, a darker shade of the same colour is
+     * produced.
+     *
+     * @param colourName
+     * @return colour instance
+     */
+    public static Color toColour(String colourName)
+    {
+        boolean darkVersion = false;
+        if (colourName.toLowerCase().startsWith("dark_"))
+        {
+            colourName = colourName.replaceFirst("(?i)dark_", "");
+            darkVersion = true;
+        }
+
+        Color colour = getColourFromStaticField(colourName);
+        if (darkVersion)
+        {
+            return colour.darker();
+        }
+        else
+        {
+            return colour;
+        }
+    }
+
+    protected static Color getColourFromStaticField(String colourName)
+    {
+        try
+        {
+            return (Color) Color.class.getField(colourName.toLowerCase()).get(null);
+        }
+        catch (Exception e)
+        {
+            throw new RuntimeException("Could not find colour for " + colourName, e);
+        }
+    }
+
+}

Copied: qpid/trunk/qpid/java/perftests/visualisation-jfc/src/main/java/org/apache/qpid/disttest/charting/chartbuilder/SeriesStokeAndPaintAccessor.java (from r1388072, qpid/trunk/qpid/java/perftests/visualisation-jfc/src/main/java/org/apache/qpid/disttest/charting/definition/SeriesDefinition.java)
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/perftests/visualisation-jfc/src/main/java/org/apache/qpid/disttest/charting/chartbuilder/SeriesStokeAndPaintAccessor.java?p2=qpid/trunk/qpid/java/perftests/visualisation-jfc/src/main/java/org/apache/qpid/disttest/charting/chartbuilder/SeriesStokeAndPaintAccessor.java&p1=qpid/trunk/qpid/java/perftests/visualisation-jfc/src/main/java/org/apache/qpid/disttest/charting/definition/SeriesDefinition.java&r1=1388072&r2=1388256&rev=1388256&view=diff
==============================================================================
--- qpid/trunk/qpid/java/perftests/visualisation-jfc/src/main/java/org/apache/qpid/disttest/charting/definition/SeriesDefinition.java (original)
+++ qpid/trunk/qpid/java/perftests/visualisation-jfc/src/main/java/org/apache/qpid/disttest/charting/chartbuilder/SeriesStokeAndPaintAccessor.java Thu Sep 20 22:56:15 2012
@@ -17,34 +17,16 @@
  * under the License.
  *
  */
-package org.apache.qpid.disttest.charting.definition;
+package org.apache.qpid.disttest.charting.chartbuilder;
 
-public class SeriesDefinition
-{
-    private final String _seriesStatement;
-    private final String _seriesLegend;
-    private final String _seriesDirectory;
-
-    public SeriesDefinition(String seriesStatement, String seriesLegend, String seriesDirectory)
-    {
-        _seriesStatement = seriesStatement;
-        _seriesLegend = seriesLegend;
-        _seriesDirectory = seriesDirectory;
-    }
+import java.awt.Color;
+import java.awt.Stroke;
 
-    public String getSeriesStatement()
-    {
-        return _seriesStatement;
-    }
+public interface SeriesStokeAndPaintAccessor
+{
 
-    public String getSeriesLegend()
-    {
-        return _seriesLegend;
-    }
+    void setSeriesStroke(int i, Stroke stroke);
 
-    public String getSeriesDirectory()
-    {
-        return _seriesDirectory;
-    }
+    void setSeriesPaint(int i, Color blue);
 
 }

Modified: qpid/trunk/qpid/java/perftests/visualisation-jfc/src/main/java/org/apache/qpid/disttest/charting/chartbuilder/XYDataSetBasedChartBuilder.java
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/perftests/visualisation-jfc/src/main/java/org/apache/qpid/disttest/charting/chartbuilder/XYDataSetBasedChartBuilder.java?rev=1388256&r1=1388255&r2=1388256&view=diff
==============================================================================
--- qpid/trunk/qpid/java/perftests/visualisation-jfc/src/main/java/org/apache/qpid/disttest/charting/chartbuilder/XYDataSetBasedChartBuilder.java (original)
+++ qpid/trunk/qpid/java/perftests/visualisation-jfc/src/main/java/org/apache/qpid/disttest/charting/chartbuilder/XYDataSetBasedChartBuilder.java Thu Sep 20 22:56:15 2012
@@ -19,6 +19,8 @@
  */
 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;
@@ -28,7 +30,6 @@ import org.apache.qpid.disttest.charting
 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;
 
 
@@ -93,10 +94,24 @@ public abstract class XYDataSetBasedChar
 
         _seriesBuilder.build(chartingDefinition.getSeries());
 
-        JFreeChart chart = createChartImpl(title, xAxisTitle, yAxisTitle,
+        final JFreeChart chart = createChartImpl(title, xAxisTitle, yAxisTitle,
                 dataset, PLOT_ORIENTATION, SHOW_LEGEND, SHOW_TOOL_TIPS, SHOW_URLS);
 
         addCommonChartAttributes(chart, chartingDefinition);
+        addSeriesAttributes(chartingDefinition.getSeries(), new SeriesStokeAndPaintAccessor()
+        {
+            @Override
+            public void setSeriesStroke(int seriesIndex, Stroke stroke)
+            {
+                chart.getXYPlot().getRenderer().setSeriesStroke(seriesIndex, stroke);
+            }
+
+            @Override
+            public void setSeriesPaint(int seriesIndex, Color colour)
+            {
+                chart.getXYPlot().getRenderer().setSeriesPaint(seriesIndex, colour);
+            }
+        });
 
         return chart;
     }

Modified: qpid/trunk/qpid/java/perftests/visualisation-jfc/src/main/java/org/apache/qpid/disttest/charting/definition/ChartingDefinition.java
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/perftests/visualisation-jfc/src/main/java/org/apache/qpid/disttest/charting/definition/ChartingDefinition.java?rev=1388256&r1=1388255&r2=1388256&view=diff
==============================================================================
--- qpid/trunk/qpid/java/perftests/visualisation-jfc/src/main/java/org/apache/qpid/disttest/charting/definition/ChartingDefinition.java (original)
+++ qpid/trunk/qpid/java/perftests/visualisation-jfc/src/main/java/org/apache/qpid/disttest/charting/definition/ChartingDefinition.java Thu Sep 20 22:56:15 2012
@@ -30,6 +30,7 @@ public class ChartingDefinition
     private final ChartType _chartType;
     private final String _chartTitle;
     private final String _chartSubtitle;
+    private final String _chartDescription;
     private final String _xaxisTitle;
     private final String _yaxisTitle;
     private final List<SeriesDefinition> _seriesDefinitions;
@@ -39,12 +40,14 @@ public class ChartingDefinition
                               final ChartType chartType,
                               final String chartTitle,
                               final String chartSubtitle,
+                              final String chartDescription,
                               final String xaxisTitle, final String yaxisTitle, List<SeriesDefinition> seriesDefinitions)
     {
         _chartStemName = chartStemName;
         _chartType = chartType;
         _chartTitle = chartTitle;
         _chartSubtitle = chartSubtitle;
+        _chartDescription = chartDescription;
         _xaxisTitle = xaxisTitle;
         _yaxisTitle = yaxisTitle;
         _seriesDefinitions = seriesDefinitions;
@@ -65,6 +68,10 @@ public class ChartingDefinition
         return _chartSubtitle;
     }
 
+    public String getChartDescription()
+    {
+        return _chartDescription;
+    }
 
     public String getXAxisTitle()
     {
@@ -77,8 +84,6 @@ public class ChartingDefinition
         return _yaxisTitle;
     }
 
-
-
     public ChartType getChartType()
     {
         return _chartType;
@@ -89,5 +94,4 @@ public class ChartingDefinition
         return Collections.unmodifiableList(_seriesDefinitions);
     }
 
-
 }

Modified: qpid/trunk/qpid/java/perftests/visualisation-jfc/src/main/java/org/apache/qpid/disttest/charting/definition/ChartingDefinitionCreator.java
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/perftests/visualisation-jfc/src/main/java/org/apache/qpid/disttest/charting/definition/ChartingDefinitionCreator.java?rev=1388256&r1=1388255&r2=1388256&view=diff
==============================================================================
--- qpid/trunk/qpid/java/perftests/visualisation-jfc/src/main/java/org/apache/qpid/disttest/charting/definition/ChartingDefinitionCreator.java (original)
+++ qpid/trunk/qpid/java/perftests/visualisation-jfc/src/main/java/org/apache/qpid/disttest/charting/definition/ChartingDefinitionCreator.java Thu Sep 20 22:56:15 2012
@@ -39,6 +39,7 @@ public class ChartingDefinitionCreator
     public static final String CHART_TYPE_KEY = "chartType";
     public static final String CHART_TITLE_KEY = "chartTitle";
     public static final String CHART_SUBTITLE_KEY = "chartSubtitle";
+    public static final String CHART_DESCRIPTION_KEY = "chartDescription";
     public static final String XAXIS_TITLE_KEY = "xAxisTitle";
     public static final String YAXIS_TITLE_KEY = "yAxisTitle";
 
@@ -82,6 +83,7 @@ public class ChartingDefinitionCreator
             final ChartType chartType = ChartType.valueOf(props.getProperty(CHART_TYPE_KEY));
             final String chartTitle = props.getProperty(CHART_TITLE_KEY);
             final String chartSubtitle = props.getProperty(CHART_SUBTITLE_KEY);
+            final String chartDescription = props.getProperty(CHART_DESCRIPTION_KEY);
             final String xAxisTitle = props.getProperty(XAXIS_TITLE_KEY);
             final String yAxisTitle = props.getProperty(YAXIS_TITLE_KEY);
 
@@ -91,8 +93,8 @@ public class ChartingDefinitionCreator
                                                                               chartType,
                                                                               chartTitle,
                                                                               chartSubtitle,
-                                                                              xAxisTitle,
-                                                                              yAxisTitle, seriesDefinitions);
+                                                                              chartDescription,
+                                                                              xAxisTitle, yAxisTitle, seriesDefinitions);
             return chartDefinition;
         }
         catch (IOException e)

Modified: qpid/trunk/qpid/java/perftests/visualisation-jfc/src/main/java/org/apache/qpid/disttest/charting/definition/SeriesDefinition.java
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/perftests/visualisation-jfc/src/main/java/org/apache/qpid/disttest/charting/definition/SeriesDefinition.java?rev=1388256&r1=1388255&r2=1388256&view=diff
==============================================================================
--- qpid/trunk/qpid/java/perftests/visualisation-jfc/src/main/java/org/apache/qpid/disttest/charting/definition/SeriesDefinition.java (original)
+++ qpid/trunk/qpid/java/perftests/visualisation-jfc/src/main/java/org/apache/qpid/disttest/charting/definition/SeriesDefinition.java Thu Sep 20 22:56:15 2012
@@ -24,12 +24,16 @@ public class SeriesDefinition
     private final String _seriesStatement;
     private final String _seriesLegend;
     private final String _seriesDirectory;
+    private final String _seriesColourName;
+    private final Integer _seriesStrokeWidth;
 
-    public SeriesDefinition(String seriesStatement, String seriesLegend, String seriesDirectory)
+    public SeriesDefinition(String seriesStatement, String seriesLegend, String seriesDirectory, String seriesColourName, Integer seriesStrokeWidth)
     {
         _seriesStatement = seriesStatement;
         _seriesLegend = seriesLegend;
         _seriesDirectory = seriesDirectory;
+        _seriesColourName = seriesColourName;
+        _seriesStrokeWidth = seriesStrokeWidth;
     }
 
     public String getSeriesStatement()
@@ -47,4 +51,13 @@ public class SeriesDefinition
         return _seriesDirectory;
     }
 
+    public String getSeriesColourName()
+    {
+        return _seriesColourName;
+    }
+
+    public Integer getStrokeWidth()
+    {
+        return _seriesStrokeWidth;
+    }
 }

Modified: qpid/trunk/qpid/java/perftests/visualisation-jfc/src/main/java/org/apache/qpid/disttest/charting/definition/SeriesDefinitionCreator.java
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/perftests/visualisation-jfc/src/main/java/org/apache/qpid/disttest/charting/definition/SeriesDefinitionCreator.java?rev=1388256&r1=1388255&r2=1388256&view=diff
==============================================================================
--- qpid/trunk/qpid/java/perftests/visualisation-jfc/src/main/java/org/apache/qpid/disttest/charting/definition/SeriesDefinitionCreator.java (original)
+++ qpid/trunk/qpid/java/perftests/visualisation-jfc/src/main/java/org/apache/qpid/disttest/charting/definition/SeriesDefinitionCreator.java Thu Sep 20 22:56:15 2012
@@ -30,6 +30,8 @@ public class SeriesDefinitionCreator
     public static final String SERIES_STATEMENT_KEY_FORMAT = "series.%d.statement";
     public static final String SERIES_LEGEND_KEY_FORMAT = "series.%d.legend";
     public static final String SERIES_DIRECTORY_KEY_FORMAT = "series.%d.dir";
+    public static final String SERIES_COLOUR_NAME_FORMAT = "series.%d.colourName";
+    public static final String SERIES_STROKE_WIDTH_FORMAT = "series.%d.strokeWidth";
 
     public List<SeriesDefinition> createFromProperties(Properties properties)
     {
@@ -42,10 +44,13 @@ public class SeriesDefinitionCreator
             String seriesStatement = properties.getProperty(String.format(SERIES_STATEMENT_KEY_FORMAT, index));
             String seriesLegend = properties.getProperty(String.format(SERIES_LEGEND_KEY_FORMAT, index));
             String seriesDir = StrSubstitutor.replaceSystemProperties(properties.getProperty(String.format(SERIES_DIRECTORY_KEY_FORMAT, index)));
+            String seriesColourName = properties.getProperty(String.format(SERIES_COLOUR_NAME_FORMAT, index));
+            Integer seriesStrokeWidth = properties.getProperty(String.format(SERIES_STROKE_WIDTH_FORMAT, index)) == null
+                    ? null : Integer.parseInt(properties.getProperty(String.format(SERIES_STROKE_WIDTH_FORMAT, index)));
 
             if (seriesStatement != null)
             {
-                final SeriesDefinition seriesDefinition = new SeriesDefinition(seriesStatement, seriesLegend, seriesDir);
+                final SeriesDefinition seriesDefinition = new SeriesDefinition(seriesStatement, seriesLegend, seriesDir, seriesColourName, seriesStrokeWidth);
                 seriesDefinitions.add(seriesDefinition);
             }
             else

Modified: qpid/trunk/qpid/java/perftests/visualisation-jfc/src/main/java/org/apache/qpid/disttest/charting/writer/ChartWriter.java
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/perftests/visualisation-jfc/src/main/java/org/apache/qpid/disttest/charting/writer/ChartWriter.java?rev=1388256&r1=1388255&r2=1388256&view=diff
==============================================================================
--- qpid/trunk/qpid/java/perftests/visualisation-jfc/src/main/java/org/apache/qpid/disttest/charting/writer/ChartWriter.java (original)
+++ qpid/trunk/qpid/java/perftests/visualisation-jfc/src/main/java/org/apache/qpid/disttest/charting/writer/ChartWriter.java Thu Sep 20 22:56:15 2012
@@ -26,10 +26,11 @@ import java.io.FileOutputStream;
 import java.io.FileWriter;
 import java.io.IOException;
 import java.io.OutputStream;
-import java.util.SortedSet;
-import java.util.TreeSet;
+import java.util.SortedMap;
+import java.util.TreeMap;
 
 import org.apache.qpid.disttest.charting.ChartingException;
+import org.apache.qpid.disttest.charting.definition.ChartingDefinition;
 import org.jfree.chart.ChartUtilities;
 import org.jfree.chart.JFreeChart;
 import org.slf4j.Logger;
@@ -42,19 +43,19 @@ public class ChartWriter
     static final String SUMMARY_FILE_NAME = "chart-summary.html";
 
     private File _chartDirectory = new File(".");
-    private SortedSet<File> _chartFiles = new TreeSet<File>();
+    private SortedMap<File,ChartingDefinition> _chartFilesToChartDef = new TreeMap<File, ChartingDefinition>();
 
-    public void writeChartToFileSystem(JFreeChart chart, String chartStemName)
+    public void writeChartToFileSystem(JFreeChart chart, ChartingDefinition chartDef)
     {
         OutputStream pngOutputStream = null;
         try
         {
-            File pngFile = new File(_chartDirectory, chartStemName + ".png");
+            File pngFile = new File(_chartDirectory, chartDef.getChartStemName() + ".png");
             pngOutputStream = new BufferedOutputStream(new FileOutputStream(pngFile));
             ChartUtilities.writeChartAsPNG(pngOutputStream, chart, 600, 400, true, 0);
             pngOutputStream.close();
 
-            _chartFiles.add(pngFile);
+            _chartFilesToChartDef.put(pngFile, chartDef);
 
             LOGGER.info("Written {} chart", pngFile);
         }
@@ -80,9 +81,9 @@ public class ChartWriter
 
     public void writeHtmlSummaryToFileSystem()
     {
-        if(_chartFiles.size() < 2)
+        if(_chartFilesToChartDef.size() < 2)
         {
-            LOGGER.info("Only " + _chartFiles.size() + " chart image(s) have been written so no HTML summary file will be produced");
+            LOGGER.info("Only {} chart image(s) have been written so no HTML summary file will be produced", _chartFilesToChartDef.size());
             return;
         }
 
@@ -90,6 +91,7 @@ public class ChartWriter
             "<html>\n" +
             "    <head>\n" +
             "        <title>Performance Charts</title>\n" +
+            "        <style type='text/css'>figure { float: left; display: table; width: 87px;}</style>\n" +
             "    </head>\n" +
             "    <body>\n";
 
@@ -101,22 +103,29 @@ public class ChartWriter
         try
         {
             File summaryFile = new File(_chartDirectory, SUMMARY_FILE_NAME);
-            LOGGER.debug("About to produce HTML summary file " + summaryFile.getAbsolutePath() + " from charts " + _chartFiles);
+            LOGGER.debug("About to produce HTML summary file " + summaryFile.getAbsolutePath() + " from charts " + _chartFilesToChartDef);
 
             writer = new BufferedWriter(new FileWriter(summaryFile));
             writer.write(htmlHeader);
 
             writer.write("        <ul>\n");
-            for (File chartFile : _chartFiles)
+            for (File chartFile : _chartFilesToChartDef.keySet())
             {
                 writer.write("            <li><a href='#"+ chartFile.getName() +"'>" + chartFile.getName() + "</a></li>\n");
             }
             writer.write("        </ul>\n");
 
-            for (File chartFile : _chartFiles)
+            for (File chartFile : _chartFilesToChartDef.keySet())
             {
+                ChartingDefinition def = _chartFilesToChartDef.get(chartFile);
                 writer.write("        <a name='" + chartFile.getName() + "'/>\n");
-                writer.write("        <img src='" + chartFile.getName() + "'/>\n");
+                writer.write("        <figure>\n");
+                writer.write("          <img src='" + chartFile.getName() + "'/>\n");
+                if (def.getChartDescription() != null)
+                {
+                    writer.write("          <figcaption>" + def.getChartDescription() + "</figcaption>\n");
+                }
+                writer.write("        </figure>\n");
             }
             writer.write(htmlFooter);
             writer.close();

Modified: qpid/trunk/qpid/java/perftests/visualisation-jfc/src/test/java/org/apache/qpid/disttest/charting/chartbuilder/ChartProductionTest.java
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/perftests/visualisation-jfc/src/test/java/org/apache/qpid/disttest/charting/chartbuilder/ChartProductionTest.java?rev=1388256&r1=1388255&r2=1388256&view=diff
==============================================================================
--- qpid/trunk/qpid/java/perftests/visualisation-jfc/src/test/java/org/apache/qpid/disttest/charting/chartbuilder/ChartProductionTest.java (original)
+++ qpid/trunk/qpid/java/perftests/visualisation-jfc/src/test/java/org/apache/qpid/disttest/charting/chartbuilder/ChartProductionTest.java Thu Sep 20 22:56:15 2012
@@ -66,7 +66,10 @@ public class ChartProductionTest extends
         super.setUp();
 
         when(_seriesDefinition.getSeriesLegend()).thenReturn(TEST_SERIESLEGEND);
+        when(_seriesDefinition.getStrokeWidth()).thenReturn(null);
+        when(_seriesDefinition.getSeriesColourName()).thenReturn(null);
 
+        when(_chartingDefinition.getChartStemName()).thenReturn(getName());
         when(_chartingDefinition.getChartTitle()).thenReturn(TEST_CHARTTITLE);
         when(_chartingDefinition.getChartSubtitle()).thenReturn(TEST_CHARTSUBTITLE);
         when(_chartingDefinition.getXAxisTitle()).thenReturn(TEST_XAXIS);
@@ -116,6 +119,15 @@ public class ChartProductionTest extends
         assertChartTitlesAndWriteToFile(builder);
     }
 
+    public void testXYLineChartWithColourAndWidth() throws Exception
+    {
+        when(_seriesDefinition.getStrokeWidth()).thenReturn(3);
+        when(_seriesDefinition.getSeriesColourName()).thenReturn("dark_orange");
+
+        ChartBuilder builder = ChartBuilderFactory.createChartBuilder(ChartType.XYLINE, new SampleSeriesBuilder());
+        assertChartTitlesAndWriteToFile(builder);
+    }
+
     public void testStatiscticalBarChart() throws Exception
     {
         ChartBuilder builder = ChartBuilderFactory.createChartBuilder(
@@ -166,7 +178,7 @@ public class ChartProductionTest extends
             assertEquals(1, chart.getCategoryPlot().getDatasetCount());
         }
 
-        _writer.writeChartToFileSystem(chart, getName());
+        _writer.writeChartToFileSystem(chart, _chartingDefinition);
     }
 
     private class SampleSeriesBuilder implements SeriesBuilder

Copied: qpid/trunk/qpid/java/perftests/visualisation-jfc/src/test/java/org/apache/qpid/disttest/charting/chartbuilder/ColorFactoryTest.java (from r1388072, qpid/trunk/qpid/java/perftests/visualisation-jfc/src/main/java/org/apache/qpid/disttest/charting/definition/SeriesDefinition.java)
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/perftests/visualisation-jfc/src/test/java/org/apache/qpid/disttest/charting/chartbuilder/ColorFactoryTest.java?p2=qpid/trunk/qpid/java/perftests/visualisation-jfc/src/test/java/org/apache/qpid/disttest/charting/chartbuilder/ColorFactoryTest.java&p1=qpid/trunk/qpid/java/perftests/visualisation-jfc/src/main/java/org/apache/qpid/disttest/charting/definition/SeriesDefinition.java&r1=1388072&r2=1388256&rev=1388256&view=diff
==============================================================================
--- qpid/trunk/qpid/java/perftests/visualisation-jfc/src/main/java/org/apache/qpid/disttest/charting/definition/SeriesDefinition.java (original)
+++ qpid/trunk/qpid/java/perftests/visualisation-jfc/src/test/java/org/apache/qpid/disttest/charting/chartbuilder/ColorFactoryTest.java Thu Sep 20 22:56:15 2012
@@ -17,34 +17,28 @@
  * under the License.
  *
  */
-package org.apache.qpid.disttest.charting.definition;
+package org.apache.qpid.disttest.charting.chartbuilder;
 
-public class SeriesDefinition
-{
-    private final String _seriesStatement;
-    private final String _seriesLegend;
-    private final String _seriesDirectory;
+import java.awt.Color;
 
-    public SeriesDefinition(String seriesStatement, String seriesLegend, String seriesDirectory)
-    {
-        _seriesStatement = seriesStatement;
-        _seriesLegend = seriesLegend;
-        _seriesDirectory = seriesDirectory;
-    }
+import org.apache.qpid.disttest.charting.chartbuilder.ColorFactory;
 
-    public String getSeriesStatement()
-    {
-        return _seriesStatement;
-    }
+import junit.framework.TestCase;
 
-    public String getSeriesLegend()
+public class ColorFactoryTest extends TestCase
+{
+    public void testBlue()
     {
-        return _seriesLegend;
+        assertEquals(Color.blue, ColorFactory.toColour("blue"));
+        assertEquals(Color.blue, ColorFactory.toColour("BLUE"));
+        assertEquals(Color.blue, ColorFactory.toColour("Blue"));
     }
 
-    public String getSeriesDirectory()
+    public void testDarkBlue()
     {
-        return _seriesDirectory;
+        assertEquals(Color.blue.darker(), ColorFactory.toColour("dark_blue"));
+        assertEquals(Color.blue.darker(), ColorFactory.toColour("DARK_BLUE"));
+        assertEquals(Color.blue.darker(), ColorFactory.toColour("Dark_Blue"));
     }
 
-}
+}
\ No newline at end of file

Modified: qpid/trunk/qpid/java/perftests/visualisation-jfc/src/test/java/org/apache/qpid/disttest/charting/definition/ChartingDefinitionCreatorTest.java
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/perftests/visualisation-jfc/src/test/java/org/apache/qpid/disttest/charting/definition/ChartingDefinitionCreatorTest.java?rev=1388256&r1=1388255&r2=1388256&view=diff
==============================================================================
--- qpid/trunk/qpid/java/perftests/visualisation-jfc/src/test/java/org/apache/qpid/disttest/charting/definition/ChartingDefinitionCreatorTest.java (original)
+++ qpid/trunk/qpid/java/perftests/visualisation-jfc/src/test/java/org/apache/qpid/disttest/charting/definition/ChartingDefinitionCreatorTest.java Thu Sep 20 22:56:15 2012
@@ -21,6 +21,7 @@ package org.apache.qpid.disttest.chartin
 
 import static org.apache.qpid.disttest.charting.definition.ChartingDefinitionCreator.CHART_TITLE_KEY;
 import static org.apache.qpid.disttest.charting.definition.ChartingDefinitionCreator.CHART_SUBTITLE_KEY;
+import static org.apache.qpid.disttest.charting.definition.ChartingDefinitionCreator.CHART_DESCRIPTION_KEY;
 import static org.apache.qpid.disttest.charting.definition.ChartingDefinitionCreator.CHART_TYPE_KEY;
 import static org.apache.qpid.disttest.charting.definition.ChartingDefinitionCreator.XAXIS_TITLE_KEY;
 import static org.apache.qpid.disttest.charting.definition.ChartingDefinitionCreator.YAXIS_TITLE_KEY;
@@ -40,6 +41,7 @@ public class ChartingDefinitionCreatorTe
 {
     private static final String TEST_CHART_TITLE = "CHART_TITLE";
     private static final String TEST_CHART_SUBTITLE = "CHART_SUBTITLE";
+    private static final String TEST_CHART_DESCRIPTION = "CHART_DESCRIPTION";
     private static final String TEST_XAXIS_TITLE = "XAXIS_TITLE";
     private static final String TEST_YAXIS_TITLE = "YAXIS_TITLE";
     private static final ChartType TEST_CHART_TYPE = ChartType.LINE;
@@ -86,6 +88,7 @@ public class ChartingDefinitionCreatorTe
         ChartingDefinition definition1 = definitions.get(0);
         assertEquals(TEST_CHART_TITLE, definition1.getChartTitle());
         assertEquals(TEST_CHART_SUBTITLE, definition1.getChartSubtitle());
+        assertEquals(TEST_CHART_DESCRIPTION, definition1.getChartDescription());
         assertEquals(TEST_XAXIS_TITLE, definition1.getXAxisTitle());
         assertEquals(TEST_YAXIS_TITLE, definition1.getYAxisTitle());
         assertEquals(TEST_CHART_TYPE, definition1.getChartType());
@@ -125,6 +128,7 @@ public class ChartingDefinitionCreatorTe
         props.setProperty(CHART_TYPE_KEY, TEST_CHART_TYPE.name());
         props.setProperty(CHART_TITLE_KEY, TEST_CHART_TITLE);
         props.setProperty(CHART_SUBTITLE_KEY, TEST_CHART_SUBTITLE);
+        props.setProperty(CHART_DESCRIPTION_KEY, TEST_CHART_DESCRIPTION);
         props.setProperty(XAXIS_TITLE_KEY, TEST_XAXIS_TITLE);
         props.setProperty(YAXIS_TITLE_KEY, TEST_YAXIS_TITLE);
 

Modified: qpid/trunk/qpid/java/perftests/visualisation-jfc/src/test/java/org/apache/qpid/disttest/charting/definition/SeriesDefinitionCreatorTest.java
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/perftests/visualisation-jfc/src/test/java/org/apache/qpid/disttest/charting/definition/SeriesDefinitionCreatorTest.java?rev=1388256&r1=1388255&r2=1388256&view=diff
==============================================================================
--- qpid/trunk/qpid/java/perftests/visualisation-jfc/src/test/java/org/apache/qpid/disttest/charting/definition/SeriesDefinitionCreatorTest.java (original)
+++ qpid/trunk/qpid/java/perftests/visualisation-jfc/src/test/java/org/apache/qpid/disttest/charting/definition/SeriesDefinitionCreatorTest.java Thu Sep 20 22:56:15 2012
@@ -22,6 +22,8 @@ package org.apache.qpid.disttest.chartin
 import static org.apache.qpid.disttest.charting.definition.SeriesDefinitionCreator.SERIES_DIRECTORY_KEY_FORMAT;
 import static org.apache.qpid.disttest.charting.definition.SeriesDefinitionCreator.SERIES_LEGEND_KEY_FORMAT;
 import static org.apache.qpid.disttest.charting.definition.SeriesDefinitionCreator.SERIES_STATEMENT_KEY_FORMAT;
+import static org.apache.qpid.disttest.charting.definition.SeriesDefinitionCreator.SERIES_COLOUR_NAME_FORMAT;
+import static org.apache.qpid.disttest.charting.definition.SeriesDefinitionCreator.SERIES_STROKE_WIDTH_FORMAT;
 
 import java.util.List;
 import java.util.Properties;
@@ -33,6 +35,8 @@ public class SeriesDefinitionCreatorTest
     private static final String TEST_SERIES_1_SELECT_STATEMENT = "SERIES_1_SELECT_STATEMENT";
     private static final String TEST_SERIES_1_LEGEND = "SERIES_1_LEGEND";
     private static final String TEST_SERIES_1_DIR = "SERIES_1_DIR";
+    private static final String TEST_SERIES_1_COLOUR_NAME = "seriesColourName";
+    private static final Integer TEST_SERIES_1_STROKE_WIDTH = 1;;
 
     private static final String TEST_SERIES_1_DIR_WITH_SYSPROP = "${java.io.tmpdir}/mydir";
 
@@ -52,7 +56,7 @@ public class SeriesDefinitionCreatorTest
 
     public void testOneSeriesDefinition() throws Exception
     {
-        createTestProperties(1, TEST_SERIES_1_SELECT_STATEMENT, TEST_SERIES_1_LEGEND, TEST_SERIES_1_DIR);
+        createTestProperties(1, TEST_SERIES_1_SELECT_STATEMENT, TEST_SERIES_1_LEGEND, TEST_SERIES_1_DIR, TEST_SERIES_1_COLOUR_NAME, TEST_SERIES_1_STROKE_WIDTH);
 
         List<SeriesDefinition> definitions = _seriesDefinitionLoader.createFromProperties(_properties);
         assertEquals(1, definitions.size());
@@ -61,12 +65,14 @@ public class SeriesDefinitionCreatorTest
         assertEquals(TEST_SERIES_1_SELECT_STATEMENT, definition.getSeriesStatement());
         assertEquals(TEST_SERIES_1_LEGEND, definition.getSeriesLegend());
         assertEquals(TEST_SERIES_1_DIR, definition.getSeriesDirectory());
+        assertEquals(TEST_SERIES_1_COLOUR_NAME, definition.getSeriesColourName());
+        assertEquals(TEST_SERIES_1_STROKE_WIDTH, definition.getStrokeWidth());
     }
 
     public void testTwoSeriesDefinitions() throws Exception
     {
-        createTestProperties(1, TEST_SERIES_1_SELECT_STATEMENT, TEST_SERIES_1_LEGEND, TEST_SERIES_1_DIR);
-        createTestProperties(2, TEST_SERIES_2_SELECT_STATEMENT, TEST_SERIES_2_LEGEND, TEST_SERIES_2_DIR);
+        createTestProperties(1, TEST_SERIES_1_SELECT_STATEMENT, TEST_SERIES_1_LEGEND, TEST_SERIES_1_DIR, TEST_SERIES_1_COLOUR_NAME, TEST_SERIES_1_STROKE_WIDTH);
+        createTestProperties(2, TEST_SERIES_2_SELECT_STATEMENT, TEST_SERIES_2_LEGEND, TEST_SERIES_2_DIR, null, null);
 
         List<SeriesDefinition> definitions = _seriesDefinitionLoader.createFromProperties(_properties);
         assertEquals(2, definitions.size());
@@ -84,8 +90,8 @@ public class SeriesDefinitionCreatorTest
 
     public void testNonSequentialSeriesDefinitionsIgnored() throws Exception
     {
-        createTestProperties(1, TEST_SERIES_1_SELECT_STATEMENT, TEST_SERIES_1_LEGEND, TEST_SERIES_1_DIR);
-        createTestProperties(3, TEST_SERIES_2_SELECT_STATEMENT, TEST_SERIES_2_LEGEND, TEST_SERIES_2_DIR);
+        createTestProperties(1, TEST_SERIES_1_SELECT_STATEMENT, TEST_SERIES_1_LEGEND, TEST_SERIES_1_DIR, TEST_SERIES_1_COLOUR_NAME, TEST_SERIES_1_STROKE_WIDTH);
+        createTestProperties(3, TEST_SERIES_2_SELECT_STATEMENT, TEST_SERIES_2_LEGEND, TEST_SERIES_2_DIR, null, null);
 
         List<SeriesDefinition> definitions = _seriesDefinitionLoader.createFromProperties(_properties);
         assertEquals(1, definitions.size());
@@ -94,7 +100,7 @@ public class SeriesDefinitionCreatorTest
     public void testSeriesDirectorySubstitution() throws Exception
     {
         final String tmpDir = System.getProperty("java.io.tmpdir");
-        createTestProperties(1, TEST_SERIES_1_SELECT_STATEMENT, TEST_SERIES_1_LEGEND, TEST_SERIES_1_DIR_WITH_SYSPROP);
+        createTestProperties(1, TEST_SERIES_1_SELECT_STATEMENT, TEST_SERIES_1_LEGEND, TEST_SERIES_1_DIR_WITH_SYSPROP, null, null);
 
         List<SeriesDefinition> definitions = _seriesDefinitionLoader.createFromProperties(_properties);
         assertEquals(1, definitions.size());
@@ -103,11 +109,19 @@ public class SeriesDefinitionCreatorTest
         assertTrue(seriesDefinition1.getSeriesDirectory().startsWith(tmpDir));
     }
 
-    private void createTestProperties(int index, String selectStatement, String seriesLegend, String seriesDir) throws Exception
+    private void createTestProperties(int index, String selectStatement, String seriesLegend, String seriesDir, String seriesColourName, Integer seriesStrokeWidth) throws Exception
     {
         _properties.setProperty(String.format(SERIES_STATEMENT_KEY_FORMAT, index), selectStatement);
         _properties.setProperty(String.format(SERIES_LEGEND_KEY_FORMAT, index), seriesLegend);
         _properties.setProperty(String.format(SERIES_DIRECTORY_KEY_FORMAT, index), seriesDir);
+        if (seriesColourName != null)
+        {
+            _properties.setProperty(String.format(SERIES_COLOUR_NAME_FORMAT, index), seriesColourName);
+        }
+        if (seriesStrokeWidth != null)
+        {
+            _properties.setProperty(String.format(SERIES_STROKE_WIDTH_FORMAT, index), seriesStrokeWidth.toString());
+        }
     }
 
 }

Modified: qpid/trunk/qpid/java/perftests/visualisation-jfc/src/test/java/org/apache/qpid/disttest/charting/seriesbuilder/JdbcCsvSeriesBuilderTest.java
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/perftests/visualisation-jfc/src/test/java/org/apache/qpid/disttest/charting/seriesbuilder/JdbcCsvSeriesBuilderTest.java?rev=1388256&r1=1388255&r2=1388256&view=diff
==============================================================================
--- qpid/trunk/qpid/java/perftests/visualisation-jfc/src/test/java/org/apache/qpid/disttest/charting/seriesbuilder/JdbcCsvSeriesBuilderTest.java (original)
+++ qpid/trunk/qpid/java/perftests/visualisation-jfc/src/test/java/org/apache/qpid/disttest/charting/seriesbuilder/JdbcCsvSeriesBuilderTest.java Thu Sep 20 22:56:15 2012
@@ -37,6 +37,8 @@ public class JdbcCsvSeriesBuilderTest ex
 {
     private static final String TEST_SERIES_1_SELECT_STATEMENT = "SELECT A, B FROM test";
     private static final String TEST_SERIES_1_LEGEND = "SERIES_1_LEGEND";
+    private static final String TEST_SERIES1_COLOUR_NAME = "blue";
+    private static final Integer TEST_SERIES1_STROKE_WIDTH = 3;
 
     private SeriesBuilderCallback _seriesWalkerCallback = mock(SeriesBuilderCallback.class);
     private JdbcCsvSeriesBuilder _seriesBuilder = new JdbcCsvSeriesBuilder();
@@ -79,7 +81,7 @@ public class JdbcCsvSeriesBuilderTest ex
 
     private SeriesDefinition createTestSeriesDefinition()
     {
-        SeriesDefinition definition = new SeriesDefinition(TEST_SERIES_1_SELECT_STATEMENT, TEST_SERIES_1_LEGEND, _testTempDir.getAbsolutePath());
+        SeriesDefinition definition = new SeriesDefinition(TEST_SERIES_1_SELECT_STATEMENT, TEST_SERIES_1_LEGEND, _testTempDir.getAbsolutePath(), TEST_SERIES1_COLOUR_NAME, TEST_SERIES1_STROKE_WIDTH);
         return definition;
     }
 

Modified: qpid/trunk/qpid/java/perftests/visualisation-jfc/src/test/java/org/apache/qpid/disttest/charting/writer/ChartWriterTest.java
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/perftests/visualisation-jfc/src/test/java/org/apache/qpid/disttest/charting/writer/ChartWriterTest.java?rev=1388256&r1=1388255&r2=1388256&view=diff
==============================================================================
--- qpid/trunk/qpid/java/perftests/visualisation-jfc/src/test/java/org/apache/qpid/disttest/charting/writer/ChartWriterTest.java (original)
+++ qpid/trunk/qpid/java/perftests/visualisation-jfc/src/test/java/org/apache/qpid/disttest/charting/writer/ChartWriterTest.java Thu Sep 20 22:56:15 2012
@@ -20,6 +20,10 @@
  */
 package org.apache.qpid.disttest.charting.writer;
 
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.when;
+
+
 import java.io.File;
 import java.io.FileWriter;
 import java.io.InputStream;
@@ -27,10 +31,12 @@ import java.util.Scanner;
 
 import junit.framework.TestCase;
 
+import org.apache.qpid.disttest.charting.definition.ChartingDefinition;
 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
@@ -59,22 +65,32 @@ public class ChartWriterTest extends Tes
 
     public void testWriteChartToFileSystem()
     {
+        ChartingDefinition chartDef1 = mock(ChartingDefinition.class);
+        when(chartDef1.getChartStemName()).thenReturn("chart1");
+
         File chart1File = new File(_chartDir, "chart1.png");
         assertFalse("chart1 png should not exist yet", chart1File.exists());
 
-        _writer.writeChartToFileSystem(_chart1, "chart1");
+        _writer.writeChartToFileSystem(_chart1, chartDef1);
 
         assertTrue("chart1 png does not exist", chart1File.exists());
     }
 
     public void testWriteHtmlSummaryToFileSystemOverwritingExistingFile() throws Exception
     {
+        ChartingDefinition chartDef1 = mock(ChartingDefinition.class);
+        when(chartDef1.getChartStemName()).thenReturn("chart1");
+        when(chartDef1.getChartDescription()).thenReturn("chart description1");
+
+        ChartingDefinition chartDef2 = mock(ChartingDefinition.class);
+        when(chartDef2.getChartStemName()).thenReturn("chart2");
+
         File summaryFile = new File(_chartDir, ChartWriter.SUMMARY_FILE_NAME);
 
         writeDummyContentToSummaryFileToEnsureItGetsOverwritten(summaryFile);
 
-        _writer.writeChartToFileSystem(_chart2, "chart2");
-        _writer.writeChartToFileSystem(_chart1, "chart1");
+        _writer.writeChartToFileSystem(_chart2, chartDef2);
+        _writer.writeChartToFileSystem(_chart1, chartDef1);
 
         _writer.writeHtmlSummaryToFileSystem();
 
@@ -87,9 +103,13 @@ public class ChartWriterTest extends Tes
 
     public void testWriteHtmlSummaryToFileSystemDoesNothingIfLessThanTwoCharts()
     {
+        ChartingDefinition chartDef1 = mock(ChartingDefinition.class);
+        when(chartDef1.getChartStemName()).thenReturn("chart1");
+        when(chartDef1.getChartDescription()).thenReturn("chart description1");
+
         File summaryFile = new File(_chartDir, ChartWriter.SUMMARY_FILE_NAME);
 
-        _writer.writeChartToFileSystem(_chart1, "chart1");
+        _writer.writeChartToFileSystem(_chart1, chartDef1);
 
         _writer.writeHtmlSummaryToFileSystem();
 

Modified: qpid/trunk/qpid/java/perftests/visualisation-jfc/src/test/java/org/apache/qpid/disttest/charting/writer/expected-chart-summary.html
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/perftests/visualisation-jfc/src/test/java/org/apache/qpid/disttest/charting/writer/expected-chart-summary.html?rev=1388256&r1=1388255&r2=1388256&view=diff
==============================================================================
--- qpid/trunk/qpid/java/perftests/visualisation-jfc/src/test/java/org/apache/qpid/disttest/charting/writer/expected-chart-summary.html (original)
+++ qpid/trunk/qpid/java/perftests/visualisation-jfc/src/test/java/org/apache/qpid/disttest/charting/writer/expected-chart-summary.html Thu Sep 20 22:56:15 2012
@@ -1,6 +1,7 @@
 <html>
     <head>
         <title>Performance Charts</title>
+        <style type='text/css'>figure { float: left; display: table; width: 87px;}</style>
     </head>
     <body>
         <ul>
@@ -8,8 +9,13 @@
             <li><a href='#chart2.png'>chart2.png</a></li>
         </ul>
         <a name='chart1.png'/>
-        <img src='chart1.png'/>
+        <figure>
+          <img src='chart1.png'/>
+          <figcaption>chart description1</figcaption>
+        </figure>
         <a name='chart2.png'/>
-        <img src='chart2.png'/>
+        <figure>
+          <img src='chart2.png'/>
+        </figure>
     </body>
 </html>
\ No newline at end of file



---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@qpid.apache.org
For additional commands, e-mail: commits-help@qpid.apache.org