use of eu.bcvsolutions.idm.acc.dto.filter.SysProvisioningOperationFilter in project CzechIdMng by bcvsolutions.
the class SysProvisioningOperationFilterIntegrationTest method typeFilterTest.
@Test
public void typeFilterTest() {
IdmBasePermission permission = IdmBasePermission.ADMIN;
SysSystemDto system = createSystem();
createProvisioningOperation(SystemEntityType.CONTRACT, system);
SysProvisioningOperationDto provisioningOperation2 = createProvisioningOperation(SystemEntityType.IDENTITY, system);
SysProvisioningOperationDto provisioningOperation3 = createProvisioningOperation(SystemEntityType.CONTRACT, system);
SysProvisioningOperationFilter filter = new SysProvisioningOperationFilter();
filter.setSystemId(system.getId());
filter.setEntityType(SystemEntityType.CONTRACT);
Page<SysProvisioningOperationDto> result = operationService.find(filter, null, permission);
assertEquals(2, result.getTotalElements());
assertTrue(result.getContent().contains(provisioningOperation3));
assertFalse(result.getContent().contains(provisioningOperation2));
}
use of eu.bcvsolutions.idm.acc.dto.filter.SysProvisioningOperationFilter in project CzechIdMng by bcvsolutions.
the class SysProvisioningOperationFilterIntegrationTest method systemIdFilterTest.
@Test
public void systemIdFilterTest() {
IdmBasePermission permission = IdmBasePermission.ADMIN;
SystemEntityType entityType = SystemEntityType.IDENTITY;
SysSystemDto system2 = createSystem();
SysSystemDto system1 = createSystem();
createProvisioningOperation(entityType, system2);
SysProvisioningOperationDto provisioningOperation1 = createProvisioningOperation(entityType, system1);
SysProvisioningOperationDto provisioningOperation2 = createProvisioningOperation(entityType, system2);
SysProvisioningOperationFilter filter = new SysProvisioningOperationFilter();
filter.setSystemId(system2.getId());
Page<SysProvisioningOperationDto> result = operationService.find(filter, null, permission);
assertEquals(2, result.getTotalElements());
assertTrue(result.getContent().contains(provisioningOperation2));
assertFalse(result.getContent().contains(provisioningOperation1));
}
use of eu.bcvsolutions.idm.acc.dto.filter.SysProvisioningOperationFilter in project CzechIdMng by bcvsolutions.
the class SysProvisioningOperationFilterIntegrationTest method batchIdFilterTest.
@Test
public void batchIdFilterTest() {
IdmBasePermission permission = IdmBasePermission.ADMIN;
SystemEntityType entityType = SystemEntityType.IDENTITY;
SysSystemDto system = createSystem();
SysProvisioningBatchDto provisioningBatch = new SysProvisioningBatchDto();
provisioningBatch = batchService.save(provisioningBatch);
SysProvisioningOperationDto provisioningOperation1 = createProvisioningOperation(entityType, system);
provisioningOperation1.setBatch(provisioningBatch.getId());
provisioningOperation1 = operationService.save(provisioningOperation1);
SysProvisioningOperationDto provisioningOperation2 = createProvisioningOperation(entityType, system);
provisioningOperation2.setBatch(provisioningBatch.getId());
provisioningOperation2 = operationService.save(provisioningOperation2);
SysProvisioningOperationDto provisioningOperation3 = createProvisioningOperation(entityType, system);
SysProvisioningOperationFilter filter = new SysProvisioningOperationFilter();
filter.setSystemId(system.getId());
filter.setBatchId(provisioningBatch.getId());
Page<SysProvisioningOperationDto> result = operationService.find(filter, null, permission);
assertEquals(2, result.getTotalElements());
assertTrue(result.getContent().contains(provisioningOperation1));
assertTrue(result.getContent().contains(provisioningOperation2));
assertFalse(result.getContent().contains(provisioningOperation3));
}
use of eu.bcvsolutions.idm.acc.dto.filter.SysProvisioningOperationFilter in project CzechIdMng by bcvsolutions.
the class SystemDeleteProcessor method process.
@Override
public EventResult<SysSystemDto> process(EntityEvent<SysSystemDto> event) {
SysSystemDto system = event.getContent();
Assert.notNull(system);
//
// if exists provisioning operations, then is not possible to delete
// system
SysProvisioningOperationFilter operationFilter = new SysProvisioningOperationFilter();
operationFilter.setSystemId(system.getId());
if (provisioningOperationRepository.find(operationFilter, null).getTotalElements() > 0) {
throw new ResultCodeException(AccResultCode.SYSTEM_DELETE_FAILED_HAS_OPERATIONS, ImmutableMap.of("system", system.getName()));
}
if (accountRepository.countBySystem_Id(system.getId()) > 0) {
throw new ResultCodeException(AccResultCode.SYSTEM_DELETE_FAILED_HAS_ACCOUNTS, ImmutableMap.of("system", system.getName()));
}
// delete system entities
SysSystemEntityFilter systemEntityFilter = new SysSystemEntityFilter();
systemEntityFilter.setSystemId(system.getId());
systemEntityService.find(systemEntityFilter, null).forEach(systemEntity -> {
systemEntityService.delete(systemEntity);
});
// delete synchronization configs
SysSyncConfigFilter synchronizationConfigFilter = new SysSyncConfigFilter();
synchronizationConfigFilter.setSystemId(system.getId());
synchronizationConfigService.find(synchronizationConfigFilter, null).forEach(config -> {
synchronizationConfigService.delete(config);
});
// delete schema
SysSchemaObjectClassFilter filter = new SysSchemaObjectClassFilter();
filter.setSystemId(system.getId());
objectClassService.find(filter, null).forEach(schemaObjectClass -> {
objectClassService.delete(schemaObjectClass);
});
// delete archived provisioning operations
provisioningArchiveRepository.deleteBySystem_Id(system.getId());
//
// clear provisioning break cache
clearProvisioningBreakAndCache(system.getId());
//
// deletes all confidential values
confidentialStorage.deleteAll(system.getId(), SysSystem.class);
//
// deletes identity
service.deleteInternal(system);
return new DefaultEventResult<>(event, this);
}
use of eu.bcvsolutions.idm.acc.dto.filter.SysProvisioningOperationFilter in project CzechIdMng by bcvsolutions.
the class SysProvisioningOperationController method cancelAll.
@ResponseBody
@PreAuthorize("hasAuthority('" + AccGroupPermission.SYSTEM_ADMIN + "')")
@RequestMapping(value = "/action/bulk/cancel", method = RequestMethod.PUT)
@ApiOperation(value = "Cancel provisioning queue", nickname = "cancelAllProvisioningQueue", tags = { SysProvisioningOperationController.TAG }, notes = "Cancel all operations from provisioning queue by given filter")
public ResponseEntity<?> cancelAll(@RequestParam(required = false) MultiValueMap<String, Object> parameters) {
SysProvisioningOperationFilter filter = toFilter(parameters);
// filter.setSystemId(getParameterConverter().toEntityUuid(parameters, "systemId", SysSystem.class));
//
CancelProvisioningQueueTaskExecutor lrt = new CancelProvisioningQueueTaskExecutor();
lrt.setFilter(filter);
//
LongRunningFutureTask<Boolean> futureTask = longRunningTaskManager.execute(lrt);
//
return new ResponseEntity<Object>(longRunningTaskManager.getLongRunningTask(futureTask), HttpStatus.ACCEPTED);
}
Aggregations