protected void skip(final Execution internalExecution) { final ActivityDefinition activity = internalExecution.getNode(); if (activity.getDynamicExecutionSummary() != null) { try { if (GroovyExpression.isGroovyExpression(activity.getDynamicExecutionSummary())) { final Object dynamicExecutionSummary = GroovyUtil.evaluate(activity.getDynamicExecutionSummary(), null, internalExecution.getActivityInstanceUUID(), false, false); if (dynamicExecutionSummary != null) { internalExecution.getActivityInstance().setDynamicExecutionSummary(dynamicExecutionSummary.toString()); } } else { internalExecution.getActivityInstance().setDynamicExecutionSummary(activity.getDynamicExecutionSummary()); } } catch (final Exception e) { throw new BonitaWrapperException(new BonitaRuntimeException("Error while ending execution: " + activity.getDynamicExecutionSummary(), e)); } } if (activity.getMultiInstantiationDefinition() != null || activity.getMultipleInstancesInstantiator() != null) { removeChildrenActivityInstances(internalExecution); terminateInstanceIfNoOutgoingTransitions(internalExecution); executeSplit(internalExecution, false); } else { terminateInstanceIfNoOutgoingTransitions(internalExecution); executeSplit(internalExecution, true); } }
startActivityInstance(newExecution); } else { terminateInstanceIfNoOutgoingTransitions(execution); executeSplit(execution, false);
if (internalExecution.getWaitingForActivityInstanceNb() == 0) { removeChildrenActivityInstances(internalExecution); terminateInstanceIfNoOutgoingTransitions(internalExecution); executeSplit(internalExecution, false); if (0 < maxIterations && maxIterations <= internalExecution.getActivityInstanceNb()) { endChildrenActivityInstances(internalExecution); terminateInstanceIfNoOutgoingTransitions(internalExecution); executeSplit(internalExecution, false);
endLoop(internalExecution); } else { terminateInstanceIfNoOutgoingTransitions(internalExecution); executeSplit(internalExecution, true);
execute(parent, false); } else { terminateInstanceIfNoOutgoingTransitions(internalExecution); executeSplit(internalExecution, true);