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);
}
}
}
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());
}
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);
}
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());
}
}
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;
}
Aggregations