@Override public void clientWindowTransition(FacesContext context) { Map<String, String> requestParamMap = context.getExternalContext().getRequestParameterMap(); String toFlowDocumentId = requestParamMap.get(TO_FLOW_DOCUMENT_ID_REQUEST_PARAM_NAME); String flowId = requestParamMap.get(FLOW_ID_REQUEST_PARAM_NAME); if (null != toFlowDocumentId) { // don't use *this*, due to decoration FlowHandler fh = context.getApplication().getFlowHandler(); Flow sourceFlow = fh.getCurrentFlow(context); Flow targetFlow = null; FlowCallNode flowCallNode = null; // if this is not a return... if (null != flowId && !FlowHandler.NULL_FLOW.equals(toFlowDocumentId)) { targetFlow = fh.getFlow(context, toFlowDocumentId, flowId); if (null != targetFlow && null != sourceFlow) { flowCallNode = sourceFlow.getFlowCall(targetFlow); } } else { String maxReturnDepthStr = requestParamMap.get(FLOW_RETURN_DEPTH_PARAM_NAME); int maxReturnDepth = Integer.valueOf(maxReturnDepthStr).intValue(); FlowDeque<Flow> flowStack = getFlowStack(context); flowStack.setMaxReturnDepth(context, maxReturnDepth); } fh.transition(context, sourceFlow, targetFlow, flowCallNode, context.getViewRoot().getViewId()); } }
@Override public void clientWindowTransition(FacesContext context) { Map<String, String> requestParamMap = context.getExternalContext().getRequestParameterMap(); String toFlowDocumentId = requestParamMap.get(TO_FLOW_DOCUMENT_ID_REQUEST_PARAM_NAME); String flowId = requestParamMap.get(FLOW_ID_REQUEST_PARAM_NAME); if (null != toFlowDocumentId) { // don't use *this*, due to decoration FlowHandler fh = context.getApplication().getFlowHandler(); Flow sourceFlow = fh.getCurrentFlow(context); Flow targetFlow = null; FlowCallNode flowCallNode = null; // if this is not a return... if (null != flowId && !FlowHandler.NULL_FLOW.equals(toFlowDocumentId)) { targetFlow = fh.getFlow(context, toFlowDocumentId, flowId); if (null != targetFlow && null != sourceFlow) { flowCallNode = sourceFlow.getFlowCall(targetFlow); } } else { String maxReturnDepthStr = requestParamMap.get(FLOW_RETURN_DEPTH_PARAM_NAME); int maxReturnDepth = Integer.parseInt(maxReturnDepthStr); FlowDeque<Flow> flowStack = getFlowStack(context); flowStack.setMaxReturnDepth(context, maxReturnDepth); } fh.transition(context, sourceFlow, targetFlow, flowCallNode, context.getViewRoot().getViewId()); } }
@Override public void clientWindowTransition(FacesContext context) { Map<String, String> requestParamMap = context.getExternalContext().getRequestParameterMap(); String toFlowDocumentId = requestParamMap.get(TO_FLOW_DOCUMENT_ID_REQUEST_PARAM_NAME); String flowId = requestParamMap.get(FLOW_ID_REQUEST_PARAM_NAME); if (null != toFlowDocumentId) { // don't use *this*, due to decoration FlowHandler fh = context.getApplication().getFlowHandler(); Flow sourceFlow = fh.getCurrentFlow(context); Flow targetFlow = null; FlowCallNode flowCallNode = null; // if this is not a return... if (null != flowId && !FlowHandler.NULL_FLOW.equals(toFlowDocumentId)) { targetFlow = fh.getFlow(context, toFlowDocumentId, flowId); if (null != targetFlow && null != sourceFlow) { flowCallNode = sourceFlow.getFlowCall(targetFlow); } } else { String maxReturnDepthStr = requestParamMap.get(FLOW_RETURN_DEPTH_PARAM_NAME); int maxReturnDepth = Integer.parseInt(maxReturnDepthStr); FlowDeque<Flow> flowStack = getFlowStack(context); flowStack.setMaxReturnDepth(context, maxReturnDepth); } fh.transition(context, sourceFlow, targetFlow, flowCallNode, context.getViewRoot().getViewId()); } }
@Override public void clientWindowTransition(FacesContext context) { Map<String, String> requestParamMap = context.getExternalContext().getRequestParameterMap(); String toFlowDocumentId = requestParamMap.get(TO_FLOW_DOCUMENT_ID_REQUEST_PARAM_NAME); String flowId = requestParamMap.get(FLOW_ID_REQUEST_PARAM_NAME); if (null != toFlowDocumentId) { // don't use *this*, due to decoration FlowHandler fh = context.getApplication().getFlowHandler(); Flow sourceFlow = fh.getCurrentFlow(context); Flow targetFlow = null; FlowCallNode flowCallNode = null; // if this is not a return... if (null != flowId && !FlowHandler.NULL_FLOW.equals(toFlowDocumentId)) { targetFlow = fh.getFlow(context, toFlowDocumentId, flowId); if (null != targetFlow && null != sourceFlow) { flowCallNode = sourceFlow.getFlowCall(targetFlow); } } else { String maxReturnDepthStr = requestParamMap.get(FLOW_RETURN_DEPTH_PARAM_NAME); int maxReturnDepth = Integer.parseInt(maxReturnDepthStr); FlowDeque<Flow> flowStack = getFlowStack(context); flowStack.setMaxReturnDepth(context, maxReturnDepth); } fh.transition(context, sourceFlow, targetFlow, flowCallNode, context.getViewRoot().getViewId()); } }
private void applyFlowTransition(FacesContext facesContext, NavigationContext navigationContext) { //Apply Flow transition if any // Is any flow transition on the way? if (navigationContext != null && navigationContext.getSourceFlows() != null || (navigationContext.getTargetFlows() != null && !navigationContext.getTargetFlows().isEmpty())) { FlowHandler flowHandler = facesContext.getApplication().getFlowHandler(); for (int i = 0; i < navigationContext.getTargetFlows().size(); i++) { Flow sourceFlow = navigationContext.getSourceFlows().get(i); Flow targetFlow = navigationContext.getTargetFlows().get(i); flowHandler.transition(facesContext, sourceFlow, targetFlow, navigationContext.getFlowCallNodes().get(i), navigationContext.getNavigationCase().getToViewId(facesContext)); sourceFlow = targetFlow; } } }
FlowHandler flowHandler = context.getApplication().getFlowHandler(); if (flowHandler != null && !isDidTransition(context)) { flowHandler.transition(context, caseStruct.currentFlow, caseStruct.newFlow, caseStruct.facesFlowCallNode, caseStruct.viewId); setDidTransition(context, false);
FlowHandler flowHandler = context.getApplication().getFlowHandler(); if (flowHandler != null && !isDidTransition(context)) { flowHandler.transition(context, caseStruct.currentFlow, caseStruct.newFlow, caseStruct.facesFlowCallNode, caseStruct.viewId); setDidTransition(context, false);
FlowHandler flowHandler = context.getApplication().getFlowHandler(); if (flowHandler != null && !isDidTransition(context)) { flowHandler.transition(context, caseStruct.currentFlow, caseStruct.newFlow, caseStruct.facesFlowCallNode, caseStruct.viewId); setDidTransition(context, false);
flowHandler.transition(context, currentFlow, newFlow, facesFlowCallNode, startNodeId); result = getViewId(context, fromAction, startNodeId, toFlowDocumentId); } finally { flowHandler.transition(context, newFlow, currentFlow, null, outcome); setDidTransition(context, false); flowHandler.transition(context, null, newFlow, null, startNodeId); result = getViewId(context, fromAction, startNodeId, toFlowDocumentId); } finally { flowHandler.transition(context, newFlow, null, null, outcome); setDidTransition(context, false);
FlowHandler flowHandler = context.getApplication().getFlowHandler(); if (null != flowHandler && !isDidTransition(context)) { flowHandler.transition(context, caseStruct.currentFlow, caseStruct.newFlow, caseStruct.facesFlowCallNode, caseStruct.viewId);
flowHandler.transition(context, currentFlow, newFlow, facesFlowCallNode, startNodeId); result = getViewId(context, fromAction, startNodeId, toFlowDocumentId); } finally { flowHandler.transition(context, newFlow, currentFlow, null, outcome); setDidTransition(context, false); flowHandler.transition(context, null, newFlow, null, startNodeId); result = getViewId(context, fromAction, startNodeId, toFlowDocumentId); } finally { flowHandler.transition(context, newFlow, null, null, outcome); setDidTransition(context, false);
flowHandler.transition(context, currentFlow, newFlow, facesFlowCallNode, startNodeId); result = getViewId(context, fromAction, startNodeId, toFlowDocumentId); flowHandler.transition(context, newFlow, currentFlow, null, outcome); setDidTransition(context, false); flowHandler.transition(context, null, newFlow, null, startNodeId); result = getViewId(context, fromAction, startNodeId, toFlowDocumentId); flowHandler.transition(context, newFlow, null, null, outcome); setDidTransition(context, false);
flowHandler.transition(context, currentFlow, newFlow, facesFlowCallNode, startNodeId); result = getViewId(context, fromAction, startNodeId, toFlowDocumentId); } finally { flowHandler.transition(context, newFlow, currentFlow, null, outcome); setDidTransition(context, false); flowHandler.transition(context, null, newFlow, null, startNodeId); result = getViewId(context, fromAction, startNodeId, toFlowDocumentId); } finally { flowHandler.transition(context, newFlow, null, null, outcome); setDidTransition(context, false);
flowHandler.transition(context, sourceFlow, targetFlow, null, context.getViewRoot().getViewId()); baseReturnFlow.getId().equals(targetFlow.getId()))) flowHandler.transition(context, baseReturnFlow, targetFlow, outboundCallNode, context.getViewRoot().getViewId()); Flow previousFlow = flowHandler.getCurrentFlow(context); flowHandler.popReturnMode(context); flowHandler.transition(context, targetFlow, previousFlow, outboundCallNode, context.getViewRoot().getViewId()); flowHandler.transition(context, currentFlow, targetFlow, outboundCallNode, context.getViewRoot().getViewId()); flowHandler.transition(context, currentFlow, targetFlow, outboundCallNode, context.getViewRoot().getViewId()); startNodeId = targetFlow.getStartNodeId();
flowHandler.transition(context, flow, null, null, result.viewId); setDidTransition(context, true); result.newFlow = FlowImpl.SYNTHESIZED_RETURN_CASE_FLOW;
flowHandler.transition(context, flow, null, null, result.viewId); setDidTransition(context, true); result.newFlow = FlowImpl.SYNTHESIZED_RETURN_CASE_FLOW;
flowHandler.transition(context, flow, null, null, result.viewId); setDidTransition(context, true); result.newFlow = FlowImpl.SYNTHESIZED_RETURN_CASE_FLOW;
flowHandler.transition(context, flow, null, null, result.viewId); setDidTransition(context, true); result.newFlow = FlowImpl.SYNTHESIZED_RETURN_CASE_FLOW;