@Override public boolean mustSelect(SFlowNodeDefinition element) { return flowNodeNames.contains(element.getName()); }
@Override public boolean mustSelect(SFlowNodeDefinition element) { return flowNodeNames.contains(element.getName()); }
private String buildInvalidTypeErrorMessage(SProcessDefinition processDefinition, SFlowNodeDefinition flowNode) { return "'" + flowNode.getName() + "' is not a valid start point for the process " + buildProcessContext(processDefinition) + " You cannot start a process from a gateway, a boundary event or an event sub-process"; }
private String buildInvalidTypeErrorMessage(SProcessDefinition processDefinition, SFlowNodeDefinition flowNode) { return "'" + flowNode.getName() + "' is not a valid start point for the process " + buildProcessContext(processDefinition) + " You cannot start a process from a gateway, a boundary event or an event sub-process"; }
private void addFlowNode(SFlowNodeDefinition flowNodeDefinition) { allElements.add(flowNodeDefinition); allElementsMap.put(flowNodeDefinition.getId(), flowNodeDefinition); allElementsMapString.put(flowNodeDefinition.getName(), flowNodeDefinition); }
private void addFlowNode(SFlowNodeDefinition flowNodeDefinition) { allElements.add(flowNodeDefinition); allElementsMap.put(flowNodeDefinition.getId(), flowNodeDefinition); allElementsMapString.put(flowNodeDefinition.getName(), flowNodeDefinition); }
private List<SFlowNodeInstance> getFlowNodes(long processInstanceId, SFlowNodeDefinition sourceElement) throws SBonitaReadException { List<FilterOption> filters = new ArrayList<FilterOption>(); filters.add(new FilterOption(SFlowNodeInstance.class, "name", sourceElement.getName())); filters.add(new FilterOption(SFlowNodeInstance.class, "parentContainerId", processInstanceId)); QueryOptions searchOptions = new QueryOptions(0, 20, Collections.<OrderByOption>emptyList(), filters, null); return flowNodeInstanceService.searchFlowNodeInstances( SFlowNodeInstance.class, searchOptions); }
private List<SFlowNodeInstance> getFlowNodes(long processInstanceId, SFlowNodeDefinition sourceElement) throws SBonitaReadException { List<FilterOption> filters = new ArrayList<FilterOption>(); filters.add(new FilterOption(SFlowNodeInstance.class, "name", sourceElement.getName())); filters.add(new FilterOption(SFlowNodeInstance.class, "parentContainerId", processInstanceId)); QueryOptions searchOptions = new QueryOptions(0, 20, Collections.<OrderByOption>emptyList(), filters, null); return flowNodeInstanceService.searchFlowNodeInstances( SFlowNodeInstance.class, searchOptions); }
private List<String> checkFlowNodesAreSupported(List<String> flowNodeNames, List<String> foundFlowNodes, SProcessDefinition processDefinition) { List<String> problems = new ArrayList<>(); for (SFlowNodeDefinition flowNode : processDefinition.getProcessContainer().getFlowNodes()) { boolean invalidType = SFlowNodeType.BOUNDARY_EVENT.equals(flowNode.getType()) || SFlowNodeType.SUB_PROCESS.equals(flowNode.getType()) || SFlowNodeType.GATEWAY.equals(flowNode.getType()); if (flowNodeNames.contains(flowNode.getName())) { foundFlowNodes.add(flowNode.getName()); if (invalidType) { problems.add(buildInvalidTypeErrorMessage(processDefinition, flowNode)); } } } return problems; }
SGatewayInstance getActiveGatewayOrCreateIt(final SProcessDefinition sProcessDefinition, final SFlowNodeDefinition flowNodeDefinition, final SStateCategory stateCategory, final long parentProcessInstanceId, final long rootProcessInstanceId) throws SBonitaException { SGatewayInstance gatewayInstance = gatewayInstanceService.getActiveGatewayInstanceOfTheProcess(parentProcessInstanceId, flowNodeDefinition.getName()); if (gatewayInstance == null) { // no gateway found we create one gatewayInstance = createGateway(sProcessDefinition.getId(), flowNodeDefinition, stateCategory, parentProcessInstanceId, rootProcessInstanceId); } return gatewayInstance; }
SGatewayInstance getActiveGatewayOrCreateIt(final SProcessDefinition sProcessDefinition, final SFlowNodeDefinition flowNodeDefinition, final SStateCategory stateCategory, final long parentProcessInstanceId, final long rootProcessInstanceId) throws SBonitaException { SGatewayInstance gatewayInstance = gatewayInstanceService.getActiveGatewayInstanceOfTheProcess(parentProcessInstanceId, flowNodeDefinition.getName()); if (gatewayInstance == null) { // no gateway found we create one gatewayInstance = createGateway(sProcessDefinition.getId(), flowNodeDefinition, stateCategory, parentProcessInstanceId, rootProcessInstanceId); } return gatewayInstance; }
private List<String> checkFlowNodesAreSupported(List<String> flowNodeNames, List<String> foundFlowNodes, SProcessDefinition processDefinition) { List<String> problems = new ArrayList<>(); for (SFlowNodeDefinition flowNode : processDefinition.getProcessContainer().getFlowNodes()) { boolean invalidType = SFlowNodeType.BOUNDARY_EVENT.equals(flowNode.getType()) || SFlowNodeType.SUB_PROCESS.equals(flowNode.getType()) || SFlowNodeType.GATEWAY.equals(flowNode.getType()); if (flowNodeNames.contains(flowNode.getName())) { foundFlowNodes.add(flowNode.getName()); if (invalidType) { problems.add(buildInvalidTypeErrorMessage(processDefinition, flowNode)); } } } return problems; }
private SFlowNodeInstanceBuilder createSendTaskInstance(final long processDefinitionId, final long rootContainerId, final long parentContainerId, final SFlowElementsContainerType parentContainerType, final SFlowNodeDefinition sFlowNodeDefinition, final long parentProcessInstanceId) { final SSendTaskInstanceBuilder builder = BuilderFactory.get(SSendTaskInstanceBuilderFactory.class).createNewSendTaskInstance( sFlowNodeDefinition.getName(), sFlowNodeDefinition.getId(), rootContainerId, parentContainerId, processDefinitionId, rootContainerId, parentProcessInstanceId); updateActivityInstance(parentContainerId, parentContainerType, sFlowNodeDefinition, builder); return builder; }
private SFlowNodeInstanceBuilder createSendTaskInstance(final long processDefinitionId, final long rootContainerId, final long parentContainerId, final SFlowElementsContainerType parentContainerType, final SFlowNodeDefinition sFlowNodeDefinition, final long parentProcessInstanceId) { final SSendTaskInstanceBuilder builder = BuilderFactory.get(SSendTaskInstanceBuilderFactory.class).createNewSendTaskInstance( sFlowNodeDefinition.getName(), sFlowNodeDefinition.getId(), rootContainerId, parentContainerId, processDefinitionId, rootContainerId, parentProcessInstanceId); updateActivityInstance(parentContainerId, parentContainerType, sFlowNodeDefinition, builder); return builder; }
private SAutomaticTaskInstanceBuilder createAutomaticTaskInstance(final long processDefinitionId, final long rootContainerId, final long parentContainerId, final SFlowElementsContainerType parentContainerType, final SFlowNodeDefinition sFlowNodeDefinition, final long parentProcessInstanceId) { final SAutomaticTaskInstanceBuilder builder = BuilderFactory.get(SAutomaticTaskInstanceBuilderFactory.class).createNewAutomaticTaskInstance( sFlowNodeDefinition.getName(), sFlowNodeDefinition.getId(), rootContainerId, parentContainerId, processDefinitionId, rootContainerId, parentProcessInstanceId); updateActivityInstance(parentContainerId, parentContainerType, sFlowNodeDefinition, builder); return builder; }
private SFlowNodeInstanceBuilder createReceiveTaskInstance(final long processDefinitionId, final long rootContainerId, final long parentContainerId, final SFlowElementsContainerType parentContainerType, final SFlowNodeDefinition sFlowNodeDefinition, final long parentProcessInstanceId) { final SReceiveTaskInstanceBuilder builder = BuilderFactory.get(SReceiveTaskInstanceBuilderFactory.class).createNewReceiveTaskInstance( sFlowNodeDefinition.getName(), sFlowNodeDefinition.getId(), rootContainerId, parentContainerId, processDefinitionId, rootContainerId, parentProcessInstanceId); updateActivityInstance(parentContainerId, parentContainerType, sFlowNodeDefinition, builder); return builder; }
private SFlowNodeInstanceBuilder createReceiveTaskInstance(final long processDefinitionId, final long rootContainerId, final long parentContainerId, final SFlowElementsContainerType parentContainerType, final SFlowNodeDefinition sFlowNodeDefinition, final long parentProcessInstanceId) { final SReceiveTaskInstanceBuilder builder = BuilderFactory.get(SReceiveTaskInstanceBuilderFactory.class).createNewReceiveTaskInstance( sFlowNodeDefinition.getName(), sFlowNodeDefinition.getId(), rootContainerId, parentContainerId, processDefinitionId, rootContainerId, parentProcessInstanceId); updateActivityInstance(parentContainerId, parentContainerType, sFlowNodeDefinition, builder); return builder; }
private SAutomaticTaskInstanceBuilder createAutomaticTaskInstance(final long processDefinitionId, final long rootContainerId, final long parentContainerId, final SFlowElementsContainerType parentContainerType, final SFlowNodeDefinition sFlowNodeDefinition, final long parentProcessInstanceId) { final SAutomaticTaskInstanceBuilder builder = BuilderFactory.get(SAutomaticTaskInstanceBuilderFactory.class).createNewAutomaticTaskInstance( sFlowNodeDefinition.getName(), sFlowNodeDefinition.getId(), rootContainerId, parentContainerId, processDefinitionId, rootContainerId, parentProcessInstanceId); updateActivityInstance(parentContainerId, parentContainerType, sFlowNodeDefinition, builder); return builder; }
private SGatewayInstanceBuilder createGatewayInstance(final long processDefinitionId, final long rootContainerId, final long parentContainerId, final SFlowElementsContainerType parentContainerType, final SFlowNodeDefinition sFlowNodeDefinition, final long rootProcessInstanceId, final long parentProcessInstanceId) { final SGatewayInstanceBuilder builder = BuilderFactory.get(SGatewayInstanceBuilderFactory.class).createNewInstance(sFlowNodeDefinition.getName(), sFlowNodeDefinition.getId(), rootContainerId, parentContainerId, ((SGatewayDefinition) sFlowNodeDefinition).getGatewayType(), processDefinitionId, rootProcessInstanceId, parentProcessInstanceId); updateFlowNodeInstance(parentContainerId, parentContainerType, builder); return builder; }
private SGatewayInstanceBuilder createGatewayInstance(final long processDefinitionId, final long rootContainerId, final long parentContainerId, final SFlowElementsContainerType parentContainerType, final SFlowNodeDefinition sFlowNodeDefinition, final long rootProcessInstanceId, final long parentProcessInstanceId) { final SGatewayInstanceBuilder builder = BuilderFactory.get(SGatewayInstanceBuilderFactory.class).createNewInstance(sFlowNodeDefinition.getName(), sFlowNodeDefinition.getId(), rootContainerId, parentContainerId, ((SGatewayDefinition) sFlowNodeDefinition).getGatewayType(), processDefinitionId, rootProcessInstanceId, parentProcessInstanceId); updateFlowNodeInstance(parentContainerId, parentContainerType, builder); return builder; }