Release Notes

March 11, 2002

About ULC 5.0

ULC 5.0 is the second public release of the Ultra Light Client technology. It introduces a seamless integration into the J2EE architecture. ULC applications can be deployed in Servlet as well as in EJB containers. Minor API changes have been applied to be as close as possible to the well known Swing API. Section Changes gives an overview of the most important differences between releases 4.0 and 5.0.

Version Notes

ULC 5.0 requires the Java Runtime Environment (JRE) 1.2.2 or later.

The ULC client has been tested on Windows 2000 with the follwong deployment options:

The ULC server has been tested on Windows 2000 and Red Hat Linux 6.2 with the follwong deployment options:

What's in this Release

ULC 5.0 includes the following components:

Release Structure

ULC 5.0 is distributed with the following directory and file structure (in the trial version, only the sample sources are available):
    releasenotes.html this file

    doc ULC documentation
    ULCDevGuide.pdf ULC Developer Guide
    ULCWhitePaper.pdf ULC White Paper

    base ULC base framework
    ulc-base-client.jar client base module (used for client deployment)
    ulc-base-server.jar server base module (used for server deployment)
    ulc-base-development.jar development base module (additions for application development)

    container J2EE server integration
    ejb EJB container integration
    ulc-ejb-client.jar client ejb module (contains connector to EJB container)
    ulc-ejb-server.jar server ejb module (contains EJB container adapter)
    servlet servlet container integration
    ulc-servlet-client.jar client servlet module (contains connector to servlet container)
    ulc-servlet-server.jar server servlet module (contains servlet container adapter)

    environment client environment integration
    applet applet deployment
    ulc-applet-client.jar client applet module (contains applet integration)
    ulc-applet-server.jar server applet module (contains server component to access applet content pane)
    ulc-applet-development.jar development applet module (contains embedded applet development runner)

    jnlp jnlp deployment
    ulc-jnlp-client.jar client jnlp module (contains launcher for jnlp deployment)

    standalone standalone deployment
    ulc-standalone-client.jar client standalone module (contains launcher for standalone deployment)

    sample ULC sample applications
    hello simple hello world application
    run.bat batch file to run the hello world sample
    hello-server.jar hello application classes (to be deployed to the server)
    hello.war hello web application (servlet container with applet and jnlp client)

    pie sample application illustrating the extension mechanism
    run.bat batch file to run the pie sample
    pie-client.jar pie extension classes
    pie-server.jar pie application classes (contains the server side extension)
    pie.war pie web application (servlet container with applet and jnlp client)

    teammembers sample application illustrating a master detail view
    run.bat batch file to run the teammembers sample
    teammembers-server.jar teammembers application classes (to be deployed to the server)
    teammembers.war teammembers web application (servlet container with applet and jnlp client)

    ulcset sample application illustrating the use of most ULC widgets
    run.bat batch file to run the ulcset sample
    ulcset-server.jar ulcset application classes (to be deployed to the server)
    ulcset.war ulcset web application (servlet container with applet and jnlp client)


In the following the most important differences between release 4.0 and 5.0 are listed:



New features

Changed Functionality


Fixed Bugs

PR Description
16IllegalArgumentException in UI Engine when moving toolbar.
28Wrong message sent by ULCLabel.
42InternalFrame does not work with jdk 1.3.
48ULCField.getText() throws exception on uninitialized field.
84WindowClosedEvent not received.
86Specifying selection mode in ULCTreeTable constructor is broken.
87Multiple selection in ULCTreeTable problem.
106ULCHtmlPane: fUrlString is not kept in sync with the content of the pane.
114ULCShell.add() does not relayout the shell.
116ULCApplication.setHelpContext() only works after the corresponding ULCContext object has been uploaded.
117UI Engine as applet does not seem to do the necessary clean up in the stop() method.
120ULCItemList and ULCComboBox implement the IEnabler interface. They do not work as enablers however.
137ULCShell resize on setVisible().
163Bringing up a ULCAlert without a parent frame does not work (NullPointerException).
191ULCComboBox does not enable listeners.
212Deselecting in tables does not force the enabler to be re-evaluated.
214Deselecting table rows do not produce SelectionChangedEvent.
228Pressing ESC when an ULCAlert is displayed leads to UI Engine exception.
240ULCColumn: Tooltip text in label acting as HeaderRenderer is not shown
283ULCMenuItem.setAccelerator() wrong shortcut when using non-capital letters.
306fireChangeEvent() in form model always sets a ULCComboBox to true.
312ULCTreeTable.expandNode() does only expand nodes that are already visible or prefetched.
318Setting attributeNames on a ULCSortedItemList before connecting it to the table model does not work.
326Deleting a row corrupts ULCTable when the table has been scrolled before.
327Very often the wait cursor does not disappear.
331ULCComboBox: events are generated when still choosing among selection.
332ULCComboBox: changing the model should not transmit the whole model again.
345UIComboBox: flushDirtyData() can throw NullPointerException.
348ULCComboBox: wrong behavior for setSelectedItem() when item not in model.

Known Problems

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

Copyright (c) 2000-2015 Canoo Engineering AG, Switzerland