Example usage for com.liferay.portal.kernel.workflow WorkflowConstants CONTEXT_TASK_COMMENTS

List of usage examples for com.liferay.portal.kernel.workflow WorkflowConstants CONTEXT_TASK_COMMENTS

Introduction

In this page you can find the example usage for com.liferay.portal.kernel.workflow WorkflowConstants CONTEXT_TASK_COMMENTS.

Prototype

String CONTEXT_TASK_COMMENTS

To view the source code for com.liferay.portal.kernel.workflow WorkflowConstants CONTEXT_TASK_COMMENTS.

Click Source Link

Usage

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

License:Open Source License

protected WorkflowTask assignWorkflowTask(long workflowTaskInstanceId, String assigneeClassName,
        long assigneeClassPK, String comment, Date dueDate, Map<String, Serializable> workflowContext,
        ServiceContext serviceContext) throws Exception {

    KaleoTaskInstanceToken kaleoTaskInstanceToken = kaleoTaskInstanceTokenLocalService
            .getKaleoTaskInstanceToken(workflowTaskInstanceId);

    List<KaleoTaskAssignmentInstance> previousTaskAssignmentInstances = kaleoTaskInstanceToken
            .getKaleoTaskAssignmentInstances();

    workflowContext = updateWorkflowContext(workflowContext, kaleoTaskInstanceToken);

    if (kaleoTaskInstanceToken.isCompleted()) {
        throw new WorkflowException("Cannot reassign a completed task " + workflowTaskInstanceId);
    }/*from ww  w  . ja  v a 2 s.com*/

    if (dueDate != null) {
        kaleoTaskInstanceTokenLocalService.updateDueDate(workflowTaskInstanceId, dueDate, serviceContext);
    }

    kaleoTaskInstanceToken = kaleoTaskInstanceTokenLocalService.assignKaleoTaskInstanceToken(
            kaleoTaskInstanceToken.getKaleoTaskInstanceTokenId(), assigneeClassName, assigneeClassPK,
            workflowContext, serviceContext);

    workflowContext.put(WorkflowConstants.CONTEXT_TASK_COMMENTS, comment);

    ExecutionContext executionContext = new ExecutionContext(kaleoTaskInstanceToken.getKaleoInstanceToken(),
            kaleoTaskInstanceToken, workflowContext, serviceContext);

    KaleoTask kaleoTask = kaleoTaskInstanceToken.getKaleoTask();

    _kaleoActionExecutor.executeKaleoActions(KaleoNode.class.getName(), kaleoTask.getKaleoNodeId(),
            ExecutionType.ON_ASSIGNMENT, executionContext);

    boolean selfAssignment = false;

    if (assigneeClassName.equals(User.class.getName()) && (assigneeClassPK == serviceContext.getUserId())) {

        selfAssignment = true;
    }

    if (!selfAssignment) {
        _notificationHelper.sendKaleoNotifications(KaleoNode.class.getName(), kaleoTask.getKaleoNodeId(),
                ExecutionType.ON_ASSIGNMENT, executionContext);
    }

    kaleoLogLocalService.addTaskAssignmentKaleoLog(previousTaskAssignmentInstances, kaleoTaskInstanceToken,
            comment, workflowContext, serviceContext);

    return _kaleoWorkflowModelConverter.toWorkflowTask(kaleoTaskInstanceToken, workflowContext);
}