Details
-
Type:
Improvement
-
Status: Closed
-
Priority:
Major
-
Resolution: Fixed
-
Affects Version/s: 3.0.RC1
-
Fix Version/s: EE-3.0.0.BETA, 3.0.1
-
Component/s: ACE-Components
-
Labels:None
-
Environment:Tomcat 7.0.12
-
Affects:Documentation (User Guide, Ref. Guide, etc.)
Description
When adding a static or dynamic ace:submenu to the ace:contextMenu the following exception is thrown:
java.lang.ClassCastException: org.icefaces.ace.component.submenu.Submenu cannot be cast to org.icefaces.ace.component.menuitem.MenuItem
org.icefaces.ace.component.contextmenu.ContextMenuRenderer.encodeMarkup(ContextMenuRenderer.java:94)
org.icefaces.ace.component.menu.BaseMenuRenderer.encodeEnd(BaseMenuRenderer.java:59)
javax.faces.component.UIComponentBase.encodeEnd(UIComponentBase.java:875)
javax.faces.component.UIComponent.encodeAll(UIComponent.java:1764)
javax.faces.render.Renderer.encodeChildren(Renderer.java:168)
org.icefaces.impl.renderkit.RendererWrapper.encodeChildren(RendererWrapper.java:54)
javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:845)
com.sun.faces.renderkit.html_basic.HtmlBasicRenderer.encodeRecursive(HtmlBasicRenderer.java:304)
com.sun.faces.renderkit.html_basic.GroupRenderer.encodeChildren(GroupRenderer.java:105)
javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:845)
org.icefaces.ace.renderkit.CoreRenderer.renderChild(CoreRenderer.java:75)
org.icefaces.ace.renderkit.CoreRenderer.renderChildren(CoreRenderer.java:63)
org.icefaces.ace.component.panel.PanelRenderer.encodeContent(PanelRenderer.java:208)
org.icefaces.ace.component.panel.PanelRenderer.encodeMarkup(PanelRenderer.java:131)
org.icefaces.ace.component.panel.PanelRenderer.encodeEnd(PanelRenderer.java:71)
javax.faces.component.UIComponentBase.encodeEnd(UIComponentBase.java:875)
javax.faces.component.UIComponent.encodeAll(UIComponent.java:1764)
javax.faces.component.UIComponent.encodeAll(UIComponent.java:1760)
javax.faces.component.UIComponent.encodeAll(UIComponent.java:1760)
com.sun.faces.application.view.FaceletViewHandlingStrategy.renderView(FaceletViewHandlingStrategy.java:401)
com.sun.faces.application.view.MultiViewHandler.renderView(MultiViewHandler.java:131)
com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:121)
com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101)
com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:139)
javax.faces.webapp.FacesServlet.service(FacesServlet.java:594)
The ace:contextMenu should support ace:submenu in the same was as ace:menu does, so the same menus/menu models can be used with both components.
java.lang.ClassCastException: org.icefaces.ace.component.submenu.Submenu cannot be cast to org.icefaces.ace.component.menuitem.MenuItem
org.icefaces.ace.component.contextmenu.ContextMenuRenderer.encodeMarkup(ContextMenuRenderer.java:94)
org.icefaces.ace.component.menu.BaseMenuRenderer.encodeEnd(BaseMenuRenderer.java:59)
javax.faces.component.UIComponentBase.encodeEnd(UIComponentBase.java:875)
javax.faces.component.UIComponent.encodeAll(UIComponent.java:1764)
javax.faces.render.Renderer.encodeChildren(Renderer.java:168)
org.icefaces.impl.renderkit.RendererWrapper.encodeChildren(RendererWrapper.java:54)
javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:845)
com.sun.faces.renderkit.html_basic.HtmlBasicRenderer.encodeRecursive(HtmlBasicRenderer.java:304)
com.sun.faces.renderkit.html_basic.GroupRenderer.encodeChildren(GroupRenderer.java:105)
javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:845)
org.icefaces.ace.renderkit.CoreRenderer.renderChild(CoreRenderer.java:75)
org.icefaces.ace.renderkit.CoreRenderer.renderChildren(CoreRenderer.java:63)
org.icefaces.ace.component.panel.PanelRenderer.encodeContent(PanelRenderer.java:208)
org.icefaces.ace.component.panel.PanelRenderer.encodeMarkup(PanelRenderer.java:131)
org.icefaces.ace.component.panel.PanelRenderer.encodeEnd(PanelRenderer.java:71)
javax.faces.component.UIComponentBase.encodeEnd(UIComponentBase.java:875)
javax.faces.component.UIComponent.encodeAll(UIComponent.java:1764)
javax.faces.component.UIComponent.encodeAll(UIComponent.java:1760)
javax.faces.component.UIComponent.encodeAll(UIComponent.java:1760)
com.sun.faces.application.view.FaceletViewHandlingStrategy.renderView(FaceletViewHandlingStrategy.java:401)
com.sun.faces.application.view.MultiViewHandler.renderView(MultiViewHandler.java:131)
com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:121)
com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101)
com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:139)
javax.faces.webapp.FacesServlet.service(FacesServlet.java:594)
The ace:contextMenu should support ace:submenu in the same was as ace:menu does, so the same menus/menu models can be used with both components.
Activity
| Field | Original Value | New Value |
|---|---|---|
| Assignee | Ken Fyten [ ken.fyten ] |
| Salesforce Case | [] | |
| Fix Version/s | 3.0.1 [ 10282 ] | |
| Affects | [Documentation (User Guide, Ref. Guide, etc.)] | |
| Assignee Priority | P3 | |
| Assignee | Ken Fyten [ ken.fyten ] | Arturo Zambrano [ artzambrano ] |
| Repository | Revision | Date | User | Message |
| ICEsoft Public SVN Repository | #27629 | Thu Feb 02 17:35:57 MST 2012 | art.zambrano | |
| Files Changed | ||||
MODIFY
/icefaces3/trunk/icefaces/ace/component/resources/icefaces.ace/wijmo/wijmo.js
MODIFY
/icefaces3/trunk/icefaces/ace/component/resources/icefaces.ace/menu/menu.js
MODIFY
/icefaces3/trunk/icefaces/ace/component/src/org/icefaces/ace/component/contextmenu/ContextMenuRenderer.java
|
| Repository | Revision | Date | User | Message |
| ICEsoft Public SVN Repository | #27632 | Thu Feb 02 17:54:40 MST 2012 | art.zambrano | |
| Files Changed | ||||
MODIFY
/icefaces3/branches/icefaces-3.0.x-maintenance/icefaces/ace/component/resources/icefaces.ace/menu/menu.js
MODIFY
/icefaces3/branches/icefaces-3.0.x-maintenance/icefaces/ace/component/resources/icefaces.ace/wijmo/wijmo.js
MODIFY
/icefaces3/branches/icefaces-3.0.x-maintenance/icefaces/ace/component/src/org/icefaces/ace/component/contextmenu/ContextMenuRenderer.java
|
| Status | Open [ 1 ] | Resolved [ 5 ] |
| Resolution | Fixed [ 1 ] |
| Attachment | contextMenuSubmenu.xhtml [ 14036 ] |
| Fix Version/s | EE-3.0.0.BETA [ 10324 ] |
| Status | Resolved [ 5 ] | Closed [ 6 ] |
| Assignee Priority | P3 |

Fixed at revision 27629 in trunk, and at revision 27632 in maintenance branch.
Note: it was necessary to make a slight modification to the wijmo menu code.