Uploaded image for project: 'MyFaces Trinidad'
  1. MyFaces Trinidad
  2. TRINIDAD-972

UIXIterator.processFlattenedChildren() and its underlying UIXCollection cache is not initialized or flushed properly

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Fixed
    • 1.2.6-core, 1.2.7-core
    • 1.2.7-core
    • Components
    • None

    Description

      UIXIterator.processFlattenedChildren() and its underlying UIXCollection cache is not initialized or flushed properly. This becomes a problem when you nest iterators. During normal use of non-flattening iterators, its cache gets initialized and flushed during the encodeBegin() of its parent class, UIXCollection. During a flattened use case (e.g. the parent component of the iterator has a renderer that uses UIXComponent.processFlattenedChildren()), encodeBegin() does not get invoked and thus the cache is neither initialized properly nor flushed. We need to expose a non-public method on UIXCollection that invokes its private initialization and private flushing functionality so that UIXIterator which extends it can invoke this new method during its UIXIterator.processFlattenedChildren() and thus so that nested iterators where the inner iterator is flattened can work. This change will have zero impact on the non-flattened use case so there is no risk to existing applications in that scenario.

      Attachments

        Activity

          People

            mattcooper Matt Cooper
            mattcooper Matt Cooper
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: