Subversion Repositories Integrator Subversion

Rev

Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
1 espaco 1
package br.gov.al.saude.srv.model.historico;
2
 
3
import java.io.Serializable;
4
import java.util.Date;
5
import javax.persistence.Column;
6
import javax.persistence.Entity;
7
import javax.persistence.GeneratedValue;
8
import javax.persistence.GenerationType;
9
import javax.persistence.Id;
10
import javax.persistence.JoinColumn;
11
import javax.persistence.OneToOne;
12
import javax.persistence.SequenceGenerator;
13
import javax.persistence.Table;
14
import javax.persistence.Temporal;
15
import javax.persistence.TemporalType;
16
import javax.persistence.Transient;
17
import org.hibernate.envers.RevisionEntity;
18
import org.hibernate.envers.RevisionNumber;
19
import org.hibernate.envers.RevisionTimestamp;
20
import br.gov.al.saude.framework.core.generic.auditoria.IRevisaoEntidade;
21
import br.gov.al.saude.framework.core.util.VerificadorUtil;
22
import br.gov.al.saude.framework.model.UsuarioView;
23
 
24
@Entity
25
@Table(name="srv_revisao_historico", schema="sc_srv")
26
@RevisionEntity(RevisaoListener.class)
27
public class RevisaoEntity implements Serializable, IRevisaoEntidade {
28
 
29
        private static final long serialVersionUID = -1255842407304508513L;
30
 
31
        private Long sequencial;
32
        private Date dataHoraHistorico;
33
        private Long usuario;
34
        private UsuarioView usuarioView;
35
 
36
        @Id
37
        @GeneratedValue(generator="REVISAO_GENERATOR", strategy = GenerationType.SEQUENCE)
38
        @SequenceGenerator(name="REVISAO_GENERATOR", sequenceName = "sc_srv.sq_revishistori", initialValue = 1, allocationSize = 1, schema="sc_srv")
39
        @RevisionNumber
40
        @Column(name="seq_revisao_historico")
41
        public Long getSequencial() {
42
                return sequencial;
43
        }
44
 
45
        public void setSequencial(Long sequencial) {
46
                this.sequencial = sequencial;
47
        }
48
 
49
        @RevisionTimestamp
50
        @Column(name="dth_historico")
51
        @Temporal(TemporalType.TIMESTAMP)
52
        public Date getDataHoraHistorico() {
53
                return dataHoraHistorico;
54
        }
55
 
56
        public void setDataHoraHistorico(Date dataHoraHistorico) {
57
                this.dataHoraHistorico = dataHoraHistorico;
58
        }
59
 
60
        @Column(name="seq_pessoa_usuario")
61
        public Long getUsuario() {
62
                return usuario;
63
        }
64
 
65
        public void setUsuario(Long usuario) {
66
                this.usuario = usuario;
67
        }
68
 
69
        @Override
70
        public int hashCode() {
71
                final int prime = 31;
72
                int result = 1;
73
                result = prime
74
                                * result
75
                                + ((dataHoraHistorico == null) ? 0 : dataHoraHistorico
76
                                                .hashCode());
77
                result = prime * result
78
                                + ((sequencial == null) ? 0 : sequencial.hashCode());
79
                result = prime * result + ((usuario == null) ? 0 : usuario.hashCode());
80
                return result;
81
        }
82
 
83
        @OneToOne
84
        @JoinColumn(name="seq_pessoa_usuario", referencedColumnName="seq_pessoa", insertable=false, updatable=false)
85
        public UsuarioView getUsuarioView() {
86
                return usuarioView;
87
        }
88
 
89
        public void setUsuarioView(UsuarioView usuarioView) {
90
                this.usuarioView = usuarioView;
91
        }
92
 
93
        @Transient
94
        @Override
95
        public String getNomeUsuario() {
96
                return VerificadorUtil.naoEstaNulo(getUsuarioView())? getUsuarioView().getNomePessoa() : null;
97
        }
98
 
99
        @Override
100
        public boolean equals(Object obj) {
101
                if (this == obj)
102
                        return true;
103
                if (obj == null)
104
                        return false;
105
                if (!(obj instanceof RevisaoEntity))
106
                        return false;
107
                RevisaoEntity other = (RevisaoEntity) obj;
108
                if (dataHoraHistorico == null) {
109
                        if (other.dataHoraHistorico != null)
110
                                return false;
111
                } else if (!dataHoraHistorico.equals(other.dataHoraHistorico))
112
                        return false;
113
                if (sequencial == null) {
114
                        if (other.sequencial != null)
115
                                return false;
116
                } else if (!sequencial.equals(other.sequencial))
117
                        return false;
118
                if (usuario == null) {
119
                        if (other.usuario != null)
120
                                return false;
121
                } else if (!usuario.equals(other.usuario))
122
                        return false;
123
                return true;
124
        }
125
 
126
}