Uploaded image for project: 'MyFaces Portlet Bridge'
  1. MyFaces Portlet Bridge
  2. PORTLETBRIDGE-140

Ensure invocation of buildView() in PortletJspViewDeclarationLanguageImpl

    XMLWordPrintableJSON

Details

    • Task
    • Status: Patch Available
    • Major
    • Resolution: Unresolved
    • None
    • None
    • Impl
    • None
    • sobryan_portlet-bridge-3.0.0 branch

    Description

      On MYFACES-2665 we got an error report that JSPs are not working with legacy ViewHandler implementations. After some digging on the issue I found out that VDL.buildView() is never called, because getViewDeclarationLanguage() returns null on a legacy ViewHandler. However this has to be called in order to work properly, so I committed a solution that memorizes if VDL.buildView() has been called and if not, it calls it from VDL.renderView() before the real rendering happens (see [1] for details). This solves the problem.

      However some code I had to change is from shared and is also used by the Portlet Bridge (JspViewDeclarationLanguageBase). So in order to work properly, PortletJspViewDeclarationLanguageImpl has to call super.buildView() in its buildView() method to do the "memorizing" (just as JspViewDeclarationLanguage does). Otherwise buildView() will be called twice on PortletJspViewDeclarationLanguageImpl.

      Attachments

        1. PORTLETBRIDGE-140.patch
          0.7 kB
          Jakob Korherr

        Issue Links

          Activity

            People

              mike_freedman Michael Freedman
              jakobkorherr Jakob Korherr
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

                Created:
                Updated: