@Override public void generateMockInstances(String deploymentId, String processId, int amountOfInstances) { for (int i = 0; i < amountOfInstances; i++) { processService.startProcess( deploymentId, processId ); } }
@RequestMapping(value = "/abort", method = RequestMethod.POST) public String abortProcessInstance(@RequestParam String id) { processService.abortProcessInstance(Long.parseLong(id)); return "Instance (" + id + ") aborted successfully"; }
@RequestMapping(value = "/signal", method = RequestMethod.POST) public String signalProcessInstance(@RequestParam String id, @RequestParam String signal, @RequestParam String data) { processService.signalProcessInstance(Long.parseLong(id), signal, data); return "Signal sent to instance (" + id + ") successfully"; } }
private void testProcessWithStrategy(RuntimeStrategy strategy) { KModuleDeploymentUnit deploymentUnit = new KModuleDeploymentUnit(GROUP_ID, ARTIFACT_ID, VERSION); deploymentUnit.setStrategy(strategy); deploymentService.deploy(deploymentUnit); String userId = "john"; Long processInstanceId = processService.startProcess(deploymentUnit.getIdentifier(), "hiring"); List<Long> taskIdList = runtimeDataService.getTasksByProcessInstanceId(processInstanceId); Assertions.assertThat(taskIdList).hasSize(1); long taskId = taskIdList.get(0); userTaskService.claim(taskId, userId); userTaskService.start(taskId, userId); userTaskService.complete(taskId, userId, null); List<Status> taskStatus = new ArrayList<Status>(); taskStatus.add(Status.Completed); taskStatus.add(Status.Created); taskStatus.add(Status.InProgress); taskStatus.add(Status.Reserved); List<TaskSummary> taskSummaryList = runtimeDataService.getTasksByStatusByProcessInstanceId(processInstanceId, taskStatus, null); Assertions.assertThat(taskSummaryList).hasSize(1); processService.abortProcessInstance(processInstanceId); ProcessInstanceDesc pi = runtimeDataService.getProcessInstanceById(processInstanceId); assertNotNull(pi); assertEquals(ProcessInstance.STATE_ABORTED, pi.getState().intValue()); }
@Test public void testStartProcess() throws InterruptedException { assertNotNull(deploymentService); KModuleDeploymentUnit deploymentUnit = new KModuleDeploymentUnit(GROUP_ID, ARTIFACT_ID, VERSION); deploymentService.deploy(deploymentUnit); units.add(deploymentUnit); assertNotNull(processService); Map<String, Object> params = new HashMap<String, Object>(); params.put("expiresAt", "2s"); long processInstanceId = processService.startProcess(deploymentUnit.getIdentifier(), "timer-test.timer-process", params); assertNotNull(processInstanceId); ProcessInstance pi = processService.getProcessInstance(processInstanceId); assertNotNull(pi); Thread.sleep(3000); pi = processService.getProcessInstance(processInstanceId); assertNull(pi); }
@Override public void signalProcessInstances(List<Long> processInstanceIds, String signalName, Object event) { try { processService.signalProcessInstances(processInstanceIds, signalName, event); } catch (Exception e) { throw ExceptionUtilities.handleException(e); } }
@Override public Collection<String> getAvailableSignals(long processInstanceId) { try { Collection<String> signals = processService.getAvailableSignals(processInstanceId); return signals; } catch (Exception e) { throw ExceptionUtilities.handleException(e); } }
@Override public void abortProcessInstances(List<Long> processInstanceIds) { try { processService.abortProcessInstances(processInstanceIds); } catch (Exception e) { throw ExceptionUtilities.handleException(e); } }
@Override public void setProcessVariable(long processInstanceId, String variableId, Object value) { try { processService.setProcessVariable(processInstanceId, variableId, value); } catch (Exception e) { throw ExceptionUtilities.handleException(e); } }
private void testProcessWithStrategy(RuntimeStrategy strategy) { KModuleDeploymentUnit deploymentUnit = new KModuleDeploymentUnit(GROUP_ID, ARTIFACT_ID, VERSION); deploymentUnit.setStrategy(strategy); deploymentService.deploy(deploymentUnit); String userId = "john"; Long processInstanceId = processService.startProcess(deploymentUnit.getIdentifier(), "hiring"); List<Long> taskIdList = runtimeDataService.getTasksByProcessInstanceId(processInstanceId); Assertions.assertThat(taskIdList).hasSize(1); long taskId = taskIdList.get(0); userTaskService.claim(taskId, userId); userTaskService.start(taskId, userId); userTaskService.complete(taskId, userId, null); List<Status> taskStatus = new ArrayList<Status>(); taskStatus.add(Status.Completed); taskStatus.add(Status.Created); taskStatus.add(Status.InProgress); taskStatus.add(Status.Reserved); List<TaskSummary> taskSummaryList = runtimeDataService.getTasksByStatusByProcessInstanceId(processInstanceId, taskStatus, null); Assertions.assertThat(taskSummaryList).hasSize(1); processService.abortProcessInstance(processInstanceId); ProcessInstanceDesc pi = runtimeDataService.getProcessInstanceById(processInstanceId); assertNotNull(pi); assertEquals(ProcessInstance.STATE_ABORTED, pi.getState().intValue()); }
assertNotNull(processService); processInstanceId = processService.startProcess(deploymentUnit.getIdentifier(), "htdeadlinetest"); ProcessInstance processInstance = processService.getProcessInstance(processInstanceId); assertNull(processInstance); processInstanceId = null;
public void signalProcessInstances(String containerId, List<Long> processInstanceIds, String signalName, String eventPayload, String marshallingType) { List<Long> ids = convert(processInstanceIds); if (ids.isEmpty()) { return; } containerId = context.getContainerId(containerId, new ByProcessInstanceIdContainerLocator(ids.get(0))); logger.debug("About to unmarshal event from payload: '{}'", eventPayload); Object event = marshallerHelper.unmarshal(containerId, eventPayload, marshallingType, Object.class); logger.debug("Calling signal '{}' process instances with id {} on container {} and event {}", signalName, processInstanceIds, containerId, event); processService.signalProcessInstances(containerId, ids, signalName, event); }
public String getAvailableSignals(String containerId, Number processInstanceId, String marshallingType) { containerId = context.getContainerId(containerId, new ByProcessInstanceIdContainerLocator(processInstanceId.longValue())); Collection<String> signals = processService.getAvailableSignals(containerId, processInstanceId.longValue()); logger.debug("About to marshal available signals {}", signals); String response = marshallerHelper.marshal(containerId, marshallingType, signals); return response; }
public Object abortProcessInstances(String containerId, List<Long> processInstanceIds) { processService.abortProcessInstances(containerId, convert(processInstanceIds)); return null; }
public void setProcessVariable(String containerId, Number processInstanceId, String varName, String variablePayload, String marshallingType) { containerId = context.getContainerId(containerId, new ByProcessInstanceIdContainerLocator(processInstanceId.longValue())); logger.debug("About to unmarshal variable from payload: '{}'", variablePayload); Object variable = marshallerHelper.unmarshal(containerId, variablePayload, marshallingType, Object.class); logger.debug("Setting variable '{}' on process instance with id {} with value {}", varName, processInstanceId, variable); processService.setProcessVariable(containerId, processInstanceId.longValue(), varName, variable); }
private void testProcessWithStrategy(RuntimeStrategy strategy) { KModuleDeploymentUnit deploymentUnit = new KModuleDeploymentUnit(GROUP_ID, ARTIFACT_ID, VERSION); deploymentUnit.setStrategy(strategy); deploymentService.deploy(deploymentUnit); String userId = "john"; Long processInstanceId = processService.startProcess(deploymentUnit.getIdentifier(), "hiring"); List<Long> taskIdList = runtimeDataService.getTasksByProcessInstanceId(processInstanceId); Assertions.assertThat(taskIdList).hasSize(1); long taskId = taskIdList.get(0); userTaskService.claim(taskId, userId); userTaskService.start(taskId, userId); userTaskService.complete(taskId, userId, null); List<Status> taskStatus = new ArrayList<Status>(); taskStatus.add(Status.Completed); taskStatus.add(Status.Created); taskStatus.add(Status.InProgress); taskStatus.add(Status.Reserved); List<TaskSummary> taskSummaryList = runtimeDataService.getTasksByStatusByProcessInstanceId(processInstanceId, taskStatus, null); Assertions.assertThat(taskSummaryList).hasSize(1); processService.abortProcessInstance(processInstanceId); ProcessInstanceDesc pi = runtimeDataService.getProcessInstanceById(processInstanceId); assertNotNull(pi); assertEquals(ProcessInstance.STATE_ABORTED, pi.getState().intValue()); }
@RequestMapping(value = "/new", method = RequestMethod.POST) public Long newProcessInstance(@RequestParam String deploymentId, @RequestParam String processId, @RequestParam Map<String,String> allRequestParams) { long processInstanceId = processService.startProcess(deploymentId, processId, new HashMap<String, Object>(allRequestParams)); return processInstanceId; } }
@Override public void abortProcessInstance(long processInstanceId) { try { processService.abortProcessInstance(processInstanceId); } catch (Exception e) { throw ExceptionUtilities.handleException(e); } }
@Override public void signalProcessInstance(long processInstanceId, String signalName, Object event) { try { processService.signalProcessInstance(processInstanceId, signalName, event); } catch (Exception e) { throw ExceptionUtilities.handleException(e); } }
public void signalProcessInstances(String containerId, List<Long> processInstanceIds, String signalName, String marshallingType) { List<Long> ids = convert(processInstanceIds); if (ids.isEmpty()) { return; } containerId = context.getContainerId(containerId, new ByProcessInstanceIdContainerLocator(ids.get(0))); logger.debug("Calling signal '{}' process instances with id {} on container {} and event {}", signalName, processInstanceIds, containerId, null); processService.signalProcessInstances(containerId, convert(processInstanceIds), signalName, null); }