protected BpmnModelInstance createModel(boolean isCancelActivity, String date) { BpmnModelInstance model = Bpmn.createExecutableProcess() .startEvent("startEvent") .userTask("userTask").name("User Task") .boundaryEvent("timer") .cancelActivity(isCancelActivity) .timerWithDate(date) .userTask("afterTimer") .endEvent("endEvent") .done(); return model; } }
.camundaInputParameter("localVar", "${loopVar}") .camundaInputParameter("constVar", "someValue") //to test array of parameters .boundaryEvent("MessageReceiver_1").message(TEST_MESSAGE_NAME) .userTask("UserTask_2") .endEvent()
@Override public BpmnModelInstance getProcessWithVarName(boolean interrupting, String condition) { return modify(TASK_MODEL) .userTaskBuilder(TASK_BEFORE_CONDITION_ID) .boundaryEvent() .cancelActivity(interrupting) .conditionalEventDefinition(CONDITIONAL_EVENT) .condition(condition) .camundaVariableName(VARIABLE_NAME) .conditionalEventDefinitionDone() .userTask() .name(TASK_AFTER_CONDITION) .endEvent() .done(); }
@Override public BpmnModelInstance getProcessWithVarEvents(boolean interrupting, String varEvent) { return modify(TASK_MODEL) .userTaskBuilder(TASK_BEFORE_CONDITION_ID) .boundaryEvent() .cancelActivity(interrupting) .conditionalEventDefinition(CONDITIONAL_EVENT) .condition(CONDITION_EXPR) .camundaVariableEvents(varEvent) .conditionalEventDefinitionDone() .userTask() .name(TASK_AFTER_CONDITION) .endEvent() .done(); }
@Override public BpmnModelInstance getProcessWithVarNameAndEvents(boolean interrupting, String varEvent) { return modify(TASK_MODEL) .userTaskBuilder(TASK_BEFORE_CONDITION_ID) .boundaryEvent() .cancelActivity(interrupting) .conditionalEventDefinition(CONDITIONAL_EVENT) .condition(CONDITION_EXPR) .camundaVariableName(VARIABLE_NAME) .camundaVariableEvents(varEvent) .conditionalEventDefinitionDone() .userTask() .name(TASK_AFTER_CONDITION) .endEvent() .done(); }
@Test public void testProcessWithBoundaryConditionalEvent() { //given BpmnModelInstance modelInstance = Bpmn.createExecutableProcess(CONDITIONAL_EVENT_PROCESS_KEY) .startEvent() .serviceTask() .camundaClass(CheckDelayedVariablesDelegate.class.getName()) .userTask(TASK_WITH_CONDITION_ID) .endEvent() .done(); modelInstance = modify(modelInstance).userTaskBuilder(TASK_WITH_CONDITION_ID) .boundaryEvent() .conditionalEventDefinition() .condition("${var==1}") .conditionalEventDefinitionDone() .endEvent() .done(); //when process is deployed and instance created rule.manageDeployment(rule.getRepositoryService().createDeployment().addModelInstance(CONDITIONAL_MODEL, modelInstance).deploy()); ProcessInstanceWithVariablesImpl processInstance = (ProcessInstanceWithVariablesImpl) rule.getRuntimeService().startProcessInstanceByKey(CONDITIONAL_EVENT_PROCESS_KEY); //then process definition contains property which indicates that conditional events exists Object property = processInstance.getExecutionEntity().getProcessDefinition().getProperty(BpmnParse.PROPERTYNAME_HAS_CONDITIONAL_EVENTS); assertNotNull(property); assertEquals(Boolean.TRUE, property); }
.boundaryEvent() .cancelActivity(true) .conditionalEventDefinition("event1")
.startEvent("startEvent") .userTask("userTask").name("User Task") .boundaryEvent("timerPast") .cancelActivity(false) .timerWithDate(DUE_DATE_IN_THE_PAST) .startEvent("startEvent") .userTask("userTask").name("User Task") .boundaryEvent("timerFuture") .cancelActivity(false) .timerWithDate(sdf.format(futureDueDate))
@Test public void testRemoveExecutionSequence() { // given BpmnModelInstance modelInstance = Bpmn.createExecutableProcess("singleTaskProcess") .startEvent() .userTask("taskWithLocalVariables") .camundaExecutionListenerClass("start", TestLocalVariableExecutionListener.class) .camundaTaskListenerClass("delete", TestLocalVariableTaskListener.class) .boundaryEvent() .signal("interruptSignal") .endEvent() .moveToActivity("taskWithLocalVariables") .endEvent() .done(); testRule.deploy(modelInstance); ProcessInstance pi = processEngineRule.getRuntimeService() .startProcessInstanceByKey("singleTaskProcess"); Execution execution = processEngineRule.getRuntimeService() .createExecutionQuery() .variableValueEquals("localVar", "localVarVal") .singleResult(); // when assertNotNull(execution); assertEquals(pi.getId(), execution.getProcessInstanceId()); processEngineRule.getRuntimeService().signal(execution.getId()); // then (see #TestLocalVariableTaskListener::notify) }
.boundaryEvent(BOUNDARY_ID) .condition(VAR_CONDITION) .userTask(TASK_AFTER_CONDITION_ID) .done()) .userTaskBuilder(USER_TASK_ID) .boundaryEvent(BOUNDARY_ID) .condition(VAR_CONDITION) .endEvent()
.done()) .userTaskBuilder(USER_TASK_ID) .boundaryEvent(BOUNDARY_ID) .condition(VAR_CONDITION) .endEvent() ProcessDefinition targetProcessDefinition = testHelper.deployAndGetDefinition(modify(ProcessModels.ONE_TASK_PROCESS) .userTaskBuilder(USER_TASK_ID) .boundaryEvent(BOUNDARY_ID) .condition(VAR_CONDITION) .userTask(TASK_AFTER_CONDITION_ID)
.startEvent("startEvent") .userTask("userTask").name("User Task") .boundaryEvent("timer2") .cancelActivity(false) .timerWithDate(DUE_DATE_IN_THE_PAST)
.startEvent("startEvent") .userTask("userTask").name("User Task") .boundaryEvent("timerPast") .cancelActivity(false) .timerWithDate(DUE_DATE_IN_THE_PAST)
.boundaryEvent(BOUNDARY_ID).timerWithDate(TIMER_DATE) .serviceTask("failingTask").camundaClass(FailingDelegate.class.getName()) .endEvent()
.boundaryEvent("boundary").timerWithDate(TIMER_DATE) .serviceTask("failingTask").camundaClass("org.camunda.bpm.engine.test.api.runtime.FailingDelegate") .endEvent()
.startEvent() .userTask("userTask1") .boundaryEvent("compensationBoundary") .compensateEventDefinition() .compensateEventDefinitionDone()
protected BpmnModelInstance createModel(boolean isCancelActivity, String date) { BpmnModelInstance model = Bpmn.createExecutableProcess() .startEvent("startEvent") .userTask("userTask").name("User Task") .boundaryEvent("timer") .cancelActivity(isCancelActivity) .timerWithDate(date) .userTask("afterTimer") .endEvent("endEvent") .done(); return model; } }
@Override public BpmnModelInstance getProcessWithVarEvents(boolean interrupting, String varEvent) { return modify(TASK_MODEL) .userTaskBuilder(TASK_BEFORE_CONDITION_ID) .boundaryEvent() .cancelActivity(interrupting) .conditionalEventDefinition(CONDITIONAL_EVENT) .condition(CONDITION_EXPR) .camundaVariableEvents(varEvent) .conditionalEventDefinitionDone() .userTask() .name(TASK_AFTER_CONDITION) .endEvent() .done(); }
@Override public BpmnModelInstance getProcessWithVarName(boolean interrupting, String condition) { return modify(TASK_MODEL) .userTaskBuilder(TASK_BEFORE_CONDITION_ID) .boundaryEvent() .cancelActivity(interrupting) .conditionalEventDefinition(CONDITIONAL_EVENT) .condition(condition) .camundaVariableName(VARIABLE_NAME) .conditionalEventDefinitionDone() .userTask() .name(TASK_AFTER_CONDITION) .endEvent() .done(); }
@Override public BpmnModelInstance getProcessWithVarNameAndEvents(boolean interrupting, String varEvent) { return modify(TASK_MODEL) .userTaskBuilder(TASK_BEFORE_CONDITION_ID) .boundaryEvent() .cancelActivity(interrupting) .conditionalEventDefinition(CONDITIONAL_EVENT) .condition(CONDITION_EXPR) .camundaVariableName(VARIABLE_NAME) .camundaVariableEvents(varEvent) .conditionalEventDefinitionDone() .userTask() .name(TASK_AFTER_CONDITION) .endEvent() .done(); }