protected boolean hasMultiInstanceParent(FlowNode flowNode) { boolean hasMultiInstanceParent = false; if (flowNode.getSubProcess() != null) { if (flowNode.getSubProcess().getLoopCharacteristics() != null) { hasMultiInstanceParent = true; } else { boolean hasNestedMultiInstanceParent = hasMultiInstanceParent(flowNode.getSubProcess()); if (hasNestedMultiInstanceParent) { hasMultiInstanceParent = true; } } } return hasMultiInstanceParent; }
protected boolean isEndEventInMultiInstanceSubprocess(ExecutionEntity executionEntity) { if (executionEntity.getCurrentFlowElement() instanceof EndEvent) { SubProcess subProcess = ((EndEvent) execution.getCurrentFlowElement()).getSubProcess(); return !executionEntity.getParent().isProcessInstanceType() && subProcess != null && subProcess.getLoopCharacteristics() != null && subProcess.getBehavior() instanceof MultiInstanceActivityBehavior; } return false; }
parentScopeExecution = currentlyExaminedExecution; SubProcess subProcess = (SubProcess) currentlyExaminedExecution.getCurrentFlowElement(); if (subProcess.getLoopCharacteristics() != null) { ExecutionEntity miExecution = parentScopeExecution.getParent(); FlowElement miElement = miExecution.getCurrentFlowElement(); if (subProcess.getLoopCharacteristics() != null) { List<? extends ExecutionEntity> multiInstanceExecutions = parentScopeExecution.getExecutions(); List<ExecutionEntity> executionsToDelete = new ArrayList<ExecutionEntity>();
protected boolean hasMultiInstanceParent(FlowNode flowNode) { boolean hasMultiInstanceParent = false; if (flowNode.getSubProcess() != null) { if (flowNode.getSubProcess().getLoopCharacteristics() != null) { hasMultiInstanceParent = true; } else { boolean hasNestedMultiInstanceParent = hasMultiInstanceParent(flowNode.getSubProcess()); if (hasNestedMultiInstanceParent) { hasMultiInstanceParent = true; } } } return hasMultiInstanceParent; }
protected boolean isEndEventInMultiInstanceSubprocess(ExecutionEntity executionEntity) { if (executionEntity.getCurrentFlowElement() instanceof EndEvent) { SubProcess subProcess = ((EndEvent) execution.getCurrentFlowElement()).getSubProcess(); return !executionEntity.getParent().isProcessInstanceType() && subProcess != null && subProcess.getLoopCharacteristics() != null && subProcess.getBehavior() instanceof MultiInstanceActivityBehavior; } return false; }
parentScopeExecution = currentlyExaminedExecution; SubProcess subProcess = (SubProcess) currentlyExaminedExecution.getCurrentFlowElement(); if (subProcess.getLoopCharacteristics() != null) { ExecutionEntity miExecution = parentScopeExecution.getParent(); FlowElement miElement = miExecution.getCurrentFlowElement(); if (subProcess.getLoopCharacteristics() != null) { List<? extends ExecutionEntity> multiInstanceExecutions = parentScopeExecution.getExecutions(); List<ExecutionEntity> executionsToDelete = new ArrayList<ExecutionEntity>();