ICEfaces
  1. ICEfaces
  2. ICE-6610

DOMPartialViewContext is not respecting the RenderKit chain-of-responsibility when writing partial updates to the response

    Details

    • Type: Bug Bug
    • Status: Closed
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: 2.0.0
    • Fix Version/s: 2.0.1
    • Component/s: Framework
    • Labels:
      None
    • Environment:
      N/A

      Description

      I discovered this problem after Mircea fixed ICE-6509. To make a long story short, the PortletFaces Bridge has it's own HTML RenderKit so that it can introduce a ResponseWriter:
      http://svn.portletfaces.org/svn/portletfaces/bridge/portletfaces-bridge-impl/trunk/src/main/java/org/portletfaces/bridge/renderkit/bridge/ResponseWriterBridgeImpl.java

      The purpose of the ResponseWriterBridgeImpl class is explained in the class header JavaDoc, but again, to make things short, it has to filter partial updates or else the Mojarra jsf.js code will perform a DOM replacement of the <body>...</body> when it sees javax.faces.ViewRoot.

      The problem is that the ICEfaces DOMPartialViewContext is not respecting the RenderKit chain-of-responsibility when writing partial updates to the response. That means that the ResponseWriterBridgeImpl class is getting bypassed, and ICEfaces is writing partial updates directly to the response.

      I've attached a patch that fixes this problem.

      BTW, I think this patch will address the comment that I see a couple of times in DOMPartialViewContext.java:
      //TODO: need to revisit the strategy for getting the "raw" output writer directly
      1. ICE-6610.patch
        5 kB
        Neil Griffin
      2. removebasic.patch
        3 kB
        Ted Goddard

        Activity

        Neil Griffin created issue -
        Neil Griffin made changes -
        Field Original Value New Value
        Salesforce Case []
        Component/s Framework [ 10013 ]
        Neil Griffin made changes -
        Attachment ICE-6610.patch [ 12897 ]
        Neil Griffin made changes -
        Assignee Deryk Sinotte [ deryk.sinotte ]
        Ken Fyten made changes -
        Salesforce Case []
        Fix Version/s 2.0.1 [ 10255 ]
        Deryk Sinotte made changes -
        Assignee Deryk Sinotte [ deryk.sinotte ] Ted Goddard [ ted.goddard ]
        Hide
        Adrian Gygax added a comment -

        This patched solves our problems with navigation within Liferay. This patch + Mojarra 2.1.0 = Navigation works without problems outside Liferay as well as inside Liferay.

        Show
        Adrian Gygax added a comment - This patched solves our problems with navigation within Liferay. This patch + Mojarra 2.1.0 = Navigation works without problems outside Liferay as well as inside Liferay.
        Hide
        Ted Goddard added a comment -

        We are currently investigating a different approach with the goal of entirely eliminating the BasicResponseWriter by not creating a DOMResponseWriter except for component tree rendering.

        Show
        Ted Goddard added a comment - We are currently investigating a different approach with the goal of entirely eliminating the BasicResponseWriter by not creating a DOMResponseWriter except for component tree rendering.
        Ted Goddard made changes -
        Attachment removebasic.patch [ 12950 ]
        Repository Revision Date User Message
        ICEsoft Public SVN Repository #24125 Thu Mar 10 17:11:27 MST 2011 ted.goddard delegating PartialViewContext.getResponseWriter always (ICE-6610)
        Files Changed
        Commit graph MODIFY /icefaces2/trunk/icefaces/core/src/main/java/org/icefaces/impl/context/DOMPartialViewContext.java
        Commit graph MODIFY /icefaces2/trunk/icefaces/core/src/main/java/org/icefaces/impl/renderkit/DOMRenderKit.java
        Hide
        Ted Goddard added a comment -

        Removing custom getResponseWriter() behavior for improved delegation to the RenderKit and ResponseWriter stack.

        Show
        Ted Goddard added a comment - Removing custom getResponseWriter() behavior for improved delegation to the RenderKit and ResponseWriter stack.
        Ted Goddard made changes -
        Status Open [ 1 ] Resolved [ 5 ]
        Resolution Fixed [ 1 ]
        Ken Fyten made changes -
        Status Resolved [ 5 ] Closed [ 6 ]

          People

          • Assignee:
            Ted Goddard
            Reporter:
            Neil Griffin
          • Votes:
            1 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved: