On Jul 3, 2012, at 7:18 PM, Vincent Massol wrote:
Hi Andreas,
On Jul 3, 2012, at 11:10 AM, Andreas Jonsson wrote:
Hi,
This vote is about adding the following three clirr excludes:
* This interface is completely refactored:
<exclude>org/xwiki/chart/model/ChartModel</exclude>
* This class is removed:
<exclude>org/xwiki/chart/model/DefaultChartModel</exclude>
Was this class supposed to be public before or was it an error?
* The constants 'SOURCE' and 'PARAMS' are removed from this interface:
<exclude>org/xwiki/rendering/macro/chart/ChartDataSource</exclude>
The question is: is there a reasonably easy way to not cause backward compat breakages
for those classes?
From what I see this miss creating completely new interfaces for at least:
Sorry, I meant "means", not "miss"...
-Vincent
ChartModel
ChartGenerator
DataSource
ChartDataSource
So in essence this means deprecating lots of classes in xwiki-platform-chart-renderer and
introducing lots of new ones (although they can share common code).
So I think it's a bit too much work for the problem at hand since this API is not one
of the most used API and this is likely to not impact many users.
Also:
* The chart module is not used anywhere else in the platform except in oldcore by the old
chart plugin
* I'd like use to deprecate and retire the old chart plugin
Thus the chart macro and the other chart modules are good candidates to be non core
extensions and thus a user who really wants to stay on the oldversion could do so
(provided he doesn't use the old chart plugin).
I am refactoring the chart macro and the interface 'ChartModel' is could
previously only be used for producing table-like datasets, but the jfree chart library can
produce plots from a wide range of dataset types. So the new version of the interface is
instead used for delivering the dataset and the axis configuration to the chart
generator.
I have deliberately choosed to not try abstracting away the fact that the chart macro
uses the jfree chart library. Doing so would require introducing a large number of
wrapper classes that would duplicate the functionality existing classes and it would still
not be particularly easy to just plug in another chart library.
+1 to that
Here is my +1.
+1 too
Thanks
-Vincent
>
> Best Regards,
>
> /Andreas