Release Notes

JViews Charts 8.8 Release Notes

This document describes the main changes that have been made to JViews Charts since version 8.7.

Incompatibilities
General Changes
Globalization
Accessibility
Styling
Renderers
Hitmap Web Technology
Multiple Browser Sessions
Security I: Servlet Parameter Checking
Security II: Database Query Checking
Printing
PDF Generation
Other Changes in Charts Classes
Other API Changes in Web Technologies
Example Changes


Incompatibilities


General Changes

JViews Charts now offers:

Globalization


Accessibility


Styling


Renderers


Hitmap Web Technology

The Hitmap API has been extended to include other uses in addition to tooltips, in particular, highlighting, keyboard navigation, and cursor shaping. The scales of a chart can now be represented in the hitmap.

New Interfaces and Classes

ilog.views.chart.servlet.IlvChartHitmap

This class contains a hitmap, plus a hitmap info for the tooltip interactor.

ilog.views.util.hitmap.IlvHitmapInfoGenerator

Implementations of this interface construct all region infos of a single info type for the whole hitmap.

ilog.views.chart.servlet.IlvAbstractChartHitmapInfoGenerator

This class is the superclass of all classes that generate hitmap information for Charts.

ilog.views.chart.servlet.IlvAbstractChartTooltipInfoGenerator

A specialized class of hitmap information generator.

ilog.views.chart.servlet.IlvDefaultChartTooltipInfoGenerator

The default generator for tooltip information in a chart.

ilog.views.chart.servlet.IlvAbstractChartNavigationInfoGenerator

A specialized class of hitmap information generator.

ilog.views.chart.servlet.IlvDefaultChartNavigationInfoGenerator

The default generator for the keyboard navigation info in a chart.

ilog.views.util.hitmap.IlvHitmapConstants

The hitmap constants.

ilog.views.util.hitmap.IlvNavigationInfo

This class encodes how the keyboard navigation within a component reacts when a certain region (such as a graphic object) has the focus and the user presses one of the four Arrow keys (up, down, left, right).

Modified Classes

ilog.views.chart.servlet.IlvChartHitmapDefinition

ilog.views.chart.servlet.IlvDefaultChartHitmapDefinition

ilog.views.chart.servlet.IlvChartHitmapAccumulator

ilog.views.chart.IlvScale

ilog.views.chart.servlet.IlvChartHitmapSupport


Multiple Browser Sessions

It is now easier to design a web application so that the user can simultaneously open multiple instances of the same web application in a browser, each page preserving its own context.

New Interfaces and Classes

ilog.views.faces.IlvFacesPageIdUtil

This class provides utility methods used to support multiple pages per session (multiple tabs in a browser) in a Faces context.

ilog.views.util.servlet.IlvServletPageIdUtil

This class provides utility methods used to support multiple pages per session (multiple tabs in a browser) on a Servlet context.


Security I: Servlet Parameter Checking

JViews web applications are now better protected through security mechanisms that have been introduced for both JSF and JavaScript JViews web applications. The JViews web application sends the request by using client JavaScript libraries in the browser, to the JViews servlet class on the server side. It then updates the client with the information received from the response. The request URL sent by the client is composed of a list of requested parameters. These parameters and expected values on the server side can now be validated for security purposes.

New Interfaces and Classes

ilog.views.util.servlet.IlvRequestParameter

The class defines one specific request parameter.

ilog.views.util.servlet.IlvServletParameterHandler

An abstract superclass is designed to work as the handler for specific Servlet requests.

ilog.views.util.servlet.IlvServletParameterHandlerFactory

An abstract superclass is designed to work as the factory to return the parameter handler for the specific request. The subclass can override IlvServletParameterHandlerFactory.getServletParametersHandler to provide its own parameter handler.

ilog.views.util.servlet.IlvParameterValidationListener

An abstract superclass is designed to work as the parent class for handling requests for parameter validation.

ilog.views.util.servlet.IlvParameterValidationContextListener

A ServletContextListener that attempts to return the value of "ilog.views.servlet.CHECK_PARAM" and "ilog.views.servlet.CHECK_SERVLET_CLASSES" from the web configuration file when the context is initialized.

ilog.views.chart.servlet.IlvChartServletParameterHandlerFactory

The class returns the parameter handler for requests handled by IlvChartServletSupport.

ilog.views.chart.servlet.IlvChartServletParameterValidationListener

The class is designed to work as the parameter validation listener for dealing with requests handled by IlvChartServletSupport.

ilog.views.util.servlet.IlvResourceParameterHandlerFactory

The class returns the parameter handler for requests handled by ilog.views.faces.IlvResourceController.

ilog.views.faces.IlvResourceControlParameterValidationListener

The class is designed to work as the parameter validation listener for requests handled by IlvResourceController.

ilog.views.util.servlet.IlvScriptMessageParameterHandlerFactory

The class returns the parameter handler for requests handled by IlvScriptMessageServletSupport.

