Closed javaserverfaces closed 9 years ago
Reported by wklaczynski
@manfredriem said: Can you send a reproducer (with sources) to issues@javaserverfaces.java.net ? Thanks!
martin_svihlik said: I run into this issue too. If you define start node other than view node, the inbound parameter is not set.
I tried to debug what happens inside FacesFlows:
In com.sun.faces.application.NavigationHandlerImpl - method findFacesFlowCallMatch. When synthesizeCaseStruct is called and the target node is not ViewNode or ReturnNode, null is returned. And when null is returned, the transition is made immedeately:
try
{ setDidTransition(context, true); flowHandler.transition(context, currentFlow, newFlow, null, startNodeId); result = getViewId(context, fromAction, startNodeId, toFlowDocumentId); }
unfortunatelly outboundCallNode is set to null in transition method call.
That is the reason why outbound parameter is not created in the first place.
ren.zhijun.oracle said: Please help to do the code review.
martin_svihlik said: HI, it looks like it could do tohe job. Martin
ren.zhijun.oracle said: Hi Martin,
The added test can reproduce the issue and the code can fix the issue, thanks. Please also help to check the code for #3475.
Thanks, Zhijun
martin_svihlik said: Hi Zhijun, I noticed that Fix version in FacesFlows related issues we talked about recently is 2.3.0_m02. These issues combined disallows proper usage of FacesFlow feature in 2.2 version. Is there any chance that the fixes would arrive earlier than middle 2016 with final version of 2.3? Thanks, Martin
ren.zhijun.oracle said: ZR> Hi Ed and Manfred, ZR> Please help to review the code that I have attached to the bug. ZR> (attached here for your convenience)
r=edburns for going through the process to commit only to trunk for now.
Ed
ren.zhijun.oracle said: rzhijun-mac:trunk zhijun$ svn commit -m "https://java.net/jira/browse/JAVASERVERFACES-3476:Do not set the inbound parameter, if the start node is the method call, etc..." --username ren.zhijun.oracle Sending jsf-ri/src/main/java/com/sun/faces/application/NavigationHandlerImpl.java Sending test/javaee6web/flowTraversalCombinations/src/main/java/com/sun/faces/test/javaee6web/flowtraversalcombinations/FlowCallNaviToOthersBean.java Sending test/javaee6web/flowTraversalCombinations/src/main/webapp/child-flow-start-from-method-call-node/DestinationView.xhtml Sending test/javaee6web/flowTraversalCombinations/src/main/webapp/child-flow-start-from-method-call-node/child-flow-start-from-method-call-node-flow.xml Sending test/javaee6web/flowTraversalCombinations/src/main/webapp/start-from-flow-call-node/start-from-flow-call-node-flow.xml Adding test/javaee6web/flowTraversalCombinations/src/test/java/com/sun/faces/test/javaee6web/flowtraversalcombinations/Issue3476IT.java Sending test/javaee7 Transmitting file data ...... Committed revision 14329.
File: changebundle_zhijun_3476_on150204.txt Attached By: ren.zhijun.oracle
Issue-Links: is cloned by JAVASERVERFACES-3805 JAVASERVERFACES-3814 is related to JAVASERVERFACES-3593
Was assigned to ren.zhijun.oracle
This issue was imported from java.net JIRA JAVASERVERFACES-3476
Marked as fixed on Wednesday, February 4th 2015, 6:49:18 pm
Do not set the inbound parameter, if the start node is the. This works only for .
Affected Versions
[2.2.8]