Canoo RIA Suite Logo

Release Notes

July, 2012


About Canoo RIA Suite 2012

Canoo RIA Suite 2012 includes the following new features:

Feature Description
JRE 6 The minimum supported version is now Java 6. As Java 5 has already reached End Of Service Life (EOSL) on October 30, 2009, RIA Suite has now been migrated to Java 6 and many of the new Java 6 Swing APIs are now available on ULC widgets such as ULCTable.print(), ULCTextComponent.print(), ULCTabbedPane.setTabComponentAt(), ULCDialog.setModalityType(), ULCWindow.setMin/Max/PreferredSize(), etc.
API Documentation API documentation (aka Javadoc) is no longer distributed with the installer. This does not affect the standard Javadoc in the sources. Current API documentation could be found here and a Documentation Archive has been started here.
ULC Graph ULC Graph integrates JGraph library and allows creation and viewing of graph diagrams. ULC Graph is a separate package and requires a separate license.

ULC Graph

ULC Chart ULC Chart integrates JFreechart library and allows creation of sophisticated business charts. ULC Chart is now a separate package. It is no longer part of ULC Core. However, it does not require a separate license.

ULC Chart

Please see the Canoo RIA Suite Update 5 release notes for previous release notes.

The sections Fixed Bugs and Implemented Feature Requests give an overview of the most important differences between Canoo RIA Suite Update 5 and Canoo RIA Suite 2012.

To migrate from Canoo RIA Suite Update 5 to Canoo RIA Suite 2012, please see the migration notes.


Version Notes

Canoo RIA Suite 2012 requires the Java Runtime Environment (JRE) 1.6 or later on the server and on the client.

The deployment of a Canoo RIA Suite application requires a JEE server that supports at least the Servlet 2.4 specification.


Packages, Modules, Parts and Release Structure

UltraLightClient is part of the Canoo RIA Suite. It consist of the ULC Core that includes all components required to successfully develop and deploy UltraLightClient applications. Additionally there are several packages that provide extended functionalities. The UltraLightClient modules, parts, packages, and the structure of the current release are described in the following sections.


Package ULC Core

ULC Core contains comprehensive widget set, application framework, test framework and integration into client and server containers.


The UltraLightClient release is split into modules. Each module belongs to exactly one of five categories:

The category and module names are reflected in the directory structure of the release, e.g. environment/applet for the applet module that belongs to the environment category.

A module directory contains sub-directories with the following contents:



Each of these modules can contain up to four parts:

The part names are reflected in the filename of the jar files in the lib and src directory of the corresponding module, e.g. ulc-applet-client.jar and ulc-applet-client-src.jar for the classes and source stubs of the applet module that have to be deployed on the client side.


Package ULC Table Plus 1.0.5 (JIDE Grids v3.1.1)

ULC Table Plus integrates the JIDE grids library that provides a table with various extended features.


Package ULC Web Integration 1.0.4 (JxBrowser v2.9.1)

ULC Web-Integration integrates the JxBrowser library. With this package you can integrate any web page directly into your ULC Application.


Package ULC Enterprise Portal Integration 1.0.3

With this package you can integrate an ULC Application into your enterprise web applications or your enterprise portal server.


Package ULC Office Integration 1.0.2

This package bundles Apache POI and iText to produce PDF and MS Office documents integrated into your ULC Application.