ilog.views.util.servlet.IlvSelectionParameterHandlerFactory

The class returns the parameter handler for various selection requests.

Modified Classes

ilog.views.faces.IlvResourceController


Security II: Database Query Checking

SQL query strings can present security risks if they are constructed dynamically and their syntax is not checked. In JViews, a database query can now not only consist of a string, but also of a string with query parameters. This reduces the number of dynamically created query strings. Utility functions for checking the syntax of SQL query string portions are now provided.

New Interfaces and Classes

ilog.views.util.data.IlvJDBCQueryUtil

This class contains utility functions for manipulating SQL queries.

Modified Classes

ilog.views.util.data.IlvJDBCQueryParameters

ilog.views.chart.data.IlvJDBCDataSource

ilog.views.util.data.IlvJDBCTableModel

ilog.views.util.data.IlvRowSetTableModel


Printing


PDF Generation

It is now easier to get a decently scaled or fitted chart converted to PDF.

New Interfaces and Classes

ilog.views.util.print.IlvFOUtil.ComponentPaintable

This class is a Paintable component that paints a Component without scaling.

Modified Classes

ilog.views.chart.IlvChart

ilog.views.util.print.IlvFOUtil


Other Changes in Charts Classes

Modified Classes

ilog.views.chart.IlvStyle

ilog.views.chart.IlvStyle.IntensityChange

ilog.views.chart.graphic.IlvDefaultDataRenderingHint


Other API Changes in Web Technologies

Modified JSF Components

jvcf:chartView

New Interfaces and Classes

ilog.views.chart.servlet.IlvChartServerActionParser

The IlvChartServerActionParser class is used to parse the server action annotation of the servlet.

ilog.views.util.servlet.IlvAbstractServerActionParser

The abstract server action parser.

ilog.views.faces.component.IlvFacesMenuItem

This class defines a menu item JSF component.

ilog.views.faces.dhtml.interactor.IlvFacesCursorChangeInteractor

The IlvFacesCursorChangeInteractor is the class for JViews Faces cursor change interactor components.

ilog.views.faces.dhtml.interactor.IlvFacesInterceptInteractor

The IlvFacesInterceptInteractor is the class for JViews Faces intercept interactor components.

ilog.views.faces.dhtml.renderkit.IlvFacesCursorChangeInteractorRenderer

The IlvFacesCursorChangeInteractorRenderer is the renderer class for IlvFacesCursorChangeInteractor.

ilog.views.faces.dhtml.renderkit.IlvFacesInterceptInteractorRenderer

The IlvFacesInterceptInteractorRenderer class can intercept the interactor.

ilog.views.faces.dhtml.taglib.IlvCursorChangeInteractorTag

This class defines the custom tag handler for the IlvCursorChangeInteractorTag component.

ilog.views.faces.dhtml.taglib.IlvInterceptInteractorTag

This class defines the custom tag handler for the IlvInterceptInteractorTag component.

ilog.views.util.servlet.IlvServerActionEvent

A server action event.

ilog.views.util.servlet.IlvServletHTMLUtil

This class contains utility methods for constructing syntactically valid HTML without security bugs, even in the presence of non-ASCII Unicode characters.

Modified Classes

ilog.views.chart.faces.dhtml.component.IlvChartDHTMLViewComponent

ilog.views.chart.faces.dhtml.taglib.IlvChartViewComponentTag

ilog.views.faces.component.IlvFacesView

ilog.views.faces.dhtml.IlvDHTMLConstants

ilog.views.faces.dhtml.component.IlvFacesDHTMLOverview

ilog.views.faces.dhtml.component.IlvFacesDHTMLView

ilog.views.faces.dhtml.component.IlvFacesDHTMLViewSupport

ilog.views.faces.dhtml.component.IlvFacesDHTMLViewSupportImpl

ilog.views.faces.dhtml.taglib.IlvFacesHighlightInteractorTag

ilog.views.faces.dhtml.taglib.IlvFacesOverviewTag

ilog.views.faces.dhtml.taglib.IlvFacesTooltipInteractorTag

ilog.views.faces.dhtml.taglib.IlvFacesViewTag

ilog.views.faces.dhtml.taglib.IlvImageButtonTag

ilog.views.faces.dhtml.taglib.IlvMessageBoxTag

ilog.views.faces.interactor.IlvFacesHighlightInteractor

ilog.views.faces.interactor.IlvFacesTooltipInteractor

ilog.views.faces.taglib.IlvFacesMenuItemTag

ilog.views.faces.taglib.IlvFacesMenuTag

ilog.views.faces.taglib.IlvMenuTag

ilog.views.util.servlet.model.IlvMenuItem


Example Changes

A new accessibility sample has been added.

The jsf-chart-bank sample now also shows

The jsf-chart-stock2 sample now also shows how to support multiple browser sessions.

The modeling example for Eclipse now works in Eclipse 3.5.x to 3.7.x.