>>>>> On Sun, 19 Jan 2014 20:06:38 -0500, Leonardo Uribe <lu4242_at_gmail.com> said:
LU> Hi
LU> Thanks Ed for create the issue. As a workaround the easiest way I
LU> have found is create a custom ViewHandler and override
LU> createView(...) method like this:
LU> @Override
LU> public UIViewRoot createView(FacesContext context, String viewId)
LU> {
LU> UIViewRoot root = super.createView(context, viewId);
LU> if (root != null)
LU> {
LU> FlowHandler flowHandler = context.getApplication().
LU> getFlowHandler();
LU> if (flowHandler.isActive(context, "", "flow1") &&
LU> !viewId.startsWith("/flow1/"))
LU> {
LU> Flow flow = flowHandler.getFlow(context, "", "flow1");
LU> flowHandler.transition(context, flow, null, null, viewId);
LU> }
LU> }
LU> return root;
LU> }
LU> The ideal state is have something in the spec to fix it, but for now I
LU> think it is ok to suggest users to do this workaround.
LU> This example has convinced me that the best for 2.2 is use the
LU> "lax" mode as the default (as it is inside MyFaces), because with the
LU> workaround you can easily fix the algorithm for the flows that requires
LU> the "strict" mode. If "strict" mode is the default we cannot fix the
LU> algorithm from outside, because the details about exit from the
LU> flow automatically will be inside the JSF implementation.
LU> regards,
LU> Leonardo Uribe
--
| edward.burns_at_oracle.com | office: +1 407 458 0017
| 1 Work Days Til JavaLand 2014
| 31 Work Days til JAX 2014