Release Notes

JViews Charts Release Notes

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

Incompatibilities
New Rich Web Charts Component
New Treemap Chart
Customizer Components
DHTML JavaServer Faces Popup Menus
DHTML JavaServer Faces Select Interactor
Tag Library Changes
Portable SWT Support
PDF Generation
NaN Value
Multithreading in a Server
CSS Pseudo-Classes per Chart
Interactor Event Handling
Interactor Event Masks
Millisecond Time Unit
Logarithmic Axis Improvement
Customization of 3D Views
Other Improvements in the Data Source Classes
Other Improvements in the DHTML JavaServer Faces Components
Internationalization
Other Changes in Charts Classes
Other Changes in Utility Classes
Example Changes


Incompatibilities

Library

JavaServer Faces


New Rich Web Charts Component

A Rich Web Charts component has been added. This component is based on JSF framework and renders as SVG for richer interaction on the client and better scalability on the server.

Two Rich Web Charts samples have been added, a Dashboard and a Stock viewer.

For more details, refer to Building Web Applications documentation.

New Packages

ilog.views.chart.rwc.faces

This is the base package of the Rich Web Charts component that renders as SVG on a Web Client.

ilog.views.chart.rwc.faces.component

This is the package containing the JSF UI Component for the Rich Web Charts.

ilog.views.chart.rwc.faces.event
This is the package containing the JSF events for the Rich Web Charts.

New Treemap Chart

A treemap chart has been added. This type of chart is optimal for getting an overview of a set of objects, according to their importance, and spotting trends and outliers. The implementation comes with a set of data models that are usable as input for a treemap chart.

New Packages

ilog.views.chart.datax

Provides extended data models and bridges from/to Swing models.

ilog.views.chart.datax.adapter

Provides predefined bridges between data models. Features filtering, sorting and partitioning.

ilog.views.chart.datax.adapter.connector

Provides predefined connectors to object property mechanisms.

ilog.views.chart.datax.adapter.partition

Provides interfaces and algorithms for partitioning of data models.

ilog.views.chart.datax.adapter.sort

Provides interfaces and algorithms for sorting of data models.

New Interfaces and Classes

ilog.views.chart.data.IlvTreeTableDataSource

This class encapsulates a tree-table or table-like model in an IlvDataSource.

ilog.views.chart.event.TreeTableDataSourceEvent

Describes changes made to an IlvTreeTableDataSource object.

ilog.views.chart.event.TreeTableDataSourceListener

Defines the interface for objects that listen to changes in an ilog.views.chart.data.IlvTreeTableDataSource.

ilog.views.chart.data.IlvAbstractTableDataSource

A data source that displays elements of a table.

ilog.views.chart.renderer.IlvSimpleChartRenderer

The IlvSimpleChartRenderer is the base class for all atomic renderers of the entire data source.

ilog.views.chart.renderer.IlvTreemapChartRenderer

A renderer displaying treemap charts.

ilog.views.chart.IlvTreemapRendererLegendItem
This class represents a legend associated with a color, as displayed by this renderer.
ilog.views.chart.IlvDisplayArea

Represents a display area that corresponds to a projected data point.

ilog.views.chart.IlvDisplayObjectArea

Represents a display area that corresponds to a model object.

ilog.views.chart.interactor.IlvTreemapChartFocusInteractor

An interactor that provides a kind of "drill down" for a treemap.

ilog.views.chart.event.TreemapFocusEvent

Describes changes related to the focus of a treemap renderer.

ilog.views.chart.event.TreemapFocusListener

Defines the interface for listening to changes of the focus of a treemap.

ilog.views.chart.renderer.IlvTreemapPacking

This class describes how to arrange rectangles in a treemap.

ilog.views.chart.renderer.IlvTreemapPackingAlgorithm

This class describes how to arrange rectangles in a treemap.

ilog.views.chart.renderer.IlvTreemapAreaObject

This class contains information about the area that should be assigned to a tree node during the treemap packing algorithm.

ilog.views.chart.renderer.IlvColorScheme

This abstract class denotes a color scheme.

ilog.views.chart.renderer.IlvValueColorScheme

This abstract class denotes a color scheme which chooses the color as a function of a continuous real value.

ilog.views.chart.renderer.IlvSimpleValueColorScheme

