[ 
https://issues.apache.org/jira/browse/MYFACES-3765?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13756689#comment-13756689
 ] 

Leonardo Uribe commented on MYFACES-3765:
-----------------------------------------

Commited first working prototype for this feature with junit tests.

The difficulty to solve this issue is because the documentation is very vague.

The interpretation done for this issue is this: 

- There are two basic cases: Enter into a flow and return from a flow. 

- FlowHandler.TO_FLOW_DOCUMENT_ID_REQUEST_PARAM_NAME : value of the 
toFlowDocumentId property of the navigation case when enter into a flow OR 
FlowHandler.NULL_FLOW when return from a flow.

- FlowHandler.FLOW_ID_REQUEST_PARAM_NAME : value of the fromOutcome property of 
the navigation case. According to the intention it has multiple options:
  * It can be a flowId, which means enter into a flow.
  * It can be a flow call id, which means enter into a flow.
  * It can be a flow return id, which means return from a flow.

- The javadoc of NavigationCase.getToFlowDocumentId() says this:
"... If this navigation case represents a flow invocation, this property is the 
documentId in which the flow whose id is given by the return from 
getFromOutcome() is defined. Implementations must override this method to 
return the value defined in the corresponding application configuration 
resources element. The base implementation returns the empty string. ..."
This is consistent with the previous interpretation, but we need to include the 
case where toFlowDocumentId is FlowHandler.NULL_FLOW too, which is derived 
implicitly. The key of the trick is override fromOutcome / toFlowDocumentId in 
the navigation algorithm to indicate when the navigation case is entering into 
a flow or return from a flow. In that way, it is possible to use 
ConfigurableNavigationHandler.getNavigationCase(...) to know the "route" using 
the initial fromOutcome given in FLOW_ID_REQUEST_PARAM_NAME.


                
> Implement FlowHandler.clientWindowTransition(FacesContext context)
> ------------------------------------------------------------------
>
>                 Key: MYFACES-3765
>                 URL: https://issues.apache.org/jira/browse/MYFACES-3765
>             Project: MyFaces Core
>          Issue Type: Sub-task
>          Components: JSR-344
>            Reporter: Leonardo Uribe
>            Assignee: Leonardo Uribe
>
> This is related to:
> [jsr344-experts] [730-Flows] transitions using OutcomeTarget rendered 
> components
> https://java.net/projects/javaserverfaces-spec-public/lists/users/archive/2013-02/message/74
> This issue requires careful analysis, because it could be some corner cases 
> for JSF 2.3

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to