[ 
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.

Reply via email to