This class denotes a color scheme which provides a model-independent color distribution for the interval [0,1] and maps the range of values to this interval through a simple linear mapping.

ilog.views.chart.renderer.IlvValueNormalizer

An instance of this interface maps a value from a given interval onto the interval [0,1].

ilog.views.chart.renderer.IlvContinuousColorDistribution

An instance of this interface associates a color with every number in a given range.

ilog.views.chart.renderer.IlvEnumeratedColorDistribution

An instance of this interface associates a color with every object among a given finite set of objects.

Modified Classes

ilog.views.chart.IlvChart ilog.views.chart.IlvChartRenderer ilog.views.chart.servlet.IlvIMapDefinition ilog.views.chart.servlet.IlvDefaultIMapDefinition

New Examples

Three treemap chart samples have been added:

Customizer Components

Swing Components have been added for changing CSS properties of a chart outside the Charts designer.

New Packages

ilog.views.chart.customizer

This package provides the base class of the checked exceptions that can be thrown when using customizers.

ilog.views.chart.customizer.swing

This package contains the customizer mechanism that allows you to customize the appearance of a JViews Chart component.

ilog.views.customizer.styling

This package contains the base class of component CSS adapters, and the rule customizer interface.

ilog.views.util.styling

Contains classes related to component styling.


DHTML JavaServer Faces Popup Menus

Popup menu components can now be added to thin-client charts.

New Interfaces and Classes

ilog.views.chart.faces.servlet.IlvFacesChartPopupSupport

This class defines a popup menu support for the JSF chart.

ilog.views.chart.faces.servlet.IlvFacesChartPopupAction

This servlet action handles the action triggered by a popup menu component in IMAGE_SERVLET_CONTEXT.

ilog.views.chart.faces.dhtml.renderkit.IlvChartContextualMenuRenderer

This class is the chart DHTML renderer for a IlvFacesContextualMenu component.
This renderer generates an instance of the IlvFacesChartContextualMenuProxy JavaScript proxy class.

ilog.views.faces.component.IlvFacesContextualMenu

The contextual menu is a menu which is attached to a view (its parent) and that can display a menu generated from the object clicked on this view.

ilog.views.faces.component.IlvFacesMenu

This class defines a menu whose parent is a view or another menu.

ilog.views.faces.dhtml.event.FacesMenuActionEvent

A view action event triggered by a menu component.

ilog.views.faces.dhtml.event.FacesMenuActionListener

This listener is the default listener of a ilog.views.faces.component.IlvFacesMenu.

ilog.views.faces.dhtml.renderkit.IlvFacesContextualMenuRenderer

This class is the renderer for a ilog.views.faces.component.IlvFacesContextualMenu component.
This renderer generates an instance of the IlvPopupMenuProxy JavaScript proxy class.

ilog.views.faces.dhtml.renderkit.IlvFacesContextualPopupMenuRenderer

This class is the DHTML renderer for a IlvFacesContextualMenu component.
This renderer generates an instance of the IlvFacesContextualMenuProxy JavaScript proxy class.

ilog.views.faces.dhtml.renderkit.IlvFacesMenuRenderer

This class is the base renderer class of JViews Faces DHTML components that represents a menu.

ilog.views.faces.dhtml.servlet.IlvFacesManagerPopupSupport

This class defines the popup servlet support for the JSF graphic framework.

ilog.views.faces.dhtml.servlet.IlvFacesPopupMenuActionListener

This class defines an action listener triggered by a menu in IMAGE_SERVLET_CONTEXT.

ilog.views.chart.servlet.IlvChartPopupMenuSupport

This class is the chart specific servlet support for dynamic popup menu requests from the client.

ilog.views.chart.servlet.IlvPopupChartServerAction

This action must be registered on the chart servlet support in order to support the popup menus.
Its purpose is translate to the IlvChartServerActionEvent into a ServletActionEvent used in the popup menu model and to delegate the processing of this event to the selected menu item action listener.

ilog.views.util.servlet.IlvPopupMenuServletSupport

This abstract class defines a servlet support used to handle dynamic popup menu request requests.

ilog.views.util.servlet.IlvPopupMenuEncoder

This class defines an encoder of an IlvMenu.

ilog.views.util.servlet.IlvDefaultPopupMenuEncoder

This class is responsible for encoding an IlvMenu into a code comprehensible to the client and to write it into the selected writer.

ilog.views.util.servlet.IlvMenuFactory

This interface defines a factory that generates IlvMenus depending on:

ilog.views.util.servlet.model.IlvMenu

An implementation of a menu that contains menu items.

ilog.views.util.servlet.model.IlvMenuItem

This class defines a menu item that should be contained by an IlvMenu.

ilog.views.util.servlet.model.IlvMenuSeparator

This class represents a divider between menu items in a menu.

Modified Classes

ilog.views.chart.servlet.IlvChartServletSupport ilog.views.chart.faces.servlet.IlvFacesChartServletSupport

DHTML JavaServer Faces Select Interactor

A select interactor has been added to pick a data set point and to handle the event in a JavaServer Faces listener.

New Interfaces and Classes

ilog.views.chart.faces.dhtml.interactor.IlvChartSelectInteractor

This class defines an interactor that contains the ilog.views.chart.data.IlvDataSetPoint selected by the user in its value property.

ilog.views.chart.faces.dhtml.interactor.IlvChartObjectSelectedFinder

This class is responsible for finding the data set point picked on the view.

ilog.views.chart.faces.dhtml.renderkit.IlvChartSelectInteractorRenderer

This class is the renderer for an IlvChartSelectInteractor component.
This renderer generates an instance of the IlvChartSelectInteractorProxy JavaScript proxy class.

ilog.views.chart.faces.servlet.IlvFacesChartSelectAction

This chart server action is executed out of the JSF lifecycle, in the image generating servlet.
Its purpose is to translate this action event into a JSF valueChangeEvent and to invoke the value change listener passed as parameter with this translated event.

ilog.views.faces.dhtml.interactor.IlvFacesSelectInteractor

This is the base class for interactors. It can be used to select one or several objects on a view and to move the current selection.

ilog.views.faces.dhtml.renderkit.IlvFacesSelectInteractorRenderer

This class is a base renderer for a IlvFacesSelectInteractor component.

ilog.views.faces.dhtml.servlet.IlvFacesSelectActionListener

This server action is executed out of the JSF lifecycle, in the image generating servlet.
Its purpose is to translate this action event into a JSF valueChangeEvent and to invoke the value change listener passed as parameter with this translated event.

ilog.views.faces.dhtml.servlet.IlvFacesSelectRectActionListener

This server action is executed out of the JSF lifecycle, in the image generating servlet.
Its purpose is to translate this action event into a JSF valueChangeEvent and to invoke the value change listener passed as parameter with this translated event.

ilog.views.util.servlet.IlvSelectionSupport

This class describes a servlet support for selection requests.

Modified Classes

ilog.views.chart.faces.servlet.IlvFacesChartServletSupport

Tag Library Changes

New Interfaces and Classes

ilog.views.chart.faces.dhtml.taglib.IlvChartContextualMenuTag

This class defines the JSP custom tag handler for the IlvFacesContextualMenu component and its DHTML renderer for the Charts product.

ilog.views.chart.faces.dhtml.taglib.IlvChartSelectInteractorTag

This class defines the JSP custom tag handler for the IlvChartSelectInteractor component and its DHTML renderer.

ilog.views.faces.dhtml.taglib.IlvFacesContextualMenuTag

This class defines the JSP custom tag handler for the IlvFacesContextualMenu component and its DHTML renderer for graphic framework.

ilog.views.faces.dhtml.taglib.IlvFacesSelectInteractorTag

This class defines a base JSP custom tag handler for a ilog.views.faces.dhtml.interactor.IlvFacesSelectInteractor component.

ilog.views.faces.taglib.IlvContextualMenuTag

This class defines the JSP custom tag handler for the IlvFacesContextualPopupMenu component and its DHTML renderer.

ilog.views.faces.taglib.IlvFacesMenuItemTag

This JSP custom tag handler manages menu item tag instances.

ilog.views.faces.taglib.IlvFacesMenuSeparatorTag

This JSP custom tag handler manages menu separator tag instances.

ilog.views.faces.taglib.IlvFacesMenuTag

This JSP custom tag handler manages menu item tag instances.

ilog.views.faces.taglib.IlvMenuTag

This abstract class is the base custom tag handler class of styled menu components.


Portable SWT Support

Embedding a JViews Chart component in an Eclipse/SWT window is now supported on all platforms on which Eclipse/SWT runs. This includes Microsoft Windows, Linux, MacOS X 10.4 and higher, Solaris, HP-UX, AIX.

Furthermore, the class IlvEventThreadUtil is also provided to solve multithreading problems usually occurring in mixed SWT/Swing applications.

New Interfaces and Classes

ilog.views.util.swt.IlvSwingControl

Embeds a Swing JComponent in an SWT Control with double-buffered drawing.

ilog.views.util.swt.IlvEventThreadUtil

This class contains utility functions for dealing with the SWT and AWT/Swing event threads in an SWT environment.

ilog.views.util.swing.IlvCursorRegistry

This class contains a registry for java.awt.Cursor shapes.

Modified Classes

ilog.views.util.swing.IlvSwingUtil

PDF Generation

Classes and methods have been added to facilitate the generation of PDF documents containing JViews Charts components.

New Interfaces and Classes

ilog.views.util.print.IlvFOUtil

This class contains utility functions for converting graphic components to XSL-FO.

Modified Classes

ilog.views.chart.IlvChart

Modified Examples

The tablemodel sample has been enhanced with controls that create a PDF document containing the chart.

NaN Value

NaN values in an IlvDataSet are now treated like undefined values or missing data points, regardless of the result of getUndefValue().

Multithreading in a Server

The multithreading mode of a chart can now be specified on a chart-by-chart basis. Previously, it was only available as a global flag: getNoEventThreadUpdate().

Methods that draw a chart entirely in the caller thread have now been added.

An IlvPrintableChart can now be printed entirely in the caller thread.

Methods have been added that produce a PNG image with given size of a chart entirely in the caller thread.

Modified Classes

ilog.views.chart.IlvChart ilog.views.chart.IlvChart.Area ilog.views.chart.servlet.IlvChartServletSupport

CSS Pseudo-Classes per Chart

It is now possible to set the pseudo-classes of a data set or data point on a chart-by-chart basis. Previously, when the same data was viewed in several charts simultaneously, you had to choose different pseudo-classes in each chart to avoid conflicts.

Modified Classes

ilog.views.chart.IlvChart

Interactor Event Handling

The JViews Charts interactors can now react on events without consuming them. This makes it possible for two interactors to listen to the same or similar events simultaneously.

Modified Classes

ilog.views.chart.IlvChartInteractor

Interactor Event Masks

The JViews Charts interactors now have methods for retrieving and setting the event masks, describing which events are recognized by the interactor, using the new-style XXX_DOWN_MASK bit convention instead of the older XXX_MASK bit convention.

Modified Classes

ilog.views.chart.IlvChartInteractor ilog.views.chart.interactor.IlvChart3DViewInteractor ilog.views.chart.interactor.IlvChartZoomInteractor

Millisecond Time Unit

The smallest time unit supported by the IlvTimeUnit class is now the millisecond. Previously it was the second.

Modified Classes

ilog.views.chart.IlvTimeUnit

Logarithmic Axis Improvement

The behavior of a logarithmic axis can be customized in more detail.

Modified Classes

ilog.views.chart.IlvLogarithmicAxisTransformer

Customization of 3D Views

It is now possible for the z-grid annotations to take the series colors.

Modified Classes

ilog.views.chart.IlvChart3DView

Other Improvements in the Data Source Classes

A utility class and two convenience methods have been added.

New Interfaces and Classes

ilog.views.chart.data.IlvFilterDataSet

This is the base class for data sets that encapsulate other data sets.

Modified Classes

ilog.views.chart.data.IlvAbstractDataSource ilog.views.chart.data.IlvDefaultDataSet

Other Improvements in the DHTML JavaServer Faces Components

A generic data property has been added to the chart view component.

The interactor invocation context property allows interactor action to be executed in JSF lifecycle context or in the image servlet context.

New Interfaces and Classes

ilog.views.chart.faces.dhtml.IlvFacesChartDefaultImageMapGenerator

This class is a default implementation of IlvFacesChartImageGenerator.

ilog.views.chart.faces.dhtml.IlvFacesChartImageMapGenerator

