private BpmnModelInstance prepareSimpleProcess(String name) { BpmnModelInstance calledA = Bpmn.createExecutableProcess(name) .startEvent() .userTask("Task" + name) .endEvent() .done(); return calledA; }
public EventSubProcessBuilder eventSubProcess(){ return eventSubProcess(null); }
@Override public void setUp() throws Exception { BpmnModelInstance emptyProcess = Bpmn.createExecutableProcess().done(); deployment(emptyProcess); deploymentForTenant(TENANT_ONE, emptyProcess); deploymentForTenant(TENANT_TWO, emptyProcess); }
public StartEventBuilder startEvent(String id) { StartEvent start = createChild(StartEvent.class, id); BpmnShape bpmnShape = createBpmnShape(start); setCoordinates(bpmnShape); return start.builder(); }
public EventSubProcessBuilder eventSubProcess(String id) { // Create a subprocess, triggered by an event, and add it to modelInstance SubProcess subProcess = createChild(SubProcess.class, id); subProcess.setTriggeredByEvent(true); // Create Bpmn shape so subprocess will be drawn BpmnShape targetBpmnShape = createBpmnShape(subProcess); //find the lowest shape in the process // place event sub process underneath setEventSubProcessCoordinates(targetBpmnShape); resizeSubProcess(targetBpmnShape); // Return the eventSubProcessBuilder EventSubProcessBuilder eventSubProcessBuilder = new EventSubProcessBuilder(modelInstance, subProcess); return eventSubProcessBuilder; }
protected BpmnModelInstance createProcessWithUserTask(String key) { double random = Math.random(); return Bpmn.createExecutableProcess(key) .name("name_" + key) .startEvent() .userTask(key + "_" + random + "_task1") .name(key + " Task 1") .endEvent() .done(); }
public void testPartialChangesDeployAll() { BpmnModelInstance model1 = Bpmn.createExecutableProcess("process1").done(); BpmnModelInstance model2 = Bpmn.createExecutableProcess("process2").done(); org.camunda.bpm.engine.repository.Deployment deployment1 = repositoryService.createDeployment() .enableDuplicateFiltering() .addModelInstance("process1.bpmn20.xml", model1) .addModelInstance("process2.bpmn20.xml", model2) .name("twice") .deploy(); List<String> deploymentResources = repositoryService.getDeploymentResourceNames(deployment1.getId()); assertEquals(2, deploymentResources.size()); BpmnModelInstance changedModel2 = Bpmn.createExecutableProcess("process2").startEvent().done(); org.camunda.bpm.engine.repository.Deployment deployment2 = repositoryService.createDeployment() .enableDuplicateFiltering() .addModelInstance("process1.bpmn20.xml", model1) .addModelInstance("process2.bpmn20.xml", changedModel2) .name("twice") .deploy(); List<org.camunda.bpm.engine.repository.Deployment> deploymentList = repositoryService.createDeploymentQuery().list(); assertEquals(2, deploymentList.size()); // there should be new versions of both processes assertEquals(2, repositoryService.createProcessDefinitionQuery().processDefinitionKey("process1").count()); assertEquals(2, repositoryService.createProcessDefinitionQuery().processDefinitionKey("process2").count()); repositoryService.deleteDeployment(deployment1.getId()); repositoryService.deleteDeployment(deployment2.getId()); }
public void testInterruptingWithDurationExpressionInEventSubprocess() { // given ProcessBuilder processBuilder = Bpmn.createExecutableProcess("process"); BpmnModelInstance modelInstance = processBuilder .startEvent() .userTask() .endEvent() .done(); processBuilder.eventSubProcess() .startEvent().timerWithDuration("${duration}") .userTask("taskInSubprocess") .endEvent(); deploymentId = repositoryService.createDeployment() .addModelInstance("process.bpmn", modelInstance).deploy() .getId(); // when runtimeService.startProcessInstanceByKey("process", Variables.createVariables() .putValue("duration", "PT60S")); String jobId = managementService.createJobQuery() .singleResult() .getId(); managementService.executeJob(jobId); // then assertEquals(1, taskService.createTaskQuery().taskName("taskInSubprocess").list().size()); }
private void createFlow() { engine.getRepositoryService().createDeployment() // .addModelInstance("order.bpmn", Bpmn.createProcess("order").executable() // .startEvent() .serviceTask().name("Retrieve payment").camundaClass(RetrievePaymentAdapter.class.getName()) .serviceTask().name("Fetch goods").camundaClass(FetchGoodsAdapter.class.getName()) .serviceTask().name("Ship goods").camundaClass(ShipGoodsAdapter.class.getName()) .endEvent().camundaExecutionListenerClass("end", OrderDeliveredAdapter.class.getName()) .done() ).deploy(); }
flow.startEvent() .serviceTask("car").name("Reserve car").camundaClass(ReserveCarAdapter.class) .boundaryEvent().compensateEventDefinition().compensateEventDefinitionDone() flow.eventSubProcess() .startEvent().error("java.lang.Throwable") .intermediateThrowEvent().compensateEventDefinition().compensateEventDefinitionDone() BpmnModelInstance saga = flow.done();
public static ProcessBuilder createExecutableProcess(String processId) { return createProcess(processId).executable(); }
@Override public ProcessBuilder builder() { return new ProcessBuilder((BpmnModelInstance) modelInstance, this); }
public void testPartialChangesDeployAll() { BpmnModelInstance model1 = Bpmn.createExecutableProcess("process1").done(); BpmnModelInstance model2 = Bpmn.createExecutableProcess("process2").done(); .deploy(); BpmnModelInstance changedModel2 = Bpmn.createExecutableProcess("process2").startEvent().done();
public void testNonInterruptingWithDurationExpressionInEventSubprocess() { // given ProcessBuilder processBuilder = Bpmn.createExecutableProcess("process"); BpmnModelInstance modelInstance = processBuilder .startEvent() .userTask() .endEvent().done(); processBuilder.eventSubProcess() .startEvent().interrupting(false).timerWithDuration("${duration}") .userTask("taskInSubprocess") .endEvent(); deploymentId = repositoryService.createDeployment() .addModelInstance("process.bpmn", modelInstance).deploy() .getId(); // when runtimeService.startProcessInstanceByKey("process", Variables.createVariables() .putValue("duration", "PT60S")); String jobId = managementService.createJobQuery() .singleResult() .getId(); managementService.executeJob(jobId); // then assertEquals(1, taskService.createTaskQuery().taskName("taskInSubprocess").list().size()); }
private void createCompensationFlow() { engine.getRepositoryService().createDeployment() // .addModelInstance("travel.bpmn", Bpmn.createProcess("travel").executable() // .startEvent() .serviceTask().name("Reserve car") //.camundaClass(ReserveCar.class) .boundaryEvent().compensateEventDefinition().activityRef("compensateCar").compensateEventDefinitionDone() .done() ).deploy(); } }
public EventSubProcessBuilder eventSubProcess(String id) { // Create a subprocess, triggered by an event, and add it to modelInstance SubProcess subProcess = createChild(SubProcess.class, id); subProcess.setTriggeredByEvent(true); // Create Bpmn shape so subprocess will be drawn BpmnShape targetBpmnShape = createBpmnShape(subProcess); //find the lowest shape in the process // place event sub process underneath setEventSubProcessCoordinates(targetBpmnShape); resizeSubProcess(targetBpmnShape); // Return the eventSubProcessBuilder EventSubProcessBuilder eventSubProcessBuilder = new EventSubProcessBuilder(modelInstance, subProcess); return eventSubProcessBuilder; }
public StartEventBuilder startEvent(String id) { StartEvent start = createChild(StartEvent.class, id); BpmnShape bpmnShape = createBpmnShape(start); setCoordinates(bpmnShape); return start.builder(); }
public static ProcessBuilder createExecutableProcess() { return createProcess().executable(); }
@Override public ProcessBuilder builder() { return new ProcessBuilder((BpmnModelInstance) modelInstance, this); }
protected BpmnModelInstance createModelInstance() { BpmnModelInstance instance = Bpmn.createExecutableProcess("process") .startEvent("start") .userTask("userTask1") .endEvent("end") .done(); return instance; } }