Release NotesNovember 28, 2007
About UltraLightClient 6.2.1
Release 6.2.1 includes the following new features:
|Enhancements in Test Framework||Release 6.2.1 includes a lot of valuable enhancements to the
test framework that was introduced in 6.2.1:
|Support Fixes||This release contains a lot of fixes and features that were reported to the premium support mailing list.|
This build is based on ULC 6.2 Please see the ULC 6.2 release notes for additional information.
UltraLightClient 6.2.1 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 UltraLightClient 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.
Utilities and extensions, e.g. test framework, QTP integration.
Only needed on demand.
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:
Jar files that contain the module classes.
For sample and add-on modules 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.2.1||UltraLightClient 6.2.1 home directory|
|Add-ons to the UltraLightClient base framework|
|base||UltraLightClient 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-7177||java.net.MalformedURLException if the webserver does no provide host address in Java URL format (e.g. in IPV6)|
|UBA-7178||disableLazyLoading on ULCTableTrees with resizing mode AUTO_RESIZE_OFF does not work properly|
|UBA-7181||UIDateDataType.convertToObject() does not always throw an exception when necessary|
|UBA-7204||ULCPercentDataType cannot handle double values in scientific notation properly|
|UBA-7225||ULC does not detect all ambiguous methods when addressing a remote method|
|UBA-7279||ULCPasswordField.echoChar does not respect Look&Feel||New API:
|UBA-7287||ULCTextField client proxy updates value on server but does not fire valueChanged Event when the value has changed but not committed|
|UBA-7288||Setting Background color, foreground color, font, cursor.. does not work on ULCSpinner||You can now use the API on the corresponding editor:
|UBA-7289||Setting of mnemonic followed by setting of text on a button removes the mnemonic.|
|UBA-7293||Changing the root node for a table tree model and firing nodeStructureChanged() results in an IndexOutOfBoundException|
|UBA-7295||It is not possible to set a custom ULCSession on the DevelopmentRunner||New API:
|UBA-7296||Dragging n-1th row after deleteing last n rows leads to IllgealArgumentException|
|UBA-7298||ClientInfo cannot be serialised by ULCLoad running in Master-Slave driver mode.|
|UBA-7299||ULCTree.rowHeight and ULCTree.scrollsOnExpand are ignored before upload in Java 1.4|
|UBA-7300||ULCTable, ULCTree, ULCTableTree, ULCComboBox with editors: editor components do not adapt their size|
|UBA-7302||Memory leak in UITable, UITree, UITableTree|
|UBA-7313||ClassCastException when using Substance L&F for a ULCTableTree with custom cell renderer.|
|UBA-7315||setName on ULCTableTree should setName on underlying Table and Tree so that they can be identified by client side test tools|
|UBA-7316||ULC Sample Applications do not work if installed in a directory with blanks in its pathname|
|UBA-7323||getComponentPopupMenu() on a ULCTable that inherits a popup menu and that is contained in a ULCScrollPane results in NPE|
|UBA-7329||ULCNotEnabler may have wrong initial state|
|UBA-7334||It should be possilbe to invoke ULCSession.sessionDestroyed() from another session|
|UBA-7336||TestCommand synchronization is not reliable for AppletTestEnvironmentAdapter|
|UBA-7341||ULCAlert does not work with Synth Look�n�Feel|
|UBA-7342||ULC Testframework should wait for idle before starting test methods|
|UBA-7344||AppletDevelopmentRunner does not respect all DevelopmentRunner properties|
|UBA-607||It should be possible to define the user principal for the development runner||New API:
|UBA-820||Provide extended support for Drag & Drop from external applications to ULC||New API:
|UBA-7196||Make selection behavior in ULCList, ULCTable, ULCTree, ULCTableTree extensible as it is unlike Swing.||New API:
|UBA-7202||DnD between two ULC applications of the same VM should work identical to DnD between an external and a ULC application|
|UBA-7219||Improve error message when client is running in non compatible VM|
|UBA-7273||ULC Testframework should allow testing of server side components and logic||New API:
|UBA-7292||Make name of ULC Session Store Key configurable via web.xml||ULC sessions are now directly stored in the surrounding HTTP session. So there are no more ClassCast issues with SessionStore because the SessionStore isn't any longer part of the HTTP session. Moreover it is now guaranteed that the ServletContainerAdapterHelper only manages ULC sessions that belong to the same class loader.|
|UBA-7321||Document that when an AbstractApplication implements IRoundTripListener the ULCSession implicitly adds it as a RoundTripListener|
|UBA-7322||DnDUtilities should provide a way to create drag images with custom alpha values||New API:
|UBA-7324||It should be possible to configure the drop cursors used by the DefaultDragSourceListeners||New API:
|UBA-7327||Make it easier to run the same tests in different environments||New API:
|UBA-7330||ULCNotEnabler should not accept more than one dependent enabler||ULCNotEnabler.add() now throws an exception if there is already a dependent enabler configured.|
|UBA-7331||AllPermissionsFileService should not touch FilteringEventQueue|
|UBA-7335||Provide convenience methods on AbstractTestCase for test relevant TestContext methods||New API:
|UBA-7337||Don't enforce an application class for each test class||New abstract test base classes that implement IApplication:
You can find known problems and limitations in our issue database.
Product and company names herein may be trademarks of their respective owners.