For historical purposes, the last of my releases (cewolf-1.1-ulf.zip) is still here.
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.
- BUG FIX: Better image maps for tooltips and item links
The image maps generated by LinkGenerators and ToolTipGenerators didn't always work well, because sometimes spurious extra areas where created; this is no longer the case.
- FEATURE: setting the plot's background color
The chart tag now has a new attribute plotbackgroundcolor to set the plot's background color (as opposed to the chart's background color, which is set by the backgroundcolor attribute). See the tag documentation for more details.
- FEATURE: Postprocessor for enhancing pie charts
The de.laures.cewolf.cpp.PieEnhancer class can be used to set various options for pie charts, including whether to break any sections out of the pie to highlight them. See the javadocs for the supported parameters and default values.
- FEATURE: Postprocessor for zooming into charts
Ann Kapusta contributed the de.laures.cewolf.cpp.ZoomBothAxis postprocessor that enables zooming into an X/Y or category chart. The details are in the javadocs of that class, and on the sample pages "Zoom Date" and "Zoom Number" of the example web app.
- FEATURE: JSP EL is supported in addition to JSP scriplets for parameters
This makes it possible to write this:
<cewolf:param name="rangeIncludesZero" value='false' />
<cewolf:param name="lowerRangeVal" value='${zoom.lowerRangeVal}' />
instead of this:
<cewolf:param name="rangeIncludesZero" value='<%= "false" %>' />
<cewolf:param name="lowerRangeVal" value='<%= zoom.getLowerRangeVal() %>' />
- BUG FIX: removeAfterRender attribute was missing in TLD file
Christian Bollmeyer pointed out that the removeAfterRender attribute was missing from the img and legend tags in the TLD file. Since its default value is false, this could lead to excessive memory consumption because of images not getting removed from the session.
Christian also noticed a problem (now fixed) with the support for spline plot types.
- FEATURE: Support for the StackedXYAreaRenderer and StackedXYAreaRenderer2 chart types
Doug Wegscheid contributed a patch to support the StackedXYAreaRenderer and StackedXYAreaRenderer2 chart types. The IDs to be used in the type attribute of the plot tag are stackedxyarea and stackedxyarea2, respectively.
Doug also fixed a bug where reloading a webapp in a debug session would make things blow up.
- FEATURE: Stacked horizontal bar chart plots in 3D are now supported
The plot type "stackedhorizontalbar3d" is now supported.
- BUG FIX: Tooltips now work on IE8
A change in IE 8's behavior compared to previous IE versions led to tooltips not being displayed on that browser. This has now been corrected.
- CHANGE/FEATURE: Domain and range axes can have integer labels independent of each other
The axisinteger attribute has been replaced by separate xaxisinteger and yaxisinteger attributes. This is an incompatible change. This makes it possible to draw both axes using integer or decimal value labels independent of each other. The default is to show decimal values (as it used to be).
Previously, axisinteger was used for both axes; if this behavior is desired, then both xaxisinteger and yaxisinteger must be set to true now.
- FEATURE: Postprocessor for setting annotations (labels and arrows) on a chart
The de.laures.cewolf.cpp.AnnotationProcessor can be used to add labels (with and without arrows) to particular data points on a chart. The fonts, colors and positioning information to be used can also be set. A new page in the example web app -annotations.jsp, linked under Annotations- demonstrates these capabilities.
- BUG FIX: Properly apply themes to all newly created charts
Chart themes weren't applied to all charts (in particular, spiderweb, spline and meter charts). This could result in effects like the wrong chart color being selected (i.e., gray instead of white). The backgroundcolor and plotbackgroundcolor attributes can be used to set the color explicitly.
- FEATURE: Added option to suppress the numerical labels on axes
The chart tag now has xticklabelsvisible, yticklabelsvisible, xtickmarksvisible and ytickmarksvisible attributes that control whether or not tick labels and tick marks are shown on both axes. They default to both labels and marks being shown on both axes (like it was before).
- BUG FIX: TLD file didn't conform to schema
Doug Wegscheid contributed a fix to bring the TLD file into compliance with the JSP tag library schema.
- FEATURE: Show item labels on bar charts
The BarRendererProcessor has new attributes showItemLabels and itemLabelColor that can be used to display labels on (stacked) bar charts, and to set the color of the label text. The Cewolf Set page of the example web app demonstrates this feature in the StackedVerticalBar chart.
- FEATURE: Set custom colors for bar chart categories
Doug Wegscheid contributed an extension to the BarRendererProcessor that allows to set custom category colors (as opposed to custom series colors, which is what the SeriesPaintProcessor provides). The Cewolf Set page of the example web app demonstrates this feature in the HorizontalBar chart.
- FEATURE: plot border visibility and color can be set
The chart tag has new attributes plotbordervisible and plotbordercolor to control whether the plot border is shown, and if so, in which color. This is analogous to the bordervisible and bordercolor attribute for the chart border. See the tag documentation for more details.
- FEATURE: XY Plots can conditionally show shapes at each individual point
The de.laures.cewolf.cpp.LineRendererProcessor has been enhanced with attributes shapeFilledCondition and shapeVisibleCondition that take mathematical/logical expressions which are evaluated for each point of a series in order to show or not show a visible shape at that point, and whether the shape should be solid (i.e., filled) or outlined only. This works for plot types spline, scatter and xy. The annotations.jsp page shows it in action. The javadocs of class LineRendererProcessor explain the possible expressions in detail.
- FEATURE: RotatedAxisLabels postprocessor improvements
The de.laures.cewolf.cpp.RotatedAxisLabels postprocessor can now be used for XY plots as well as category plots, and handles more gracefully if being used for incorrect plot types.
- BUG FIX: Memory leak when using the <imgurl> tag
Using the imgurl tag would cause progressively more objects being added to the user session. This would have caused a memory issue for heavy use of this tag, or for very long-running sessions; since the tag isn't generally used in most scenarios, it's possible that nobody ever ran into this.