public void addTransition(final STransitionDefinition transition) { transitions.add(transition); transitionsMap.put(transition.getId().toString(), transition); }
public void addTransition(final STransitionDefinition transition) { transitions.add(transition); transitionsMap.put(transition.getId().toString(), transition); }
@Override public int getTransitionIndex(final Long transitionId) { int index = 1; boolean found = false; final Iterator<STransitionDefinition> iterator = incomings.iterator(); while (!found && iterator.hasNext()) { final STransitionDefinition next = iterator.next(); if (next.getId().equals(transitionId)) { found = true; } else { index++; } } return index; }
@Override public int getTransitionIndex(final Long transitionId) { int index = 1; boolean found = false; final Iterator<STransitionDefinition> iterator = incomings.iterator(); while (!found && iterator.hasNext()) { final STransitionDefinition next = iterator.next(); if (next.getId().equals(transitionId)) { found = true; } else { index++; } } return index; }
private void executeGateway(final SProcessDefinition sProcessDefinition, final STransitionDefinition sTransitionDefinition, final SFlowNodeInstance flowNodeThatTriggeredTheTransition) throws SBonitaException { final long parentProcessInstanceId = flowNodeThatTriggeredTheTransition.getParentProcessInstanceId(); final long rootProcessInstanceId = flowNodeThatTriggeredTheTransition.getRootProcessInstanceId(); final SFlowNodeDefinition sFlowNodeDefinition = processDefinitionService.getNextFlowNode(sProcessDefinition, String.valueOf(sTransitionDefinition.getId())); try { List<SGatewayInstance> gatewaysToExecute = new ArrayList<>(1); final SProcessInstance parentProcessInstance = processInstanceService.getProcessInstance(parentProcessInstanceId); final SStateCategory stateCategory = parentProcessInstance.getStateCategory(); final SGatewayInstance gatewayInstance = getActiveGatewayOrCreateIt(sProcessDefinition, sFlowNodeDefinition, stateCategory, parentProcessInstanceId, rootProcessInstanceId); gatewayInstanceService.hitTransition(gatewayInstance, sFlowNodeDefinition.getTransitionIndex(sTransitionDefinition.getId())); if (gatewayInstanceService.checkMergingCondition(sProcessDefinition, gatewayInstance)) { gatewaysToExecute.add(gatewayInstance); gatewaysToExecute.addAll(gatewayInstanceService.setFinishAndCreateNewGatewayForRemainingToken(sProcessDefinition, gatewayInstance)); } for (final SGatewayInstance gatewayToExecute : gatewaysToExecute) { executeFlowNode(gatewayToExecute.getId(), null, null); } } catch (final SBonitaException e) { setExceptionContext(sProcessDefinition, flowNodeThatTriggeredTheTransition, e); logger.log(this.getClass(), TechnicalLogSeverity.ERROR, e); throw e; } }
private void executeGateway(final SProcessDefinition sProcessDefinition, final STransitionDefinition sTransitionDefinition, final SFlowNodeInstance flowNodeThatTriggeredTheTransition) throws SBonitaException { final long parentProcessInstanceId = flowNodeThatTriggeredTheTransition.getParentProcessInstanceId(); final long rootProcessInstanceId = flowNodeThatTriggeredTheTransition.getRootProcessInstanceId(); final SFlowNodeDefinition sFlowNodeDefinition = processDefinitionService.getNextFlowNode(sProcessDefinition, String.valueOf(sTransitionDefinition.getId())); try { List<SGatewayInstance> gatewaysToExecute = new ArrayList<>(1); final SProcessInstance parentProcessInstance = processInstanceService.getProcessInstance(parentProcessInstanceId); final SStateCategory stateCategory = parentProcessInstance.getStateCategory(); final SGatewayInstance gatewayInstance = getActiveGatewayOrCreateIt(sProcessDefinition, sFlowNodeDefinition, stateCategory, parentProcessInstanceId, rootProcessInstanceId); gatewayInstanceService.hitTransition(gatewayInstance, sFlowNodeDefinition.getTransitionIndex(sTransitionDefinition.getId())); if (gatewayInstanceService.checkMergingCondition(sProcessDefinition, gatewayInstance)) { gatewaysToExecute.add(gatewayInstance); gatewaysToExecute.addAll(gatewayInstanceService.setFinishAndCreateNewGatewayForRemainingToken(sProcessDefinition, gatewayInstance)); } for (final SGatewayInstance gatewayToExecute : gatewaysToExecute) { executeFlowNode(gatewayToExecute.getId(), null, null); } } catch (final SBonitaException e) { setExceptionContext(sProcessDefinition, flowNodeThatTriggeredTheTransition, e); logger.log(this.getClass(), TechnicalLogSeverity.ERROR, e); throw e; } }
.size()); for (final STransitionDefinition sTransitionDefinition : transitionsDescriptor.getValidOutgoingTransitionDefinitions()) { final SFlowNodeDefinition flowNodeDefinition = processDefinitionService.getNextFlowNode(processDefinition, String.valueOf(sTransitionDefinition.getId())); if (flowNodeDefinition instanceof SGatewayDefinition) { chosenGatewaysTransitions.add(sTransitionDefinition);
.size()); for (final STransitionDefinition sTransitionDefinition : transitionsDescriptor.getValidOutgoingTransitionDefinitions()) { final SFlowNodeDefinition flowNodeDefinition = processDefinitionService.getNextFlowNode(processDefinition, String.valueOf(sTransitionDefinition.getId())); if (flowNodeDefinition instanceof SGatewayDefinition) { chosenGatewaysTransitions.add(sTransitionDefinition);