Uploaded image for project: 'PUBLIC - Liferay Faces'
  1. PUBLIC - Liferay Faces
  2. FACES-1497

PartialViewContextCleanupImpl prevents the EL expressions "#{cc}" and "#{component}" to resolve to the current component targeted for cleanup

    Details

      Description

      The UICleanup interface was introduced in FACES-1444 as a feature that enables components to "cleanup" when components have gone from rendered="false" to rendered="true". The PartialViewContextCleanupImpl class enables this feature by implementing PartialViewContext and visiting the tree. When the tree-walk algorithm encounters an instance of UICleanup that has gone from rendered=true to rendered=false, the UICleanup.encodeCleanup(FacesContext) method is called.

      The problem is that the EL expressions

      #{cc}

      and

      #{component}

      are not resolving to the "current" UICleanup component. In order to fix this, the protected PartialViewContextCleanupImpl.encodeCleanup(FacesContext, UIComponent, boolean) method should implement the requirements of UIComponent.encodeBegin(FacesContext) and UIComponent.encodeEnd(FacesContext) pertaining to UIComponent.pushComponentToEL(FacesContext, UIComponent) and UIComponent.popComponentFromEL(FacesContext) respectively.

        Attachments

          Activity

            People

            Assignee:
            neil.griffin Neil Griffin
            Reporter:
            neil.griffin Neil Griffin
            Participants of an Issue:
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

              Dates

              Created:
              Updated:
              Resolved:

                Packages

                Version Package
                liferay-faces-3.0.2-legacy-ga3
                liferay-faces-3.0.2-ga3
                liferay-faces-3.1.2-ga3
                liferay-faces-3.2.4-ga5