public boolean isAsyncAfter() { JobDefinition jobDefinition = jobEntity.getJobDefinition(); return MessageJobDeclaration.ASYNC_AFTER.equals(jobDefinition.getJobConfiguration()); }
public boolean isAsyncAfter() { JobDefinition jobDefinition = jobEntity.getJobDefinition(); return MessageJobDeclaration.ASYNC_AFTER.equals(jobDefinition.getJobConfiguration()); }
public JobDefinition build() { JobDefinition mockJobDefinition = mock(JobDefinition.class); when(mockJobDefinition.getId()).thenReturn(id); when(mockJobDefinition.getActivityId()).thenReturn(activityId); when(mockJobDefinition.getJobConfiguration()).thenReturn(jobConfiguration); when(mockJobDefinition.getOverridingJobPriority()).thenReturn(jobPriority); when(mockJobDefinition.getJobType()).thenReturn(jobType); when(mockJobDefinition.getProcessDefinitionId()).thenReturn(processDefinitionId); when(mockJobDefinition.getProcessDefinitionKey()).thenReturn(processDefinitionKey); when(mockJobDefinition.isSuspended()).thenReturn(suspended); when(mockJobDefinition.getTenantId()).thenReturn(tenantId); return mockJobDefinition; }
@Test public void testCreateBothAsyncJobDefinitionWithParseListener() { //given String modelFileName = "jobCreationWithinParseListener.bpmn20.xml"; InputStream in = JobDefinitionCreationWithParseListenerTest.class.getResourceAsStream(modelFileName); DeploymentBuilder builder = engineRule.getRepositoryService().createDeployment().addInputStream(modelFileName, in); //when the asyncBefore and asyncAfter is set to true in the parse listener Deployment deployment = builder.deploy(); engineRule.manageDeployment(deployment); //then there exists two job definitions JobDefinitionQuery query = engineRule.getManagementService().createJobDefinitionQuery(); List<JobDefinition> definitions = query.orderByJobConfiguration().asc().list(); assertEquals(definitions.size(), 2); //asyncAfter JobDefinition asyncAfterAfter = definitions.get(0); assertEquals(asyncAfterAfter.getProcessDefinitionKey(), "oneTaskProcess"); assertEquals(asyncAfterAfter.getActivityId(), "servicetask1"); assertEquals(asyncAfterAfter.getJobConfiguration(), MessageJobDeclaration.ASYNC_AFTER); //asyncBefore JobDefinition asyncAfterBefore = definitions.get(1); assertEquals(asyncAfterBefore.getProcessDefinitionKey(), "oneTaskProcess"); assertEquals(asyncAfterBefore.getActivityId(), "servicetask1"); assertEquals(asyncAfterBefore.getJobConfiguration(), MessageJobDeclaration.ASYNC_BEFORE); }
@Test public void testCreateBothJobDefinitionWithParseListenerAndAsynBothInXml() { //given the asyncBefore AND asyncAfter is set in the xml String modelFileName = "jobAsyncBothCreationWithinParseListener.bpmn20.xml"; InputStream in = JobDefinitionCreationWithParseListenerTest.class.getResourceAsStream(modelFileName); DeploymentBuilder builder = engineRule.getRepositoryService().createDeployment().addInputStream(modelFileName, in); //when the asyncBefore and asyncAfter is set to true in the parse listener Deployment deployment = builder.deploy(); engineRule.manageDeployment(deployment); //then there exists two job definitions JobDefinitionQuery query = engineRule.getManagementService().createJobDefinitionQuery(); List<JobDefinition> definitions = query.orderByJobConfiguration().asc().list(); assertEquals(definitions.size(), 2); //asyncAfter JobDefinition asyncAfterAfter = definitions.get(0); assertEquals(asyncAfterAfter.getProcessDefinitionKey(), "oneTaskProcess"); assertEquals(asyncAfterAfter.getActivityId(), "servicetask1"); assertEquals(asyncAfterAfter.getJobConfiguration(), MessageJobDeclaration.ASYNC_AFTER); //asyncBefore JobDefinition asyncAfterBefore = definitions.get(1); assertEquals(asyncAfterBefore.getProcessDefinitionKey(), "oneTaskProcess"); assertEquals(asyncAfterBefore.getActivityId(), "servicetask1"); assertEquals(asyncAfterBefore.getJobConfiguration(), MessageJobDeclaration.ASYNC_BEFORE); } }
public static JobDefinitionDto fromJobDefinition(JobDefinition definition) { JobDefinitionDto dto = new JobDefinitionDto(); dto.id = definition.getId(); dto.processDefinitionId = definition.getProcessDefinitionId(); dto.processDefinitionKey = definition.getProcessDefinitionKey(); dto.jobType = definition.getJobType(); dto.jobConfiguration = definition.getJobConfiguration(); dto.activityId = definition.getActivityId(); dto.suspended = definition.isSuspended(); dto.overridingJobPriority = definition.getOverridingJobPriority(); dto.tenantId = definition.getTenantId(); return dto; }
@Test public void testCreateBothJobDefinitionWithParseListenerAndAsyncBeforeInXml() { //given the asyncBefore is set in the xml String modelFileName = "jobAsyncBeforeCreationWithinParseListener.bpmn20.xml"; InputStream in = JobDefinitionCreationWithParseListenerTest.class.getResourceAsStream(modelFileName); DeploymentBuilder builder = engineRule.getRepositoryService().createDeployment().addInputStream(modelFileName, in); //when the asyncBefore and asyncAfter is set to true in the parse listener Deployment deployment = builder.deploy(); engineRule.manageDeployment(deployment); //then there exists two job definitions JobDefinitionQuery query = engineRule.getManagementService().createJobDefinitionQuery(); List<JobDefinition> definitions = query.orderByJobConfiguration().asc().list(); assertEquals(definitions.size(), 2); //asyncAfter JobDefinition asyncAfterAfter = definitions.get(0); assertEquals(asyncAfterAfter.getProcessDefinitionKey(), "oneTaskProcess"); assertEquals(asyncAfterAfter.getActivityId(), "servicetask1"); assertEquals(asyncAfterAfter.getJobConfiguration(), MessageJobDeclaration.ASYNC_AFTER); //asyncBefore JobDefinition asyncAfterBefore = definitions.get(1); assertEquals(asyncAfterBefore.getProcessDefinitionKey(), "oneTaskProcess"); assertEquals(asyncAfterBefore.getActivityId(), "servicetask1"); assertEquals(asyncAfterBefore.getJobConfiguration(), MessageJobDeclaration.ASYNC_BEFORE); }
public static JobDefinitionDto fromJobDefinition(JobDefinition definition) { JobDefinitionDto dto = new JobDefinitionDto(); dto.id = definition.getId(); dto.processDefinitionId = definition.getProcessDefinitionId(); dto.processDefinitionKey = definition.getProcessDefinitionKey(); dto.jobType = definition.getJobType(); dto.jobConfiguration = definition.getJobConfiguration(); dto.activityId = definition.getActivityId(); dto.suspended = definition.isSuspended(); dto.overridingJobPriority = definition.getOverridingJobPriority(); dto.tenantId = definition.getTenantId(); return dto; }
@Test public void testDeleteNonExistingAndCreateNewJobDefinitionWithParseListener() { //given String modelFileName = "jobCreationWithinParseListener.bpmn20.xml"; InputStream in = JobDefinitionCreationWithParseListenerTest.class.getResourceAsStream(modelFileName); DeploymentBuilder builder = engineRule.getRepositoryService().createDeployment().addInputStream(modelFileName, in); //when the asyncBefore is set to false and the asyncAfter to true in the parse listener Deployment deployment = builder.deploy(); engineRule.manageDeployment(deployment); //then there exists one job definition JobDefinitionQuery query = engineRule.getManagementService().createJobDefinitionQuery(); JobDefinition jobDef = query.singleResult(); assertNotNull(jobDef); assertEquals(jobDef.getProcessDefinitionKey(), "oneTaskProcess"); assertEquals(jobDef.getActivityId(), "servicetask1"); assertEquals(jobDef.getJobConfiguration(), MessageJobDeclaration.ASYNC_AFTER); }
@Test public void testDeleteJobDefinitionWithParseListenerAndAsyncInXml() { //given the asyncBefore is set in the xml String modelFileName = "jobAsyncBeforeCreationWithinParseListener.bpmn20.xml"; InputStream in = JobDefinitionCreationWithParseListenerTest.class.getResourceAsStream(modelFileName); DeploymentBuilder builder = engineRule.getRepositoryService().createDeployment().addInputStream(modelFileName, in); //when the asyncBefore is set to false and the asyncAfter to true in the parse listener Deployment deployment = builder.deploy(); engineRule.manageDeployment(deployment); //then there exists one job definition JobDefinitionQuery query = engineRule.getManagementService().createJobDefinitionQuery(); JobDefinition jobDef = query.singleResult(); assertNotNull(jobDef); assertEquals(jobDef.getProcessDefinitionKey(), "oneTaskProcess"); assertEquals(jobDef.getActivityId(), "servicetask1"); assertEquals(jobDef.getJobConfiguration(), MessageJobDeclaration.ASYNC_AFTER); }
@Test public void testDeleteJobDefinitionWithParseListenerAndAsyncBothInXml() { //given the asyncBefore AND asyncAfter is set in the xml String modelFileName = "jobAsyncBothCreationWithinParseListener.bpmn20.xml"; InputStream in = JobDefinitionCreationWithParseListenerTest.class.getResourceAsStream(modelFileName); DeploymentBuilder builder = engineRule.getRepositoryService().createDeployment().addInputStream(modelFileName, in); //when the asyncBefore is set to false and the asyncAfter to true in the parse listener Deployment deployment = builder.deploy(); engineRule.manageDeployment(deployment); //then there exists one job definition JobDefinitionQuery query = engineRule.getManagementService().createJobDefinitionQuery(); JobDefinition jobDef = query.singleResult(); assertNotNull(jobDef); assertEquals(jobDef.getProcessDefinitionKey(), "oneTaskProcess"); assertEquals(jobDef.getActivityId(), "servicetask1"); assertEquals(jobDef.getJobConfiguration(), MessageJobDeclaration.ASYNC_AFTER); } }
@Deployment public void testTimerBoundaryEvent() { // given ProcessDefinition processDefinition = repositoryService.createProcessDefinitionQuery().singleResult(); JobDefinition jobDefinition = managementService.createJobDefinitionQuery().processDefinitionKey("testProcess").singleResult(); // then assert assertNotNull(jobDefinition); assertEquals(TimerExecuteNestedActivityJobHandler.TYPE, jobDefinition.getJobType()); assertEquals("theBoundaryEvent", jobDefinition.getActivityId()); assertEquals("DATE: 2036-11-14T11:12:22", jobDefinition.getJobConfiguration()); assertEquals(processDefinition.getId(), jobDefinition.getProcessDefinitionId()); }
@Deployment public void testTimerIntermediateEvent() { // given ProcessDefinition processDefinition = repositoryService.createProcessDefinitionQuery().singleResult(); JobDefinition jobDefinition = managementService.createJobDefinitionQuery().processDefinitionKey("testProcess").singleResult(); // then assert assertNotNull(jobDefinition); assertEquals(TimerCatchIntermediateEventJobHandler.TYPE, jobDefinition.getJobType()); assertEquals("timer", jobDefinition.getActivityId()); assertEquals("DURATION: PT5M", jobDefinition.getJobConfiguration()); assertEquals(processDefinition.getId(), jobDefinition.getProcessDefinitionId()); }
@Deployment public void testAsyncContinuationOfMultiInstance() { // given ProcessDefinition processDefinition = repositoryService.createProcessDefinitionQuery().singleResult(); JobDefinition jobDefinition = managementService.createJobDefinitionQuery().processDefinitionKey("testProcess").singleResult(); // then assert assertNotNull(jobDefinition); assertEquals(AsyncContinuationJobHandler.TYPE, jobDefinition.getJobType()); assertEquals("theService" + BpmnParse.MULTI_INSTANCE_BODY_ID_SUFFIX, jobDefinition.getActivityId()); assertEquals(MessageJobDeclaration.ASYNC_AFTER, jobDefinition.getJobConfiguration()); assertEquals(processDefinition.getId(), jobDefinition.getProcessDefinitionId()); }
@Deployment public void testAsyncContinuationOfActivityWrappedInMultiInstance() { // given ProcessDefinition processDefinition = repositoryService.createProcessDefinitionQuery().singleResult(); JobDefinition jobDefinition = managementService.createJobDefinitionQuery().processDefinitionKey("testProcess").singleResult(); // then assert assertNotNull(jobDefinition); assertEquals(AsyncContinuationJobHandler.TYPE, jobDefinition.getJobType()); assertEquals("theService", jobDefinition.getActivityId()); assertEquals(MessageJobDeclaration.ASYNC_AFTER, jobDefinition.getJobConfiguration()); assertEquals(processDefinition.getId(), jobDefinition.getProcessDefinitionId()); }
@Deployment public void testAsyncContinuation() { // given ProcessDefinition processDefinition = repositoryService.createProcessDefinitionQuery().singleResult(); JobDefinition jobDefinition = managementService.createJobDefinitionQuery().processDefinitionKey("testProcess").singleResult(); // then assert assertNotNull(jobDefinition); assertEquals(AsyncContinuationJobHandler.TYPE, jobDefinition.getJobType()); assertEquals("theService", jobDefinition.getActivityId()); assertEquals(MessageJobDeclaration.ASYNC_BEFORE, jobDefinition.getJobConfiguration()); assertEquals(processDefinition.getId(), jobDefinition.getProcessDefinitionId()); }
@Deployment public void testEventBasedGateway() { // given ProcessDefinition processDefinition = repositoryService.createProcessDefinitionQuery().singleResult(); JobDefinitionQuery jobDefinitionQuery = managementService.createJobDefinitionQuery().processDefinitionKey("testProcess"); // then assert assertEquals(2, jobDefinitionQuery.count()); JobDefinition jobDefinition = jobDefinitionQuery.activityIdIn("timer1").singleResult(); assertNotNull(jobDefinition); assertEquals(TimerCatchIntermediateEventJobHandler.TYPE, jobDefinition.getJobType()); assertEquals("timer1", jobDefinition.getActivityId()); assertEquals("DURATION: PT5M", jobDefinition.getJobConfiguration()); assertEquals(processDefinition.getId(), jobDefinition.getProcessDefinitionId()); jobDefinition = jobDefinitionQuery.activityIdIn("timer2").singleResult(); assertNotNull(jobDefinition); assertEquals(TimerCatchIntermediateEventJobHandler.TYPE, jobDefinition.getJobType()); assertEquals("timer2", jobDefinition.getActivityId()); assertEquals("DURATION: PT10M", jobDefinition.getJobConfiguration()); assertEquals(processDefinition.getId(), jobDefinition.getProcessDefinitionId()); }
@Deployment public void testMultipleTimerBoundaryEvents() { // given ProcessDefinition processDefinition = repositoryService.createProcessDefinitionQuery().singleResult(); JobDefinitionQuery jobDefinitionQuery = managementService.createJobDefinitionQuery().processDefinitionKey("testProcess"); // then assert assertEquals(2, jobDefinitionQuery.count()); JobDefinition jobDefinition = jobDefinitionQuery.activityIdIn("theBoundaryEvent1").singleResult(); assertNotNull(jobDefinition); assertEquals(TimerExecuteNestedActivityJobHandler.TYPE, jobDefinition.getJobType()); assertEquals("theBoundaryEvent1", jobDefinition.getActivityId()); assertEquals("DATE: 2036-11-14T11:12:22", jobDefinition.getJobConfiguration()); assertEquals(processDefinition.getId(), jobDefinition.getProcessDefinitionId()); jobDefinition = jobDefinitionQuery.activityIdIn("theBoundaryEvent2").singleResult(); assertNotNull(jobDefinition); assertEquals(TimerExecuteNestedActivityJobHandler.TYPE, jobDefinition.getJobType()); assertEquals("theBoundaryEvent2", jobDefinition.getActivityId()); assertEquals("DURATION: PT5M", jobDefinition.getJobConfiguration()); assertEquals(processDefinition.getId(), jobDefinition.getProcessDefinitionId()); }
@Deployment public void testTimerStartEvent() { // given ProcessDefinition processDefinition = repositoryService.createProcessDefinitionQuery().singleResult(); JobDefinition jobDefinition = managementService.createJobDefinitionQuery().processDefinitionKey("testProcess").singleResult(); // then assert assertNotNull(jobDefinition); assertEquals(TimerStartEventJobHandler.TYPE, jobDefinition.getJobType()); assertEquals("theStart", jobDefinition.getActivityId()); assertEquals("DATE: 2036-11-14T11:12:22", jobDefinition.getJobConfiguration()); assertEquals(processDefinition.getId(), jobDefinition.getProcessDefinitionId()); // there exists a job with the correct job definition id: Job timerStartJob = managementService.createJobQuery().singleResult(); assertEquals(jobDefinition.getId(), timerStartJob.getJobDefinitionId()); }
@Test public void createSeedJobByQuery() { // given HistoricDecisionInstanceQuery query = historyService.createHistoricDecisionInstanceQuery().decisionDefinitionKey(DECISION); // when Batch batch = historyService.deleteHistoricDecisionInstancesAsync(decisionInstanceIds, query, null); // then there exists a seed job definition with the batch id as // configuration JobDefinition seedJobDefinition = helper.getSeedJobDefinition(batch); assertNotNull(seedJobDefinition); assertEquals(batch.getId(), seedJobDefinition.getJobConfiguration()); assertEquals(BatchSeedJobHandler.TYPE, seedJobDefinition.getJobType()); // and there exists a deletion job definition JobDefinition deletionJobDefinition = helper.getExecutionJobDefinition(batch); assertNotNull(deletionJobDefinition); assertEquals(Batch.TYPE_HISTORIC_DECISION_INSTANCE_DELETION, deletionJobDefinition.getJobType()); // and a seed job with no relation to a process or execution etc. Job seedJob = helper.getSeedJob(batch); assertNotNull(seedJob); assertEquals(seedJobDefinition.getId(), seedJob.getJobDefinitionId()); assertEquals(currentTime, seedJob.getDuedate()); assertNull(seedJob.getDeploymentId()); assertNull(seedJob.getProcessDefinitionId()); assertNull(seedJob.getProcessDefinitionKey()); assertNull(seedJob.getProcessInstanceId()); assertNull(seedJob.getExecutionId()); // but no deletion jobs where created List<Job> deletionJobs = helper.getExecutionJobs(batch); assertEquals(0, deletionJobs.size()); }