private boolean hasEventSubProcessCatchingError(final SFlowElementContainerDefinition container, final String errorCode) { boolean found = false; final Iterator<SActivityDefinition> iterator = container.getActivities().iterator(); while (iterator.hasNext() && !found) { final SActivityDefinition activity = iterator.next(); if (SFlowNodeType.SUB_PROCESS.equals(activity.getType()) && ((SSubProcessDefinition) activity).isTriggeredByEvent()) { final SSubProcessDefinition eventSubProcess = (SSubProcessDefinition) activity; final SStartEventDefinition startEventDefinition = eventSubProcess.getSubProcessContainer().getStartEvents().get(0); if (startEventDefinition.getErrorEventTriggerDefinition(errorCode) != null) { found = true; } } } return found; }
private boolean hasEventSubProcessCatchingError(final SFlowElementContainerDefinition container, final String errorCode) { boolean found = false; final Iterator<SActivityDefinition> iterator = container.getActivities().iterator(); while (iterator.hasNext() && !found) { final SActivityDefinition activity = iterator.next(); if (SFlowNodeType.SUB_PROCESS.equals(activity.getType()) && ((SSubProcessDefinition) activity).isTriggeredByEvent()) { final SSubProcessDefinition eventSubProcess = (SSubProcessDefinition) activity; final SStartEventDefinition startEventDefinition = eventSubProcess.getSubProcessContainer().getStartEvents().get(0); if (startEventDefinition.getErrorEventTriggerDefinition(errorCode) != null) { found = true; } } } return found; }
private SSubProcessActivityInstanceBuilder createSubProcessActivityInstance(final long processDefinitionId, final long rootContainerId, final long parentContainerId, final SFlowElementsContainerType parentContainerType, final SFlowNodeDefinition sFlowNodeDefinition, final long rootProcessInstanceId, final long parentProcessInstanceId) { final SSubProcessDefinition subProcessActivityDef = (SSubProcessDefinition) sFlowNodeDefinition; final SSubProcessActivityInstanceBuilderFactory builderFact = BuilderFactory.get(SSubProcessActivityInstanceBuilderFactory.class); final SSubProcessActivityInstanceBuilder builder = builderFact.createNewSubProcessActivityInstance(subProcessActivityDef.getName(), subProcessActivityDef.getId(), rootContainerId, parentContainerId, processDefinitionId, rootProcessInstanceId, parentProcessInstanceId, subProcessActivityDef.isTriggeredByEvent()); updateActivityInstance(parentContainerId, parentContainerType, sFlowNodeDefinition, builder); return builder; }
private SSubProcessActivityInstanceBuilder createSubProcessActivityInstance(final long processDefinitionId, final long rootContainerId, final long parentContainerId, final SFlowElementsContainerType parentContainerType, final SFlowNodeDefinition sFlowNodeDefinition, final long rootProcessInstanceId, final long parentProcessInstanceId) { final SSubProcessDefinition subProcessActivityDef = (SSubProcessDefinition) sFlowNodeDefinition; final SSubProcessActivityInstanceBuilderFactory builderFact = BuilderFactory.get(SSubProcessActivityInstanceBuilderFactory.class); final SSubProcessActivityInstanceBuilder builder = builderFact.createNewSubProcessActivityInstance(subProcessActivityDef.getName(), subProcessActivityDef.getId(), rootContainerId, parentContainerId, processDefinitionId, rootProcessInstanceId, parentProcessInstanceId, subProcessActivityDef.isTriggeredByEvent()); updateActivityInstance(parentContainerId, parentContainerType, sFlowNodeDefinition, builder); return builder; }
public void handleEventSubProcess(final SProcessDefinition sDefinition, final SProcessInstance parentProcessInstance) throws SBonitaException { final Set<SActivityDefinition> activities = sDefinition.getProcessContainer().getActivities(); for (final SActivityDefinition activity : activities) { if (SFlowNodeType.SUB_PROCESS.equals(activity.getType()) && ((SSubProcessDefinition) activity).isTriggeredByEvent()) { final SSubProcessDefinition eventSubProcess = (SSubProcessDefinition) activity; final SStartEventDefinition sStartEventDefinition = eventSubProcess.getSubProcessContainer().getStartEvents().get(0); handleEventSubProcess(sDefinition, sStartEventDefinition, activity.getId(), parentProcessInstance); } } }
public void handleEventSubProcess(final SProcessDefinition sDefinition, final SProcessInstance parentProcessInstance) throws SBonitaException { final Set<SActivityDefinition> activities = sDefinition.getProcessContainer().getActivities(); for (final SActivityDefinition activity : activities) { if (SFlowNodeType.SUB_PROCESS.equals(activity.getType()) && ((SSubProcessDefinition) activity).isTriggeredByEvent()) { final SSubProcessDefinition eventSubProcess = (SSubProcessDefinition) activity; final SStartEventDefinition sStartEventDefinition = eventSubProcess.getSubProcessContainer().getStartEvents().get(0); handleEventSubProcess(sDefinition, sStartEventDefinition, activity.getId(), parentProcessInstance); } } }
public void unregisterEventSubProcess(final SProcessDefinition sDefinition, final SProcessInstance parentProcessInstance) throws SBonitaException { final Set<SActivityDefinition> activities = sDefinition.getProcessContainer().getActivities(); for (final SActivityDefinition activity : activities) { if (SFlowNodeType.SUB_PROCESS.equals(activity.getType()) && ((SSubProcessDefinition) activity).isTriggeredByEvent()) { final SSubProcessDefinition eventSubProcess = (SSubProcessDefinition) activity; final SStartEventDefinition sStartEventDefinition = eventSubProcess.getSubProcessContainer().getStartEvents().get(0); unregisterEventSubProcess(sDefinition, sStartEventDefinition, activity.getId(), parentProcessInstance); } } }
public void unregisterEventSubProcess(final SProcessDefinition sDefinition, final SProcessInstance parentProcessInstance) throws SBonitaException { final Set<SActivityDefinition> activities = sDefinition.getProcessContainer().getActivities(); for (final SActivityDefinition activity : activities) { if (SFlowNodeType.SUB_PROCESS.equals(activity.getType()) && ((SSubProcessDefinition) activity).isTriggeredByEvent()) { final SSubProcessDefinition eventSubProcess = (SSubProcessDefinition) activity; final SStartEventDefinition sStartEventDefinition = eventSubProcess.getSubProcessContainer().getStartEvents().get(0); unregisterEventSubProcess(sDefinition, sStartEventDefinition, activity.getId(), parentProcessInstance); } } }