Subversion Repositories Integrator Subversion

Rev

Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
1 espaco 1
package br.com.ec.controller.managedbean;
2
 
3
import java.io.Serializable;
4
import java.util.HashSet;
5
import java.util.List;
6
 
7
import javax.inject.Inject;
8
import javax.inject.Named;
9
import javax.servlet.http.HttpSession;
10
 
11
import org.springframework.context.annotation.Scope;
12
 
13
import br.com.ec.domain.model.Perfil;
14
import br.com.ec.domain.model.Pessoa;
15
import br.com.ec.domain.model.Usuario;
16
import br.com.ec.domain.model.UsuarioPerfil;
17
import br.com.ec.domain.service.perfil.PerfilService;
18
import br.com.ec.domain.service.usuario.UsuarioService;
19
import br.edu.cesmac.core.consulta.ParametrosConsulta;
20
import br.edu.cesmac.core.exception.NegocioException;
21
import br.edu.cesmac.core.generic.GenericService;
22
import br.edu.cesmac.core.util.VerificadorUtil;
23
import br.edu.cesmac.web.exception.VerificadorLancamentoException;
24
import br.edu.cesmac.web.exception.VerificadorLancamentoException.CommandBean;
25
import br.edu.cesmac.web.generic.AbstractBean;
26
import br.edu.cesmac.web.message.LancadorMensagem;
27
import br.edu.cesmac.web.util.TipoOperacao;
28
 
29
@Named
30
@Scope("view")
31
public class UsuarioBean extends AbstractBean<Usuario> implements Serializable {
32
 
33
        private static final long serialVersionUID = 1L;
34
 
35
        private UsuarioService usuarioService;
36
        private PerfilService perfilService;
37
 
38
        private Usuario usuarioSelecionado;
39
        private Perfil perfilSelecionado;
40
        private List<Perfil> perfis;
41
 
42
        @Inject
43
        public UsuarioBean(UsuarioService usuarioService, PerfilService perfilService) {
44
                this.usuarioService = usuarioService;
45
                this.perfilService = perfilService;
46
        }
47
 
48
        @Override
49
        public void limparEntidade() {
50
                setEntidade(new Usuario());
51
        }
52
 
53
        @Override
54
        public GenericService<Usuario> getService() {
55
                return usuarioService;
56
        }
57
 
58
        @Override
59
        public Usuario getEntidade() {
60
                return entidade;
61
        }
62
 
63
        @Override
64
        public Usuario getId() {
65
                return getEntidade();
66
        }
67
 
68
        public Usuario getUsuarioSelecionado() {
69
                return usuarioSelecionado;
70
        }
71
        public void setUsuarioSelecionado(Usuario usuarioSelecionado) {
72
                this.usuarioSelecionado = usuarioSelecionado;
73
        }
74
 
75
        public Perfil getPerfilSelecionado() {
76
                return perfilSelecionado;
77
        }
78
        public void setPerfilSelecionado(Perfil perfilSelecionado) {
79
                this.perfilSelecionado = perfilSelecionado;
80
        }
81
 
82
        public List<Perfil> getPerfis() {
83
                if (VerificadorUtil.estaNulo(perfis)) {
84
                        setPerfis(perfilService.consultarTodos(new Perfil()));
85
                }
86
                return perfis;
87
        }
88
        public void setPerfis(List<Perfil> perfis) {
89
                this.perfis = perfis;
90
        }
91
 
92
        @Override
93
        public void preCarregamento() {
94
                parametrosConsulta = new ParametrosConsulta<Usuario>();
95
                parametrosConsulta.setEntidade(new Usuario());
96
        }
97
 
98
        /***************************************************************/
99
 
100
        @Override
101
        public void preDetalhar(Usuario usuario) {
102
                detalhar(usuario);
103
                setTipoOperacao(TipoOperacao.DETALHAR);
104
        }
105
 
106
        @Override
107
        public void preAlterar(Usuario usuario) {
108
                detalhar(usuario);
109
                setTipoOperacao(TipoOperacao.ALTERAR);
110
        }
111
 
112
        public void detalhar(Usuario usuario) {
113
                setEntidade(usuarioService.detalhar(usuario));
114
        }
115
 
116
        public void detalhar(final Pessoa pessoa) {
117
                new VerificadorLancamentoException().tratarIhRelancarExcecaoSemLimparEntidade(new CommandBean() {
118
                        public void execute() {
119
                                Usuario usuarioConsultado = usuarioService.consultarUsuarioPorPessoa(pessoa);
120
                                if (VerificadorUtil.estaNulo(usuarioConsultado)) {
121
                                        throw new NegocioException("Usuário não existe para esta pessoa");
122
                                }
123
                                setEntidade(usuarioService.detalhar(usuarioConsultado));
124
                                adicionandoParametroArgsConfirmandoAcao(true);
125
                        }
126
                });
127
        }
128
 
129
        public void selecionarPessoa(Pessoa pessoa) {
130
                getEntidade().setPessoa(pessoa);
131
        }
132
 
133
        public void retirarPessoa() {
134
                getEntidade().setPessoa(null);
135
        }
136
 
137
        public void limparPerfil() {
138
                setPerfilSelecionado(null);
139
        }
140
 
141
        public void adicionarPerfil() {
142
                new VerificadorLancamentoException().tratarIhRelancarExcecaoSemLimparEntidade(new CommandBean() {
143
                        public void execute() {
144
                                if (VerificadorUtil.estaNulo(getPerfilSelecionado())) {
145
                                        throw new NegocioException("Selecione o perfil");
146
                                }
147
                                UsuarioPerfil usuarioPerfil = new UsuarioPerfil();
148
                                usuarioPerfil.setPerfil(getPerfilSelecionado());
149
                                usuarioPerfil.setUsuario(getEntidade());
150
                                if (VerificadorUtil.estaNulo(getEntidade().getPerfis())) {
151
                                        getEntidade().setPerfis(new HashSet<UsuarioPerfil>());
152
                                }
153
                                getEntidade().getPerfis().add(usuarioPerfil);
154
                                adicionandoParametroArgsConfirmandoAcao(true);
155
                        }
156
                });
157
        }
158
 
159
        public void removerPerfil(UsuarioPerfil usuarioPerfil) {
160
                getEntidade().getPerfis().remove(usuarioPerfil);
161
        }
162
 
163
        public void alterarSenhaUsuario() {
164
                new VerificadorLancamentoException().tratarIhRelancarExcecaoSemLimparEntidade(new CommandBean() {
165
                        public void execute() {
166
                                usuarioService.alterarSenhaUsuario(getEntidade());
167
                                LancadorMensagem.lancarSucesso("SENHA ALTERADA COM SUCESSO");
168
                        }
169
                });
170
        }
171
 
172
        public int sessoesAtivas() {
173
                try {
174
                        HttpSession sessao = (HttpSession) getContext().getExternalContext().getSession(false);
175
                        int qnt = (int) sessao.getAttribute("SessionCount");
176
                        return qnt;
177
                } catch (Exception e) {
178
                }
179
                return (Integer) null;
180
        }
181
 
182
}