Search in sources :

Example 16 with HistoricBatch

use of org.camunda.bpm.engine.batch.history.HistoricBatch in project camunda-bpm-platform by camunda.

the class CleanableHistoricBatchReportTest method testReportMixedConfiguration.

@Test
public void testReportMixedConfiguration() {
    Map<String, String> map = new HashMap<String, String>();
    int modOperationsTTL = 20;
    map.put("instance-modification", "P20D");
    int defaultTTL = 5;
    processEngineConfiguration.setBatchOperationHistoryTimeToLive("P5D");
    processEngineConfiguration.setBatchOperationsForHistoryCleanup(map);
    processEngineConfiguration.initHistoryCleanup();
    Date startDate = new Date();
    int daysInThePast = -11;
    ClockUtil.setCurrentTime(DateUtils.addDays(startDate, daysInThePast));
    Batch modificationBatch = createModificationBatch();
    List<String> batchIds = new ArrayList<String>();
    batchIds.add(modificationBatch.getId());
    int migrationCountBatch = 10;
    List<String> batchIds1 = new ArrayList<String>();
    batchIds1.addAll(createMigrationBatchList(migrationCountBatch));
    int cancelationCountBatch = 20;
    List<String> batchIds2 = new ArrayList<String>();
    batchIds2.addAll(createCancelationBatchList(cancelationCountBatch));
    ClockUtil.setCurrentTime(DateUtils.addDays(startDate, -8));
    for (String batchId : batchIds) {
        managementService.deleteBatch(batchId, false);
    }
    ClockUtil.setCurrentTime(DateUtils.addDays(startDate, -2));
    for (int i = 0; i < 4; i++) {
        managementService.deleteBatch(batchIds1.get(i), false);
    }
    ClockUtil.setCurrentTime(DateUtils.addDays(startDate, -7));
    for (int i = 6; i < batchIds1.size(); i++) {
        managementService.deleteBatch(batchIds1.get(i), false);
    }
    ClockUtil.setCurrentTime(DateUtils.addDays(startDate, -10));
    for (int i = 0; i < 7; i++) {
        managementService.deleteBatch(batchIds2.get(i), false);
    }
    ClockUtil.setCurrentTime(DateUtils.addDays(startDate, -5));
    for (int i = 7; i < 11; i++) {
        managementService.deleteBatch(batchIds2.get(i), false);
    }
    ClockUtil.setCurrentTime(DateUtils.addDays(startDate, -1));
    for (int i = 13; i < batchIds2.size(); i++) {
        managementService.deleteBatch(batchIds2.get(i), false);
    }
    ClockUtil.setCurrentTime(DateUtils.addSeconds(startDate, 1));
    // when
    List<HistoricBatch> historicList = historyService.createHistoricBatchQuery().list();
    assertEquals(31, historicList.size());
    List<CleanableHistoricBatchReportResult> list = historyService.createCleanableHistoricBatchReport().list();
    assertEquals(3, list.size());
    for (CleanableHistoricBatchReportResult result : list) {
        if (result.getBatchType().equals("instance-migration")) {
            checkResultNumbers(result, 4, 8, defaultTTL);
        } else if (result.getBatchType().equals("instance-modification")) {
            checkResultNumbers(result, 0, 1, modOperationsTTL);
        } else if (result.getBatchType().equals("instance-deletion")) {
            checkResultNumbers(result, 11, 18, defaultTTL);
        }
    }
}
Also used : HistoricBatch(org.camunda.bpm.engine.batch.history.HistoricBatch) HashMap(java.util.HashMap) HistoricBatch(org.camunda.bpm.engine.batch.history.HistoricBatch) Batch(org.camunda.bpm.engine.batch.Batch) CleanableHistoricBatchReportResult(org.camunda.bpm.engine.history.CleanableHistoricBatchReportResult) ArrayList(java.util.ArrayList) Date(java.util.Date) Test(org.junit.Test)

Example 17 with HistoricBatch

use of org.camunda.bpm.engine.batch.history.HistoricBatch in project camunda-bpm-platform by camunda.

the class CleanableHistoricBatchReportTest method testReportOrderByFinishedProcessInstance.

