* @param ee Engine executor that called this method
* @throws OpenBPException On error
*/
public void executeModelObject(ModelObject mo, EngineExecutor ee)
{
TokenContext context = ee.getTokenContext();
NodeSocket entrySocket = context.getCurrentSocket();
WorkflowTask workflowTask = createWorkflowTask(entrySocket, context);
// Continue with the 'TaskPublished' socket
NodeSocket nextSocket = getEngine().resolveSocketRef(CoreConstants.SOCKET_TASK_PUBLISHED, entrySocket, context, false);
if (nextSocket != null)
{
Param workflowTaskParam = nextSocket.getParamByName(CoreConstants.WORKFLOWTASK_PARAM_NAME);
if (workflowTaskParam != null)
{
// If the exit socket contains a 'WorkflowTask' parameter, set it
TokenContextUtil.setParamValue(context, workflowTaskParam, workflowTask);
}
context.setCurrentSocket(nextSocket);
}
else
{
// No 'TaskPublished' socket -> Stop here
context.setLifecycleRequest(LifecycleRequest.SUSPEND_IMMEDIATE);
}
}