[
https://issues.apache.org/jira/browse/MYFACES-3017?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Michael Freedman resolved MYFACES-3017.
---------------------------------------
Resolution: Fixed
Fix Version/s: 2.0.0-beta-3
Turns out I only had to make changes to the Shared code
(JspViewDeclarationLanguageBase) and no changes to the Core subclass.
Anyway -- two key changes:
1) In render() the check for whether or not to parse for/replace the VIEW_STATE
token has been moved into a protected method (isViewStateAlreadyEncoded). The
base impl of this method preserves the current behavior of returning true is
not using client state saving if running in a MyFaces environment other it
always returns false.
2) render() calls actuallyRenderView(). The signature of this method has been
changed to return a boolean to indicate whether the view rendering completed or
not. This allows a subclass to use this value (after delegation) to determine
whether it should proceed with its additional logic or not. The portlet
version of the code that subclasses this needed this.
> MyFaces Shared (and Core) rework for portlet support
> ----------------------------------------------------
>
> Key: MYFACES-3017
> URL: https://issues.apache.org/jira/browse/MYFACES-3017
> Project: MyFaces Core
> Issue Type: Bug
> Components: JSR-314
> Affects Versions: 2.0.3
> Reporter: Michael Freedman
> Assignee: Michael Freedman
> Fix For: 2.0.0-beta-3
>
>
> 1) The render method JspViewDeclarationLanguageBase.java in Shared currently
> only parses/replaces the VIEW_STATE token if its saving the state in the
> client -- this is presumably because MyFaces optimizes the server save state
> and writes the state key as part of render rather then needing to do the post
> process parse and replace. Because this code is now shared with the Portlet
> Bridge and the bridge is designed to run in either a MyFaces or Mojarra
> environment (and Mojarra doesn't have this optimization) the logic needs to
> be reworked to preserve the MyFaces behavior in its world yet always do the
> parsing in the Mojarra world.
> 2) The render method JspViewDeclarationLanguageBase.java currently calls a
> protected method actuallyRenderView to render the faces tree. Because the
> portlet bridge spec allows a redirect to occur during this render it must
> subclass. However for it to get the benefits of the shared code that kicks
> off the tree rendering the signature of this method should be modified to
> return a boolean so the portlet subclass can determine whether the render
> completed successfully or not.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.