@Test
public void testReportOrderByFinishedProcessInstance() {
    processEngineConfiguration.setBatchOperationHistoryTimeToLive("P5D");
    processEngineConfiguration.initHistoryCleanup();
    assertNotNull(processEngineConfiguration.getBatchOperationHistoryTimeToLive());
    Date startDate = new Date();
    int daysInThePast = -11;
    ClockUtil.setCurrentTime(DateUtils.addDays(startDate, daysInThePast));
    List<String> batchIds = new ArrayList<String>();
    Batch modificationBatch = createModificationBatch();
    batchIds.add(modificationBatch.getId());
    int migrationCountBatch = 10;
    batchIds.addAll(createMigrationBatchList(migrationCountBatch));
    int cancelationCountBatch = 20;
    batchIds.addAll(createCancelationBatchList(cancelationCountBatch));
    ClockUtil.setCurrentTime(DateUtils.addDays(startDate, -8));
    for (String batchId : batchIds) {
        managementService.deleteBatch(batchId, false);
    }
    ClockUtil.setCurrentTime(DateUtils.addSeconds(startDate, 1));
    // assume
    List<HistoricBatch> historicList = historyService.createHistoricBatchQuery().list();
    assertEquals(31, historicList.size());
    // then
    List<CleanableHistoricBatchReportResult> reportResultAsc = historyService.createCleanableHistoricBatchReport().orderByFinishedBatchOperation().asc().list();
    assertEquals(3, reportResultAsc.size());
    assertEquals("instance-modification", reportResultAsc.get(0).getBatchType());
    assertEquals("instance-migration", reportResultAsc.get(1).getBatchType());
    assertEquals("instance-deletion", reportResultAsc.get(2).getBatchType());
    List<CleanableHistoricBatchReportResult> reportResultDesc = historyService.createCleanableHistoricBatchReport().orderByFinishedBatchOperation().desc().list();
    assertEquals(3, reportResultDesc.size());
    assertEquals("instance-deletion", reportResultDesc.get(0).getBatchType());
    assertEquals("instance-migration", reportResultDesc.get(1).getBatchType());
    assertEquals("instance-modification", reportResultDesc.get(2).getBatchType());
}
Also used : HistoricBatch(org.camunda.bpm.engine.batch.history.HistoricBatch) HistoricBatch(org.camunda.bpm.engine.batch.history.HistoricBatch) Batch(org.camunda.bpm.engine.batch.Batch) CleanableHistoricBatchReportResult(org.camunda.bpm.engine.history.CleanableHistoricBatchReportResult) ArrayList(java.util.ArrayList) Date(java.util.Date) Test(org.junit.Test)

Example 18 with HistoricBatch

use of org.camunda.bpm.engine.batch.history.HistoricBatch in project camunda-bpm-platform by camunda.

the class CleanableHistoricBatchReportTest method testReportNoTTLConfiguration.

@Test
public void testReportNoTTLConfiguration() {
    processEngineConfiguration.initHistoryCleanup();
    assertNull(processEngineConfiguration.getBatchOperationHistoryTimeToLive());
    Date startDate = new Date();
    int daysInThePast = -11;
    ClockUtil.setCurrentTime(DateUtils.addDays(startDate, daysInThePast));
    int cancelationCountBatch = 20;
    List<String> batchIds2 = new ArrayList<String>();
    batchIds2.addAll(createCancelationBatchList(cancelationCountBatch));
    ClockUtil.setCurrentTime(DateUtils.addDays(startDate, -10));
    for (int i = 0; i < 7; i++) {
        managementService.deleteBatch(batchIds2.get(i), false);
    }
    ClockUtil.setCurrentTime(DateUtils.addDays(startDate, -5));
    for (int i = 7; i < 11; i++) {
        managementService.deleteBatch(batchIds2.get(i), false);
    }
    ClockUtil.setCurrentTime(DateUtils.addDays(startDate, -1));
    for (int i = 13; i < batchIds2.size(); i++) {
        managementService.deleteBatch(batchIds2.get(i), false);
    }
    ClockUtil.setCurrentTime(DateUtils.addSeconds(startDate, 1));
    // when
    List<HistoricBatch> historicList = historyService.createHistoricBatchQuery().list();
    assertEquals(20, historicList.size());
    assertEquals(1, historyService.createCleanableHistoricBatchReport().count());
    checkResultNumbers(historyService.createCleanableHistoricBatchReport().singleResult(), 0, 18, null);
}
Also used : HistoricBatch(org.camunda.bpm.engine.batch.history.HistoricBatch) ArrayList(java.util.ArrayList) Date(java.util.Date) Test(org.junit.Test)