This interface defines an image map generator.

ilog.views.faces.IlvNotInJSFLifecycleException

This exception is thrown when some unauthorized code is executed on a JSF component out of the JSF lifecycle.

ilog.views.faces.component.IlvFacesNoSubmitButton

This subclass of HtmlCommandButton overrides the getType() method to force the client-side HTML button to be of type "button". This avoids the button to automatically submit the HTML form when it is pressed.

ilog.views.faces.dhtml.event.FacesMethodBindingActionListener

An action listener that wraps a method binding.

ilog.views.faces.dhtml.event.FacesViewActionEvent

The JSF action event for views events.

ilog.views.faces.dhtml.event.FacesViewActionListener

This class defines the base JSF listener for event on view components.

ilog.views.util.servlet.event.ActionListener

This interface defines a listener of a generic EventObject event.

ilog.views.util.servlet.event.JavaScriptActionListener

The JavaScript action listener is a special listener that will be executed on the client only.

ilog.views.util.servlet.event.ServletActionEvent

The ServletActionEvent is fired by the servlet support when a client side action involving a graphic component and an object is triggered.

ilog.views.util.servlet.event.ServletActionListener

This class defines a server side action listener.

Modified Classes

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

Internationalization

Every concrete interactor class has a method getLocalizedName(Locale) that returns a localized name for this interactor class.

Conversion from a string to a number can be made locale dependent.

Modified Classes

ilog.views.chart.IlvChartInteractor ilog.views.chart.data.IlvStringConverter ilog.views.chart.data.IlvSwingTableDataSource

Other Changes in JViews Charts Classes

Modified Classes

ilog.views.chart.IlvChart ilog.views.chart.IlvDataWindow ilog.views.chart.IlvChartRenderer ilog.views.chart.IlvLabelRenderer ilog.views.chart.IlvScale ilog.views.chart.interactor.IlvChartInfoViewInteractor

Other Changes in Utility Classes

New Interfaces and Classes

ilog.views.util.collections.IlvDoubleArrayList

This class is a extendable array of double elements.

ilog.views.util.collections.IlvFloatArrayList

This class is a extendable array of float elements.

ilog.views.util.collections.IlvHashTreeList

This class is an implementation of the java.util.List interface for ordered sets.

ilog.views.util.collections.IlvPair

This is a helper class for creating immutable compound objects.

ilog.views.util.collections.IlvPostorderIterator

This is an abstract class that provides traversal over a generic tree structure of objects in postorder.

ilog.views.util.collections.IlvUnsynchronizedStack

This class represents a last-in-first-out (LIFO) stack of objects.

ilog.views.util.event.IlvAbstractWeakEventListener

This is the last resort for memory leak problems related to event listeners.

ilog.views.util.event.IlvEventType

This class defines the event types used to indicate the notifications to be sent.

ilog.views.util.filter.IlvFilter

This interface describes a rule that selects some of the objects of a model and discards the other objects.

ilog.views.util.filter.IlvAbstractFilter

This class is an implementation of the IlvFilter interface which handles the notification to listeners of the filter.

ilog.views.util.filter.event.FilterEvent

This class describes a change of a filter.

ilog.views.util.filter.event.FilterListener

This interface enables the observing of changes to an IlvFilter.

ilog.views.util.text.IlvDateFormat

This class is a compatible replacement for the standard SimpleDateFormat class.

ilog.views.util.text.IlvDateFormatFactory

This class provides static factory methods that can be used to create date format instances.

ilog.views.util.time.IlvTimeIncrementPolicy

This class defines a strategy for stepping through discrete time increments.

ilog.views.util.time.IlvTimeIterator

This class traverses over time increments that are defined by an IlvTimeIncrementPolicy.

ilog.views.util.swing.IlvAbstractBoundedRangeModel

This is an abstract implementation of the data model that provides bounded range components, such as JScrollBar, JSlider, and JProgressBar with their contents.

ilog.views.util.collections.IlvPreorderIterator ilog.views.util.event.IlvAbstractEventListenerCollection

Modified Classes

ilog.views.util.styling.IlvCSSFunction ilog.views.util.swing.IlvSwingUtil ilog.views.util.swing.SwingFactories ilog.views.util.time.IlvCalendarUtil

Example Changes