public Date calculateRemovalTime(HistoricProcessInstanceEventEntity historicRootProcessInstance, ProcessDefinition processDefinition) { Integer historyTimeToLive = processDefinition.getHistoryTimeToLive(); if (historyTimeToLive != null) { if (isProcessInstanceRunning(historicRootProcessInstance)) { Date startTime = historicRootProcessInstance.getStartTime(); return determineRemovalTime(startTime, historyTimeToLive); } else if (isProcessInstanceEnded(historicRootProcessInstance)) { Date endTime = historicRootProcessInstance.getEndTime(); return determineRemovalTime(endTime, historyTimeToLive); } } return null; }
public Date calculateRemovalTime(HistoricProcessInstanceEventEntity historicRootProcessInstance, ProcessDefinition processDefinition) { Integer historyTimeToLive = processDefinition.getHistoryTimeToLive(); if (historyTimeToLive != null) { if (isProcessInstanceRunning(historicRootProcessInstance)) { Date startTime = historicRootProcessInstance.getStartTime(); return determineRemovalTime(startTime, historyTimeToLive); } else if (isProcessInstanceEnded(historicRootProcessInstance)) { Date endTime = historicRootProcessInstance.getEndTime(); return determineRemovalTime(endTime, historyTimeToLive); } } return null; }
@Test public void updateHistoryTimeToLiveWithAuthenticatedTenant() { identityService.setAuthentication("user", null, Arrays.asList(TENANT_ONE)); repositoryService.updateProcessDefinitionHistoryTimeToLive(processDefinitionId, 6); ProcessDefinition definition = repositoryService.getProcessDefinition(processDefinitionId); assertThat(definition.getTenantId(), is(TENANT_ONE)); assertThat(definition.getHistoryTimeToLive(), is(6)); }
@Deployment public void testParseProcessDefinitionStringTtl() { List<ProcessDefinition> processDefinitions = repositoryService.createProcessDefinitionQuery().list(); assertNotNull(processDefinitions); assertEquals(1, processDefinitions.size()); Integer timeToLive = processDefinitions.get(0).getHistoryTimeToLive(); assertNotNull(timeToLive); assertEquals(5, timeToLive.intValue()); }
@Deployment public void testParseProcessDefinitionWithoutTtl() { List<ProcessDefinition> processDefinitions = repositoryService.createProcessDefinitionQuery().list(); assertNotNull(processDefinitions); assertEquals(1, processDefinitions.size()); Integer timeToLive = processDefinitions.get(0).getHistoryTimeToLive(); assertNull(timeToLive); }
@Deployment public void testParseProcessDefinitionEmptyTtl() { List<ProcessDefinition> processDefinitions = repositoryService.createProcessDefinitionQuery().list(); assertNotNull(processDefinitions); assertEquals(1, processDefinitions.size()); Integer timeToLive = processDefinitions.get(0).getHistoryTimeToLive(); assertNull(timeToLive); }
@Deployment public void testParseProcessDefinitionTtl() { List<ProcessDefinition> processDefinitions = repositoryService.createProcessDefinitionQuery().list(); assertNotNull(processDefinitions); assertEquals(1, processDefinitions.size()); Integer timeToLive = processDefinitions.get(0).getHistoryTimeToLive(); assertNotNull(timeToLive); assertEquals(5, timeToLive.intValue()); assertTrue(processDefinitions.get(0).isStartableInTasklist()); }
public void testProcessDefinitionUpdateTimeToLive() { // given createGrantAuthorization(PROCESS_DEFINITION, ONE_TASK_PROCESS_KEY, userId, UPDATE); ProcessDefinition definition = selectProcessDefinitionByKey(ONE_TASK_PROCESS_KEY); // when repositoryService.updateProcessDefinitionHistoryTimeToLive(definition.getId(), 6); // then definition = selectProcessDefinitionByKey(ONE_TASK_PROCESS_KEY); assertEquals(6, definition.getHistoryTimeToLive().intValue()); }
@Deployment(resources = { "org/camunda/bpm/engine/test/api/oneTaskProcess.bpmn20.xml"}) public void testProcessDefinitionUpdateTimeToLive() { //given ProcessDefinition processDefinition = findOnlyProcessDefinition(); //when repositoryService.updateProcessDefinitionHistoryTimeToLive(processDefinition.getId(), 6); //then processDefinition = findOnlyProcessDefinition(); assertEquals(6, processDefinition.getHistoryTimeToLive().intValue()); }
@Test public void updateHistoryTimeToLiveDisabledTenantCheck() { processEngineConfiguration.setTenantCheckEnabled(false); identityService.setAuthentication("user", null, null); repositoryService.updateProcessDefinitionHistoryTimeToLive(processDefinitionId, 6); ProcessDefinition definition = repositoryService.getProcessDefinition(processDefinitionId); assertThat(definition.getTenantId(), is(TENANT_ONE)); assertThat(definition.getHistoryTimeToLive(), is(6)); }
@Deployment(resources = { "org/camunda/bpm/engine/test/api/oneTaskProcess.bpmn20.xml"}) public void testProcessDefinitionUpdateTimeToLiveNull() { //given ProcessDefinition processDefinition = findOnlyProcessDefinition(); //when repositoryService.updateProcessDefinitionHistoryTimeToLive(processDefinition.getId(), null); //then processDefinition = findOnlyProcessDefinition(); assertEquals(null, processDefinition.getHistoryTimeToLive()); }
public static ProcessDefinitionDto fromProcessDefinition(ProcessDefinition definition) { ProcessDefinitionDto dto = new ProcessDefinitionDto(); dto.id = definition.getId(); dto.key = definition.getKey(); dto.category = definition.getCategory(); dto.description = definition.getDescription(); dto.name = definition.getName(); dto.version = definition.getVersion(); dto.resource = definition.getResourceName(); dto.deploymentId = definition.getDeploymentId(); dto.diagram = definition.getDiagramResourceName(); dto.suspended = definition.isSuspended(); dto.tenantId = definition.getTenantId(); dto.versionTag = definition.getVersionTag(); dto.historyTimeToLive = definition.getHistoryTimeToLive(); dto.isStartableInTasklist = definition.isStartableInTasklist(); return dto; }
public static ProcessDefinitionDto fromProcessDefinition(ProcessDefinition definition) { ProcessDefinitionDto dto = new ProcessDefinitionDto(); dto.id = definition.getId(); dto.key = definition.getKey(); dto.category = definition.getCategory(); dto.description = definition.getDescription(); dto.name = definition.getName(); dto.version = definition.getVersion(); dto.resource = definition.getResourceName(); dto.deploymentId = definition.getDeploymentId(); dto.diagram = definition.getDiagramResourceName(); dto.suspended = definition.isSuspended(); dto.tenantId = definition.getTenantId(); dto.versionTag = definition.getVersionTag(); dto.historyTimeToLive = definition.getHistoryTimeToLive(); dto.isStartableInTasklist = definition.isStartableInTasklist(); return dto; }
@RequiredHistoryLevel(ProcessEngineConfiguration.HISTORY_FULL) @Deployment(resources = { "org/camunda/bpm/engine/test/api/oneTaskProcess.bpmn20.xml"}) public void testProcessDefinitionUpdateTimeToLiveUserOperationLog() { //given ProcessDefinition processDefinition = findOnlyProcessDefinition(); Integer timeToLiveOrgValue = processDefinition.getHistoryTimeToLive(); processEngine.getIdentityService().setAuthenticatedUserId("userId"); //when Integer timeToLiveNewValue = 6; repositoryService.updateProcessDefinitionHistoryTimeToLive(processDefinition.getId(), timeToLiveNewValue); //then List<UserOperationLogEntry> opLogEntries = processEngine.getHistoryService().createUserOperationLogQuery().list(); Assert.assertEquals(1, opLogEntries.size()); final UserOperationLogEntryEventEntity userOperationLogEntry = (UserOperationLogEntryEventEntity)opLogEntries.get(0); assertEquals(UserOperationLogEntry.OPERATION_TYPE_UPDATE_HISTORY_TIME_TO_LIVE, userOperationLogEntry.getOperationType()); assertEquals(processDefinition.getKey(), userOperationLogEntry.getProcessDefinitionKey()); assertEquals(processDefinition.getId(), userOperationLogEntry.getProcessDefinitionId()); assertEquals("historyTimeToLive", userOperationLogEntry.getProperty()); assertEquals(timeToLiveOrgValue, Integer.valueOf(userOperationLogEntry.getOrgValue())); assertEquals(timeToLiveNewValue, Integer.valueOf(userOperationLogEntry.getNewValue())); }
@Deployment public void testParseProcessDefinitionWithoutTtl() { List<ProcessDefinition> processDefinitions = repositoryService.createProcessDefinitionQuery().list(); assertNotNull(processDefinitions); assertEquals(1, processDefinitions.size()); Integer timeToLive = processDefinitions.get(0).getHistoryTimeToLive(); assertNull(timeToLive); }
@Test public void updateHistoryTimeToLiveWithAuthenticatedTenant() { identityService.setAuthentication("user", null, Arrays.asList(TENANT_ONE)); repositoryService.updateProcessDefinitionHistoryTimeToLive(processDefinitionId, 6); ProcessDefinition definition = repositoryService.getProcessDefinition(processDefinitionId); assertThat(definition.getTenantId(), is(TENANT_ONE)); assertThat(definition.getHistoryTimeToLive(), is(6)); }
@Deployment public void testParseProcessDefinitionEmptyTtl() { List<ProcessDefinition> processDefinitions = repositoryService.createProcessDefinitionQuery().list(); assertNotNull(processDefinitions); assertEquals(1, processDefinitions.size()); Integer timeToLive = processDefinitions.get(0).getHistoryTimeToLive(); assertNull(timeToLive); }
public void testProcessDefinitionUpdateTimeToLive() { // given createGrantAuthorization(PROCESS_DEFINITION, ONE_TASK_PROCESS_KEY, userId, UPDATE); ProcessDefinition definition = selectProcessDefinitionByKey(ONE_TASK_PROCESS_KEY); // when repositoryService.updateProcessDefinitionHistoryTimeToLive(definition.getId(), 6); // then definition = selectProcessDefinitionByKey(ONE_TASK_PROCESS_KEY); assertEquals(6, definition.getHistoryTimeToLive().intValue()); }
@Test public void updateHistoryTimeToLiveDisabledTenantCheck() { processEngineConfiguration.setTenantCheckEnabled(false); identityService.setAuthentication("user", null, null); repositoryService.updateProcessDefinitionHistoryTimeToLive(processDefinitionId, 6); ProcessDefinition definition = repositoryService.getProcessDefinition(processDefinitionId); assertThat(definition.getTenantId(), is(TENANT_ONE)); assertThat(definition.getHistoryTimeToLive(), is(6)); }
@Deployment(resources = { "org/camunda/bpm/engine/test/api/oneTaskProcess.bpmn20.xml"}) public void testProcessDefinitionUpdateTimeToLiveNull() { //given ProcessDefinition processDefinition = findOnlyProcessDefinition(); //when repositoryService.updateProcessDefinitionHistoryTimeToLive(processDefinition.getId(), null); //then processDefinition = findOnlyProcessDefinition(); assertEquals(null, processDefinition.getHistoryTimeToLive()); }