Package ULC Graph 1.0.0 (JGraph

This package integrates JGraph library. With this package you can create and draw various graph diagrams.


Package ULC Chart 1.0.0 (JFreeChart 1.0.12)

This package integrates JFreeChart library. With this package you can create various business charts.


Release Structure

<Canoo RIA Suite 2012> RIA Suite installation directory
Add-ons to the UltraLightClient base framework
   base UltraLightClient base framework
   all For convenience, all UltraLightClient classes
Server integrations including Servlet container integration and integration into local container for stand-alone (single JVM) ULC applications.
UltraLightClient documentation
Client environment integration for applet deployment, JNLP deployment, and standalone deployment.
   ext contains the libraries of installed packages
   license the jar file with the deployment license key
   previous_releasenotes Previous release notes
Sample applications with ready to run Jetty Servlet container
   thirdpartylicenses licenses of included third party libraries
license manager tool
   build.txt Contains the build number
   LicenseAgreementDevelopment.pdf The Development license Agreement
   LicenseAgreementEvaluation.pdf The Evaluation license Agreement
   releasenotes.html This document


Fixed Bugs

PR Description Comments
UBA-8615 Java doc and code auto-completion should work for all the Packages in both Client and Server project  
UBA-8612 Title on a tab in ULCTabbedPane when set to null has a different value ("") on the client side  
UBA-8592 Opening a graph with lot of vertices and edges (>50) takes too long.  
UBA-8584 In a modal dialog it is possible to click twice a button and therefore trigger the action two times  
UBA-8583 UI does not block when a button is clicked in a modal dialog thus allowing multiple clicks  
UBA-8581 Remove development dependency in Application  
UBA-8578 Vertex created with the empty default constructor does not get added to the graph  
UBA-8576 NullPointerException when copying at least two vertices connected by an edge by means of CTRL + mouse drag on header  
UBA-8550 ULCNumberDataType.setMax throws when the ULC client is running in a sandbox and client jars are unsigned  
UBA-8543 NullPointerException in ServletContainerAdapterHelper  
UBA-8542 ResourceMap does not use correct class loader  
UBA-8534 JXLayer does not have the same pref/min/max size as the wrapped ULCComponent when these are not set on the wrapped ULCComponent.  
UBA-8533 AbstractButton.doClick does not fire Action event when the button is not visible.  
UBA-8532 Exception when trying to remove a table / table tree row other than the one in which a cell is being currently edited  
UBA-8526 ULCTreeExpansionModel is inconsistent when the hashCode of the TreeNodes changes  
UBA-8522 ULCLineBorder.toString() can throw NullPointerException  
UBA-8512 [Ubuntu] Automatic evaluation license download dialog does not get the focus and text fields can not be clicked in.  
UBA-8434 Packages, for example TablePlus, can not be deployed in all environments and are therefore useless  
UBA-8077 Default event delivery mode property is not respected for check boxes  
UBA-7806 Table trees are not converted to ULCTableTreeOperators  
UBA-6862 ULCDesktopPane.getAllFrames() is not correctly updated when a ULCInternalFrame is disposed  
UBA-1046 ULCButtonGroup should know its members and their selection state.  
UBA-623 Programmatically selecting a radio button in a button group is only effective after a server round trip  


Implemented Feature Requests

PR Description Comments
UBA-8589 Improve EnumComboBoxModel  
UBA-8586 UIAlert should be easier to extend  
UBA-8585 It should be possible to get all the application ULCDialog instances  
UBA-8556 Models (Table, List, ComboBox, ...) should given protected access to the internal structure for storing the listeners  
UBA-8554 supporting Dialog.excludeModalType in ULCWindow  
UBA-8553 Allow access to System.getenv() values in ClientContext when the client is running with necessary security permissions  
UBA-8551 supporting Dialog.modalityType in ULC  
UBA-8549 ULCTableTree.print() feasibility and implementation  
UBA-8547 Support JTextComponent.print()  
UBA-8545 Allowing for JUnit4 Annotations in ULC Test Framework tests to get recognized while running tests  
UBA-8528 ULCTable.createTableHeader can not be easily overridden  
UBA-8527 Improve memory consumption of ULC  
UBA-8524 ULCWindow.setMinimum/Maximmum/PreferredSize methods should not throw UnsupportedOperationException  
UBA-8493 Support JTable.print()  
UBA-8402 Support setTabComponentAt API on TabbedPane  
UBA-8331 add setAlwaysOnTop to ULCWindow  
UBA-8157 Application framework should use the same logging infrastructure as ULC itself  
UBA-8156 Reduce the server side memory foot print of ULCIcon  
UBA-8126 Online Shop sample should be signed with a valid code certificate  
UBA-7685 ErrorManager should have direct access to the widget with invalid input on the client-side  
UBA-7662 ULCDataTypes with errormanager do not show error feedback when invalid value is set from server side.  
UBA-7408 Provide real table tree API on ULCTableTreeOperator instead of just tree like API  
UBA-7407 Provide API in ULCTableOperator that enables selection of multiple cells  
UBA-7056 ULC should respect the minimum size of a window as Java 6 does  
UBA-6987 TreePath performance enhancements  
UBA-6966 Enable the termination of a ULC application such that the underlying Http request gets invalidated at the same time.  
UBA-6840 Creating a custom cell renderer without an empty constructor does not work and no error message is displayed  
UBA-717 Introduce ULCOptionPane with API similar to JOptionPane  
UBA-252 Set minimum size of a window  


Migration Notes

Known Problems and Limitations

You can find known problems and limitations in our issue database.

Product and company names herein may be trademarks of their respective owners.

Copyright (c) 2000-2015 Canoo Engineering AG