use of eu.bcvsolutions.idm.core.api.audit.dto.IdmAuditDto in project CzechIdMng by bcvsolutions.
the class DefaultAuditServiceTest method roleAuditTestCreateModify.
@Test
public void roleAuditTestCreateModify() {
IdmRoleDto role = saveInTransaction(constructRole("audit_test_role"), roleService);
List<IdmAuditDto> result = auditService.findRevisions(IdmRole.class, role.getId());
assertEquals(1, result.size());
role = roleService.get(role.getId());
role.setName("audit_test_role_2");
role.setDescription("desc");
role = saveInTransaction(role, roleService);
result = auditService.findRevisions(IdmRole.class, role.getId());
assertEquals(2, result.size());
IdmAuditDto audit = result.get(result.size() - 1);
// now is disabled changed attributes TODO: fix envers transaction
assertEquals(true, audit.getChangedAttributes().contains("name"));
assertEquals(true, audit.getChangedAttributes().contains("description"));
assertEquals(RevisionType.MOD.toString(), audit.getModification());
IdmAuditDto audit2 = result.get(result.size() - result.size());
assertEquals(RevisionType.ADD.toString(), audit2.getModification());
assertEquals(true, audit2.getTimestamp() < audit.getTimestamp());
}
use of eu.bcvsolutions.idm.core.api.audit.dto.IdmAuditDto in project CzechIdMng by bcvsolutions.
the class IdmAuditListener method entityChanged.
@SuppressWarnings({ "rawtypes", "unchecked" })
@Override
public void entityChanged(Class entityClass, String entityName, Serializable entityId, RevisionType revisionType, Object revisionEntity) {
// autowire services
autowireServices();
IdmAudit auditEntity = (IdmAudit) revisionEntity;
if (auditEntity.getEntityId() != null) {
// child revision
IdmAuditDto childRevision = new IdmAuditDto();
childRevision.setChangedAttributes(auditEntity.getTemporaryChangedColumns());
childRevision.setTimestamp(((IdmAudit) revisionEntity).getTimestamp());
this.changeRevisionDto((Class<AbstractEntity>) entityClass, entityName, (UUID) entityId, childRevision, revisionType);
this.auditService.save(childRevision);
} else {
// parent revision
this.changeRevisionEntity((Class<AbstractEntity>) entityClass, entityName, (UUID) entityId, auditEntity, revisionType);
}
}
Aggregations