ICEfaces
  1. ICEfaces
  2. ICE-5425

MenuItemSeparator within <ice:menuitems> tag causes stacktrace after executing an action within the menu

    Details

    • Type: Bug Bug
    • Status: Closed
    • Priority: Major Major
    • Resolution: Duplicate
    • Affects Version/s: 1.8.2
    • Fix Version/s: None
    • Component/s: ICE-Components
    • Labels:
      None
    • Environment:
      Tomcat 6, JDK 1.5, Windows Vista
    • Workaround Exists:
      Yes
    • Workaround Description:
      Hide
      I pachted the class MenuItems.java in our project.
      Line 154: cast to MenuItemBase instead of MenuItem (see attached file)
      Show
      I pachted the class MenuItems.java in our project. Line 154: cast to MenuItemBase instead of MenuItem (see attached file)

      Description

      When creating your menuitems in a java class and adding a MenuItemSeparator to them there is a problem when using the <ice:selectItems> tag. The menu is rendered correctly, but if you try to execute a method within the menu, you will get the following stacktrace:

      java.lang.ClassCastException: com.icesoft.faces.component.menubar.MenuItemSeparator
      at com.icesoft.faces.component.menubar.MenuItems.processDecodes(MenuItems.java:154)
      at com.icesoft.faces.component.menubar.MenuItemBase.processDecodes(MenuItemBase.java:73)
      at com.icesoft.faces.component.menubar.MenuBar.processDecodes(MenuBar.java:260)
      at com.icesoft.faces.component.ext.HtmlDataTable.processKids(HtmlDataTable.java:338)
      at com.icesoft.faces.component.ext.HtmlDataTable.iterate(HtmlDataTable.java:293)
      at com.icesoft.faces.component.panelseries.UISeries.processDecodes(UISeries.java:315)
      at javax.faces.component.UIComponentBase.processDecodes(UIComponentBase.java:1026)
      at javax.faces.component.UIComponentBase.processDecodes(UIComponentBase.java:1026)
      at javax.faces.component.UIComponentBase.processDecodes(UIComponentBase.java:1026)
      at com.icesoft.faces.component.panelcollapsible.PanelCollapsible.processDecodes(PanelCollapsible.java:219)
      at javax.faces.component.UIForm.processDecodes(UIForm.java:209)
      at javax.faces.component.UIComponentBase.processDecodes(UIComponentBase.java:1026)
      at javax.faces.component.UIComponentBase.processDecodes(UIComponentBase.java:1026)
      at javax.faces.component.UIComponentBase.processDecodes(UIComponentBase.java:1026)
      at javax.faces.component.UIComponentBase.processDecodes(UIComponentBase.java:1026)
      at javax.faces.component.UIComponentBase.processDecodes(UIComponentBase.java:1026)
      at javax.faces.component.UIComponentBase.processDecodes(UIComponentBase.java:1026)
      at javax.faces.component.UIComponentBase.processDecodes(UIComponentBase.java:1026)
      at javax.faces.component.UIComponentBase.processDecodes(UIComponentBase.java:1026)
      at javax.faces.component.UIComponentBase.processDecodes(UIComponentBase.java:1026)
      at javax.faces.component.UIViewRoot.processDecodes(UIViewRoot.java:540)
      at com.sun.faces.lifecycle.ApplyRequestValuesPhase.execute(ApplyRequestValuesPhase.java:78)
      at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:100)
      at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:118)
              .......

        Issue Links

          Activity

          Hide
          Steven Heller added a comment -

          Patched file as described in the workaround.

          Show
          Steven Heller added a comment - Patched file as described in the workaround.

            People

            • Assignee:
              Unassigned
              Reporter:
              Steven Heller
            • Votes:
              3 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: