Release NotesSeptember 20, 2002
About ULC 5.1
Release 5.1 includes the following new features:
- new tree component and substantially improved list, combobox, table and table-tree components; this upgrade further improves ULC�s equivalence to the Swing API;
- further reduced network traffic between the UI Engine and the server;
- integration into IBM�s WebSphere Studio development environment.
Version NotesULC 5.1 requires the Java Runtime Environment (JRE) 1.2.2 or later. It should run on any platform that supports JRE 1.2.2 or later.
The ULC client has been tested on Windows 2000 with the following deployment options:
- Applet: Running the ULC client as an applet has been tested with the following browsers:
- Netscape Navigator 4.79, 6.2
- Microsoft Internet Explorer 5.0, 5.5, 6.0
- Java Web Start: Running the ULC client using Java Web Start has been tested with Java Web Start 1.0.1_01 and Java Web Start 1.0.1_02.
The ULC server has been tested on Windows 2000, Red Hat Linux 6.2, 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
The ULC launcher plug-in requires Eclipse 2.0 / WebSphere Application Developer 5.0 or higher
What's in this ReleaseULC 5.1 includes the following components:
- ULC Base: The base framework required for ULC application development.
- ULC Servlet container integration: The components required for application deployment in Servlet containers.
- ULC EJB container integration: The components required for application deployment in EJB containers.
- ULC Applet Client integration: The components required for client deployment as applets.
- ULC JNLP Client integration: The components required for client deployment using JNLP/Java Web Start.
- ULC Standalone Client integration: The components required for standalone client deployment.
- ULC sample applications: Sample ULC applications (also demonstrating deployment).
- ULC documentation
- ULC integration into IBM�s WebSphere Studio development environment.
Release StructureULC 5.1 is distributed with the following directory and file structure:
ulc-5.1 releasenotes.html this file LicenseAgreement.pdf ULC software license agreement build.txt contains the build number previous_releasenotes Previous release notes releasenotes50.html Release notes for ULC 5.0 doc ULC documentation apidoc ULCDevGuide.pdf ULC Developer Guide ULCWhitePaper.pdf ULC White Paper base ULC base framework lib 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 lib 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 lib 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 lib 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 lib ulc-jnlp-client.jar client jnlp module (contains launcher for jnlp deployment) standalone standalone deployment lib ulc-standalone-client.jar client standalone module (contains launcher for standalone deployment) sample ULC sample applications hello simple hello world application bin run.bat batch file to run the hello world sample lib hello-server.jar hello application classes (to be deployed to the server) src webapp hello.war hello web application (servlet container with applet and jnlp client) pie sample application illustrating the extension mechanism bin run.bat batch file to run the pie sample lib pie-client.jar pie extension classes pie-server.jar pie application classes (contains the server side extension) src webapp pie.war pie web application (servlet container with applet and jnlp client) teammembers sample application illustrating a master detail view bin run.bat batch file to run the teammembers sample lib teammembers-server.jar teammembers application classes (to be deployed to the server) src webapp teammembers.war teammembers web application (servlet container with applet and jnlp client) ulcset sample application illustrating the use of most ULC widgets bin run.bat batch file to run the ulcset sample lib ulcset-server.jar ulcset application classes (to be deployed to the server) src webapp ulcset.war ulcset web application (servlet container with applet and jnlp client) ide IDE integrations websphere IBM�s WebSphere Studio development environment ulclauncher.zip the zipped plugin
- introduced IListModel
- introduced IListCellRenderer
- introduced ULCListSelectionModel, selection listeners must now be installed on this class
- moved enabler behavior from ULCList to ULCListSelectionModel
- introduced IComboBoxModel
- introduced IComboBoxCellRenderer and IComboBoxEditor
- introduced ULCComboBox.IKeySelectionManager
- moved has changed source behavior from ULCComboBox to IComboBoxModel
- replaced ISelectionChangedListener with IActionListener
- changed ITableModel to use index based column addressing
- introduced ITableCellRenderer and ITableCellEditor
- ULCTable has new autoCreateColumnsFromModel property (default is true)
- introduced ULCListSelectionModel, selection listeners must now be installed on this class
- moved enabler behavior from ULCTable to ULCListSelectionModel
- introduced ULCTableColumnModel, use this class to get the column selection model
- removed ULCSortedItemList, sorting has to be implemented by applications
- replaced ISortListener with IActionListener on ULCTableHeader
- changed ITableTreeModel to use index based column addressing
- introduced ITableTreeCellRenderer and ITableTreeCellEditor
- ULCTableTree has new autoCreateColumnsFromModel property (default is true)
- introduced ULCListSelectionModel and ULCTreeSelectionModel, selection listeners must now be installed on this classes
- moved enabler behavior from ULCTableTree to ULCListSelectionModel and ULCTreeSelectionModel
- introduced ULCTableTreeColumnModel, use this class to get the column selection model
- moved setEventDeliveryMode API from ULCComponent to ClientContext
- replaced TableCellEvents and TableTreeCellEvents with setModelUpdateMode on ClientContext
- introduced getter methods for UIEngine defaults (e.g. colors, fonts, insets)
- requests are now transfered in zipped form
- arbitrary Serializable classes are not supported anymore
- added integration into IBM�s WebSphere Studio development environment
|43||HtmlPane does not upload its content.|
|307||ULCMenuItem.setVisible(false) does not work properly.|
|307||UiJToolbar constructor using post 1.2.2 code.|
|376||DevelopmentRunner: NoClassDefFoundException is thrown in trial version.|
|377||DevelopmentRunner: command line argument -applicationClass does not work.|
|379||ULC does not correctly support multiple sessions of different applications within one servlet HTTP session.|
|380||ApplicationContext.getApplication() does not return the correct application instance.|
|382||Exponential character is not supported by ULCNumberDataType (JDK 1.3 and JDK 1.4).|
|383||Usage of UISession.sendMessage() API does not update server state.|
|384||Resizing ULCFillers sometimes leads to layout jumps.|
|385||Setting the value of a ULCLabel to null is ignored.|
|387||IValueChangeListener called unexpectedly when using ULCTextField.setText()|
|389||Client throws NullPointerException when internal frame icon is null.|
|394||UISession: delayed sending of requests broken|
|401||UIProxy.release() do not remove all references (dirty data owners and input blocker)|
|408||DevelopmentRunner should not load application class at startup|
|409||in synchronous delivery mode, the focus for ULCDialog is not restored|
|412||NullPointerException when the UIEngine accesses an already released widget|
|416||ULCComponent.requestFocus() does not work if called directly after ULCWindow.setVisible().|
|417||Calling setVisible(false) on an iconified ULCInternalFrame does not hide the internal frame's icon.|
|427||Initial setting of width XOR height in ULCWindow is ignored.|
|428||ULCInternalFrames display wrong background color when using JDK 1.3 on the client.|
|79||setMargin()/getMargin() should be possible on text components|
|350||setEnabling() should be possible on ULCHasChangedEnabler|
|353||setMargin()/getMargin() should be possible on buttons|
|368||improve typeString() handling for subclassed proxies|
|381||DevelopmentRunner should support dynamic reloading of application classes.|
|386||ULCTextComponent should provide an API to access the current caret position.||Methods getCaretPosition(), setCaretPosition, moveCaretPosition() have been added to ULCTextComponent. Selections in text components are synchronized with server-side.|
|399||ULCDialog should have method setLocationRelativeTo()||If a parent is defined for a ULCDialog, the dialog is rendered relative to its parent. Otherwise it is centered on the screen. The location of a ULCDialog can still be set explicitly using the setLocation() method.|
|403||ULCDesktopPane should provide information about its size.|
|413||ULCComponent should offer setPreferredSize() API.|
|421||ULCDialog should accept ULCRootPane as a parent.|
|429||Method to identify the active (internal) frame is missing in ULC|
|431||allow to set vertical and horizontal scrollbar policies on ULCBoxPane|
|439||Key Listener should be moved from ULCTextComponent to ULCComponent|
|446||Allow to exclude packages from reloading in DevelopmentRunner Gui|
|447||UIEngine hangs when servlet engine removes ULC session from the HTTP session|
- The input blocker does not work properly with JDK Version 1.4, a wrong window may get the focus.
- The selection handling of the ULCTableTree component does not work properly with JDK Version 1.2.2.
- When running a ULC applet in Netscape 4.7x, text fields sometimes do not get the focus. Workaround: Click anywhere on the Frame that contains the text field, the text field should then get the focus. This problem does not exist with Internet Explorer and Netscape 6.x.