From: <mu...@us...> - 2007-06-26 15:13:30
|
Revision: 84 http://jfreechart.svn.sourceforge.net/jfreechart/?rev=84&view=rev Author: mungady Date: 2007-06-26 08:13:28 -0700 (Tue, 26 Jun 2007) Log Message: ----------- 2007-06-27 David Gilbert <dav...@ob...> * source/org/jfree/chart/renderer/category/AbstractCategoryItemRenderer.java (getItemLabelGenerator): Do lookup, (getSeriesItemLabelGenerator): Return per-series value only, even if null, (getItemURLGenerator): Do lookup, (getSeriesItemURLGenerator): Return per-series value only, even if null. Modified Paths: -------------- trunk/ChangeLog trunk/source/org/jfree/chart/renderer/category/AbstractCategoryItemRenderer.java trunk/tests/org/jfree/chart/renderer/category/junit/AbstractCategoryItemRendererTests.java Modified: trunk/ChangeLog =================================================================== --- trunk/ChangeLog 2007-06-26 14:44:34 UTC (rev 83) +++ trunk/ChangeLog 2007-06-26 15:13:28 UTC (rev 84) @@ -1,5 +1,14 @@ 2007-06-27 David Gilbert <dav...@ob...> + * source/org/jfree/chart/renderer/category/AbstractCategoryItemRenderer.java + (getItemLabelGenerator): Do lookup, + (getSeriesItemLabelGenerator): Return per-series value only, even if + null, + (getItemURLGenerator): Do lookup, + (getSeriesItemURLGenerator): Return per-series value only, even if null. + +2007-06-27 David Gilbert <dav...@ob...> + * source/org/jfree/chart/ChartFactory.java (createAreaChart): Updated for renamed method, (createBarChart): Likewise, Modified: trunk/source/org/jfree/chart/renderer/category/AbstractCategoryItemRenderer.java =================================================================== --- trunk/source/org/jfree/chart/renderer/category/AbstractCategoryItemRenderer.java 2007-06-26 14:44:34 UTC (rev 83) +++ trunk/source/org/jfree/chart/renderer/category/AbstractCategoryItemRenderer.java 2007-06-26 15:13:28 UTC (rev 84) @@ -96,7 +96,7 @@ * override fields (DG); * 18-May-2007 : Set dataset and seriesKey for LegendItem (DG); * 20-Jun-2007 : Removed deprecated code and removed JCommon dependencies (DG); - * 26-Jun-2007 : Added some new methods with 'notify' argument, renamed + * 27-Jun-2007 : Added some new methods with 'notify' argument, renamed * methods containing 'ItemURL' to just 'URL' (DG); * */ @@ -257,9 +257,9 @@ /** * Returns the item label generator for a data item. This implementation - * simply passes control to the {@link #getSeriesItemLabelGenerator(int)} - * method. If, for some reason, you want a different generator for - * individual items, you can override this method. + * returns the series item label generator if one is defined, otherwise + * it returns the default item label generator (which may be + * <code>null</code>). * * @param row the row index (zero based). * @param column the column index (zero based). @@ -268,7 +268,12 @@ */ public CategoryItemLabelGenerator getItemLabelGenerator(int row, int column) { - return getSeriesItemLabelGenerator(row); + CategoryItemLabelGenerator generator = (CategoryItemLabelGenerator) + this.itemLabelGeneratorList.get(row); + if (generator == null) { + generator = this.baseItemLabelGenerator; + } + return generator; } /** @@ -281,15 +286,8 @@ * @see #setSeriesItemLabelGenerator(int, CategoryItemLabelGenerator) */ public CategoryItemLabelGenerator getSeriesItemLabelGenerator(int series) { - - // look up the generator table - CategoryItemLabelGenerator generator = (CategoryItemLabelGenerator) - this.itemLabelGeneratorList.get(series); - if (generator == null) { - generator = this.baseItemLabelGenerator; - } - return generator; - + return (CategoryItemLabelGenerator) this.itemLabelGeneratorList.get( + series); } /** @@ -488,9 +486,7 @@ // URL GENERATOR /** - * Returns the URL generator for a data item. This method just calls the - * getSeriesItemURLGenerator method, but you can override this behaviour if - * you want to. + * Returns the URL generator for a data item. * * @param row the row index (zero based). * @param column the column index (zero based). @@ -498,7 +494,12 @@ * @return The URL generator. */ public CategoryURLGenerator getItemURLGenerator(int row, int column) { - return getSeriesURLGenerator(row); + CategoryURLGenerator generator + = (CategoryURLGenerator) this.urlGeneratorList.get(row); + if (generator == null) { + generator = this.baseURLGenerator; + } + return generator; } /** @@ -511,15 +512,7 @@ * @see #setSeriesURLGenerator(int, CategoryURLGenerator) */ public CategoryURLGenerator getSeriesURLGenerator(int series) { - - // look up the generator table - CategoryURLGenerator generator - = (CategoryURLGenerator) this.urlGeneratorList.get(series); - if (generator == null) { - generator = this.baseURLGenerator; - } - return generator; - + return (CategoryURLGenerator) this.urlGeneratorList.get(series); } /** Modified: trunk/tests/org/jfree/chart/renderer/category/junit/AbstractCategoryItemRendererTests.java =================================================================== --- trunk/tests/org/jfree/chart/renderer/category/junit/AbstractCategoryItemRendererTests.java 2007-06-26 14:44:34 UTC (rev 83) +++ trunk/tests/org/jfree/chart/renderer/category/junit/AbstractCategoryItemRendererTests.java 2007-06-26 15:13:28 UTC (rev 84) @@ -39,7 +39,8 @@ * 12-Feb-2004 : Version 1 (DG); * 24-Nov-2006 : New cloning tests (DG); * 07-Dec-2006 : Added testEquals() method (DG); - * + * 26-Jun-2007 : Added testGetSeriesItemLabelGenerator() and + * testGetSeriesURLGenerator() (DG); */ package org.jfree.chart.renderer.category.junit; @@ -56,6 +57,7 @@ import org.jfree.chart.labels.StandardCategoryToolTipGenerator; import org.jfree.chart.renderer.category.AbstractCategoryItemRenderer; import org.jfree.chart.renderer.category.BarRenderer; +import org.jfree.chart.renderer.category.CategoryItemRenderer; import org.jfree.chart.urls.StandardCategoryURLGenerator; /** @@ -286,6 +288,35 @@ assertTrue(r1.getLegendItemURLGenerator() != r2.getLegendItemURLGenerator()); } + + /** + * Check that the getSeriesItemLabelGenerator() method behaves as + * expected. + */ + public void testGetSeriesItemLabelGenerator() { + CategoryItemRenderer r = new BarRenderer(); + assertNull(r.getSeriesItemLabelGenerator(2)); + r.setSeriesItemLabelGenerator(2, + new StandardCategoryItemLabelGenerator()); + assertNotNull(r.getSeriesItemLabelGenerator(2)); + r.setSeriesItemLabelGenerator(2, null); + assertNull(r.getSeriesItemLabelGenerator(2)); + r.setBaseItemLabelGenerator(new StandardCategoryItemLabelGenerator()); + assertNull(r.getSeriesItemLabelGenerator(2)); + } + /** + * Check that the getSeriesURLGenerator() method behaves as expected. + */ + public void testGetSeriesURLGenerator() { + CategoryItemRenderer r = new BarRenderer(); + assertNull(r.getSeriesURLGenerator(2)); + r.setSeriesURLGenerator(2, new StandardCategoryURLGenerator()); + assertNotNull(r.getSeriesURLGenerator(2)); + r.setSeriesURLGenerator(2, null); + assertNull(r.getSeriesURLGenerator(2)); + r.setBaseURLGenerator(new StandardCategoryURLGenerator()); + assertNull(r.getSeriesURLGenerator(2)); + } } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |