ZK 6: Upgrade Notes
ZK Team, Potix Corporation
November 15, 2011
ZK 6
Overview
In additions to new features, ZK 6 also cleans up some API that are confusing, redundant or over complicated. The effort to upgrade depends on what features your application uses. Many of them shall run without modification. It is suggested to re-compile the applications and replace the code that use the deprecated API.
Upgrade addons
Here is a list of addons that you have to upgrade:
- ZK JSP 2.0 or later. Download here.
- ZK Calendar 2.1.1 or later. Download here.
API that are changed
org.zkoss.zk.zul.api.* are removed
The component's API interfaces (org.zkoss.zk.ui.api.*, org.zkoss.zul.api.*...) are removed[1] Please replace them with the concrete classes. For example, use org.zkoss.zul.Window instead of org.zkoss.zul.api.Window.
org.zkoss.zk.ui.util.Initiator is simplified
The org.zkoss.zk.ui.util.Initiator class now has only one method called doInit. The doAfterComposer, doCatch and doFinally methods are moved to org.zkoss.zk.ui.util.InitiatorExt. In other words, if you'd like to override any of these methods, your initiator has to implement both org.zkoss.zk.ui.util.Initiator and org.zkoss.zk.ui.util.InitiatorExt.
API returns Iterable instead Iterator
To use with Java 5's for statement, the return type of the following APIs are changed to java.lang.Iterable:
- org.zkoss.zk.ui.Exectuion: getHeaders and getHeaderNames
- org.zkoss.zk.ui.WebApp: getInitParameterNames
- org.zkoss.zk.ui.RichletConfig: getInitParameterNames
Component's setVariable is removed
Component's setVariable method is removed. Please use Component.setAttribute(name, value, SPACE_SCOPE) instead. In other words, you could store the variables in the attributes of the space owner (Component.getSpaceOwner()).
ListX, TreeArray and CheckableTreeArray are removed
The org.zkoss.util.ListX, org.zkoss.util.TreeArray and org.zkoss.util.CheckableTreeArray are removed. Please use java.util.LinkedList or java.util.ArrayList instead.
API that are deprecated
org.zkoss.zul.SimpleTreeModel and org.zkoss.zul.SimpleTreeNode are deprecated
The org.zkoss.zul.SimpleTreeModel and org.zkoss.zul.SimpleTreeNode classes are deprecated and replaced with org.zkoss.zul.DefaultTreeModel and org.zkoss.zul.DefaultTreeNode.
Notice the previous classes are still available but deprecated (not found in JavaDoc).
HTMLs, StyleSheet and JavaScript are moved
The HTMLs, StyleSheet and JavaScript classes are moved to the package called org.zkoss.html.
Notice the previous classes are still available but deprecated (not found in JavaDoc).
CSS and Theme
Comments
Copyright © Potix Corporation. This article is licensed under GNU Free Documentation License. |
- ↑ The reason to remove them is they cause more confusion than the abstraction benefit, and they are costly to maintain.