ICEfaces
  1. ICEfaces
  2. ICE-8611

ace:dataTable - IllegalArgumentException thrown for deselection of rowExpansion rows

    Details

    • Type: Bug Bug
    • Status: Closed
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: 3.1, EE-3.0.0.GA_P01, 3.2.BETA1
    • Fix Version/s: 3.2
    • Component/s: ACE-Components
    • Labels:
      None
    • Environment:
      All

      Description


      An ace:dataTable is set to do multiple row selection. The table uses rowExpandsion where these rows can also be selected. If a row in the expansion is selected then deselected and another row is selected, upon any action on the page an IllegalArgumentException is thrown.

      Caused by: java.lang.IllegalArgumentException
      at org.icefaces.ace.model.table.TreeDataModel.getRowData(TreeDataModel.java:62)
      at javax.faces.component.UIData.getRowData(UIData.java:371)
      at org.icefaces.ace.component.datatable.DataTableDecoder.decodeMultipleSelection(DataTableDecoder.java:202)
      at org.icefaces.ace.component.datatable.DataTableDecoder.decodeSelection(DataTableDecoder.java:52)
      at org.icefaces.ace.component.datatable.DataTableRenderer.decode(DataTableRenderer.java:61)
      at javax.faces.component.UIComponentBase.decode(UIComponentBase.java:787)
      at org.icefaces.ace.component.datatable.DataTable.processDecodes(DataTable.java:359)
      at javax.faces.component.UIComponentBase.processDecodes(UIComponentBase.java:1176)
      at javax.faces.component.UIForm.processDecodes(UIForm.java:225)
      at javax.faces.component.UIComponentBase.processDecodes(UIComponentBase.java:1176)
      at javax.faces.component.UIComponentBase.processDecodes(UIComponentBase.java:1176)
      at javax.faces.component.UIViewRoot.processDecodes(UIViewRoot.java:933)
      at com.sun.faces.lifecycle.ApplyRequestValuesPhase.execute(ApplyRequestValuesPhase.java:78)
      ... 22 more

        Activity

        Hide
        Arran Mccullough added a comment - - edited

        Support Case #11642

        Show
        Arran Mccullough added a comment - - edited Support Case #11642
        Hide
        Arran Mccullough added a comment - - edited

        Attached test case that shows the issue.

        Steps:

        • Load welcomeICEfaces.jsf
        • Expand the row.
        • Select a row in the table other than the first row in the expansion.
        • Deselect this row.
        • Select another row.
        • Click on the Action button.
        • Error is thrown.

        Note: This doesn't seem to be an issue when the first row in the expansion is selected and deselected.

        Show
        Arran Mccullough added a comment - - edited Attached test case that shows the issue. Steps: Load welcomeICEfaces.jsf Expand the row. Select a row in the table other than the first row in the expansion. Deselect this row. Select another row. Click on the Action button. Error is thrown. Note: This doesn't seem to be an issue when the first row in the expansion is selected and deselected.
        Hide
        Nils Lundquist added a comment - - edited

        Revision #31184
        Committed by nils.lundquist
        Moments ago
        ICE-8611 - Prevent regenerating data model until both selections and deselection have finished decoding.

        Show
        Nils Lundquist added a comment - - edited Revision #31184 Committed by nils.lundquist Moments ago ICE-8611 - Prevent regenerating data model until both selections and deselection have finished decoding.

          People

          • Assignee:
            Nils Lundquist
            Reporter:
            Arran Mccullough
          • Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved: