protected BpmnModelInstance createProcessWithServiceTask(String key) { return Bpmn.createExecutableProcess(key) .startEvent() .serviceTask() .camundaExpression("${true}") .endEvent() .done(); }
@Override public StartEventBuilder builder() { return new StartEventBuilder((BpmnModelInstance) modelInstance, this); }
@Test public void testSetLocalScopeInSubprocessWithStartExecutionListener() { testHelper.deploy(Bpmn.createExecutableProcess("process") .startEvent() .subProcess().embeddedSubProcess() .startEvent().id("activityId") .camundaExecutionListenerClass(ExecutionListener.EVENTNAME_START, ExecutionListener.class) .endEvent() .subProcessDone() .endEvent() .done()); engineRule.getRuntimeService().startProcessInstanceByKey("process"); }
@Test public void testSetLocalScopeWithExecutionListenerStart() { testHelper.deploy(Bpmn.createExecutableProcess("process") .startEvent().id("activityId") .camundaExecutionListenerClass(ExecutionListener.EVENTNAME_START, ExecutionListener.class) .endEvent() .done()); engineRule.getRuntimeService().startProcessInstanceByKey("process"); }
protected BpmnModelInstance addConditionalEventSubProcess(BpmnModelInstance model, String parentId, String conditionExpr, String userTaskId, boolean isInterrupting) { return modify(model) .addSubProcessTo(parentId) .triggerByEvent() .embeddedSubProcess() .startEvent() .interrupting(isInterrupting) .condition(conditionExpr) .userTask(userTaskId) .name(TASK_AFTER_CONDITION) .endEvent().done(); }
private BpmnModelInstance prepareFailingSubProcess() { BpmnModelInstance bpmnModelInstance = Bpmn.createExecutableProcess(PROCESS_ID) .startEvent() .subProcess() .embeddedSubProcess() .startEvent() .serviceTask() .camundaClass(FAILING_CLASS) .camundaAsyncBefore() .endEvent() .subProcessDone() .endEvent() .done(); return bpmnModelInstance; } }
Bpmn.createExecutableProcess("process") .startEvent("startEvent") .serviceTask("externalTask") .camundaType("external") .camundaTopic(TOPIC_NAME) .embeddedSubProcess() .startEvent("eventSubProcessStart") .error("ERROR-SPEC-10") .userTask("afterBpmnError") .endEvent() .subProcessDone()
public static final BpmnModelInstance subProcessProcess(String key) { return Bpmn.createExecutableProcess(key) .startEvent() .subProcess() .camundaExecutionListenerClass(ExecutionListener.EVENTNAME_START, InstantiationListener.class.getName()) .camundaExecutionListenerClass(ExecutionListener.EVENTNAME_END, RemovalListener.class.getName()) .embeddedSubProcess() .startEvent() .userTask("userTask") .endEvent() .subProcessDone() .endEvent() .done(); }
.serviceTask("car").name("Reserve car").camundaClass(ReserveCarAdapter.class) .boundaryEvent().compensateEventDefinition().compensateEventDefinitionDone() .compensationStart().serviceTask("CancelCar").camundaClass(CancelCarAdapter.class).compensationDone() .startEvent().error("java.lang.Throwable") .intermediateThrowEvent().compensateEventDefinition().compensateEventDefinitionDone() .endEvent();
public void testPropagateTenantIdToFailedStartTimerIncident() { deploymentForTenant(TENANT_ID, Bpmn.createExecutableProcess(PROCESS_DEFINITION_KEY) .startEvent() .timerWithDuration("PT1M") .serviceTask() .camundaExpression("${failing}") .endEvent() .done()); executeAvailableJobs(); Incident incident = runtimeService.createIncidentQuery().singleResult(); assertThat(incident, is(notNullValue())); // inherit the tenant id from job assertThat(incident.getTenantId(), is(TENANT_ID)); }
private BpmnModelInstance prepareSimpleProcess(String name) { BpmnModelInstance calledA = Bpmn.createExecutableProcess(name) .startEvent() .userTask("Task" + name) .endEvent() .done(); return calledA; }
protected BpmnModelInstance createProcess(String scriptFormat, String scriptText) { return Bpmn.createExecutableProcess("testProcess") .startEvent() .scriptTask() .scriptFormat(scriptFormat) .scriptText(scriptText) .userTask() .endEvent() .done(); }
private InputStream createMockDeploymentResourceBpmnDataNonExecutableProcess() { // do not close the input stream, will be done in implementation String model = Bpmn.convertToString(Bpmn.createProcess().startEvent().endEvent().done()); InputStream inputStream = new ByteArrayInputStream(model.getBytes()); return inputStream; }
public static BpmnModelInstance prepareMessageEventProcess() { return Bpmn.createExecutableProcess(PROCESS_ID) .startEvent() .intermediateThrowEvent(FAILING_EVENT) .camundaAsyncBefore(true) .camundaFailedJobRetryTimeCycle(SCHEDULE) .message(MESSAGE) .serviceTask() .camundaClass(FailingDelegate.class.getName()) .done(); }
@Test public void testSetLocalScopeInSubprocessWithEndExecutionListener() { testHelper.deploy(Bpmn.createExecutableProcess("process") .startEvent() .subProcess().embeddedSubProcess() .startEvent() .endEvent().id("activityId") .camundaExecutionListenerClass(ExecutionListener.EVENTNAME_END, ExecutionListener.class) .subProcessDone() .endEvent() .done()); engineRule.getRuntimeService().startProcessInstanceByKey("process"); }
@Test public void testSetLocalScopeWithExecutionListenerTake() { BpmnModelInstance modelInstance = Bpmn.createExecutableProcess("process") .startEvent().id("activityId") .sequenceFlowId("sequenceFlow") .endEvent() .done(); CamundaExecutionListener listener = modelInstance.newInstance(CamundaExecutionListener.class); listener.setCamundaEvent(ExecutionListener.EVENTNAME_TAKE); listener.setCamundaClass(ExecutionListener.class.getName()); modelInstance.<SequenceFlow>getModelElementById("sequenceFlow").builder().addExtensionElement(listener); testHelper.deploy(modelInstance); engineRule.getRuntimeService().startProcessInstanceByKey("process"); }
public void testTxListenersInvokeAsync() { BpmnModelInstance process = Bpmn.createExecutableProcess("testProcess") .startEvent() .camundaAsyncBefore() .camundaAsyncAfter() .endEvent() .done(); Deployment deployment = repositoryService.createDeployment() .addModelInstance("testProcess.bpmn", process) .deploy(); ProcessInstance pi = runtimeService.startProcessInstanceByKey("testProcess"); waitForJobExecutorToProcessAllJobs(6000); assertProcessEnded(pi.getId()); repositoryService.deleteDeployment(deployment.getId(), true); }
public SagaBuilder triggerCompensationOnAnyError() { process.eventSubProcess() .startEvent("ErrorCatched").error("java.lang.Throwable") .intermediateThrowEvent("ToBeCompensated").compensateEventDefinition().compensateEventDefinitionDone() .endEvent("ErrorHandled"); return this; }
public void testPropagateTenantIdToStartMessageEventSubscription() { deploymentForTenant(TENANT_ID, Bpmn.createExecutableProcess(PROCESS_DEFINITION_KEY) .startEvent() .message("start") .endEvent() .done()); // the event subscription of the message start is created on deployment EventSubscription eventSubscription = runtimeService.createEventSubscriptionQuery().singleResult(); assertThat(eventSubscription, is(notNullValue())); // inherit the tenant id from process definition assertThat(eventSubscription.getTenantId(), is(TENANT_ID)); }
public void testPropagateTenantIdToStartTimerJobDefinition() { deploymentForTenant(TENANT_ID, Bpmn.createExecutableProcess(PROCESS_DEFINITION_KEY) .startEvent() .timerWithDuration("PT1M") .endEvent() .done()); // the job definition is created on deployment JobDefinition jobDefinition = managementService.createJobDefinitionQuery().singleResult(); assertThat(jobDefinition, is(notNullValue())); // inherit the tenant id from process definition assertThat(jobDefinition.getTenantId(), is(TENANT_ID)); }