join Auditador
parent
b803c4c399
commit
b6f387d145
|
@ -1,28 +1,28 @@
|
||||||
package br.com.rjconsultores.auditador.annotations;
|
package br.com.rjconsultores.auditador.annotations;
|
||||||
|
|
||||||
import java.lang.annotation.ElementType;
|
import java.lang.annotation.ElementType;
|
||||||
import java.lang.annotation.Retention;
|
import java.lang.annotation.Retention;
|
||||||
import java.lang.annotation.RetentionPolicy;
|
import java.lang.annotation.RetentionPolicy;
|
||||||
import java.lang.annotation.Target;
|
import java.lang.annotation.Target;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Anotação utilizada para atributos.
|
* Anotação utilizada para atributos.
|
||||||
*
|
*
|
||||||
* @author wilian
|
* @author wilian
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
@Target(ElementType.FIELD)
|
@Target(ElementType.FIELD)
|
||||||
@Retention(RetentionPolicy.RUNTIME)
|
@Retention(RetentionPolicy.RUNTIME)
|
||||||
public @interface AuditarAtributo {
|
public @interface AuditarAtributo {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Caso seja necessário colocar um nome amigável para o atributo, seNão for informado o padrão será o nome do atributo da classe.
|
* Caso seja necessário colocar um nome amigável para o atributo, seNão for informado o padrão será o nome do atributo da classe.
|
||||||
*/
|
*/
|
||||||
String nome() default "";
|
String nome() default "";
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Em caso de um atributo do tipo "DATE", informar o formato da data, valor padrão: "dd/MM/yyyy HH:mm"
|
* Em caso de um atributo do tipo "DATE", informar o formato da data, valor padrão: "dd/MM/yyyy HH:mm"
|
||||||
*/
|
*/
|
||||||
String pattern() default "dd/MM/yyyy HH:mm";
|
String pattern() default "dd/MM/yyyy HH:mm";
|
||||||
|
|
||||||
}
|
}
|
|
@ -1,35 +1,35 @@
|
||||||
package br.com.rjconsultores.auditador.annotations;
|
package br.com.rjconsultores.auditador.annotations;
|
||||||
|
|
||||||
import java.lang.annotation.ElementType;
|
import java.lang.annotation.ElementType;
|
||||||
import java.lang.annotation.Retention;
|
import java.lang.annotation.Retention;
|
||||||
import java.lang.annotation.RetentionPolicy;
|
import java.lang.annotation.RetentionPolicy;
|
||||||
import java.lang.annotation.Target;
|
import java.lang.annotation.Target;
|
||||||
|
|
||||||
import br.com.rjconsultores.auditador.enums.TipoExtracaoDados;
|
import br.com.rjconsultores.auditador.enums.TipoExtracaoDados;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Anotação responsável por indicar que a classe será auditada.
|
* Anotação responsável por indicar que a classe será auditada.
|
||||||
*
|
*
|
||||||
* @author wilian
|
* @author wilian
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
@Target(ElementType.TYPE)
|
@Target(ElementType.TYPE)
|
||||||
@Retention(RetentionPolicy.RUNTIME)
|
@Retention(RetentionPolicy.RUNTIME)
|
||||||
public @interface AuditarClasse {
|
public @interface AuditarClasse {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Caso seja necessário colocar um nome amigável para a classe, se não for informado o padrão será o nome da classe.
|
* Caso seja necessário colocar um nome amigável para a classe, se não for informado o padrão será o nome da classe.
|
||||||
*/
|
*/
|
||||||
String nome();
|
String nome();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Atributo para indicar qual tela que o objeto será auditado.
|
* Atributo para indicar qual tela que o objeto será auditado.
|
||||||
*/
|
*/
|
||||||
String tela();
|
String tela();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Define se as informações serão extraídas pelo atributo ou metodo.
|
* Define se as informações serão extraídas pelo atributo ou metodo.
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
TipoExtracaoDados tipoExtracaoDados() default TipoExtracaoDados.ATRIBUTO;
|
TipoExtracaoDados tipoExtracaoDados() default TipoExtracaoDados.ATRIBUTO;
|
||||||
}
|
}
|
|
@ -1,20 +1,20 @@
|
||||||
package br.com.rjconsultores.auditador.annotations;
|
package br.com.rjconsultores.auditador.annotations;
|
||||||
|
|
||||||
import java.lang.annotation.Retention;
|
import java.lang.annotation.Retention;
|
||||||
import java.lang.annotation.RetentionPolicy;
|
import java.lang.annotation.RetentionPolicy;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Anotação responsável que indicará que o atributo é uma entidade e seus atributos deverão ser auditados individualmente.
|
* Anotação responsável que indicará que o atributo é uma entidade e seus atributos deverão ser auditados individualmente.
|
||||||
*
|
*
|
||||||
* @author wilian
|
* @author wilian
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
@Retention(RetentionPolicy.RUNTIME)
|
@Retention(RetentionPolicy.RUNTIME)
|
||||||
public @interface AuditarEntidade {
|
public @interface AuditarEntidade {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Caso seja necessário colocar um nome amigável para o atributo, seNão for informado o padrão será o nome do atributo da classe.
|
* Caso seja necessário colocar um nome amigável para o atributo, seNão for informado o padrão será o nome do atributo da classe.
|
||||||
*/
|
*/
|
||||||
String nome() default "";
|
String nome() default "";
|
||||||
|
|
||||||
}
|
}
|
|
@ -1,18 +1,18 @@
|
||||||
package br.com.rjconsultores.auditador.annotations;
|
package br.com.rjconsultores.auditador.annotations;
|
||||||
|
|
||||||
import java.lang.annotation.Retention;
|
import java.lang.annotation.Retention;
|
||||||
import java.lang.annotation.RetentionPolicy;
|
import java.lang.annotation.RetentionPolicy;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Anotação responsável para indicar qual o atributo que representa a chave primária da classe.
|
* Anotação responsável para indicar qual o atributo que representa a chave primária da classe.
|
||||||
*
|
*
|
||||||
* @author wilian
|
* @author wilian
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
@Retention(RetentionPolicy.RUNTIME)
|
@Retention(RetentionPolicy.RUNTIME)
|
||||||
public @interface AuditarID {
|
public @interface AuditarID {
|
||||||
|
|
||||||
String nome() default "";
|
String nome() default "";
|
||||||
String pattern() default "";
|
String pattern() default "";
|
||||||
|
|
||||||
}
|
}
|
|
@ -1,15 +1,15 @@
|
||||||
package br.com.rjconsultores.auditador.annotations;
|
package br.com.rjconsultores.auditador.annotations;
|
||||||
|
|
||||||
import java.lang.annotation.Retention;
|
import java.lang.annotation.Retention;
|
||||||
import java.lang.annotation.RetentionPolicy;
|
import java.lang.annotation.RetentionPolicy;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Anotação responsável para indicar qual o atributo que representa a chave primária composta da classe.
|
* Anotação responsável para indicar qual o atributo que representa a chave primária composta da classe.
|
||||||
*
|
*
|
||||||
* @author wilian
|
* @author wilian
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
@Retention(RetentionPolicy.RUNTIME)
|
@Retention(RetentionPolicy.RUNTIME)
|
||||||
public @interface AuditarIDComposta {
|
public @interface AuditarIDComposta {
|
||||||
|
|
||||||
}
|
}
|
|
@ -1,26 +1,26 @@
|
||||||
package br.com.rjconsultores.auditador.annotations;
|
package br.com.rjconsultores.auditador.annotations;
|
||||||
|
|
||||||
import java.lang.annotation.Retention;
|
import java.lang.annotation.Retention;
|
||||||
import java.lang.annotation.RetentionPolicy;
|
import java.lang.annotation.RetentionPolicy;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Anotação responsável para auditar o campos que são listas.
|
* Anotação responsável para auditar o campos que são listas.
|
||||||
*
|
*
|
||||||
* @author wilian
|
* @author wilian
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
@Retention(RetentionPolicy.RUNTIME)
|
@Retention(RetentionPolicy.RUNTIME)
|
||||||
public @interface AuditarLista {
|
public @interface AuditarLista {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Caso seja necessário colocar um nome amigável para o atributo, seNão for informado o padrão será o nome do atributo da classe.
|
* Caso seja necessário colocar um nome amigável para o atributo, seNão for informado o padrão será o nome do atributo da classe.
|
||||||
*/
|
*/
|
||||||
String nome() default "";
|
String nome() default "";
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Indica que os atributos da lista sao entidades e precisam ser auditados individualmente. O padrão é comparar apenas se os itens da lista foram removidos ou adicionados.
|
* Indica que os atributos da lista sao entidades e precisam ser auditados individualmente. O padrão é comparar apenas se os itens da lista foram removidos ou adicionados.
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
boolean auditarEntidades() default false;
|
boolean auditarEntidades() default false;
|
||||||
|
|
||||||
}
|
}
|
|
@ -1,28 +1,28 @@
|
||||||
package br.com.rjconsultores.auditador.annotations;
|
package br.com.rjconsultores.auditador.annotations;
|
||||||
|
|
||||||
import java.lang.annotation.ElementType;
|
import java.lang.annotation.ElementType;
|
||||||
import java.lang.annotation.Retention;
|
import java.lang.annotation.Retention;
|
||||||
import java.lang.annotation.RetentionPolicy;
|
import java.lang.annotation.RetentionPolicy;
|
||||||
import java.lang.annotation.Target;
|
import java.lang.annotation.Target;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Anotação utilizada para methodos.
|
* Anotação utilizada para methodos.
|
||||||
*
|
*
|
||||||
* @author wilian
|
* @author wilian
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
@Target(ElementType.METHOD)
|
@Target(ElementType.METHOD)
|
||||||
@Retention(RetentionPolicy.RUNTIME)
|
@Retention(RetentionPolicy.RUNTIME)
|
||||||
public @interface AuditarMetodo {
|
public @interface AuditarMetodo {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Caso seja necessário colocar um nome amigável para o atributo, seNão for informado o padrão será o nome do atributo da classe.
|
* Caso seja necessário colocar um nome amigável para o atributo, seNão for informado o padrão será o nome do atributo da classe.
|
||||||
*/
|
*/
|
||||||
String nome() default "";
|
String nome() default "";
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Em caso de um atributo do tipo "DATE", informar o formato da data, valor padrão: "dd/MM/yyyy HH:mm"
|
* Em caso de um atributo do tipo "DATE", informar o formato da data, valor padrão: "dd/MM/yyyy HH:mm"
|
||||||
*/
|
*/
|
||||||
String pattern() default "dd/MM/yyyy HH:mm";
|
String pattern() default "dd/MM/yyyy HH:mm";
|
||||||
|
|
||||||
}
|
}
|
|
@ -1,15 +1,15 @@
|
||||||
package br.com.rjconsultores.auditador.annotations;
|
package br.com.rjconsultores.auditador.annotations;
|
||||||
|
|
||||||
import java.lang.annotation.Retention;
|
import java.lang.annotation.Retention;
|
||||||
import java.lang.annotation.RetentionPolicy;
|
import java.lang.annotation.RetentionPolicy;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Anotação responsável para indicar que o atributo não deverá ser auditado, por padrão todos os atributos da classe sao auditados.
|
* Anotação responsável para indicar que o atributo não deverá ser auditado, por padrão todos os atributos da classe sao auditados.
|
||||||
*
|
*
|
||||||
* @author wilian
|
* @author wilian
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
@Retention(RetentionPolicy.RUNTIME)
|
@Retention(RetentionPolicy.RUNTIME)
|
||||||
public @interface NaoAuditar {
|
public @interface NaoAuditar {
|
||||||
|
|
||||||
}
|
}
|
File diff suppressed because it is too large
Load Diff
|
@ -1,42 +1,42 @@
|
||||||
package br.com.rjconsultores.auditador.auditadores;
|
package br.com.rjconsultores.auditador.auditadores;
|
||||||
|
|
||||||
import java.lang.reflect.AccessibleObject;
|
import java.lang.reflect.AccessibleObject;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
import br.com.rjconsultores.auditador.exceptions.AuditadorException;
|
import br.com.rjconsultores.auditador.exceptions.AuditadorException;
|
||||||
import br.com.rjconsultores.auditador.model.AuditadorObjects;
|
import br.com.rjconsultores.auditador.model.AuditadorObjects;
|
||||||
|
|
||||||
class AuditadorAtributo {
|
class AuditadorAtributo {
|
||||||
|
|
||||||
protected Auditador auditador;
|
protected Auditador auditador;
|
||||||
|
|
||||||
public AuditadorAtributo(Auditador auditar) {
|
public AuditadorAtributo(Auditador auditar) {
|
||||||
super();
|
super();
|
||||||
this.auditador = auditar;
|
this.auditador = auditar;
|
||||||
}
|
}
|
||||||
|
|
||||||
public List<AuditadorObjects> auditar(AccessibleObject campo, Object original, Object novo, String nomeClasse) {
|
public List<AuditadorObjects> auditar(AccessibleObject campo, Object original, Object novo, String nomeClasse) {
|
||||||
List<AuditadorObjects> lsRetorno = new ArrayList<AuditadorObjects>();
|
List<AuditadorObjects> lsRetorno = new ArrayList<AuditadorObjects>();
|
||||||
try {
|
try {
|
||||||
|
|
||||||
if(!auditador.isObjetosNulos(original, novo)) {
|
if(!auditador.isObjetosNulos(original, novo)) {
|
||||||
String pattern = auditador.extrairPattern(campo);
|
String pattern = auditador.extrairPattern(campo);
|
||||||
|
|
||||||
Object valorOriginal = auditador.getValor(campo, original, pattern);
|
Object valorOriginal = auditador.getValor(campo, original, pattern);
|
||||||
Object valorNovo = auditador.getValor(campo, novo, pattern);
|
Object valorNovo = auditador.getValor(campo, novo, pattern);
|
||||||
AuditadorObjects auditado = auditador.auditarCampo(campo, valorOriginal, valorNovo, nomeClasse);
|
AuditadorObjects auditado = auditador.auditarCampo(campo, valorOriginal, valorNovo, nomeClasse);
|
||||||
if(auditado != null) {
|
if(auditado != null) {
|
||||||
lsRetorno.add(auditado);
|
lsRetorno.add(auditado);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
throw new AuditadorException(e.getMessage(), e);
|
throw new AuditadorException(e.getMessage(), e);
|
||||||
} catch (Throwable e) {
|
} catch (Throwable e) {
|
||||||
throw new AuditadorException(e.getMessage(), e);
|
throw new AuditadorException(e.getMessage(), e);
|
||||||
}
|
}
|
||||||
return lsRetorno;
|
return lsRetorno;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
|
@ -1,76 +1,76 @@
|
||||||
package br.com.rjconsultores.auditador.auditadores;
|
package br.com.rjconsultores.auditador.auditadores;
|
||||||
|
|
||||||
import java.lang.reflect.AccessibleObject;
|
import java.lang.reflect.AccessibleObject;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
import br.com.rjconsultores.auditador.exceptions.AuditadorException;
|
import br.com.rjconsultores.auditador.exceptions.AuditadorException;
|
||||||
import br.com.rjconsultores.auditador.model.AuditadorObjects;
|
import br.com.rjconsultores.auditador.model.AuditadorObjects;
|
||||||
|
|
||||||
class AuditadorEntidade {
|
class AuditadorEntidade {
|
||||||
|
|
||||||
protected Auditador auditador;
|
protected Auditador auditador;
|
||||||
|
|
||||||
public AuditadorEntidade(Auditador auditar) {
|
public AuditadorEntidade(Auditador auditar) {
|
||||||
super();
|
super();
|
||||||
this.auditador = auditar;
|
this.auditador = auditar;
|
||||||
}
|
}
|
||||||
|
|
||||||
public List<AuditadorObjects> auditar(AccessibleObject campo, Object original, Object novo, String nomeClasse) {
|
public List<AuditadorObjects> auditar(AccessibleObject campo, Object original, Object novo, String nomeClasse) {
|
||||||
List<AuditadorObjects> lsRetorno = new ArrayList<AuditadorObjects>();
|
List<AuditadorObjects> lsRetorno = new ArrayList<AuditadorObjects>();
|
||||||
try {
|
try {
|
||||||
Object valorOriginal = campo != null && original != null ? auditador.extrairValor(campo, original) : original;
|
Object valorOriginal = campo != null && original != null ? auditador.extrairValor(campo, original) : original;
|
||||||
Object valorNovo = campo != null && novo != null ? auditador.extrairValor(campo, novo) : novo;
|
Object valorNovo = campo != null && novo != null ? auditador.extrairValor(campo, novo) : novo;
|
||||||
|
|
||||||
String localNomeClasse = nomeClasse != null ? nomeClasse : auditador.extrairNomeClasse(valorOriginal, valorNovo);
|
String localNomeClasse = nomeClasse != null ? nomeClasse : auditador.extrairNomeClasse(valorOriginal, valorNovo);
|
||||||
|
|
||||||
AuditadorObjects objectNovo = auditador.auditarObjetoNovo(campo, valorOriginal, valorNovo);
|
AuditadorObjects objectNovo = auditador.auditarObjetoNovo(campo, valorOriginal, valorNovo);
|
||||||
if(objectNovo != null) {
|
if(objectNovo != null) {
|
||||||
lsRetorno.add(objectNovo);
|
lsRetorno.add(objectNovo);
|
||||||
return lsRetorno;
|
return lsRetorno;
|
||||||
}
|
}
|
||||||
|
|
||||||
if(!auditador.isObjetosNulos(valorOriginal, valorNovo)) {
|
if(!auditador.isObjetosNulos(valorOriginal, valorNovo)) {
|
||||||
Class<?> classe = valorOriginal != null ? valorOriginal.getClass() : valorNovo.getClass();
|
Class<?> classe = valorOriginal != null ? valorOriginal.getClass() : valorNovo.getClass();
|
||||||
List<AccessibleObject> camposAuditaveis = auditador.extrairCamposAuditaveis(classe);
|
List<AccessibleObject> camposAuditaveis = auditador.extrairCamposAuditaveis(classe);
|
||||||
for (AccessibleObject campoEntidade : camposAuditaveis) {
|
for (AccessibleObject campoEntidade : camposAuditaveis) {
|
||||||
String pattern = auditador.extrairPattern(campoEntidade);
|
String pattern = auditador.extrairPattern(campoEntidade);
|
||||||
|
|
||||||
Object valorOriginalEntidade = auditador.getValor(campoEntidade, valorOriginal, pattern);
|
Object valorOriginalEntidade = auditador.getValor(campoEntidade, valorOriginal, pattern);
|
||||||
Object valorNovoEntidade = auditador.getValor(campoEntidade, valorNovo, pattern);
|
Object valorNovoEntidade = auditador.getValor(campoEntidade, valorNovo, pattern);
|
||||||
|
|
||||||
AuditadorObjects auditado = auditador.auditarCampo(campoEntidade, valorOriginalEntidade, valorNovoEntidade, localNomeClasse);
|
AuditadorObjects auditado = auditador.auditarCampo(campoEntidade, valorOriginalEntidade, valorNovoEntidade, localNomeClasse);
|
||||||
if(auditado != null) {
|
if(auditado != null) {
|
||||||
lsRetorno.add(auditado);
|
lsRetorno.add(auditado);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// Field[] campos = classe.getDeclaredFields();
|
// Field[] campos = classe.getDeclaredFields();
|
||||||
// for (Field campoEntidade : campos) {
|
// for (Field campoEntidade : campos) {
|
||||||
// campoEntidade.setAccessible(true);
|
// campoEntidade.setAccessible(true);
|
||||||
//
|
//
|
||||||
// NaoAuditar naoAuditar = auditador.extrairAnotacao.extrairNaoAuditar(campoEntidade);
|
// NaoAuditar naoAuditar = auditador.extrairAnotacao.extrairNaoAuditar(campoEntidade);
|
||||||
// if(naoAuditar != null) {
|
// if(naoAuditar != null) {
|
||||||
// continue;
|
// continue;
|
||||||
// }
|
// }
|
||||||
//
|
//
|
||||||
// AuditarAtributo auditarAtributo = auditador.extrairAnotacao.extrairAuditarAtributo(campoEntidade);
|
// AuditarAtributo auditarAtributo = auditador.extrairAnotacao.extrairAuditarAtributo(campoEntidade);
|
||||||
// String pattern = auditarAtributo != null && StringUtils.isNotBlank(auditarAtributo.pattern()) ? auditarAtributo.pattern() : null;
|
// String pattern = auditarAtributo != null && StringUtils.isNotBlank(auditarAtributo.pattern()) ? auditarAtributo.pattern() : null;
|
||||||
//
|
//
|
||||||
// Object valorOriginalEntidade = auditador.getValor(campoEntidade, valorOriginal, pattern);
|
// Object valorOriginalEntidade = auditador.getValor(campoEntidade, valorOriginal, pattern);
|
||||||
// Object valorNovoEntidade = auditador.getValor(campoEntidade, valorNovo, pattern);
|
// Object valorNovoEntidade = auditador.getValor(campoEntidade, valorNovo, pattern);
|
||||||
//
|
//
|
||||||
// AuditadorObjects auditado = auditador.auditarCampo(campoEntidade, valorOriginalEntidade, valorNovoEntidade, localNomeClasse);
|
// AuditadorObjects auditado = auditador.auditarCampo(campoEntidade, valorOriginalEntidade, valorNovoEntidade, localNomeClasse);
|
||||||
// if(auditado != null) {
|
// if(auditado != null) {
|
||||||
// lsRetorno.add(auditado);
|
// lsRetorno.add(auditado);
|
||||||
// }
|
// }
|
||||||
// }
|
// }
|
||||||
}
|
}
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
throw new AuditadorException(e.getMessage(), e);
|
throw new AuditadorException(e.getMessage(), e);
|
||||||
} catch (Throwable e) {
|
} catch (Throwable e) {
|
||||||
throw new AuditadorException(e.getMessage(), e);
|
throw new AuditadorException(e.getMessage(), e);
|
||||||
}
|
}
|
||||||
return lsRetorno;
|
return lsRetorno;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
|
@ -1,131 +1,131 @@
|
||||||
package br.com.rjconsultores.auditador.auditadores;
|
package br.com.rjconsultores.auditador.auditadores;
|
||||||
|
|
||||||
import java.lang.reflect.AccessibleObject;
|
import java.lang.reflect.AccessibleObject;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.Collection;
|
import java.util.Collection;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
import br.com.rjconsultores.auditador.enums.AuditadorTipoAlteracao;
|
import br.com.rjconsultores.auditador.enums.AuditadorTipoAlteracao;
|
||||||
import br.com.rjconsultores.auditador.exceptions.AuditadorException;
|
import br.com.rjconsultores.auditador.exceptions.AuditadorException;
|
||||||
import br.com.rjconsultores.auditador.model.AuditadorObjects;
|
import br.com.rjconsultores.auditador.model.AuditadorObjects;
|
||||||
|
|
||||||
class AuditadorList {
|
class AuditadorList {
|
||||||
|
|
||||||
protected Auditador auditador;
|
protected Auditador auditador;
|
||||||
|
|
||||||
public AuditadorList(Auditador auditar) {
|
public AuditadorList(Auditador auditar) {
|
||||||
super();
|
super();
|
||||||
this.auditador = auditar;
|
this.auditador = auditar;
|
||||||
}
|
}
|
||||||
|
|
||||||
public List<AuditadorObjects> auditar(AccessibleObject campo, Object original, Object novo, boolean auditarEntidades) {
|
public List<AuditadorObjects> auditar(AccessibleObject campo, Object original, Object novo, boolean auditarEntidades) {
|
||||||
List<AuditadorObjects> lsRetorno = new ArrayList<AuditadorObjects>();
|
List<AuditadorObjects> lsRetorno = new ArrayList<AuditadorObjects>();
|
||||||
try {
|
try {
|
||||||
|
|
||||||
List<Object> lsOriginal = auditador.getValorList(campo, original);
|
List<Object> lsOriginal = auditador.getValorList(campo, original);
|
||||||
List<Object> lsNovo = auditador.getValorList(campo, novo);
|
List<Object> lsNovo = auditador.getValorList(campo, novo);
|
||||||
|
|
||||||
lsRetorno.addAll(auditarList(campo, auditarEntidades, lsOriginal, lsNovo));
|
lsRetorno.addAll(auditarList(campo, auditarEntidades, lsOriginal, lsNovo));
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
throw new AuditadorException(e.getMessage(), e);
|
throw new AuditadorException(e.getMessage(), e);
|
||||||
} catch (Throwable e) {
|
} catch (Throwable e) {
|
||||||
throw new AuditadorException(e.getMessage(), e);
|
throw new AuditadorException(e.getMessage(), e);
|
||||||
}
|
}
|
||||||
return lsRetorno;
|
return lsRetorno;
|
||||||
}
|
}
|
||||||
|
|
||||||
public List<AuditadorObjects> auditarList(AccessibleObject campo, boolean auditarEntidades,
|
public List<AuditadorObjects> auditarList(AccessibleObject campo, boolean auditarEntidades,
|
||||||
List<Object> lsOriginal, List<Object> lsNovo) throws CloneNotSupportedException {
|
List<Object> lsOriginal, List<Object> lsNovo) throws CloneNotSupportedException {
|
||||||
List<AuditadorObjects> lsRetorno = new ArrayList<AuditadorObjects>();
|
List<AuditadorObjects> lsRetorno = new ArrayList<AuditadorObjects>();
|
||||||
|
|
||||||
List<Object> lsObjetosInseridos = new ArrayList<Object>(0);
|
List<Object> lsObjetosInseridos = new ArrayList<Object>(0);
|
||||||
List<Object> lsObjetosRemovidos = new ArrayList<Object>(0);
|
List<Object> lsObjetosRemovidos = new ArrayList<Object>(0);
|
||||||
List<Object> lsObjetosMantidos = new ArrayList<Object>(0);
|
List<Object> lsObjetosMantidos = new ArrayList<Object>(0);
|
||||||
|
|
||||||
if(lsNovo != null) {
|
if(lsNovo != null) {
|
||||||
lsObjetosInseridos.addAll(lsNovo);
|
lsObjetosInseridos.addAll(lsNovo);
|
||||||
if(lsOriginal != null) {
|
if(lsOriginal != null) {
|
||||||
lsObjetosInseridos.removeAll(lsOriginal);
|
lsObjetosInseridos.removeAll(lsOriginal);
|
||||||
}
|
}
|
||||||
lsRetorno.addAll(auditarRegistros(campo, lsObjetosInseridos, true));
|
lsRetorno.addAll(auditarRegistros(campo, lsObjetosInseridos, true));
|
||||||
|
|
||||||
if(auditarEntidades) {
|
if(auditarEntidades) {
|
||||||
lsObjetosMantidos.addAll(lsNovo);
|
lsObjetosMantidos.addAll(lsNovo);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if(lsOriginal != null) {
|
if(lsOriginal != null) {
|
||||||
lsObjetosRemovidos.addAll(lsOriginal);
|
lsObjetosRemovidos.addAll(lsOriginal);
|
||||||
if(lsNovo != null) {
|
if(lsNovo != null) {
|
||||||
lsObjetosRemovidos.removeAll(lsNovo);
|
lsObjetosRemovidos.removeAll(lsNovo);
|
||||||
}
|
}
|
||||||
lsRetorno.addAll(auditarRegistros(campo, lsObjetosRemovidos, false));
|
lsRetorno.addAll(auditarRegistros(campo, lsObjetosRemovidos, false));
|
||||||
|
|
||||||
if(auditarEntidades) {
|
if(auditarEntidades) {
|
||||||
lsObjetosMantidos.retainAll(lsOriginal);
|
lsObjetosMantidos.retainAll(lsOriginal);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if(auditarEntidades) {
|
if(auditarEntidades) {
|
||||||
for (Object object : lsObjetosMantidos) {
|
for (Object object : lsObjetosMantidos) {
|
||||||
Object originalEntidade = lsOriginal.get(lsOriginal.indexOf(object));
|
Object originalEntidade = lsOriginal.get(lsOriginal.indexOf(object));
|
||||||
Object novoEntidade = lsNovo.get(lsNovo.indexOf(object));
|
Object novoEntidade = lsNovo.get(lsNovo.indexOf(object));
|
||||||
String nomeClasse = auditador.extrairNomeClasse(originalEntidade, novoEntidade);
|
String nomeClasse = auditador.extrairNomeClasse(originalEntidade, novoEntidade);
|
||||||
|
|
||||||
lsRetorno.addAll(auditador.auditadorEntidade.auditar(null, originalEntidade, novoEntidade, nomeClasse));
|
lsRetorno.addAll(auditador.auditadorEntidade.auditar(null, originalEntidade, novoEntidade, nomeClasse));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return lsRetorno;
|
return lsRetorno;
|
||||||
}
|
}
|
||||||
|
|
||||||
protected List<AuditadorObjects> auditarRegistros(AccessibleObject campo, List<Object> lsObjetosRemovidos, boolean inserido)
|
protected List<AuditadorObjects> auditarRegistros(AccessibleObject campo, List<Object> lsObjetosRemovidos, boolean inserido)
|
||||||
throws CloneNotSupportedException {
|
throws CloneNotSupportedException {
|
||||||
List<AuditadorObjects> lsRetorno = new ArrayList<AuditadorObjects>();
|
List<AuditadorObjects> lsRetorno = new ArrayList<AuditadorObjects>();
|
||||||
String nomeCampo = auditador.extrairNomeCampo(campo);
|
String nomeCampo = auditador.extrairNomeCampo(campo);
|
||||||
for (Object removido : lsObjetosRemovidos) {
|
for (Object removido : lsObjetosRemovidos) {
|
||||||
AuditadorObjects objectInserido = null;
|
AuditadorObjects objectInserido = null;
|
||||||
|
|
||||||
if(inserido) {
|
if(inserido) {
|
||||||
objectInserido = auditarObjetoInserido(nomeCampo, removido);
|
objectInserido = auditarObjetoInserido(nomeCampo, removido);
|
||||||
} else {
|
} else {
|
||||||
objectInserido = auditarObjetoRemovido(nomeCampo, removido);
|
objectInserido = auditarObjetoRemovido(nomeCampo, removido);
|
||||||
}
|
}
|
||||||
|
|
||||||
if(objectInserido != null) {
|
if(objectInserido != null) {
|
||||||
lsRetorno.add(objectInserido);
|
lsRetorno.add(objectInserido);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return lsRetorno;
|
return lsRetorno;
|
||||||
}
|
}
|
||||||
|
|
||||||
protected boolean isObjetosList(Object objeto) {
|
protected boolean isObjetosList(Object objeto) {
|
||||||
return objeto != null && objeto instanceof Collection;
|
return objeto != null && objeto instanceof Collection;
|
||||||
}
|
}
|
||||||
|
|
||||||
protected AuditadorObjects auditarObjetoInserido(String nomeCampo, Object objeto) throws CloneNotSupportedException {
|
protected AuditadorObjects auditarObjetoInserido(String nomeCampo, Object objeto) throws CloneNotSupportedException {
|
||||||
if(objeto != null) {
|
if(objeto != null) {
|
||||||
AuditadorObjects auditado = criarObjetoInseridoRemovido(nomeCampo, objeto);
|
AuditadorObjects auditado = criarObjetoInseridoRemovido(nomeCampo, objeto);
|
||||||
auditado.setValorNovo(String.format("Registro inserido [%s]", auditador.extrairTextoInclusaoExclusao(objeto)));
|
auditado.setValorNovo(String.format("Registro inserido [%s]", auditador.extrairTextoInclusaoExclusao(objeto)));
|
||||||
return auditado;
|
return auditado;
|
||||||
}
|
}
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
private AuditadorObjects criarObjetoInseridoRemovido(String nomeCampo, Object objeto) throws CloneNotSupportedException {
|
private AuditadorObjects criarObjetoInseridoRemovido(String nomeCampo, Object objeto) throws CloneNotSupportedException {
|
||||||
AuditadorObjects auditado = auditador.getPadrao().clonar();
|
AuditadorObjects auditado = auditador.getPadrao().clonar();
|
||||||
auditado.setTipoAlteracao(AuditadorTipoAlteracao.ALTERACAO);
|
auditado.setTipoAlteracao(AuditadorTipoAlteracao.ALTERACAO);
|
||||||
auditado.setCampoAlterado(nomeCampo);
|
auditado.setCampoAlterado(nomeCampo);
|
||||||
auditado.setClasseAlterada(objeto.getClass().getSimpleName());
|
auditado.setClasseAlterada(objeto.getClass().getSimpleName());
|
||||||
return auditado;
|
return auditado;
|
||||||
}
|
}
|
||||||
|
|
||||||
protected AuditadorObjects auditarObjetoRemovido(String nomeCampo, Object objeto) throws CloneNotSupportedException {
|
protected AuditadorObjects auditarObjetoRemovido(String nomeCampo, Object objeto) throws CloneNotSupportedException {
|
||||||
if(objeto != null) {
|
if(objeto != null) {
|
||||||
AuditadorObjects auditado = criarObjetoInseridoRemovido(nomeCampo, objeto);
|
AuditadorObjects auditado = criarObjetoInseridoRemovido(nomeCampo, objeto);
|
||||||
auditado.setValorNovo(String.format("Registro removido [%s]", auditador.extrairTextoInclusaoExclusao(objeto)));
|
auditado.setValorNovo(String.format("Registro removido [%s]", auditador.extrairTextoInclusaoExclusao(objeto)));
|
||||||
return auditado;
|
return auditado;
|
||||||
}
|
}
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
|
@ -1,79 +1,79 @@
|
||||||
package br.com.rjconsultores.auditador.auditadores;
|
package br.com.rjconsultores.auditador.auditadores;
|
||||||
|
|
||||||
import java.lang.reflect.AccessibleObject;
|
import java.lang.reflect.AccessibleObject;
|
||||||
|
|
||||||
import br.com.rjconsultores.auditador.annotations.AuditarAtributo;
|
import br.com.rjconsultores.auditador.annotations.AuditarAtributo;
|
||||||
import br.com.rjconsultores.auditador.annotations.AuditarClasse;
|
import br.com.rjconsultores.auditador.annotations.AuditarClasse;
|
||||||
import br.com.rjconsultores.auditador.annotations.AuditarEntidade;
|
import br.com.rjconsultores.auditador.annotations.AuditarEntidade;
|
||||||
import br.com.rjconsultores.auditador.annotations.AuditarID;
|
import br.com.rjconsultores.auditador.annotations.AuditarID;
|
||||||
import br.com.rjconsultores.auditador.annotations.AuditarIDComposta;
|
import br.com.rjconsultores.auditador.annotations.AuditarIDComposta;
|
||||||
import br.com.rjconsultores.auditador.annotations.AuditarLista;
|
import br.com.rjconsultores.auditador.annotations.AuditarLista;
|
||||||
import br.com.rjconsultores.auditador.annotations.AuditarMetodo;
|
import br.com.rjconsultores.auditador.annotations.AuditarMetodo;
|
||||||
import br.com.rjconsultores.auditador.annotations.NaoAuditar;
|
import br.com.rjconsultores.auditador.annotations.NaoAuditar;
|
||||||
|
|
||||||
class ExtrairAnotacao {
|
class ExtrairAnotacao {
|
||||||
|
|
||||||
protected AuditarClasse extrair(Class<?> classe) {
|
protected AuditarClasse extrair(Class<?> classe) {
|
||||||
if(classe == null) {
|
if(classe == null) {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
return classe.getAnnotation(AuditarClasse.class);
|
return classe.getAnnotation(AuditarClasse.class);
|
||||||
}
|
}
|
||||||
|
|
||||||
protected AuditarAtributo extrairAuditarAtributo(AccessibleObject campo) {
|
protected AuditarAtributo extrairAuditarAtributo(AccessibleObject campo) {
|
||||||
if(campo == null) {
|
if(campo == null) {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
campo.setAccessible(true);
|
campo.setAccessible(true);
|
||||||
return campo.getAnnotation(AuditarAtributo.class);
|
return campo.getAnnotation(AuditarAtributo.class);
|
||||||
}
|
}
|
||||||
|
|
||||||
protected AuditarEntidade extrairAuditarEntidade(AccessibleObject campo) {
|
protected AuditarEntidade extrairAuditarEntidade(AccessibleObject campo) {
|
||||||
if(campo == null) {
|
if(campo == null) {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
campo.setAccessible(true);
|
campo.setAccessible(true);
|
||||||
return campo.getAnnotation(AuditarEntidade.class);
|
return campo.getAnnotation(AuditarEntidade.class);
|
||||||
}
|
}
|
||||||
|
|
||||||
protected AuditarID extrairAuditarID(AccessibleObject campo) {
|
protected AuditarID extrairAuditarID(AccessibleObject campo) {
|
||||||
if(campo == null) {
|
if(campo == null) {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
campo.setAccessible(true);
|
campo.setAccessible(true);
|
||||||
return campo.getAnnotation(AuditarID.class);
|
return campo.getAnnotation(AuditarID.class);
|
||||||
}
|
}
|
||||||
|
|
||||||
protected AuditarIDComposta extrairAuditarIDComposta(AccessibleObject campo) {
|
protected AuditarIDComposta extrairAuditarIDComposta(AccessibleObject campo) {
|
||||||
if(campo == null) {
|
if(campo == null) {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
campo.setAccessible(true);
|
campo.setAccessible(true);
|
||||||
return campo.getAnnotation(AuditarIDComposta.class);
|
return campo.getAnnotation(AuditarIDComposta.class);
|
||||||
}
|
}
|
||||||
|
|
||||||
protected AuditarLista extrairAuditarLista(AccessibleObject campo) {
|
protected AuditarLista extrairAuditarLista(AccessibleObject campo) {
|
||||||
if(campo == null) {
|
if(campo == null) {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
campo.setAccessible(true);
|
campo.setAccessible(true);
|
||||||
return campo.getAnnotation(AuditarLista.class);
|
return campo.getAnnotation(AuditarLista.class);
|
||||||
}
|
}
|
||||||
|
|
||||||
protected NaoAuditar extrairNaoAuditar(AccessibleObject campo) {
|
protected NaoAuditar extrairNaoAuditar(AccessibleObject campo) {
|
||||||
if(campo == null) {
|
if(campo == null) {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
campo.setAccessible(true);
|
campo.setAccessible(true);
|
||||||
return campo.getAnnotation(NaoAuditar.class);
|
return campo.getAnnotation(NaoAuditar.class);
|
||||||
}
|
}
|
||||||
|
|
||||||
protected AuditarMetodo extrairAuditarMetodo(AccessibleObject campo) {
|
protected AuditarMetodo extrairAuditarMetodo(AccessibleObject campo) {
|
||||||
if(campo == null) {
|
if(campo == null) {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
campo.setAccessible(true);
|
campo.setAccessible(true);
|
||||||
return campo.getAnnotation(AuditarMetodo.class);
|
return campo.getAnnotation(AuditarMetodo.class);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
|
@ -1,16 +1,16 @@
|
||||||
package br.com.rjconsultores.auditador.enums;
|
package br.com.rjconsultores.auditador.enums;
|
||||||
|
|
||||||
import java.util.Arrays;
|
import java.util.Arrays;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
public enum AuditadorTipoAlteracao {
|
public enum AuditadorTipoAlteracao {
|
||||||
|
|
||||||
INCLUSAO,
|
INCLUSAO,
|
||||||
ALTERACAO,
|
ALTERACAO,
|
||||||
EXCLUSAO;
|
EXCLUSAO;
|
||||||
|
|
||||||
public static List<AuditadorTipoAlteracao> getList() {
|
public static List<AuditadorTipoAlteracao> getList() {
|
||||||
return Arrays.asList(values());
|
return Arrays.asList(values());
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
|
@ -1,8 +1,8 @@
|
||||||
package br.com.rjconsultores.auditador.enums;
|
package br.com.rjconsultores.auditador.enums;
|
||||||
|
|
||||||
public enum TipoExtracaoDados {
|
public enum TipoExtracaoDados {
|
||||||
|
|
||||||
ATRIBUTO,
|
ATRIBUTO,
|
||||||
METODO;
|
METODO;
|
||||||
|
|
||||||
}
|
}
|
|
@ -1,11 +1,11 @@
|
||||||
package br.com.rjconsultores.auditador.exceptions;
|
package br.com.rjconsultores.auditador.exceptions;
|
||||||
|
|
||||||
public class AuditadorException extends RuntimeException {
|
public class AuditadorException extends RuntimeException {
|
||||||
|
|
||||||
private static final long serialVersionUID = 1L;
|
private static final long serialVersionUID = 1L;
|
||||||
|
|
||||||
public AuditadorException(String message, Throwable throwable) {
|
public AuditadorException(String message, Throwable throwable) {
|
||||||
super(message, throwable);
|
super(message, throwable);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
|
@ -1,33 +1,33 @@
|
||||||
package br.com.rjconsultores.auditador.interfaces;
|
package br.com.rjconsultores.auditador.interfaces;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Interface que deverá ser implementada quando o objeto for auditado, interface estende a interface Cloneable.
|
* Interface que deverá ser implementada quando o objeto for auditado, interface estende a interface Cloneable.
|
||||||
*
|
*
|
||||||
* @author wilian
|
* @author wilian
|
||||||
*
|
*
|
||||||
* @param <T>
|
* @param <T>
|
||||||
*/
|
*/
|
||||||
public interface Auditavel<T> extends Cloneable {
|
public interface Auditavel<T> extends Cloneable {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Método deverá ser implementado com o recurso de clonagem da Interface Cloneable. Executa o processo de clonagem do objeto para ser comparado com o alterado, executar esse metodo logo apos recuperar o objeto do banco de dados.
|
* Método deverá ser implementado com o recurso de clonagem da Interface Cloneable. Executa o processo de clonagem do objeto para ser comparado com o alterado, executar esse metodo logo apos recuperar o objeto do banco de dados.
|
||||||
*
|
*
|
||||||
* @throws CloneNotSupportedException
|
* @throws CloneNotSupportedException
|
||||||
*/
|
*/
|
||||||
public void clonar() throws CloneNotSupportedException;
|
public void clonar() throws CloneNotSupportedException;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Apos executar o metodo "clonar" retorna o objeto clonado.
|
* Apos executar o metodo "clonar" retorna o objeto clonado.
|
||||||
*
|
*
|
||||||
* @return
|
* @return
|
||||||
* @throws CloneNotSupportedException
|
* @throws CloneNotSupportedException
|
||||||
*/
|
*/
|
||||||
public T getCloneObject() throws CloneNotSupportedException;
|
public T getCloneObject() throws CloneNotSupportedException;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Metodo que descreve informações do objeto quando o registro e criado/incluido/excluido.
|
* Metodo que descreve informações do objeto quando o registro e criado/incluido/excluido.
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
public String getTextoInclusaoExclusao();
|
public String getTextoInclusaoExclusao();
|
||||||
|
|
||||||
}
|
}
|
|
@ -1,18 +1,18 @@
|
||||||
package br.com.rjconsultores.auditador.interfaces;
|
package br.com.rjconsultores.auditador.interfaces;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Interface que permite informar uma tela alternativa para auditoria do objeto quando o mesmo é alterado em telas diferentes.
|
* Interface que permite informar uma tela alternativa para auditoria do objeto quando o mesmo é alterado em telas diferentes.
|
||||||
*
|
*
|
||||||
* @author wilian
|
* @author wilian
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
public interface AuditavelTelaAlternativa {
|
public interface AuditavelTelaAlternativa {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Quando o objeto auditado implementar a interface, o valor do retorno desse método será priorizado.
|
* Quando o objeto auditado implementar a interface, o valor do retorno desse método será priorizado.
|
||||||
*
|
*
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
public String getTelaAlternativa();
|
public String getTelaAlternativa();
|
||||||
|
|
||||||
}
|
}
|
|
@ -1,97 +1,97 @@
|
||||||
package br.com.rjconsultores.auditador.model;
|
package br.com.rjconsultores.auditador.model;
|
||||||
|
|
||||||
import br.com.rjconsultores.auditador.enums.AuditadorTipoAlteracao;
|
import br.com.rjconsultores.auditador.enums.AuditadorTipoAlteracao;
|
||||||
|
|
||||||
public class AuditadorObjects implements Cloneable {
|
public class AuditadorObjects implements Cloneable {
|
||||||
|
|
||||||
private String valorAnterior;
|
private String valorAnterior;
|
||||||
private String valorNovo;
|
private String valorNovo;
|
||||||
private String campoAlterado;
|
private String campoAlterado;
|
||||||
private String classeAlterada;
|
private String classeAlterada;
|
||||||
private String classePrincipal;
|
private String classePrincipal;
|
||||||
private String tela;
|
private String tela;
|
||||||
private AuditadorTipoAlteracao tipoAlteracao;
|
private AuditadorTipoAlteracao tipoAlteracao;
|
||||||
private String idAuditado;
|
private String idAuditado;
|
||||||
|
|
||||||
public String getValorAnterior() {
|
public String getValorAnterior() {
|
||||||
return valorAnterior;
|
return valorAnterior;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setValorAnterior(String valorAnterior) {
|
public void setValorAnterior(String valorAnterior) {
|
||||||
this.valorAnterior = valorAnterior;
|
this.valorAnterior = valorAnterior;
|
||||||
}
|
}
|
||||||
|
|
||||||
public String getValorNovo() {
|
public String getValorNovo() {
|
||||||
return valorNovo;
|
return valorNovo;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setValorNovo(String valorNovo) {
|
public void setValorNovo(String valorNovo) {
|
||||||
this.valorNovo = valorNovo;
|
this.valorNovo = valorNovo;
|
||||||
}
|
}
|
||||||
|
|
||||||
public String getCampoAlterado() {
|
public String getCampoAlterado() {
|
||||||
return campoAlterado;
|
return campoAlterado;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setCampoAlterado(String campoAlterado) {
|
public void setCampoAlterado(String campoAlterado) {
|
||||||
this.campoAlterado = campoAlterado;
|
this.campoAlterado = campoAlterado;
|
||||||
}
|
}
|
||||||
|
|
||||||
public String getClasseAlterada() {
|
public String getClasseAlterada() {
|
||||||
return classeAlterada;
|
return classeAlterada;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setClasseAlterada(String classeAlterada) {
|
public void setClasseAlterada(String classeAlterada) {
|
||||||
this.classeAlterada = classeAlterada;
|
this.classeAlterada = classeAlterada;
|
||||||
}
|
}
|
||||||
|
|
||||||
public String getClassePrincipal() {
|
public String getClassePrincipal() {
|
||||||
return classePrincipal;
|
return classePrincipal;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setClassePrincipal(String classePrincipal) {
|
public void setClassePrincipal(String classePrincipal) {
|
||||||
this.classePrincipal = classePrincipal;
|
this.classePrincipal = classePrincipal;
|
||||||
}
|
}
|
||||||
|
|
||||||
public String getTela() {
|
public String getTela() {
|
||||||
return tela;
|
return tela;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setTela(String tela) {
|
public void setTela(String tela) {
|
||||||
this.tela = tela;
|
this.tela = tela;
|
||||||
}
|
}
|
||||||
|
|
||||||
public AuditadorTipoAlteracao getTipoAlteracao() {
|
public AuditadorTipoAlteracao getTipoAlteracao() {
|
||||||
return tipoAlteracao;
|
return tipoAlteracao;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setTipoAlteracao(AuditadorTipoAlteracao tipoAlteracao) {
|
public void setTipoAlteracao(AuditadorTipoAlteracao tipoAlteracao) {
|
||||||
this.tipoAlteracao = tipoAlteracao;
|
this.tipoAlteracao = tipoAlteracao;
|
||||||
}
|
}
|
||||||
|
|
||||||
public String getIdAuditado() {
|
public String getIdAuditado() {
|
||||||
return idAuditado;
|
return idAuditado;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setIdAuditado(String idAuditado) {
|
public void setIdAuditado(String idAuditado) {
|
||||||
this.idAuditado = idAuditado;
|
this.idAuditado = idAuditado;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected Object clone() throws CloneNotSupportedException {
|
protected Object clone() throws CloneNotSupportedException {
|
||||||
return super.clone();
|
return super.clone();
|
||||||
}
|
}
|
||||||
|
|
||||||
public AuditadorObjects clonar() throws CloneNotSupportedException {
|
public AuditadorObjects clonar() throws CloneNotSupportedException {
|
||||||
return (AuditadorObjects) this.clone();
|
return (AuditadorObjects) this.clone();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String toString() {
|
public String toString() {
|
||||||
return "AuditadorObjects [valorAnterior=" + valorAnterior + ", valorNovo=" + valorNovo + ", campoAlterado="
|
return "AuditadorObjects [valorAnterior=" + valorAnterior + ", valorNovo=" + valorNovo + ", campoAlterado="
|
||||||
+ campoAlterado + ", classeAlterada=" + classeAlterada + ", classePrincipal=" + classePrincipal
|
+ campoAlterado + ", classeAlterada=" + classeAlterada + ", classePrincipal=" + classePrincipal
|
||||||
+ ", tela=" + tela + ", tipoAlteracao=" + tipoAlteracao + ", idAuditado="
|
+ ", tela=" + tela + ", tipoAlteracao=" + tipoAlteracao + ", idAuditado="
|
||||||
+ idAuditado + "]";
|
+ idAuditado + "]";
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
Loading…
Reference in New Issue