Java源码示例:org.camunda.bpm.engine.CaseService
示例1
@Autowired
public ShipmentBoundaryServiceImpl(CompleteShipmentOrderTask completeShipmentOrderTask,
OrganizeFlightTask organizeFlightTask,
CreateInvoiceTask createInvoiceTask,
ShipmentRepository shipmentRepository,
InvoiceRepository invoiceRepository,
FlightDepartedSentry flightDepartedSentry,
FlightDeparted flightDeparted,
ShipmentCaseControlService shipmentCaseControlService,
ShipmentCaseEvaluator shipmentCaseEvaluator,
ProcessEngine processEngine,
CaseService caseService,
TaskService taskService) {
this.completeShipmentOrderTask = completeShipmentOrderTask;
this.organizeFlightTask = organizeFlightTask;
this.createInvoiceTask = createInvoiceTask;
this.shipmentRepository = shipmentRepository;
this.invoiceRepository = invoiceRepository;
this.flightDepartedSentry = flightDepartedSentry;
this.flightDeparted = flightDeparted;
this.shipmentCaseControlService = shipmentCaseControlService;
this.shipmentCaseEvaluator = shipmentCaseEvaluator;
this.caseService = caseService;
this.taskService = taskService;
}
示例2
@Test
public void prepare_with_service_mock() {
CaseService caseService = mock(CaseService.class);
String uuid = UUID.randomUUID().toString();
String businessKey = "12";
AtomicReference<CaseInstanceFake> reference = CaseInstanceFake.prepareMock(caseService, uuid);
assertThat(reference.get()).isNull();
CaseInstance instance = caseService.createCaseInstanceByKey("case", businessKey, Variables.putValue("foo", "bar"));
assertThat(reference.get()).isNotNull();
assertThat(instance.getCaseInstanceId()).isEqualTo(uuid);
assertThat(caseService.getVariable(uuid, "foo")).isEqualTo("bar");
caseService.setVariable(uuid, "hello", 456);
assertThat(caseService.getVariable(uuid, "hello")).isEqualTo(456);
assertThat(caseService.createCaseInstanceQuery().singleResult()).isEqualTo(reference.get());
}
示例3
private void mockServices(ProcessEngine engine) {
RepositoryService repoService = mock(RepositoryService.class);
IdentityService identityService = mock(IdentityService.class);
TaskService taskService = mock(TaskService.class);
RuntimeService runtimeService = mock(RuntimeService.class);
FormService formService = mock(FormService.class);
HistoryService historyService = mock(HistoryService.class);
ManagementService managementService = mock(ManagementService.class);
CaseService caseService = mock(CaseService.class);
FilterService filterService = mock(FilterService.class);
ExternalTaskService externalTaskService = mock(ExternalTaskService.class);
when(engine.getRepositoryService()).thenReturn(repoService);
when(engine.getIdentityService()).thenReturn(identityService);
when(engine.getTaskService()).thenReturn(taskService);
when(engine.getRuntimeService()).thenReturn(runtimeService);
when(engine.getFormService()).thenReturn(formService);
when(engine.getHistoryService()).thenReturn(historyService);
when(engine.getManagementService()).thenReturn(managementService);
when(engine.getCaseService()).thenReturn(caseService);
when(engine.getFilterService()).thenReturn(filterService);
when(engine.getExternalTaskService()).thenReturn(externalTaskService);
}
示例4
private void mockServices(ProcessEngine engine) {
RepositoryService repoService = mock(RepositoryService.class);
IdentityService identityService = mock(IdentityService.class);
TaskService taskService = mock(TaskService.class);
RuntimeService runtimeService = mock(RuntimeService.class);
FormService formService = mock(FormService.class);
HistoryService historyService = mock(HistoryService.class);
ManagementService managementService = mock(ManagementService.class);
CaseService caseService = mock(CaseService.class);
FilterService filterService = mock(FilterService.class);
ExternalTaskService externalTaskService = mock(ExternalTaskService.class);
when(engine.getRepositoryService()).thenReturn(repoService);
when(engine.getIdentityService()).thenReturn(identityService);
when(engine.getTaskService()).thenReturn(taskService);
when(engine.getRuntimeService()).thenReturn(runtimeService);
when(engine.getFormService()).thenReturn(formService);
when(engine.getHistoryService()).thenReturn(historyService);
when(engine.getManagementService()).thenReturn(managementService);
when(engine.getCaseService()).thenReturn(caseService);
when(engine.getFilterService()).thenReturn(filterService);
when(engine.getExternalTaskService()).thenReturn(externalTaskService);
}
示例5
@Before
public void setUpRuntime() {
CaseDefinition mockCaseDefinition = MockProvider.createMockCaseDefinition();
setUpRuntimeData(mockCaseDefinition);
caseServiceMock = mock(CaseService.class);
when(processEngine.getCaseService()).thenReturn(caseServiceMock);
caseInstanceBuilder = mock(CaseInstanceBuilder.class);
CaseInstance mockCaseInstance = MockProvider.createMockCaseInstance();
when(caseServiceMock.withCaseDefinition(MockProvider.EXAMPLE_CASE_DEFINITION_ID)).thenReturn(caseInstanceBuilder);
when(caseInstanceBuilder.businessKey(anyString())).thenReturn(caseInstanceBuilder);
when(caseInstanceBuilder.setVariables(Matchers.<Map<String, Object>>any())).thenReturn(caseInstanceBuilder);
when(caseInstanceBuilder.create()).thenReturn(mockCaseInstance);
}
示例6
@DescribesScenario("triggerStageEntryCriterion")
public static ScenarioSetup completeStage() {
return new ScenarioSetup() {
public void execute(ProcessEngine engine, String scenarioName) {
CaseService caseService = engine.getCaseService();
CaseInstance caseInstance = caseService.createCaseInstanceByKey("case", scenarioName);
String caseInstanceId = caseInstance.getId();
CaseExecutionQuery query = caseService.createCaseExecutionQuery().caseInstanceId(caseInstanceId);
String firstHumanTaskId = query.activityId("PI_HumanTask_1").singleResult().getId();
caseService.manuallyStartCaseExecution(firstHumanTaskId);
caseService.completeCaseExecution(firstHumanTaskId);
String secondHumanTaskId = query.activityId("PI_HumanTask_2").singleResult().getId();
caseService.manuallyStartCaseExecution(secondHumanTaskId);
}
};
}
示例7
@DescribesScenario("newSentryInstance")
public static ScenarioSetup newSentryInstance() {
return new ScenarioSetup() {
public void execute(ProcessEngine engine, String scenarioName) {
CaseService caseService = engine.getCaseService();
CaseInstance caseInstance = caseService.createCaseInstanceByKey("case", scenarioName);
String caseInstanceId = caseInstance.getId();
CaseExecutionQuery query = caseService.createCaseExecutionQuery().caseInstanceId(caseInstanceId);
String firstHumanTaskId = query.activityId("PI_HumanTask_1").singleResult().getId();
caseService.manuallyStartCaseExecution(firstHumanTaskId);
caseService.completeCaseExecution(firstHumanTaskId);
String secondHumanTaskId = query.activityId("PI_HumanTask_2").singleResult().getId();
caseService.manuallyStartCaseExecution(secondHumanTaskId);
caseService.completeCaseExecution(secondHumanTaskId);
}
};
}
示例8
@Test
public void assigneToMe() {
CaseService caseService = processEngine().getCaseService();
CaseInstance caseInstance = caseService.createCaseInstanceByKey("Case");
Task task = taskService().createTaskQuery().caseInstanceId(caseInstance.getId()).singleResult();
assertThat(task).isAssignedTo("me");
CaseExecution caseExecution = caseService.createCaseExecutionQuery().activityId("_ab60407c-449e-4048-ba9c-01bb59f2f095").singleResult();
caseService.completeCaseExecution(caseExecution.getId());
}
示例9
public static AtomicReference<CaseInstanceFake> prepareMock(CaseService caseServiceMock, String caseInstanceId) {
// create an instance with id
AtomicReference<CaseInstanceFake> caseInstanceFake = new AtomicReference<>();
when(caseServiceMock.createCaseInstanceByKey(anyString(), anyString(), anyMap())).thenAnswer(invocation -> {
CaseInstanceFakeBuilder builder = builder().caseInstanceId(caseInstanceId)
.caseDefinitionId(invocation.getArgument(0) + ":1")
.businessKey(invocation.getArgument(1));
((Map<String, Object>) invocation.getArgument(2)).forEach((k, v) -> builder.variable(k, v));
caseInstanceFake.set(builder.build());
// let every caseInstance query return our instance
QueryMocks.mockCaseInstanceQuery(caseServiceMock)
.singleResult(Optional.ofNullable(caseInstanceFake.get())
.orElse(null));
return caseInstanceFake.get();
});
// answer getVariable by asking the fakes variableMap
when(caseServiceMock.getVariable(ArgumentMatchers.eq(caseInstanceId), anyString()))
.then(invocation -> Optional.ofNullable(caseInstanceFake.get())
.map(i -> i.getVariable(invocation.getArgument(1))).orElse(null));
// modify fakes variableMap on setVariable
doAnswer(invocation -> {
caseInstanceFake.get().setVariable(invocation.getArgument(1), invocation.getArgument(2));
return null;
}).when(caseServiceMock).setVariable(eq(caseInstanceId), anyString(), any());
return caseInstanceFake;
}
示例10
public CaseExecutionDto getCaseExecution() {
CaseService caseService = engine.getCaseService();
CaseExecution execution = caseService
.createCaseExecutionQuery()
.caseExecutionId(caseExecutionId)
.singleResult();
if (execution == null) {
throw new InvalidRequestException(Status.NOT_FOUND, "Case execution with id " + caseExecutionId + " does not exist.");
}
CaseExecutionDto result = CaseExecutionDto.fromCaseExecution(execution);
return result;
}
示例11
protected void updateVariableEntities(VariableMap variables, List<String> deletions) {
CaseService caseService = engine.getCaseService();
caseService
.withCaseExecution(resourceId)
.setVariablesLocal(variables)
.removeVariablesLocal(deletions)
.execute();
}
示例12
protected void removeVariableEntity(String variableKey) {
CaseService caseService = engine.getCaseService();
caseService
.withCaseExecution(resourceId)
.removeVariableLocal(variableKey)
.execute();
}
示例13
public CaseInstanceDto getCaseInstance() {
CaseService caseService = engine.getCaseService();
CaseInstance instance = caseService
.createCaseInstanceQuery()
.caseInstanceId(caseInstanceId)
.singleResult();
if (instance == null) {
throw new InvalidRequestException(Status.NOT_FOUND, "Case instance with id " + caseInstanceId + " does not exist.");
}
CaseInstanceDto result = CaseInstanceDto.fromCaseInstance(instance);
return result;
}
示例14
protected void updateVariableEntities(VariableMap variables, List<String> deletions) {
CaseService caseService = engine.getCaseService();
caseService
.withCaseExecution(resourceId)
.setVariables(variables)
.removeVariables(deletions)
.execute();
}
示例15
protected void removeVariableEntity(String variableKey) {
CaseService caseService = engine.getCaseService();
caseService
.withCaseExecution(resourceId)
.removeVariable(variableKey)
.execute();
}
示例16
protected void setVariableEntity(String variableKey, TypedValue variableValue) {
CaseService caseService = engine.getCaseService();
caseService
.withCaseExecution(resourceId)
.setVariable(variableKey, variableValue)
.execute();
}
示例17
@Before
public void setUpRuntime() {
CaseExecution mockCaseExecution = MockProvider.createMockCaseExecution();
caseServiceMock = mock(CaseService.class);
when(processEngine.getCaseService()).thenReturn(caseServiceMock);
caseExecutionQueryMock = mock(CaseExecutionQuery.class);
when(caseServiceMock.createCaseExecutionQuery()).thenReturn(caseExecutionQueryMock);
when(caseExecutionQueryMock.caseExecutionId(MockProvider.EXAMPLE_CASE_EXECUTION_ID)).thenReturn(caseExecutionQueryMock);
when(caseExecutionQueryMock.singleResult()).thenReturn(mockCaseExecution);
when(caseServiceMock.getVariableTyped(anyString(), anyString(), eq(true))).thenReturn(EXAMPLE_VARIABLE_VALUE);
when(caseServiceMock.getVariablesTyped(anyString(), eq(true))).thenReturn(EXAMPLE_VARIABLES);
when(caseServiceMock.getVariableLocalTyped(anyString(), eq(EXAMPLE_VARIABLE_KEY), anyBoolean())).thenReturn(EXAMPLE_VARIABLE_VALUE);
when(caseServiceMock.getVariableLocalTyped(anyString(), eq(EXAMPLE_BYTES_VARIABLE_KEY), eq(false))).thenReturn(EXAMPLE_VARIABLE_VALUE_BYTES);
when(caseServiceMock.getVariablesLocalTyped(anyString(), eq(true))).thenReturn(EXAMPLE_VARIABLES);
when(caseServiceMock.getVariablesTyped(anyString(), Matchers.<Collection<String>>any(), eq(true))).thenReturn(EXAMPLE_VARIABLES);
when(caseServiceMock.getVariablesLocalTyped(anyString(), Matchers.<Collection<String>>any(), eq(true))).thenReturn(EXAMPLE_VARIABLES);
caseExecutionCommandBuilderMock = mock(CaseExecutionCommandBuilder.class);
when(caseServiceMock.withCaseExecution(MockProvider.EXAMPLE_CASE_EXECUTION_ID)).thenReturn(caseExecutionCommandBuilderMock);
when(caseExecutionCommandBuilderMock.setVariable(anyString(), any())).thenReturn(caseExecutionCommandBuilderMock);
when(caseExecutionCommandBuilderMock.setVariableLocal(anyString(), any())).thenReturn(caseExecutionCommandBuilderMock);
when(caseExecutionCommandBuilderMock.setVariables(Matchers.<Map<String, Object>>any())).thenReturn(caseExecutionCommandBuilderMock);
when(caseExecutionCommandBuilderMock.setVariablesLocal(Matchers.<Map<String, Object>>any())).thenReturn(caseExecutionCommandBuilderMock);
when(caseExecutionCommandBuilderMock.removeVariable(anyString())).thenReturn(caseExecutionCommandBuilderMock);
when(caseExecutionCommandBuilderMock.removeVariableLocal(anyString())).thenReturn(caseExecutionCommandBuilderMock);
when(caseExecutionCommandBuilderMock.removeVariables(Matchers.<Collection<String>>any())).thenReturn(caseExecutionCommandBuilderMock);
when(caseExecutionCommandBuilderMock.removeVariablesLocal(Matchers.<Collection<String>>any())).thenReturn(caseExecutionCommandBuilderMock);
}
示例18
@DescribesScenario("triggerTaskEntryCriterion")
public static ScenarioSetup triggerEntryCriterion() {
return new ScenarioSetup() {
public void execute(ProcessEngine engine, String scenarioName) {
CaseService caseService = engine.getCaseService();
caseService.createCaseInstanceByKey("case", scenarioName);
}
};
}
示例19
@DescribesScenario("completeInstance")
public static ScenarioSetup completeInstance() {
return new ScenarioSetup() {
public void execute(ProcessEngine engine, String scenarioName) {
CaseService caseService = engine.getCaseService();
caseService.createCaseInstanceByKey("case", scenarioName);
}
};
}
示例20
public CaseService getCaseService() {
return processEngine.getCaseService();
}
示例21
@Autowired
public FlightDepartedSentry(CaseService caseService) {
this.caseService = caseService;
}
示例22
public CaseInstanceQueryMock() {
super(CaseInstanceQuery.class, CaseService.class);
}
示例23
public CaseExecutionQueryMock() {
super(CaseExecutionQuery.class, CaseService.class);
}
示例24
public CaseService getCaseService() {
return caseService;
}
示例25
public void setCaseService(CaseService caseService) {
this.caseService = caseService;
}
示例26
@Override
public CaseService getCaseService() {
return caseService;
}
示例27
@Override
public CaseService getCaseService() {
return caseService;
}
示例28
public void setCaseService(CaseService caseService) {
this.caseService = caseService;
}
示例29
protected VariableMap getVariableEntities(boolean deserializeValues) {
CaseService caseService = engine.getCaseService();
return caseService.getVariablesLocalTyped(resourceId, deserializeValues);
}
示例30
protected TypedValue getVariableEntity(String variableKey, boolean deserializeValue) {
CaseService caseService = engine.getCaseService();
return caseService.getVariableLocalTyped(resourceId, variableKey, deserializeValue);
}