Ultra Light Client Logo

Release Notes

March 5, 2008


About UltraLightClient 6.2.2

Release 6.2.2 includes the following new features:

Feature Description
Support Fixes This release contains a lot of fixes and features that were reported to the premium support mailing list.

The sections Fixed Bugs and Implemented Feature Requests give an overview of the most important differences between UltraLightClient 6.2.1 and UltraLightClient 6.2.2

This build is based on ULC 6.2.1 Please see the ULC 6.2.1 release notes for additional information.


Version Notes

UltraLightClient 6.2.2 requires the Java Runtime Environment (JRE) 1.4.2 or later on the server and on the client.

To deploy an UltraLightClient application in a J2EE server the server needs to support either at least the Servlet 2.4 specification or at least the EJB 2.1 specification.


Modules, Parts and Release Structure

The UltraLightClient release includes all components required to successfully develop and deploy UltraLightClient applications. The UltraLightClient modules, parts, packages, and the structure of the current release are described in the following sections.



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 environement category.

A module directory contains subdirectories 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.


Release Structure

ulc-6.2.2 UltraLightClient 6.2.2 home directory
Add-ons to the UltraLightClient base framework
   base UltraLightClient base framework
J2EE server integration including EJB container integration and Servlet container integration.
UltraLightClient documentation
Client environment integration for applet deployment, JNLP deployment, and standalone deployment.
   license the jar file with the deployment license key
   previous_releasenotes Previous release notes
Sample applications with ready to run Tomcat Servlet container
   build.txt Contains the build number
   LicenseAgreement.pdf The license Agreement
   releasenotes.html This document



Fixed Bugs

PR Description Comments
UBA-655 Icon and maximum property of internal frame do not get synchronized  
UBA-975 ULCButtonGroup groups interferes with ULCHasChangeEnabler  
UBA-6862 ULCDesktopPane.getAllFrames() is not correctly updated when a ULCInternalFrame is disposed  
UBA-7095 Format yyyyMMdd does not work for ULCDateDataType  
UBA-7106 Drag from an ULCTableTree triggers a lot of sun.dc.pr.PRExceptions when the tree column is other than 0  
UBA-7168 button 'enabled' state not properly reflected on server-side when enabler attached  
UBA-7191 Memory leak with renderers in ULCTable Setting a new model now clears associated TemplateCaches.
UBA-7277 ULCAbstractButton.rolloverEnabled does not respect Look&Feel  
UBA-7278 ULC sets JCheckBox.requestFocusEnabled to false in Java 6  
UBA-7280 Deleting a tab before the selected tab is broken in Java 6 The pre Java 6 behavior is now enforced by ULC => ULC keeps the selected index and not the selected component.
UBA-7282 ULCFiller.getPreferredSize() / getMinimumSize() / getMaximumSize() does not behave as in Java 6  
UBA-7332 Session may still be blocked in IBlockedSessionListener.sessionUnblocked  
UBA-7338 ULCSpinner client proxy updates value on server but does not fire valueChanged event when the value has changed but not committed  
UBA-7350 On focus lost event, ULCSpinner updates server side value AFTER the value change event.  
UBA-7353 UISession.waitForIdle() returns before the session is unblocked  
UBA-7354 In some cases a test framework operator does not support all operations See migration notes.
UBA-7357 Memory leak in ULC/UIHtmlPane  
UBA-7368 File- and path names in chapter 2 of QTP integration guide are wrong  
UBA-7369 ULCList ignores key events, focus events, component popup menus, and does not synchronize the enabled state to the server  
UBA-7393 The deprecated method ULCProxy.enableOptionalEvent(String eventCategory) does not work in ULC 6.2  
UBA-7395 ComboBox does not updateEnablingTargets if model is set  
UBA-7399 ClassCastException in HttpSessionListener.sessionDestroyed New API:
  • ISession.kill()


Implemented Feature Requests

PR Description Comments
UBA-916 Drag & Drop with external applications should support other data flavors than string flavor New API:
  • DefaultTransferable AbstractDragGestureListener.createTransferable()
  • DefaultTransferable.addTransferData() / removeTransferData()
UBA-1075 Improve Error Message when no ULC Application Host available Improved error message for the following cases:
  • Unable to authorize
  • Unable to create connection (unknown host)
  • Unable to send request (unexpected HTTP response code)
UBA-7138 Header Renderer and Cell Rendere for UITable use the same JLabel at Client-side TableModel Cache miss Each widget has now its own set of pending renderers / editors. So changing the pending renderer in one widget has no effect on the pending renderer of other widgets. In UITable there is now even a separate pending renderer for the cells and for the header.
UBA-7292 Make name of ULC Session Store Key configurable via web.xml  
UBA-7346 AbstractTestCase should provide API to define the Look & Feel to use New API:
  • AbstractTestCase.getLookAndFeelClassname()
UBA-7362 The communication order of new proxies should be independent of the proxy ids  
UBA-7398 ULCMandatoryAndEnabler should support a default color in addition to the highlight color New API:
  • ULCMandatoryAndEnabler.defaultColor
UBA-7405 For a mandatory editable ULCComboBox, the ULCMandatoryAndEnabler should set the mandatory color on the ULCComboBox editor  
UBA-7406 ULCPollingTimer should not commit uncommited data when it fires New API:
  • boolean ULCPollingTimer.syncClientState


Migration Notes

Renamed UltraLightClient specific Jemmy operators

The old namings were misleading therefore we changed them:

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