ICEfaces
  1. ICEfaces
  2. ICE-11146

showcase - ace:breadcrumbMenu nodes and child menuItems selection issue (MyFaces JSF)

    Details

    • Type: Bug Bug
    • Status: Closed
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: 4.1.1, EE-4.1.0.GA
    • Fix Version/s: 4.2
    • Component/s: ACE-Components, Sample Apps
    • Labels:
      None
    • Environment:
      ICEfaces4 trunk r49323/ MyFaces 2.2.9 JSF
      Browsers: all
      Server: Tomcat7

      Description

      showcase > ace:breadcrumbMenu
      Trying to select more than once the same node or child menuItems is not possible; a server -side error occurs randomly on consecutive attempts to select nodes or child menuItems (all browsers, MyFaces specific).

      Steps:
      - deploy showcase.war built with MyFaces JSF on Tomcat.
      - navigate to the showcase > breadcrumbMenu demo.
      - select a 'Province' node (Alberta) -> 'Province: Alberta' node is selected.
      - select another 'Province' node (Manitoba) -> 'Province: Alberta' node is deselected and 'Province: Manitoba' node becomes selected.
      - select the first 'Province' node again (Alberta) -> 'Province: Manitoba' node is deselected, and 'Alberta' node can no longer be selected.
      This can be reproduce also if opening a province node and selecting child menuItems.
      The server error is seen randomly after a few selections/deselections have been made.

      Note: the node or child menuItem can be re-selected again after contracting/expanding the parent node.

      Server error:
      org.icefaces.ace.json.JSONException: A JSONArray text must start with '[' at character 0
              at org.icefaces.ace.json.JSONTokener.syntaxError(JSONTokener.java:429)
              at org.icefaces.ace.json.JSONArray.<init>(JSONArray.java:129)
              at org.icefaces.ace.json.JSONArray.<init>(JSONArray.java:173)
              at org.icefaces.ace.component.tree.TreeDecoder.getSelectNodeKey(TreeDecoder.java:207)
              at org.icefaces.ace.component.tree.Tree.getRequestNodeKey(Tree.java:295)
              at org.icefaces.ace.component.tree.Tree.queueEvent(Tree.java:280)
              at org.icefaces.ace.component.ajax.AjaxBehaviorRenderer.decode(AjaxBehaviorRenderer.java:60)
              at javax.faces.component.behavior.ClientBehaviorBase.decode(ClientBehaviorBase.java:63)
              at org.icefaces.ace.renderkit.CoreRenderer.decodeBehaviors(CoreRenderer.java:349)
              at org.icefaces.ace.renderkit.CoreRenderer.decodeBehaviors(CoreRenderer.java:327)
              at org.icefaces.ace.component.tree.TreeRenderer.decode(TreeRenderer.java:68)
              at javax.faces.component.UIComponentBase.decode(UIComponentBase.java:478)
              at org.icefaces.ace.component.tree.Tree.processDecodes(Tree.java:332)
              at javax.faces.component.UIComponentBase.processDecodes(UIComponentBase.java:1401)
              at javax.faces.component.UIForm.processDecodes(UIForm.java:154)
              at javax.faces.component.UIComponentBase.processDecodes(UIComponentBase.java:1401)
              at javax.faces.component.UIComponentBase.processDecodes(UIComponentBase.java:1401)
              at org.icefaces.ace.component.panel.Panel.processDecodes(Panel.java:117)
              at javax.faces.component.UIComponentBase.processDecodes(UIComponentBase.java:1401)
              at javax.faces.component.UIComponentBase.processDecodes(UIComponentBase.java:1401)
              at javax.faces.component.UIComponentBase.processDecodes(UIComponentBase.java:1401)
              at javax.faces.component.UIComponentBase.processDecodes(UIComponentBase.java:1401)
              at javax.faces.component.UIComponentBase.processDecodes(UIComponentBase.java:1401)
              at javax.faces.component.UIViewRoot._processDecodesDefault(UIViewRoot.java:1689)
              at javax.faces.component.UIViewRoot.access$500(UIViewRoot.java:77)
              at javax.faces.component.UIViewRoot$ApplyRequestValuesPhaseProcessor.process(UIViewRoot.java:1780)
              at javax.faces.component.UIViewRoot._process(UIViewRoot.java:1655)
              at javax.faces.component.UIViewRoot.processDecodes(UIViewRoot.java:869)
              at org.apache.myfaces.lifecycle.ApplyRequestValuesExecutor.execute(ApplyRequestValuesExecutor.java:42)
              at org.apache.myfaces.lifecycle.LifecycleImpl.executePhase(LifecycleImpl.java:196)
              at org.apache.myfaces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:143)
              at javax.faces.webapp.FacesServlet.service(FacesServlet.java:198)
              at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
              at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
              at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51)
              at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
              at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
              at org.icesoft.util.servlet.RequestLoggerFilter.doFilter(RequestLoggerFilter.java:74)
              at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
              at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
              at org.icesoft.util.servlet.CustomHeaderFilter.doFilter(CustomHeaderFilter.java:82)
              at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
              at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
              at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222)
              at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123)
              at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:502)
              at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171)
              at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:100)
              at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:953)
              at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
              at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408)
              at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1041)
              at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:603)
              at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:312)
              at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
              at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
              at java.lang.Thread.run(Thread.java:744)

        Activity

          People

          • Assignee:
            Mircea Toma
            Reporter:
            Carmen Cristurean
          • Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved: