Release NotesFebruary 28, 2007
About ULC 6.1.3
Release 6.1.3 is a maintenance release for ULC release 6.1. It includes the following changes:
ULC 6.1.3 requires the Java Runtime Environment (JRE) 1.3.1 or later on the server, and Java Runtime Environment (JRE) 1.4.2 or later on the client.
The ULC client has been tested on Windows 2000/XP with the following deployment options:
- Applet: Running the ULC client as an applet has been tested with the following browsers:
- Firefox 126.96.36.199
- Microsoft Internet Explorer 6
- Microsoft Internet Explorer 7
- Java Web Start: Running the ULC client using Java Web Start has been tested with Java Web Start 1.4.2_13 and Java Web Start 1.5.0_07.
The ULC server has been tested on Windows 2000/XP, Red Hat Linux 9.0, and Sun Solaris 8 with the following deployment options:
- Servlet container: The Servlet integration has been tested on
- EJB container: The EJB integration has been tested on
This build is based on ULC 6.1.2 Please see the ULC 6.1.2 release notes for additional information.
Modules, Parts and Release Structure
The ULC release includes all components required to successfully develop and deploy ULC applications. The ULC modules, parts, packages, and the structure of the current release are described in the following sections.
The ULC release is split into modules. Each module belongs to exactly one of five categories:
The ULC core.
Always needed, for development and deployment.
Server-side integrations into containers, e.g. Servlet, EJB.
Only needed for server deployment.
Client-side integrations into environments, e.g. Applet, JNLP.
Only needed for client deployment.
Samples demonstrating the usage of ULC, 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 environment category.
A module directory contains subdirectories with the following contents:
Jar files that contain the module classes.
For sample module the required libraries.
Only for sample modules: the required resources, e.g. images, property files
Either complete source code or source stubs.
The source stubs are used to enable code completions in IDEs.
Only for sample modules: ready to deploy web application, i.e. war files
Each of these modules can contain up to four parts:
Contains classes to be deployed on the client side.
Runs inside the sandbox.
Contains classes to be deployed on the client side.
Does not run inside the sandbox. The additional permissions required depend on the module.
Contains classes to be deployed on the server side.
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.
|ulc-6.1.3||ULC 6.1.3 home directory|
|base||ULC base framework|
|J2EE server integration including EJB container integration and Servlet container integration.|
|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|
|UBA-6901||ULCTableTree: Cannot select cell by clicking on the left side of a tree node|
|UBA-6923||List.ensureIndexIsVisible doesn't show the entire selected entry in a list|
|UBA-6937||Javadoc for deprecated method Anything.get(String, String) is annotated with the remark "Use getDouble(String) instead"|
|UBA-6952||Disabled text field state is wrong for TextComponent and Windows L&F with JDK 1.5|
|UBA-6971||ULCFrame.setExtendedState() does not always work|
|UBA-6981||Dynamic sized ULCList / ULCTree initially have a wrong size|
|UBA-6992||ULCSplitPane.setDividerLocation() does not work when the split pane is not uploaded|
|UBA-6993||Pressing TAB or CURSOR DOWN after editing a cell of a table eats the selection event|
|UBA-7023||ULCSplitPane.add() does not remove existing children|
|UBA-7048||NPE when the default icons for leaf, open and closed nodes are missing or removed from UIDefaults in the L&F|
|UBA-7068||In ULCTable with popup menu set, selection event is not sent from the client to the server first time|
|UBA-7070||Client-side table and table tree headers must request cache refills for missing header renderers when repainted|
|UBA-7071||ULC installer under linux does not run with JRE 1.5|
|UBA-7078||ULCProxy#setCompositeStateUI(String, Object) has wrong javadoc|
|UBA-7080||Wrong JavaDoc for ULCWindow#setLocationRelativeTo(ULCComponent)|
|UBA-7082||No data (nodes) are fetched on structureChanged() on ULCTableTreeModel if setRootVisible(false)|
|UBA-7087||Fix docu on page 15 extension guide|
|UBA-7091||Exception when programatically removing table column|
|UBA-7092||Custom table cell editors ignore the first mouse click|
|UBA-7096||TreeSelectionListener in ULCTableTree does not get notified when selection changes due to component popup menu activation|
|UBA-7098||startServer.sh is a ksh script not a sh script!|
|UBA-7129||Cell based tooltips do not work in ULCTableTree's tree column|
|UBA-7130||Calls to ULCDialog.setVisible() may be dispatched too late on the client|
|UBA-7131||Datatypes on text components should not trigger a beep for initial data from server|
|UBA-7132||Cannot close the ULC client-side error window by clicking close(X) icon|
|UBA-7135||Removing the selected card from a ULCCardPane should update the selection state and fire the corresponding event|
|UBA-7141||DividerLocation is not set to UNKNOWN value when using ULCSplitPane.add() API|
|UBA-7143||In ULCSplitPane, after setting the DividerLocation to UNKNOWN, the client should be notified to update the DividerLocation on the server|
|UBA-7148||In UIComboBox, the ListCellRenderer should not overwrite the index in getListCellRendererComponent while invoking getCellRendererComponent|
|UBA-7164||ClientContext.setFileTransferMode(UlcEventConstants.ASYNCHRONOUS_MODE) results in exception|
|UBA-1054||Installer: Installing licenses in sample applications takes too long|
|UBA-7065||Public IDirtyDataOwner.flushDirtyData implementations should be extendable|
|UBA-7076||Provide UITableHeader.getTable() API|
|UBA-7086||Clarify documentation on ULCProxy#setCompositeStateUI(String, Object)|
|UBA-7088||ULCComponents uploads default borders|
|UBA-7101||ULC should not send server-side GC notification from GC thread|
|UBA-7114||ULCTableTree / JTableTree is not prepared for variable row heights|
|UBA-7116||Make the ColumnOrderHandler on UITable and UITableTree extendable|
|UBA-7118||Make the lazy loading strategy of UITable and UITree customizable|
|UBA-7136||Improve dodumentation on ULC's HttpSessionListener|
|UBA-7140||Improve tab layout in ULCSet sample application|
|UBA-7144||DevelopmentRunner.setSessionStateListener() should check for null argument|
|UBA-7159||Improve error message and documentation if ULC is unable to replicate a data structure while marshalling proxies|
- In a signed applet default cut/copy/paste using [ctrl]+x / [ctrl]+c / [ctrl]+v is broken. This is a Java Plugin bug not a ULC problem (see Java Bug Database). This problem only affects Java Plugin 1.4.2.
- After completion of a drag-and-drop operation, the mouse cursor is not set back to the default cursor. This problem only occurs on Linux. (UBA-686)
- Inappropriate mouse cursor feedback during drag-and-drop is observed if the drop target component rejects the drag operation. This occurs only in pre JRE 1.4.2. (UBA-756)
- Applet deployment does not work for Opera. (UBA-767)