Example 19 with HistoricBatch

use of org.camunda.bpm.engine.batch.history.HistoricBatch in project camunda-bpm-platform by camunda.

the class LegacyUserOperationLogTest method removeBatch.

@After
public void removeBatch() {
    Batch batch = managementService.createBatchQuery().singleResult();
    if (batch != null) {
        managementService.deleteBatch(batch.getId(), true);
    }
    HistoricBatch historicBatch = historyService.createHistoricBatchQuery().singleResult();
    if (historicBatch != null) {
        historyService.deleteHistoricBatch(historicBatch.getId());
    }
}
Also used : HistoricBatch(org.camunda.bpm.engine.batch.history.HistoricBatch) HistoricBatch(org.camunda.bpm.engine.batch.history.HistoricBatch) Batch(org.camunda.bpm.engine.batch.Batch)

Example 20 with HistoricBatch

use of org.camunda.bpm.engine.batch.history.HistoricBatch in project camunda-bpm-platform by camunda.

the class HistoricBatchRestServiceImpl method getHistoricBatches.

@SuppressWarnings("unchecked")
@Override
public List<HistoricBatchDto> getHistoricBatches(UriInfo uriInfo, Integer firstResult, Integer maxResults) {
    HistoricBatchQueryDto queryDto = new HistoricBatchQueryDto(objectMapper, uriInfo.getQueryParameters());
    HistoricBatchQuery query = queryDto.toQuery(processEngine);
    List<HistoricBatch> matchingBatches;
    if (firstResult != null || maxResults != null) {
        matchingBatches = (List<HistoricBatch>) executePaginatedQuery(query, firstResult, maxResults);
    } else {
        matchingBatches = query.list();
    }
    List<HistoricBatchDto> batchResults = new ArrayList<HistoricBatchDto>();
    for (HistoricBatch matchingBatch : matchingBatches) {
        batchResults.add(HistoricBatchDto.fromBatch(matchingBatch));
    }
    return batchResults;
}
Also used : HistoricBatch(org.camunda.bpm.engine.batch.history.HistoricBatch) HistoricBatchQueryDto(org.camunda.bpm.engine.rest.dto.history.batch.HistoricBatchQueryDto) HistoricBatchQuery(org.camunda.bpm.engine.batch.history.HistoricBatchQuery) ArrayList(java.util.ArrayList) HistoricBatchDto(org.camunda.bpm.engine.rest.dto.history.batch.HistoricBatchDto)

Aggregations

HistoricBatch (org.camunda.bpm.engine.batch.history.HistoricBatch)45 Batch (org.camunda.bpm.engine.batch.Batch)34 Test (org.junit.Test)26 Date (java.util.Date)13 After (org.junit.After)12 ArrayList (java.util.ArrayList)8 HashMap (java.util.HashMap)4 HistoryService (org.camunda.bpm.engine.HistoryService)4 ProcessDefinition (org.camunda.bpm.engine.repository.ProcessDefinition)4 ManagementService (org.camunda.bpm.engine.ManagementService)3 CleanableHistoricBatchReportResult (org.camunda.bpm.engine.history.CleanableHistoricBatchReportResult)3 HistoricBatchQuery (org.camunda.bpm.engine.batch.history.HistoricBatchQuery)2 HashSet (java.util.HashSet)1 List (java.util.List)1 HashedMap (org.apache.commons.collections.map.HashedMap)1 BatchEntity (org.camunda.bpm.engine.impl.batch.BatchEntity)1 HistoricBatchEntity (org.camunda.bpm.engine.impl.batch.history.HistoricBatchEntity)1 CommandContext (org.camunda.bpm.engine.impl.interceptor.CommandContext)1 HistoricBatchManager (org.camunda.bpm.engine.impl.persistence.entity.HistoricBatchManager)1 HistoricBatchDto (org.camunda.bpm.engine.rest.dto.history.batch.HistoricBatchDto)1