You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@myfaces.apache.org by "Michael Freedman (JIRA)" <de...@myfaces.apache.org> on 2011/01/19 19:26:45 UTC

[jira] Created: (MYFACES-3017) MyFaces Shared (and Core) rework for portlet support

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


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.


[jira] Resolved: (MYFACES-3017) MyFaces Shared (and Core) rework for portlet support

Posted by "Michael Freedman (JIRA)" <de...@myfaces.apache.org>.
     [ 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.