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

        Hide
        Mircea Toma added a comment -

        Clear after each submit the hidden input holding the list with deselected nodes. When running with Mojarra this issue was not triggered because the hidden input was cleared by the DOM update.

        Show
        Mircea Toma added a comment - Clear after each submit the hidden input holding the list with deselected nodes. When running with Mojarra this issue was not triggered because the hidden input was cleared by the DOM update.
        Hide
        Carmen Cristurean added a comment -

        Verified ICEfaces4 trunk r 49714 on IE8, IE11, Chrome55, MsEdge38, FF49.

        Show
        Carmen Cristurean added a comment - Verified ICEfaces4 trunk r 49714 on IE8, IE11, Chrome55, MsEdge38, FF49.

          People

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

            Dates

            • Created:
              Updated:
              Resolved: