Example usage for com.liferay.portal.workflow.kaleo.model KaleoTask getKaleoNode

List of usage examples for com.liferay.portal.workflow.kaleo.model KaleoTask getKaleoNode

Introduction

In this page you can find the example usage for com.liferay.portal.workflow.kaleo.model KaleoTask getKaleoNode.

Prototype

public KaleoNode getKaleoNode() throws com.liferay.portal.kernel.exception.PortalException;

Source Link

Usage

From source file:de.hofuniversity.iisys.liferay.workflows.LoggingTaskManager.java

License:Open Source License

protected WorkflowTask doCompleteWorkflowTask(long workflowTaskInstanceId, String transitionName,
        String comment, Map<String, Serializable> workflowContext, ServiceContext serviceContext)
        throws Exception {

    KaleoTaskInstanceToken kaleoTaskInstanceToken = kaleoTaskInstanceTokenLocalService
            .getKaleoTaskInstanceToken(workflowTaskInstanceId);

    if (Validator.isNotNull(transitionName)) {

        // Validate that the transition actually exists before moving
        // forward

        KaleoTask kaleoTask = kaleoTaskInstanceToken.getKaleoTask();

        KaleoNode currentKaleoNode = kaleoTask.getKaleoNode();

        currentKaleoNode.getKaleoTransition(transitionName);
    }/*  w  w  w  . jav  a2s.  c  om*/

    workflowContext = updateWorkflowContext(workflowContext, kaleoTaskInstanceToken);

    if (kaleoTaskInstanceToken.isCompleted()) {
        throw new WorkflowException("Cannot complete an already completed task " + workflowTaskInstanceId
                + " for user " + serviceContext.getUserId());
    }

    serviceContext.setScopeGroupId(kaleoTaskInstanceToken.getGroupId());

    kaleoTaskInstanceToken = kaleoTaskInstanceTokenLocalService.completeKaleoTaskInstanceToken(
            kaleoTaskInstanceToken.getKaleoTaskInstanceTokenId(), serviceContext);

    kaleoLogLocalService.addTaskCompletionKaleoLog(kaleoTaskInstanceToken, comment, workflowContext,
            serviceContext);

    return _kaleoWorkflowModelConverter.toWorkflowTask(kaleoTaskInstanceToken, workflowContext);
}