[phpBB Debug] PHP Notice: in file /includes/bbcode.php on line 112: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Notice: in file /includes/functions.php on line 3824: Cannot modify header information - headers already sent by (output started at /includes/functions.php:3247)
[phpBB Debug] PHP Notice: in file /includes/functions.php on line 3826: Cannot modify header information - headers already sent by (output started at /includes/functions.php:3247)
[phpBB Debug] PHP Notice: in file /includes/functions.php on line 3827: Cannot modify header information - headers already sent by (output started at /includes/functions.php:3247)
[phpBB Debug] PHP Notice: in file /includes/functions.php on line 3828: Cannot modify header information - headers already sent by (output started at /includes/functions.php:3247)
Next Framework • Ver Tópico - Auditoria

Auditoria

Não deixe de perguntar, solucione aqui suas dúvidas...

Auditoria

Mensagempor joaoricardo.junin » Sex Nov 19, 2010 4:00 pm

Qual seria a melhor maneira utilizando a framework ou reimplementando alguma funcionalidade para criar uma tabela de auditoria que ficasse gravada o usuário / ação / funcionalidade / data e horário da ação ????
joaoricardo.junin
 
Mensagens: 19
Data de registro: Seg Mar 01, 2010 9:20 am

Re: Auditoria

Mensagempor biharck » Sex Nov 19, 2010 7:56 pm

biharck
 
Mensagens: 29
Data de registro: Seg Ago 24, 2009 5:47 pm

Re: Auditoria

Mensagempor rogelgarcia » Sáb Nov 20, 2010 9:59 am

Olá junin, o caminho é pela solução do Biharck mesmo..

Biharck, obrigado pelo suporte :D

Até mais
rogelgarcia
Administrador
 
Mensagens: 674
Data de registro: Qua Jul 08, 2009 9:02 am

Re: Auditoria

Mensagempor joaoricardo.junin » Seg Nov 22, 2010 7:22 am

Ajudou sim e muitoooooooooooooo

Obrigado aos dois pela colaboração assim que acabar de implementar dou um para falar se funcionou ou não. ;)
joaoricardo.junin
 
Mensagens: 19
Data de registro: Seg Mar 01, 2010 9:20 am

Re: Auditoria

Mensagempor marlon » Qua Jan 05, 2011 2:09 pm

Boa tarde!

Só para participar da solução. Fiz da seguinte forma:

Tenho um classe base para os "Pojos"

public abstract class BasicBean implements Serializable {

private static final long serialVersionUID = -9138421428187487082L;

protected Long id;

private String userInc;
private String userAtu;
private String userExc;
private Date dataInc;
private Date dataAtu;
private Date dataExc;

@Id
@GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "SEQUENCE")
public Long getId() {
return id;
}

public void setId(Long id) {
this.id = id;
}
demais get e set omitidos
}

e extendi o GenericDAO:

public class GenericAuditDAO<BEAN> extends GenericDAO<BEAN> {

/* (non-Javadoc)
* @see org.nextframework.persistence.GenericDAO#saveOrUpdate(java.lang.Object)
*/
@Override
public void saveOrUpdate(BEAN bean) {
if (((BasicBean) bean).getId() == null) {
((BasicBean) bean).setDataInc(new Date());
((BasicBean) bean).setUserInc(Next.getUser().getLogin());
((BasicBean) bean).setDataAtu(new Date());
((BasicBean) bean).setUserAtu(Next.getUser().getLogin());
} else {
BasicBean bb = (BasicBean) load(bean);
((BasicBean) bean).setDataInc(bb.getDataInc());
((BasicBean) bean).setUserInc(bb.getUserInc());
((BasicBean) bean).setDataExc(bb.getDataExc());
((BasicBean) bean).setUserExc(bb.getUserExc());

((BasicBean) bean).setDataAtu(new Date());
((BasicBean) bean).setUserAtu(Next.getUser().getLogin());
}
super.saveOrUpdate(bean);
}

/* (non-Javadoc)
* @see org.nextframework.persistence.GenericDAO#delete(java.lang.Object)
*/
@Override
public void delete(BEAN bean) {
bean = load(bean);
((BasicBean) bean).setDataExc(new Date());
((BasicBean) bean).setUserExc(Next.getUser().getLogin());
this.getHibernateTemplate().update(bean);
}
}

e nas classes eu extendo o GenericAuditDAO.

Há alguma restrição para essa solução?
marlon
 
Mensagens: 34
Data de registro: Seg Out 04, 2010 9:26 am

Re: Auditoria

Mensagempor rogelgarcia » Qua Jan 05, 2011 3:37 pm

Olá Marlon.. obrigado por compartilhar sua solução..

Não tem restrição não.. pode usar dessa forma..

Sempre que precisar, poderá criar uma classe mãe para os entities.. e também uma classe mãe para os DAOs...

Essa mesma idéia pode ser extendida.. para os Cruds por exemplo, se desejar algum processamento personalizado..

Juntando isso.. com alguma modificação nos templates das tags JSP.. é possível personalizar "o SEU framework" do jeito que achar mais interessante... de maneiras praticamente infinitas... :D

Vlw galera..
rogelgarcia
Administrador
 
Mensagens: 674
Data de registro: Qua Jul 08, 2009 9:02 am


Retornar para Dúvidas

Quem está online

Usuários vendo este fórum: Nenhum usuário registrado online e 2 visitantes

cron