本文整理汇总了Java中org.activiti.engine.runtime.ProcessInstance.isEnded方法的典型用法代码示例。如果您正苦于以下问题:Java ProcessInstance.isEnded方法的具体用法?Java ProcessInstance.isEnded怎么用?Java ProcessInstance.isEnded使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类org.activiti.engine.runtime.ProcessInstance
的用法示例。
在下文中一共展示了ProcessInstance.isEnded方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: startWorkflow
import org.activiti.engine.runtime.ProcessInstance; //导入方法依赖的package包/类
/**
* {@inheritDoc}
*/
public WorkflowPath startWorkflow(String workflowDefinitionId, Map<QName, Serializable> parameters)
{
try
{
String currentUserName = AuthenticationUtil.getFullyAuthenticatedUser();
Authentication.setAuthenticatedUserId(currentUserName);
String processDefId = createLocalId(workflowDefinitionId);
// Set start task properties. This should be done before instance is started, since it's id will be used
Map<String, Object> variables = propertyConverter.getStartVariables(processDefId, parameters);
variables.put(WorkflowConstants.PROP_CANCELLED, Boolean.FALSE);
// Add company home
Object companyHome = nodeConverter.convertNode(getCompanyHome());
variables.put(WorkflowConstants.PROP_COMPANY_HOME, companyHome);
// Add the initiator
NodeRef initiator = getPersonNodeRef(currentUserName);
if (initiator != null)
{
variables.put(WorkflowConstants.PROP_INITIATOR, nodeConverter.convertNode(initiator));
// Also add the initiator home reference, if one exists
NodeRef initiatorHome = (NodeRef) nodeService.getProperty(initiator, ContentModel.PROP_HOMEFOLDER);
if (initiatorHome != null)
{
variables.put(WorkflowConstants.PROP_INITIATOR_HOME, nodeConverter.convertNode(initiatorHome));
}
}
// Start the process-instance
CommandContext context = Context.getCommandContext();
boolean isContextSuspended = false;
if (context != null && context.getException() == null)
{
// MNT-11926: push null context to stack to avoid context reusage when new instance is not flushed
Context.setCommandContext(null);
isContextSuspended = true;
}
try
{
ProcessInstance instance = runtimeService.startProcessInstanceById(processDefId, variables);
if (instance.isEnded())
{
return typeConverter.buildCompletedPath(instance.getId(), instance.getId());
}
else
{
WorkflowPath path = typeConverter.convert((Execution) instance);
endStartTaskAutomatically(path, instance);
return path;
}
}
finally
{
if (isContextSuspended)
{
// pop null context out of stack
Context.removeCommandContext();
}
}
}
catch (ActivitiException ae)
{
String msg = messageService.getMessage(ERR_START_WORKFLOW, workflowDefinitionId);
if(logger.isDebugEnabled())
{
logger.debug(msg, ae);
}
throw new WorkflowException(msg, ae);
}
}