List of usage examples for com.liferay.portal.workflow.kaleo.model KaleoTaskInstanceToken getKaleoTask
public KaleoTask getKaleoTask() throws com.liferay.portal.kernel.exception.PortalException;
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 w w w . jav a2 s.c om 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); }
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); }//from www . ja v a 2s .co m 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); }