Exemplo n.º 1
0
  public StartWorkflowResponse startWorkflow(StartWorkflowRequest request) {

    String workflowClassId = workflowClassDao.findByName(request.getWorkflowClass()).get_id();

    Workflow wf = workflowEngine.createNewWorkflow(workflowClassId, request.getAttributes());

    Event e = new Event();
    e.setEventType(WorkflowEventType.INITIATE_WORKFLOW);
    e.setWorkflowId(wf.get_id());
    e.setAttributes(request.getAttributes()); // todo should the attributes be in event as well?
    workflowEngine.submitEvent(e);
    log.info("New workflow initiated: " + wf);
    StartWorkflowResponse response = new StartWorkflowResponse();
    response.setWorkflowId(wf.get_id());
    response.setStatus(EndpointResponseStatus.OK);
    return response;
  }