Note that I'm calling this version 1.1 to set it apart form the official 1.0 release, but it's not in any way endorsed by Guido Laures (who originally created cewolf). Do not contact him with questions about this release.
The changes are:
- BUG FIX: 1769626
- showlegend does not take effect
Setting showlegend to false did not actually turn off the legend, but caused it to be shown below the chart. Now it works as advertised.
- FEATURE: 1719176
- ChartMapTag does not allow for a target attribute to be set
The map tag now has a target attribute that can be used to set the target frame of the links created by the link generator. This requires linkgeneratorid to be used as well, obviously.
- BUG FIX: 1479568
- legendanchor "east" and "west" don't work correctly
Setting legendanchor to "west" now places the legend to the left of the chart, while "east" puts it to the right. This used to be switched.
- BUG FIX: 1469913
- ChartMapTag produces Non-well-formed XHTML
The AREA tag is now properly closed.
- FEATURE: Added option to show integer axis values only
The chart, overlaidchart, combinedchart and plot tags now have an axisinteger attribute which will cause any numeric axis labels to be shown with integer values only. The default is to show decimal values (as it used to be).
- BUG FIX: 1739660
- AbstractChartDefinition's serialization is broken
The chart and postProcessors fields are no longer transient. This is an incompatible change. ChartPostProcessor implementations must now implement Serializable as well. If they are not serializable, they must implement the new NonSerializableChartPostProcessor interface, so that cewolf can get at a serializable postprocessor implementation. This should only be necessary in exceptional circumstances.
This change also means that postprocessors can no longer be implemented as scriptlets in JSP pages. Since scriptlets should be avoided anyway in favor of backing beans, I consider this to be a good thing.
The upside is that this solves all issues with non-serializable objects in the session.
- FEATURE: Curves can now be drawn with spline interpolation
The type attribute of the chart and plot tags can now have a value of "spline". This will cause X/Y values to be displayed using a cubic spline curve.
- FEATURE: Postprocessor for adding a subtitle to a chart, and for changing the title's appearance
The de.laures.cewolf.cpp.TitleEnhancer class allows a (sub)title's font, font size, bold, italic, color and background color attributes to be set or changed. It also sets the subtitle (the title is set by the chart:title attribute). See the javadocs for the supported parameters and default values.
- FEATURE: Additional charts types can be generated
Stephen Davies contributed code to support Dial, Compass and Thermometer charts. The respective chart:type attribute values are dial, compass and thermometer. The de.laures.cewolf.cpp.DialEnhancer, CompassEnhancer and ThermometerEnhancer postprocessors can be used to finetune the appearance of these charts. The Meter Charts page of the web app shows them in action.
- FEATURE: Postprocessor for setting border color and chart padding
The de.laures.cewolf.cpp.VisualEnhancer postprocessor can set the border color of a chart and the top, left, right and bottom padding between chart and border. See the javadocs for the supported parameters and default values.
- FEATURE: Postprocessor for setting custom category/section colors
The de.laures.cewolf.cpp.SeriesPaintProcessor class allows the color selection for pie charts, category plots and XY plots to be changed.
- BUG FIX/FEATURE: Meter plots did not honor the showlegend parameter, and a new postprocessor for meter plots
The parameter showlegend is now used as it is for all other plot types. There's a new postprocessor for meter plots (de.laures.cewolf.cpp.MeterEnhancer) that can be used to set the unit to be displayed, and to set the needle, value and background colors. The example web app contains another postprocessor (de.laures.cewolf.example.MeterPostProcessor) that shows how to set different value ranges and their associated colors.
- FEATURE: Postprocessor for finetuning the visual appearance of 2D and 3D bar charts
The de.laures.cewolf.cpp.BarRendererProcessor can be used for setting or removing the outline around 2D and 3D bar charts (default is no outline), and for setting the item margin of individual bars (default is 0.2% of the available space).
- FEATURE: new options for all charts, and new options for the ThermometerEnhancer
The chart tag now has attributes bordervisible, bordercolor and backgroundcolor to control the chart's appearance. See the tag documentation for more details.
The de.laures.cewolf.cpp.ThermometerEnhancer has new options to control more finely the appearance of the subranges. See the javadocs for more details. - FEATURE: Thanks to a contribution by Eugen Yu, the HTML emitted is now closer to being well-formed.
- FEATURE: Spider web plots are now supported
The plot type "spiderweb" is now supported. The de.laures.cewolf.cpp.SpiderWebEnhancer postprocessor can be used to finetune its appearance.
- FEATURE: cewolf.tld file is no longer needed in the WEB-INF directory
Martin Gutenbrunner pointed out that it's possible to keep the cewolf.tld file in the main jar file, in which case it needs to be addressed like this in the JSPs:
<%@taglib uri='http://cewolf.sourceforge.net/taglib/cewolf.tld' prefix='cewolf' %> - FEATURE: Postprocessor for controlling the shape of data points in XYPlots and CategoryPlots
The de.laures.cewolf.cpp.LineRendererProcessor can be used for controlling whether or not individual shapes are drawn at each data point, whether those shapes are outlined or solid, and which color shape and outline will have. The tutorial.jsp page shows it in action.
cewolf-1.1-ulf.zip contains the jar file, the TLD, the tag documentation, the javadocs, the source code and an updated version of the cewolfexample web app.