Auditoria Simples

Sobre

Cria auditoria simples de uma entidade específica. É criado uma entrada na tabela de auditoria para cada operação do tipo inclusão, alteração ou exclusão de registro. Cada campo anotado que tenha sofrido qualquer alteração é associado com seu respectivo objeto de auditoria.

Funcionamento

Para auditar uma entidade é necessário anotar a classe com @AuditoriaSimples e passar como parâmetro os campos a serem auditados com seus respectivos labels.

Ao declarar os campos a serem auditados utilize a notação propriedade:label. Em label definimos um identificador para o campo, caso não seja especificado o mesmo será inferido com o mesmo nome da propriedade. Em propriedade declaramos o nome da propriedade existente na entidade que irá ser auditada.

@AuditoriaSimples(campos = { "nome:Nome", "supervisor.nome:Supervisor", "dependentes:Lista de Dependentes", "dependentes.nome:Nomes dos Dependentes:" })
public class FuncionarioVO extends ArenaBaseVO {

    private String nome;
    private String telefone;
    private FuncionarioVO supervisor;
    private Set<DependenteVO> dependentes = new LinkedHashSet<DependenteVO>(); 
    
    //Getters e Setters ocultados para brevidade do exemplo    
}

Se a propriedade referenciar um objeto de outra entidade (VO) ou uma coleção, é utilizado o toString() do objeto na comparação e ao persistir no banco.

É possível declarar propriedades de objetos aninhados em vários níveis, utilizando a notação objeto.bjetoAninhado.propriedade.

Métodos

AuditoriaSimplesVO

Método

Retorno

getId()

Long

Recupera o Id referente ao objeto da auditoria em si.

getCampos()

Set<CampoAuditadoVO>

Recupera a lista de campos alterados.

getDataOperacao()

Date

Recupera a data da auditoria.

getEntidade()

String

Recupera o nome completo da classe da entidade sendo auditada.

getObjetoId()

Long

Recupera o Id referente ao objeto da entidade que foi auditado.

getUsuarioLogado()

String

Recupera o identificador do usuário que efetuou a operação (crud).

getTipoOperacao()

Character

Recupera o caractere respectivo ao tipo da operação que iniciou a auditoria. Onde A representa alteração, I inclusão e E exclusão.

CampoAuditadoVO

Método

Retorno

getId()

Long

Recupera o Id referente ao objeto do campo auditado em si.

getLabelCampo()

String

Recupera o label associado ao campo auditado (declarado em campos na anotação).

getNomeCampo()

String

Recupera o nome do campo/propriedade que foi auditada (declarado em campos na anotação).

getValorAntigo()

String

Recupera o valor do campo antes da alteração, se houver.

getValorNovo()

String

Recupera o valor do campo após a alteração, se houver.

getEntidadePai()

String

Recupera o nome completo da classe referente ao objeto ao qual o campo/propriedade auditada pertence.

Exemplo: para objetoAninhado.outroObjeto.propriedade retornaria a classe respectiva ao outroObjeto.

getIdObjetoPai()

Long

Recupera o Id referente ao objeto ao qual o campo/propriedade pertence.

Exemplo: para objetoAninhado.outroObjeto.propriedade retornaria o Id respectivo aooutroObjeto.

getAuditoria()

AuditoriaSimplesVO

Recupera o objeto de auditoria no qual o campo auditado esta associado.

Last updated