Release NotesAugust, 2013
About Canoo RIA Suite 2013
Canoo RIA Suite 2013 is a major release of RIASuite. It's version is 7.2. It includes the following new features:
|JRE 7||The minimum supported version is now Java 7. After February 2013, Oracle has stopped posting updates of Java SE 6 to its public download sites. RIA Suite has now been migrated to Java 7 and some of the new Java 7 Swing APIs are now available on ULC widgets. All ULC and add-on package libraries are compiled with Java 7.|
|Major release||IMPORTANT NOTE: This is a major release of RIASuite. To develop with Canoo RIA Suite 2013 you need to upgrade the license to version 7.2. Kindly get in touch with our Sales Department for any question on this. Also minor releases of all add-on packages is being made as these are now compiled with Java 7.|
|ULCFxBrowser||Taking advantage of JavaFX (which is part of JRE 1.7), RIASuite now offers integration of
JavaFX WebView into ULC.
IMPORTANT NOTE: This is a new package. If you want to profit from this functionality, then you have to make sure that you are using Canoo RIA Suite 2013 and that you have purchased the corresponding licenses. Kindly get in touch with our Sales Department for any question on this.
|JLayer||ULC has replaced JxLayer
with JLayer to decorate Swing components.
|Shapes and translucency for Windows||New API to set shape and translucency on ULCFrame and ULCDialog.
|Multiple ULC Applications in a single web application||EasyDeployment has been upgraded to enable deployment of multiple ULC applications, each having its own configuration, in a single web application.|
Please see the Canoo RIA Suite 2012 Update 1 release notes for previous release notes.
To migrate from Canoo RIA Suite 2012 Update 1 to Canoo RIA Suite 2013, please see the migration notes.
Canoo RIA Suite 2013 requires the Java Runtime Environment (JRE) 1.7 or later on the server and on the client. It is recommended to use Java version 1.7.0_25 or later.
The deployment of a Canoo RIA Suite application requires a JEE server that supports at least the Servlet 2.4 specification.
Packages, Modules, Parts and Release Structure
UltraLightClient is part of the Canoo RIA Suite. It consist of the ULC Core that includes all components required to successfully develop and deploy UltraLightClient applications. Additionally there are several packages that provide extended functionalities. The UltraLightClient modules, parts, packages, and the structure of the current release are described in the following sections.
Package ULC CoreULC Core contains comprehensive widget set, application framework, test framework and integration into client and server containers.
The UltraLightClient release is split into modules. Each module belongs to exactly one of five categories:
All UltraLightClient classes.
For convenience, contains all the legacy modules: base (UltraLightClient core), container (server-side integrations into servlet container), environment (client-side integrations into environments), application framework, test framework and easy deployment.
It does not contain the samples.
Utilities like the project generator.
Only needed on demand.
Samples demonstrating the usage of UltraLightClient, e.g. Hello, ULCSet, OnlineShop, and more.
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 sub-directories 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. com.ulcjava.base.trusted package 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.
Package ULC Table Plus 1.0.7 (JIDE Grids v3.4.8)ULC Table Plus integrates the JIDE grids library that provides a table with various extended features.
Package ULC Web Integration 1.1.1 (JxBrowser v3.3)ULC Web-Integration integrates the JxBrowser library. With this package you can integrate any web page directly into your ULC Application.
Package ULC Enterprise Portal Integration 1.0.5With this package you can integrate an ULC Application into your enterprise web applications or your enterprise portal server.
Package ULC Office Integration 1.1.1This package bundles Apache POI and iText to produce PDF and MS Office documents integrated into your ULC Application.
Package ULC Graph 1.0.1 (JGraph 18.104.22.168)This package integrates JGraph library. With this package you can create and draw various graph diagrams.
Package ULC Chart 1.0.1 (JFreeChart 1.0.12)This package integrates JFreeChart library. With this package you can create various business charts.
Package ULCFxBrowser 1.0 (JavaFX JRE 1.7)ULCFxBrowser integrates the JavaFX Web component into ULC. With this package you can integrate any web page directly into your ULC Application.
|<Canoo RIA Suite 2013>||RIA Suite installation directory|
|all||For convenience, all UltraLightClient classes|
|ext||contains the libraries of installed packages|
|license||the jar file with the deployment license key|
|previous_releasenotes||Previous release notes|
|Sample applications with ready to run Jetty Servlet container|
|thirdpartylicenses||licenses of included third party libraries|
|license manager tool - used to install, add, remove and upgrade RIASuite licenses|
|build.txt||Contains the build number|
|LicenseAgreementDevelopment.pdf||The Development license Agreement|
|LicenseAgreementEvaluation.pdf||The Evaluation license Agreement|
- [UBA-6810] - Widget properties set via UIDefaults keys are not handled correctly
- [UBA-7397] - ULCTransferHandler.exportDone() is not invoked when dropping on an external drop target
- [UBA-7533] - SessionStateListener.start() method is never invoked in ULC Test Framework's AbstractSimpleDevelopmentTestCase
- [UBA-7593] - ULCTextField consumes the Enter key even when there is no ActionListener on it on the server side.
- [UBA-7762] - Drag and Drop might produce a Memory Leak
- [UBA-7792] - Adding column to a ULCTable without any model results in java.lang.ArrayIndexOutOfBoundsException on the client.
- [UBA-7845] - For compound user interactions test framework has other behavior than a user
- [UBA-7938] - Resume fires round trip did start event twice
- [UBA-7948] - Table selection state is not synchronized when a row is removed through an action on a table cell editor.
- [UBA-7997] - Cancel editing with ESC doesn't trigger an editingCancelled event.
- [UBA-8183] - ScrollPane Viewport's background color is not painted correctly inside JXLayer hierarchy
- [UBA-8263] - Clicking on root handle of ULCTableTree with ComboBox editor in tree column starts the editor while expanding the node
- [UBA-8507] - Table tree selection state is not synchronized when a row is removed through an action on a table tree cell editor.
- [UBA-8516] - Various exceptions in DevelopmentRunner GUI Tests
- [UBA-8599] - The second expandAll() call doesn't work if you call expandAll() - preLoadAll() and then again expandAll() in ULCTableTree
- [UBA-8673] - The url of java doc associated with ulc jar files in generated project is wrong
- [UBA-8704] - "Run On Server" does not work when using Java 7
- [UBA-8710] - ULCBrowser (JxBrowser) does not work in Applet mode on Mac OS X 10.8 and Java 7
- [UBA-8717] - Memory leak in the renderers when re-setting the model to ULCTable
- [UBA-8719] - The names of remote server test classes in Section 3.1.3 of ULCTestFrameworkGuide are wrong.
- [UBA-8726] - ULC DnD does not work in Java-7, Applet mode on Mac
- [UBA-8727] - Dragging a ULCTree node on to ULCGraph canvas results in Exception
- [UBA-8737] - nodesWereRemoved on ULCTableTreeModel and ULCTreeModel results in java.lang.IndexOutOfBoundsException on server side
- [UBA-8744] - ULC Project Generator wizard should always generate ULC Extension sample classes.
- [UBA-369] - getValue().toString()
- [UBA-426] - RadioButtonGroup as Enabler
- [UBA-759] - Extend the IWindowListener and IInternalFrameListener to support the events provided by Swing
- [UBA-1118] - Provide DefaultCellEditor.setClickCountToStart() API as in Swing
- [UBA-7400] - Setting the Mnemonic Key with putValue(MNEMONIC_KEY) does not turn lower key into upper as does setMnemonic(char) in ULCAbstractButton
- [UBA-7433] - IFileStoreHandler should provide a mean to prevent accidental target file overwrite
- [UBA-7513] - ErrorManager should be able to avoid beep on invalid input
- [UBA-7585] - ULC should support multiple application configuration files
- [UBA-7855] - Get rid of negated API in fluent API of LayoutParameter
- [UBA-7914] - Log the ulc Version Info at prominent points
- [UBA-8154] - A test should have a mechanism to know that it terminated the App due to a particular client-side exception.
- [UBA-8162] - There is no API to specify ISessionProvider for a ULC Servlet.
- [UBA-8163] - It should be possible to specify ULCApplicationConfiguration.xml at ULC Application level.
- [UBA-8475] - Memory Leak: sRootFrame field in UIFrame is not multi session capable
- [UBA-8499] - ClientContext.setLocale(locale) should not throw an exception
- [UBA-8590] - ULCSingleSelectionEnabler and ULCTreeSingleSelectionEnabler...
- [UBA-8600] - Add support for float resp. double to Point resp. Rectangle
- [UBA-8622] - Give the possibility to monitor the process started in AllPermissionsBrowserService
- [UBA-8666] - Provide an adapter for ULC logging to org.apache.commons.logging
- [UBA-8670] - Sorted ULCTable should offer the possibility to go back to an unsorted state
- [UBA-8712] - Migrate ULC to Java 7
- [UBA-8713] - Title of Package javadoc is not complete
- [UBA-8714] - ExtendedJComboBoxOperator.findItemIndex should use given StringComparator
- [UBA-8716] - Add InputContext's Locale to ClientInfo
- [UBA-8718] - Improve memory usage of listeners on client side
- [UBA-8722] - Consider replacing JxLayer with JLayer from Java 7
- [UBA-8723] - Include ULCJavaFxBrowser component in RIASuit as anew package
- [UBA-8724] - Include the product name and version in the manifest of riasuite jar files
- [UBA-8731] - Implement setOpacity and setShape API on Frame and Dialog
- [UBA-8743] - Remove final from stop(throwable) methd of Application class.
- [UBA-8745] - ULC Project Generator wizard should allow to select either "ULCWebIntegration" or "ULCFxBrowser" extension package.
- Deprecated method
isInteger()has been removed from com.ulcjava.base.client.datatype.UINumberDataType. Use
- Protected fields marked as deprecated in com.ulcjava.base.client.UIAbstractTable have been removed when a getter method is available.
~for automatically setting the mnemonic when setting the text on a button has been removed. Use
- Deprecated method
createTableHeader()has been removed from com.ulcjava.base.application.ULCTable. Use
- Deprecated constructor has been removed from com.ulcjava.base.client.launcher.ApplicationConfigurationBasedClientConfiguration.
Use non-deprecated one instead. As a consequence, the deprecated method
getClientConfiguration(Properties)has been removed from com.ulcjava.base.client.launcher.LauncherUtilities.
- Deprecated singleton getter removed from com.ulcjava.base.client.PendingCellEditorComponent resp. com.ulcjava.base.client.PendingCellRendererComponent. Use constructor instead.
- Deprecated inner classes com.ulcjava.base.client.tabletree.JTableTree.TableTreeCellEditorAdapter resp. com.ulcjava.base.client.tabletree.JTableTree.TreeSelectionModelAdapter have been removed. Use com.ulcjava.base.client.tabletree.TableTreeCellEditorAdapter resp. com.ulcjava.base.client.tabletree.TreeSelectionModelAdapter instead.
getModelAdapter()from class com.ulcjava.base.client.UITableTree has been deprecated. Use
- Deprecated methods related to
preloadflag setting have been removed from com.ulcjava.base.application.ULCCardPane, com.ulcjava.base.application.ULCTabbedPane, com.ulcjava.base.application.ULCLazyLoadingContainer and com.ulcjava.base.client.UILazyComponent.
- Deprecated typo error method
isAnchesterOf(ULCComponent)has been removed from com.ulcjava.base.application.ULCContainer.
- Deprecated method
setEventDeliveryMode(ULCProxy, int, int)from class com.ulcjava.base.application.ClientContext has been removed. Use
setEventDeliveryMode(ULCProxy, String, int)instead.
- Deprecated method
getEventDeliveryMode(int)from class com.ulcjava.base.client.UIProxy has been removed. Use
showDocument(String)has been deprecated in com.ulcjava.base.server.ULCBrowserService, com.ulcjava.base.server.ULCBrowserService, com.ulcjava.base.application.ClientContext.
- The URL string passed to
com.ulcjava.base.application.ClientContext.showDocument(...)must be a syntactically valid
java.net.URI. Invalid URI was tolerated in the previous versions but now it will throw an exception.
- com.ulcjava.base.client.IBrowserService methods now throw com.ulcjava.base.client.ServiceException in case of problems. Internal implementations of this interface have been updated and com.ulcjava.base.client.UIBrowserService is able to properly handle this kind of exceptions.
sendULCmethods and deprecated
isOptionalEventEnabled(int)method have been removed com.ulcjava.base.client.UIProxy.
sendUI(String)method and several deprecated
update(String, someType, someType)have been removed com.ulcjava.base.client.UIProxy.
- API of interface com.ulcjava.base.client.IFileService has changed:
storeFilemethods have changed.
- Migrating to new EasyDeployment : In a currently deployed ULC Application using previous version of ULC (RIASuite 2012 Update 1), replace all the ULC client and server jars and the ulcApplet tag with that from RIASuite 2013.
You can find known problems and limitations in our issue database.
Product and company names herein may be trademarks of their respective owners.