ICEfaces
  1. ICEfaces
  2. ICE-10857

Enhance the implementation of LazyNodeDataModel to support reordering

    Details

    • Type: Improvement Improvement
    • Status: Closed
    • Priority: Major Major
    • Resolution: Won't Fix
    • Affects Version/s: 4.1, EE-3.3.0.GA_P04
    • Fix Version/s: 4.3
    • Component/s: ACE-Components
    • Labels:
      None
    • Environment:
      ICEfaces4 trunk r46245/ EE-3.3.0-maintenance branch r46245
      Browsers: all
      Server: Tomcat7
    • Assignee Priority:
      P2

      Description

      Trying to re-order nodes on the test using the lazy data model (/ICE-10723-lazy.jsf) results in either an UnsupportedOperationException, or an IndexOutOfBoundException, depending on the node being dragged.

      QA test app for ace:tree: http://dev.icesoft.com/svn/repo/qa/trunk/Regression-Icefaces4/Sparkle/Nightly/tree
      Test page: /ICE-10723-lazy.jsf


      Nov 19, 2015 2:35:05 PM com.sun.faces.context.AjaxExceptionHandlerImpl handlePartialResponseError
      SEVERE: java.lang.UnsupportedOperationException
          at org.icefaces.ace.model.tree.NodeDataModel.insert(NodeDataModel.java:77)
          at org.icefaces.ace.component.tree.Tree.insertNode(Tree.java:98)
          at org.icefaces.ace.component.tree.TreeDecoder.decodeReordering(TreeDecoder.java:86)
          at org.icefaces.ace.component.tree.TreeDecoder.decode(TreeDecoder.java:66)
          at org.icefaces.ace.component.tree.TreeRenderer$1.<init>(TreeRenderer.java:64)
          at org.icefaces.ace.component.tree.TreeRenderer.decode(TreeRenderer.java:63)
          at javax.faces.component.UIComponentBase.decode(UIComponentBase.java:832)
          at org.icefaces.ace.component.tree.Tree.processDecodes(Tree.java:299)
          at com.sun.faces.context.PartialViewContextImpl$PhaseAwareVisitCallback.visit(PartialViewContextImpl.java:573)
          at com.sun.faces.component.visit.PartialVisitContext.invokeVisitCallback(PartialVisitContext.java:183)
          at org.icefaces.ace.component.tree.Tree.visitTree(Tree.java:392)
          at javax.faces.component.UIComponent.visitTree(UIComponent.java:1700)
          at javax.faces.component.UIComponent.visitTree(UIComponent.java:1700)
          at javax.faces.component.UIForm.visitTree(UIForm.java:371)
          at javax.faces.component.UIComponent.visitTree(UIComponent.java:1700)
          at javax.faces.component.UIComponent.visitTree(UIComponent.java:1700)
          at com.sun.faces.context.PartialViewContextImpl.processComponents(PartialViewContextImpl.java:403)
          at com.sun.faces.context.PartialViewContextImpl.processPartial(PartialViewContextImpl.java:266)
          at javax.faces.context.PartialViewContextWrapper.processPartial(PartialViewContextWrapper.java:219)
          at org.icefaces.impl.context.DOMPartialViewContext.processPartial(DOMPartialViewContext.java:322)
          at javax.faces.context.PartialViewContextWrapper.processPartial(PartialViewContextWrapper.java:219)
          at javax.faces.component.UIViewRoot.processDecodes(UIViewRoot.java:927)
          at com.sun.faces.lifecycle.ApplyRequestValuesPhase.execute(ApplyRequestValuesPhase.java:78)
          at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101)


      Nov 19, 2015 2:34:38 PM com.sun.faces.context.AjaxExceptionHandlerImpl handlePartialResponseError
      SEVERE: java.lang.IndexOutOfBoundsException: Index: 0
          at java.util.Collections$EmptyList.get(Collections.java:3212)
          at org.icefaces.ace.model.tree.LazyNodeDataModel.navToChild(LazyNodeDataModel.java:100)
          at org.icefaces.ace.model.tree.LazyNodeDataModel.navToKey(LazyNodeDataModel.java:72)
          at org.icefaces.ace.component.tree.Tree.setNodeToKey(Tree.java:157)
          at org.icefaces.ace.component.tree.Tree.setKey(Tree.java:125)
          at org.icefaces.ace.component.tree.TreeDecoder.decodeReordering(TreeDecoder.java:84)
          at org.icefaces.ace.component.tree.TreeDecoder.decode(TreeDecoder.java:66)
          at org.icefaces.ace.component.tree.TreeRenderer$1.<init>(TreeRenderer.java:64)
          at org.icefaces.ace.component.tree.TreeRenderer.decode(TreeRenderer.java:63)
          at javax.faces.component.UIComponentBase.decode(UIComponentBase.java:832)
          at org.icefaces.ace.component.tree.Tree.processDecodes(Tree.java:299)
          at com.sun.faces.context.PartialViewContextImpl$PhaseAwareVisitCallback.visit(PartialViewContextImpl.java:573)
          at com.sun.faces.component.visit.PartialVisitContext.invokeVisitCallback(PartialVisitContext.java:183)
          at org.icefaces.ace.component.tree.Tree.visitTree(Tree.java:392)
          at javax.faces.component.UIComponent.visitTree(UIComponent.java:1700)
          at javax.faces.component.UIComponent.visitTree(UIComponent.java:1700)
          at javax.faces.component.UIForm.visitTree(UIForm.java:371)
          at javax.faces.component.UIComponent.visitTree(UIComponent.java:1700)
          at javax.faces.component.UIComponent.visitTree(UIComponent.java:1700)
          at com.sun.faces.context.PartialViewContextImpl.processComponents(PartialViewContextImpl.java:403)
          at com.sun.faces.context.PartialViewContextImpl.processPartial(PartialViewContextImpl.java:266)
          at javax.faces.context.PartialViewContextWrapper.processPartial(PartialViewContextWrapper.java:219)
          at org.icefaces.impl.context.DOMPartialViewContext.processPartial(DOMPartialViewContext.java:322)
          at javax.faces.context.PartialViewContextWrapper.processPartial(PartialViewContextWrapper.java:219)
          at javax.faces.component.UIViewRoot.processDecodes(UIViewRoot.java:927)

        Activity

        Carmen Cristurean created issue -
        Carmen Cristurean made changes -
        Field Original Value New Value
        Description Trying to re-order nodes on the test using the lazy data model (/ICE-10723-lazy.jsf) results in either an UnsupportedOperationException, or an IndexOutOfBoundException, depending on the node being dragged. Is this a component issue?

        Nov 19, 2015 2:35:05 PM com.sun.faces.context.AjaxExceptionHandlerImpl handlePartialResponseError
        SEVERE: java.lang.UnsupportedOperationException
            at org.icefaces.ace.model.tree.NodeDataModel.insert(NodeDataModel.java:77)
            at org.icefaces.ace.component.tree.Tree.insertNode(Tree.java:98)
            at org.icefaces.ace.component.tree.TreeDecoder.decodeReordering(TreeDecoder.java:86)
            at org.icefaces.ace.component.tree.TreeDecoder.decode(TreeDecoder.java:66)
            at org.icefaces.ace.component.tree.TreeRenderer$1.<init>(TreeRenderer.java:64)
            at org.icefaces.ace.component.tree.TreeRenderer.decode(TreeRenderer.java:63)
            at javax.faces.component.UIComponentBase.decode(UIComponentBase.java:832)
            at org.icefaces.ace.component.tree.Tree.processDecodes(Tree.java:299)
            at com.sun.faces.context.PartialViewContextImpl$PhaseAwareVisitCallback.visit(PartialViewContextImpl.java:573)
            at com.sun.faces.component.visit.PartialVisitContext.invokeVisitCallback(PartialVisitContext.java:183)
            at org.icefaces.ace.component.tree.Tree.visitTree(Tree.java:392)
            at javax.faces.component.UIComponent.visitTree(UIComponent.java:1700)
            at javax.faces.component.UIComponent.visitTree(UIComponent.java:1700)
            at javax.faces.component.UIForm.visitTree(UIForm.java:371)
            at javax.faces.component.UIComponent.visitTree(UIComponent.java:1700)
            at javax.faces.component.UIComponent.visitTree(UIComponent.java:1700)
            at com.sun.faces.context.PartialViewContextImpl.processComponents(PartialViewContextImpl.java:403)
            at com.sun.faces.context.PartialViewContextImpl.processPartial(PartialViewContextImpl.java:266)
            at javax.faces.context.PartialViewContextWrapper.processPartial(PartialViewContextWrapper.java:219)
            at org.icefaces.impl.context.DOMPartialViewContext.processPartial(DOMPartialViewContext.java:322)
            at javax.faces.context.PartialViewContextWrapper.processPartial(PartialViewContextWrapper.java:219)
            at javax.faces.component.UIViewRoot.processDecodes(UIViewRoot.java:927)
            at com.sun.faces.lifecycle.ApplyRequestValuesPhase.execute(ApplyRequestValuesPhase.java:78)
            at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101)


        Nov 19, 2015 2:34:38 PM com.sun.faces.context.AjaxExceptionHandlerImpl handlePartialResponseError
        SEVERE: java.lang.IndexOutOfBoundsException: Index: 0
            at java.util.Collections$EmptyList.get(Collections.java:3212)
            at org.icefaces.ace.model.tree.LazyNodeDataModel.navToChild(LazyNodeDataModel.java:100)
            at org.icefaces.ace.model.tree.LazyNodeDataModel.navToKey(LazyNodeDataModel.java:72)
            at org.icefaces.ace.component.tree.Tree.setNodeToKey(Tree.java:157)
            at org.icefaces.ace.component.tree.Tree.setKey(Tree.java:125)
            at org.icefaces.ace.component.tree.TreeDecoder.decodeReordering(TreeDecoder.java:84)
            at org.icefaces.ace.component.tree.TreeDecoder.decode(TreeDecoder.java:66)
            at org.icefaces.ace.component.tree.TreeRenderer$1.<init>(TreeRenderer.java:64)
            at org.icefaces.ace.component.tree.TreeRenderer.decode(TreeRenderer.java:63)
            at javax.faces.component.UIComponentBase.decode(UIComponentBase.java:832)
            at org.icefaces.ace.component.tree.Tree.processDecodes(Tree.java:299)
            at com.sun.faces.context.PartialViewContextImpl$PhaseAwareVisitCallback.visit(PartialViewContextImpl.java:573)
            at com.sun.faces.component.visit.PartialVisitContext.invokeVisitCallback(PartialVisitContext.java:183)
            at org.icefaces.ace.component.tree.Tree.visitTree(Tree.java:392)
            at javax.faces.component.UIComponent.visitTree(UIComponent.java:1700)
            at javax.faces.component.UIComponent.visitTree(UIComponent.java:1700)
            at javax.faces.component.UIForm.visitTree(UIForm.java:371)
            at javax.faces.component.UIComponent.visitTree(UIComponent.java:1700)
            at javax.faces.component.UIComponent.visitTree(UIComponent.java:1700)
            at com.sun.faces.context.PartialViewContextImpl.processComponents(PartialViewContextImpl.java:403)
            at com.sun.faces.context.PartialViewContextImpl.processPartial(PartialViewContextImpl.java:266)
            at javax.faces.context.PartialViewContextWrapper.processPartial(PartialViewContextWrapper.java:219)
            at org.icefaces.impl.context.DOMPartialViewContext.processPartial(DOMPartialViewContext.java:322)
            at javax.faces.context.PartialViewContextWrapper.processPartial(PartialViewContextWrapper.java:219)
            at javax.faces.component.UIViewRoot.processDecodes(UIViewRoot.java:927)


        QA test app for ace:tree: http://dev.icesoft.com/svn/repo/qa/trunk/Regression-Icefaces4/Sparkle/Nightly/tree
        Test page: /ICE-10723-lazy.jsf
        Trying to re-order nodes on the test using the lazy data model (/ICE-10723-lazy.jsf) results in either an UnsupportedOperationException, or an IndexOutOfBoundException, depending on the node being dragged.

        QA test app for ace:tree: http://dev.icesoft.com/svn/repo/qa/trunk/Regression-Icefaces4/Sparkle/Nightly/tree
        Test page: /ICE-10723-lazy.jsf


        Nov 19, 2015 2:35:05 PM com.sun.faces.context.AjaxExceptionHandlerImpl handlePartialResponseError
        SEVERE: java.lang.UnsupportedOperationException
            at org.icefaces.ace.model.tree.NodeDataModel.insert(NodeDataModel.java:77)
            at org.icefaces.ace.component.tree.Tree.insertNode(Tree.java:98)
            at org.icefaces.ace.component.tree.TreeDecoder.decodeReordering(TreeDecoder.java:86)
            at org.icefaces.ace.component.tree.TreeDecoder.decode(TreeDecoder.java:66)
            at org.icefaces.ace.component.tree.TreeRenderer$1.<init>(TreeRenderer.java:64)
            at org.icefaces.ace.component.tree.TreeRenderer.decode(TreeRenderer.java:63)
            at javax.faces.component.UIComponentBase.decode(UIComponentBase.java:832)
            at org.icefaces.ace.component.tree.Tree.processDecodes(Tree.java:299)
            at com.sun.faces.context.PartialViewContextImpl$PhaseAwareVisitCallback.visit(PartialViewContextImpl.java:573)
            at com.sun.faces.component.visit.PartialVisitContext.invokeVisitCallback(PartialVisitContext.java:183)
            at org.icefaces.ace.component.tree.Tree.visitTree(Tree.java:392)
            at javax.faces.component.UIComponent.visitTree(UIComponent.java:1700)
            at javax.faces.component.UIComponent.visitTree(UIComponent.java:1700)
            at javax.faces.component.UIForm.visitTree(UIForm.java:371)
            at javax.faces.component.UIComponent.visitTree(UIComponent.java:1700)
            at javax.faces.component.UIComponent.visitTree(UIComponent.java:1700)
            at com.sun.faces.context.PartialViewContextImpl.processComponents(PartialViewContextImpl.java:403)
            at com.sun.faces.context.PartialViewContextImpl.processPartial(PartialViewContextImpl.java:266)
            at javax.faces.context.PartialViewContextWrapper.processPartial(PartialViewContextWrapper.java:219)
            at org.icefaces.impl.context.DOMPartialViewContext.processPartial(DOMPartialViewContext.java:322)
            at javax.faces.context.PartialViewContextWrapper.processPartial(PartialViewContextWrapper.java:219)
            at javax.faces.component.UIViewRoot.processDecodes(UIViewRoot.java:927)
            at com.sun.faces.lifecycle.ApplyRequestValuesPhase.execute(ApplyRequestValuesPhase.java:78)
            at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101)


        Nov 19, 2015 2:34:38 PM com.sun.faces.context.AjaxExceptionHandlerImpl handlePartialResponseError
        SEVERE: java.lang.IndexOutOfBoundsException: Index: 0
            at java.util.Collections$EmptyList.get(Collections.java:3212)
            at org.icefaces.ace.model.tree.LazyNodeDataModel.navToChild(LazyNodeDataModel.java:100)
            at org.icefaces.ace.model.tree.LazyNodeDataModel.navToKey(LazyNodeDataModel.java:72)
            at org.icefaces.ace.component.tree.Tree.setNodeToKey(Tree.java:157)
            at org.icefaces.ace.component.tree.Tree.setKey(Tree.java:125)
            at org.icefaces.ace.component.tree.TreeDecoder.decodeReordering(TreeDecoder.java:84)
            at org.icefaces.ace.component.tree.TreeDecoder.decode(TreeDecoder.java:66)
            at org.icefaces.ace.component.tree.TreeRenderer$1.<init>(TreeRenderer.java:64)
            at org.icefaces.ace.component.tree.TreeRenderer.decode(TreeRenderer.java:63)
            at javax.faces.component.UIComponentBase.decode(UIComponentBase.java:832)
            at org.icefaces.ace.component.tree.Tree.processDecodes(Tree.java:299)
            at com.sun.faces.context.PartialViewContextImpl$PhaseAwareVisitCallback.visit(PartialViewContextImpl.java:573)
            at com.sun.faces.component.visit.PartialVisitContext.invokeVisitCallback(PartialVisitContext.java:183)
            at org.icefaces.ace.component.tree.Tree.visitTree(Tree.java:392)
            at javax.faces.component.UIComponent.visitTree(UIComponent.java:1700)
            at javax.faces.component.UIComponent.visitTree(UIComponent.java:1700)
            at javax.faces.component.UIForm.visitTree(UIForm.java:371)
            at javax.faces.component.UIComponent.visitTree(UIComponent.java:1700)
            at javax.faces.component.UIComponent.visitTree(UIComponent.java:1700)
            at com.sun.faces.context.PartialViewContextImpl.processComponents(PartialViewContextImpl.java:403)
            at com.sun.faces.context.PartialViewContextImpl.processPartial(PartialViewContextImpl.java:266)
            at javax.faces.context.PartialViewContextWrapper.processPartial(PartialViewContextWrapper.java:219)
            at org.icefaces.impl.context.DOMPartialViewContext.processPartial(DOMPartialViewContext.java:322)
            at javax.faces.context.PartialViewContextWrapper.processPartial(PartialViewContextWrapper.java:219)
            at javax.faces.component.UIViewRoot.processDecodes(UIViewRoot.java:927)
        Carmen Cristurean made changes -
        Fix Version/s 4.1 [ 11375 ]
        Carmen Cristurean made changes -
        Affects Version/s 4.1 [ 11375 ]
        Ken Fyten made changes -
        Assignee Arturo Zambrano [ artzambrano ]
        Assignee Priority P2 [ 10011 ]
        Carmen Cristurean made changes -
        Affects Version/s EE-3.3.0.GA_P04 [ 12270 ]
        Carmen Cristurean made changes -
        Fix Version/s EE-3.3.0.GA_P04 [ 12270 ]
        Carmen Cristurean made changes -
        Environment ICEfaces4 trunk r46245
        Browsers: all
        Server: Tomcat7
        ICEfaces4 trunk r46245/ EE-3.3.0-maintenance branch r46245
        Browsers: all
        Server: Tomcat7
        Arturo Zambrano made changes -
        Summary ace:tree - UnsupportedOperationException when reordering nodes Enhance the implementation of LazyNodeDataModel to support reordering
        Issue Type Bug [ 1 ] Improvement [ 4 ]
        Ken Fyten made changes -
        Security Private [ 10001 ]
        Ken Fyten made changes -
        Fix Version/s 4.2 [ 12870 ]
        Fix Version/s 4.1 [ 11375 ]
        Fix Version/s EE-3.3.0.GA_P04 [ 12270 ]
        Ken Fyten made changes -
        Status Open [ 1 ] Closed [ 6 ]
        Resolution Won't Fix [ 2 ]
        Ken Fyten made changes -
        Resolution Won't Fix [ 2 ]
        Status Closed [ 6 ] Reopened [ 4 ]
        Ken Fyten made changes -
        Fix Version/s EE-4.2.0.GA [ 13071 ]
        Fix Version/s 4.2 [ 12870 ]
        Ken Fyten made changes -
        Fix Version/s 4.3 [ 13096 ]
        Fix Version/s EE-4.2.0.GA [ 13071 ]
        Arturo Zambrano made changes -
        Status Reopened [ 4 ] Resolved [ 5 ]
        Resolution Won't Fix [ 2 ]
        Ken Fyten made changes -
        Status Resolved [ 5 ] Closed [ 6 ]

          People

          • Assignee:
            Arturo Zambrano
            Reporter:
            Carmen Cristurean
          • Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved: