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.
Modules
The UltraLightClient release is split into modules. Each module belongs to exactly one of five categories:
- Base
The UltraLightClient core.
Always needed, for development and deployment. - Container
Server-side integrations into containers, e.g. Servlet, EJB.
Only needed for server deployment. - Environment
Client-side integrations into environments, e.g. Applet, JNLP.
Only needed for client deployment. - Addon
Utilities and extensions, e.g. test framework, QTP integration.
Only needed on demand. - Sample
Samples demonstrating the usage of UltraLightClient, e.g. Hello, ULCSet, OnlineShop.
Not needed during development or deployment.
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:
- lib
Jar files that contain the module classes.
For sample and add-on modules the required libraries. - resource
Only for sample modules: the required resources, e.g. images, property files - src
Either complete source code or source stubs.
The source stubs are used to enable code completions in IDEs. - webapp
Only for sample modules: ready to deploy web application, i.e. war files
Parts
Each of these modules can contain up to four parts:
- Client
Contains classes to be deployed on the client side.
Runs inside the sandbox. - Trusted
Contains classes to be deployed on the client side.
Does not run inside the sandbox. The additional permissions required depend on the module. - Server
Contains classes to be deployed on the server side. - Development
Contains all classes needed during development, i.e. the client, trusted, and server parts plus some additional development classes.
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 |
| addon testframework qtpintegration |
Add-ons to the UltraLightClient base framework |
| base | UltraLightClient base framework |
| container ejb servlet |
J2EE server integration including EJB container integration and Servlet container integration. |
| doc addon ULCQTPIntegrationGuide.pdf ULCTestFrameworkGuide.pdf apidoc ULCArchitectureGuide.pdf ULCDeploymentGuide.pdf ULCEssentialsGuide.pdf ULCExtensionGuide.pdf ULCInstallGuide.pdf ULCReferenceGuide.pdf ULCTestFramework.pdf ULCWhitePaper.pdf |
UltraLightClient documentation |
| environment applet jnlp standalone |
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 hello onlineshop pie teammembers tomcat trusted ulcdndset ulcset |
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:
|
Implemented Feature Requests
| PR | Description | Comments |
| UBA-916 | Drag & Drop with external applications should support other data flavors than string flavor | New API:
|
| UBA-1075 | Improve Error Message when no ULC Application Host available | Improved error message for the following cases:
|
| 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:
|
| 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:
|
| 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:
|
Migration Notes
Renamed UltraLightClient specific Jemmy operators
The old namings were misleading therefore we changed them:
- LazyJTableOperator => ExtendedJTableOperator
- LazyJTreeOperator => ExtendedJTreeOperator
- LazyJListOperator => ExtendedJListOperator
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.