Example usage for com.liferay.portal.kernel.workflow WorkflowException WorkflowException

List of usage examples for com.liferay.portal.kernel.workflow WorkflowException WorkflowException

Introduction

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

Prototype

public WorkflowException(Throwable cause) 

Source Link

Usage

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

License:Open Source License

@Override
public WorkflowTask assignWorkflowTaskToRole(long workflowTaskInstanceId, long roleId, String comment,
        Date dueDate, Map<String, Serializable> workflowContext, ServiceContext serviceContext)
        throws WorkflowException {

    try {//from   w  w w  . j a va2s .  c  om
        fLogger.println("TaskManager.assignWorkflowTaskToRole");
        fLogger.println("\tworkflowTaskInstanceId: " + workflowTaskInstanceId);
        fLogger.println("\troleId: " + roleId);
        fLogger.println("\tcomment: " + comment);
        fLogger.println("\tdueDate: " + dueDate);
        fLogger.println("\tworkflowContext:");
        logMap(workflowContext, "\t\t");
        fLogger.println("\tserviceContext:");
        logServiceContext(serviceContext, "\t\t");

        WorkflowTask task = assignWorkflowTask(workflowTaskInstanceId, Role.class.getName(), roleId, comment,
                dueDate, workflowContext, serviceContext);

        fLogger.println("RETURN task:");
        logTask(task, "\t\t");
        fLogger.flush();

        return task;
    } catch (Exception e) {
        throw new WorkflowException(e);
    }
}

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

License:Open Source License

@Override
public WorkflowTask assignWorkflowTaskToUser(long workflowTaskInstanceId, long assigneeUserId, String comment,
        Date dueDate, Map<String, Serializable> workflowContext, ServiceContext serviceContext)
        throws WorkflowException {

    try {// w ww .j  a v a2  s  . co m
        fLogger.println("TaskManager.assignWorkflowTaskToUser");
        fLogger.println("\tworkflowTaskInstanceId: " + workflowTaskInstanceId);
        fLogger.println("\tassigneeUserId: " + assigneeUserId);
        fLogger.println("\tcomment: " + comment);
        fLogger.println("\tdueDate: " + dueDate);
        fLogger.println("\tworkflowContext:");
        logMap(workflowContext, "\t\t");
        fLogger.println("\tserviceContext:");
        logServiceContext(serviceContext, "\t\t");

        WorkflowTask task = assignWorkflowTask(workflowTaskInstanceId, User.class.getName(), assigneeUserId,
                comment, dueDate, workflowContext, serviceContext);

        fLogger.println("RETURN task:");
        logTask(task, "\t\t");
        fLogger.flush();

        return task;
    } catch (Exception e) {
        throw new WorkflowException(e);
    }
}

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

License:Open Source License

@Override
public WorkflowTask completeWorkflowTask(long workflowTaskInstanceId, String transitionName, String comment,
        Map<String, Serializable> workflowContext, ServiceContext serviceContext) throws WorkflowException {

    try {// ww w  . j  a  v a  2  s  . com
        fLogger.println("TaskManager.completeWorkflowTask");
        fLogger.println("\tworkflowTaskInstanceId: " + workflowTaskInstanceId);
        fLogger.println("\ttransitionName: " + transitionName);
        fLogger.println("\tcomment: " + comment);
        fLogger.println("\tworkflowContext:");
        logMap(workflowContext, "\t\t");
        fLogger.println("\tserviceContext:");
        logServiceContext(serviceContext, "\t\t");

        WorkflowTask task = doCompleteWorkflowTask(workflowTaskInstanceId, transitionName, comment,
                workflowContext, serviceContext);

        fLogger.println("RETURN task:");
        logTask(task, "\t\t");
        fLogger.flush();

        return task;
    } catch (Exception e) {
        throw new WorkflowException(e);
    }
}

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

License:Open Source License

@Override
public WorkflowTask updateDueDate(long workflowTaskInstanceId, String comment, Date dueDate,
        ServiceContext serviceContext) throws WorkflowException {

    try {/*from   w  w w  .ja  va  2 s.  c o m*/
        fLogger.println("TaskManager.updateDueDate");
        fLogger.println("\tworkflowTaskInstanceId: " + workflowTaskInstanceId);
        fLogger.println("\tcomment: " + comment);
        fLogger.println("\tdueDate: " + dueDate);
        fLogger.println("\tserviceContext:");
        logServiceContext(serviceContext, "\t\t");
        fLogger.flush();

        KaleoTaskInstanceToken kaleoTaskInstanceToken = kaleoTaskInstanceTokenLocalService
                .getKaleoTaskInstanceToken(workflowTaskInstanceId);

        if (kaleoTaskInstanceToken.isCompleted()) {
            throw new WorkflowException("Cannot update due date for completed task " + workflowTaskInstanceId);
        }

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

        Map<String, Serializable> workflowContext = WorkflowContextUtil
                .convert(kaleoTaskInstanceToken.getWorkflowContext());

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

        return _kaleoWorkflowModelConverter.toWorkflowTask(kaleoTaskInstanceToken, workflowContext);
    } catch (Exception e) {
        throw new WorkflowException(e);
    }
}

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   www  .jav a  2  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   w w w  .  j  ava2s. c o 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);
}

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

License:Open Source License

@Override
public void deleteWorkflowDefinition(String name, int version, ServiceContext serviceContext)
        throws WorkflowException {

    // TODO/*from w ww.j  av a2s .  c o  m*/
    fLogger.println("WorkflowEngine.deleteWorkflowDefinition");
    fLogger.println("\tTODO");
    fLogger.flush();

    try {
        kaleoDefinitionLocalService.deleteKaleoDefinition(name, version, serviceContext);
    } catch (Exception e) {
        throw new WorkflowException(e);
    }
}

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

License:Open Source License

@Override
public void deleteWorkflowInstance(long workflowInstanceId, ServiceContext serviceContext)
        throws WorkflowException {

    try {// ww w . j a v a2 s. c o  m
        fLogger.println("WorkflowEngine.deleteWorkflowInstance");
        fLogger.println("\tworkflowInstanceId: " + workflowInstanceId);
        fLogger.println("\tserviceContext:");
        logServiceContext(serviceContext, "\t\t");
        fLogger.flush();

        kaleoInstanceLocalService.deleteKaleoInstance(workflowInstanceId);
    } catch (Exception e) {
        throw new WorkflowException(e);
    }
}

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

License:Open Source License

@Override
public WorkflowDefinition deployWorkflowDefinition(String title, InputStream inputStream,
        ServiceContext serviceContext) throws WorkflowException {

    try {// w w  w  .j a v a 2 s  . c o m
        fLogger.println("WorkflowEngine.deleteWorkflowDefinition");
        fLogger.println("\tTODO");
        fLogger.flush();

        Definition definition = _workflowModelParser.parse(inputStream);

        if (_workflowValidator != null) {
            _workflowValidator.validate(definition);
        }

        WorkflowDefinition workflowDefinition = _workflowDeployer.deploy(title, definition, serviceContext);

        return workflowDefinition;
    } catch (WorkflowException we) {
        throw we;
    } catch (PortalException pe) {
        throw new WorkflowException(pe);
    }
}

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

License:Open Source License

@Override
public ExecutionContext executeTimerWorkflowInstance(long kaleoTimerInstanceTokenId,
        ServiceContext serviceContext, Map<String, Serializable> workflowContext) throws WorkflowException {

    try {/*from   w w  w  .  j ava2 s  . c  om*/
        fLogger.println("WorkflowEngine.executeTimerWorkflowInstance");
        fLogger.println("\tkaleoTimerInstanceTokenId: " + kaleoTimerInstanceTokenId);
        fLogger.println("\tserviceContext:");
        logServiceContext(serviceContext, "\t\t");
        fLogger.println("\tworkflowContext:");
        logMap(workflowContext, "\t\t");

        KaleoTimerInstanceToken kaleoTimerInstanceToken = kaleoTimerInstanceTokenLocalService
                .getKaleoTimerInstanceToken(kaleoTimerInstanceTokenId);

        KaleoInstanceToken kaleoInstanceToken = kaleoTimerInstanceToken.getKaleoInstanceToken();

        final ExecutionContext executionContext = new ExecutionContext(kaleoInstanceToken,
                kaleoTimerInstanceToken, workflowContext, serviceContext);

        KaleoTaskInstanceToken kaleoTaskInstanceToken = kaleoTimerInstanceToken.getKaleoTaskInstanceToken();

        executionContext.setKaleoTaskInstanceToken(kaleoTaskInstanceToken);

        final KaleoNode currentKaleoNode = kaleoInstanceToken.getCurrentKaleoNode();

        NodeExecutor nodeExecutor = _nodeExecutorFactory.getNodeExecutor(currentKaleoNode.getType());

        nodeExecutor.executeTimer(currentKaleoNode, executionContext);

        TransactionCommitCallbackUtil.registerCallback(new Callable<Void>() {

            @Override
            public Void call() throws Exception {
                _kaleoSignaler.signalExecute(currentKaleoNode, executionContext);

                return null;
            }

        });

        fLogger.println("\tRETURN executionContext:");
        logExecContext(executionContext, "\t\t");
        fLogger.flush();

        return executionContext;
    } catch (Exception e) {
        throw new WorkflowException(e);
    }
}