Uploaded image for project: 'RichFaces'
  1. RichFaces
  2. RF-10154

UIDataAdaptor vs. UIData visitTee small difference

    Details

    • Type: Bug
    • Status: Resolved (View Workflow)
    • Priority: Minor
    • Resolution: Done
    • Affects Version/s: 4.0.0.Milestone5
    • Fix Version/s: 4.3.0.M3
    • Component/s: component-tables
    • Labels:
    • Environment:

      RichFaces 4.0.X trunk, svn rev. 20913

    • Sprint:
      4.3.0.M3 - EDT and AJAX
    • Workaround:
      Workaround Exists
    • Workaround Description:
      Hide

      Use check for null object in visitor callback.

      Show
      Use check for null object in visitor callback.

      Description

      <r:extendedDataTable var="zeile">
        <r:column>
          <h:outputText rendered="#{fasole.method(zeile)}"
        </r:column>
      </r:extendedDataTable>
      

      +
      org.richfaces.component.UIDataAdaptor.visitTree(VisitContext, VisitCallback) with VisitHint SKIP_UNRENDERED (in render response phase for example)

      Problem: org.richfaces.component.UIDataAdaptor.visitDataChildren(VisitContext, VisitCallback, boolean) calls visitComponents(getFacetsAndChildren(), visitContext, callback);-> it will visit h:outputText component and test if is rendered -> #

      {fasole.method(zeile)}

      but no row available -> calls fasole.method with null parameter and causes an unexpected NPE

      j.f.c.UIData does not visit column chidren for -1 rowIndex (null rowKey in RichFaces), UIData.visitTree JavaDoc says: "Take no action on non-UIColumn children".

        Gliffy Diagrams

          Attachments

            Issue Links

              Activity

                People

                • Assignee:
                  bleathem Brian Leathem
                  Reporter:
                  markoc50 Martin Kočí
                • Votes:
                  0 Vote for this issue
                  Watchers:
                  4 Start watching this issue

                  Dates

                  • Created:
                    Updated:
                    Resolved:

                    Time Tracking

                    Estimated:
                    Original Estimate - 1 hour
                    1h
                    Remaining:
                    Remaining Estimate - 1 hour
                    1h
                    Logged:
                    Time Spent - Not Specified
                    Not Specified