From: <mu...@us...> - 2010-02-09 21:23:55
|
Revision: 2266 http://jfreechart.svn.sourceforge.net/jfreechart/?rev=2266&view=rev Author: mungady Date: 2010-02-09 21:23:49 +0000 (Tue, 09 Feb 2010) Log Message: ----------- 2010-02-09 David Gilbert <dav...@ob...> Bug 2947660: * source/org/jfree/chart/renderer/category/AbstractCategoryRenderer.java (getLegendItems): Fix null check. Modified Paths: -------------- trunk/source/org/jfree/chart/renderer/category/AbstractCategoryItemRenderer.java trunk/tests/org/jfree/chart/renderer/category/junit/AbstractCategoryItemRendererTests.java Modified: trunk/source/org/jfree/chart/renderer/category/AbstractCategoryItemRenderer.java =================================================================== --- trunk/source/org/jfree/chart/renderer/category/AbstractCategoryItemRenderer.java 2010-02-09 21:13:39 UTC (rev 2265) +++ trunk/source/org/jfree/chart/renderer/category/AbstractCategoryItemRenderer.java 2010-02-09 21:23:49 UTC (rev 2266) @@ -2,7 +2,7 @@ * JFreeChart : a free chart library for the Java(tm) platform * =========================================================== * - * (C) Copyright 2000-2009, by Object Refinery Limited and Contributors. + * (C) Copyright 2000-2010, by Object Refinery Limited and Contributors. * * Project Info: http://www.jfree.org/jfreechart/index.html * @@ -27,7 +27,7 @@ * --------------------------------- * AbstractCategoryItemRenderer.java * --------------------------------- - * (C) Copyright 2002-2009, by Object Refinery Limited. + * (C) Copyright 2002-2010, by Object Refinery Limited. * * Original Author: David Gilbert (for Object Refinery Limited); * Contributor(s): Richard Atkinson; @@ -107,7 +107,7 @@ * 27-Mar-2009 : Added new findRangeBounds() method to account for hidden * series (DG); * 01-Apr-2009 : Added new addEntity() method (DG); - * 26-Jun-2009 : Updated to support selections (DG); + * 09-Feb-2010 : Fixed bug 2947660 (DG); * */ @@ -1794,7 +1794,7 @@ } int index = this.plot.getIndexOf(this); CategoryDataset dataset = this.plot.getDataset(index); - if (dataset != null) { + if (dataset == null) { return result; } int seriesCount = dataset.getRowCount(); Modified: trunk/tests/org/jfree/chart/renderer/category/junit/AbstractCategoryItemRendererTests.java =================================================================== --- trunk/tests/org/jfree/chart/renderer/category/junit/AbstractCategoryItemRendererTests.java 2010-02-09 21:13:39 UTC (rev 2265) +++ trunk/tests/org/jfree/chart/renderer/category/junit/AbstractCategoryItemRendererTests.java 2010-02-09 21:23:49 UTC (rev 2266) @@ -2,7 +2,7 @@ * JFreeChart : a free chart library for the Java(tm) platform * =========================================================== * - * (C) Copyright 2000-2008, by Object Refinery Limited and Contributors. + * (C) Copyright 2000-2010, by Object Refinery Limited and Contributors. * * Project Info: http://www.jfree.org/jfreechart/index.html * @@ -40,6 +40,7 @@ * 26-Jun-2007 : Added testGetSeriesItemLabelGenerator() and * testGetSeriesURLGenerator() (DG); * 25-Nov-2008 : Added testFindRangeBounds() (DG); + * 09-Feb-2010 : Added test2947660() (DG); * */ @@ -51,11 +52,13 @@ import junit.framework.TestCase; import junit.framework.TestSuite; +import org.jfree.chart.LegendItemCollection; import org.jfree.chart.annotations.CategoryTextAnnotation; import org.jfree.chart.labels.IntervalCategoryItemLabelGenerator; import org.jfree.chart.labels.StandardCategoryItemLabelGenerator; import org.jfree.chart.labels.StandardCategorySeriesLabelGenerator; import org.jfree.chart.labels.StandardCategoryToolTipGenerator; +import org.jfree.chart.plot.CategoryPlot; import org.jfree.chart.renderer.category.AbstractCategoryItemRenderer; import org.jfree.chart.renderer.category.BarRenderer; import org.jfree.chart.renderer.category.CategoryItemRenderer; @@ -387,5 +390,25 @@ assertEquals(new Range(-2.0, 1.0), r.findRangeBounds(dataset)); } + /** + * A test that reproduces the problem reported in bug 2947660. + */ + public void test2947660() { + AbstractCategoryItemRenderer r = new LineAndShapeRenderer(); + assertNotNull(r.getLegendItems()); + assertEquals(0, r.getLegendItems().getItemCount()); + + DefaultCategoryDataset dataset = new DefaultCategoryDataset(); + CategoryPlot plot = new CategoryPlot(); + plot.setDataset(dataset); + plot.setRenderer(r); + assertEquals(0, r.getLegendItems().getItemCount()); + + dataset.addValue(1.0, "S1", "C1"); + LegendItemCollection lic = r.getLegendItems(); + assertEquals(1, lic.getItemCount()); + assertEquals("S1", lic.get(0).getLabel()); + } + } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |