Subversion Repositories Integrator Subversion

Rev

Rev 182 | Details | Compare with Previous | 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.List;
5
 
6
import javax.inject.Inject;
7
import javax.inject.Named;
8
 
9
import org.springframework.context.annotation.Scope;
10
 
11
import br.com.ec.domain.model.UniversidadeConteudo;
12
import br.com.ec.domain.model.UniversidadeModulo;
13
import br.com.ec.domain.model.UniversidadeTopico;
14
import br.com.ec.domain.model.UniversidadeTopicoUsuario;
15
import br.com.ec.domain.model.tipos.TipoUniversidadeConteudo;
16
import br.com.ec.domain.service.seguranca.ContextoSeguranca;
17
import br.com.ec.domain.service.universidadeconteudo.UniversidadeConteudoService;
18
import br.com.ec.domain.service.universidademodulo.UniversidadeModuloService;
19
import br.com.ec.domain.service.universidadetopico.UniversidadeTopicoService;
20
import br.com.ec.domain.service.universidadetopicousuario.UniversidadeTopicoUsuarioService;
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 UniversidadeModuloBean extends AbstractBean<UniversidadeModulo> implements Serializable {
32
 
33
        private static final long serialVersionUID = 1L;
34
 
35
        private UniversidadeTopico topicoSelecionado;
36
        private UniversidadeConteudo conteudoSelecionado;
37
        private List<UniversidadeTopico> topicos;
38
        private List<UniversidadeTopicoUsuario> acessosTopico;
39
        private List<UniversidadeConteudo> conteudos;
40
        private List<UniversidadeModulo> listaModulos;
41
        private List<UniversidadeModulo> listaModulosAtivos;
42
        private UniversidadeModuloService universidadeModuloService;
43
        private UniversidadeTopicoService universidadeTopicoService;
44
        private UniversidadeTopicoUsuarioService universidadeTopicoUsuarioService;
45
        private UniversidadeConteudoService universidadeConteudoService;
46
 
47
        private ContextoSeguranca contextoSeguranca;
48
 
49
        @Inject
50
        public UniversidadeModuloBean(UniversidadeModuloService universidadeModuloService, UniversidadeTopicoService universidadeTopicoService,
51
                        UniversidadeTopicoUsuarioService universidadeTopicoUsuarioService, UniversidadeConteudoService universidadeConteudoService,
52
                        ContextoSeguranca contextoSeguranca) {
53
                this.universidadeModuloService = universidadeModuloService;
54
                this.universidadeTopicoService = universidadeTopicoService;
55
                this.universidadeTopicoUsuarioService = universidadeTopicoUsuarioService;
56
                this.universidadeConteudoService = universidadeConteudoService;
57
                this.contextoSeguranca = contextoSeguranca;
58
        }
59
 
60
        @Override
61
        public void limparEntidade() {
62
                setEntidade(new UniversidadeModulo());
63
        }
64
 
65
        @Override
66
        public GenericService<UniversidadeModulo> getService() {
67
                return universidadeModuloService;
68
        }
69
 
70
        @Override
71
        public UniversidadeModulo getEntidade() {
72
                return entidade;
73
        }
74
 
75
        @Override
76
        public UniversidadeModulo getId() {
77
                return getEntidade();
78
        }
79
 
80
        public UniversidadeTopico getTopicoSelecionado() {
81
                return topicoSelecionado;
82
        }
83
        public void setTopicoSelecionado(UniversidadeTopico topicoSelecionado) {
84
                this.topicoSelecionado = topicoSelecionado;
85
        }
86
 
87
        public UniversidadeConteudo getConteudoSelecionado() {
88
                return conteudoSelecionado;
89
        }
90
        public void setConteudoSelecionado(UniversidadeConteudo conteudoSelecionado) {
91
                this.conteudoSelecionado = conteudoSelecionado;
92
        }
93
 
94
        public List<UniversidadeTopico> getTopicos() {
95
                return topicos;
96
        }
97
        public void setTopicos(List<UniversidadeTopico> topicos) {
98
                this.topicos = topicos;
99
        }
100
 
101
        public List<UniversidadeTopicoUsuario> getAcessosTopico() {
102
                return acessosTopico;
103
        }
104
        public void setAcessosTopico(List<UniversidadeTopicoUsuario> acessosTopico) {
105
                this.acessosTopico = acessosTopico;
106
        }
107
 
108
        public List<UniversidadeConteudo> getConteudos() {
109
                return conteudos;
110
        }
111
        public void setConteudos(List<UniversidadeConteudo> conteudos) {
112
                this.conteudos = conteudos;
113
        }
114
 
115
        public List<UniversidadeModulo> getListaModulos() {
116
//              if (VerificadorUtil.estaNulo(listaModulos)) {
117
                        setListaModulos(universidadeModuloService.consultarTodos(new UniversidadeModulo()));
118
//              }
119
                return listaModulos;
120
        }
121
        public void setListaModulos(List<UniversidadeModulo> listaModulos) {
122
                this.listaModulos = listaModulos;
123
        }
124
 
125
        public List<UniversidadeModulo> getListaModulosAtivos() {
126
                if (VerificadorUtil.estaNulo(listaModulosAtivos)) {
127
                        setListaModulosAtivos(universidadeModuloService.listarModulosAtivos());
128
                }
129
                return listaModulosAtivos;
130
        }
131
        public void setListaModulosAtivos(List<UniversidadeModulo> listaModulosAtivos) {
132
                this.listaModulosAtivos = listaModulosAtivos;
133
        }
134
 
135
        public TipoUniversidadeConteudo[] getTiposConteudo() {
136
                return TipoUniversidadeConteudo.values();
137
        }
138
 
139
        public void prepararTopico() {
140
                setTopicoSelecionado(new UniversidadeTopico());
141
        }
142
 
143
        public void cadastrarTopico() {
144
                new VerificadorLancamentoException().tratarIhRelancarExcecaoSemLimparEntidade(new CommandBean() {
145
                        public void execute() {
146
                                getTopicoSelecionado().setModulo(getEntidade());
147
                                universidadeTopicoService.cadastrar(getTopicoSelecionado());
148
                                LancadorMensagem.lancarSucesso(getMensagens().get(IDENTIFICADOR_MENSAGEM_CADASTRADO_COM_SUCESSO));
149
                                consultarTopicos(getEntidade());
150
                        }
151
                });
152
        }
153
 
154
        public void alterarTopico() {
155
                new VerificadorLancamentoException().tratarIhRelancarExcecaoSemLimparEntidade(new CommandBean() {
156
                        public void execute() {
157
                                universidadeTopicoService.alterar(getTopicoSelecionado());
158
                                LancadorMensagem.lancarSucesso(getMensagens().get(IDENTIFICADOR_MENSAGEM_ALTERADO_COM_SUCESSO));
159
                        }
160
                });
161
        }
162
 
163
        public void selecionarTopico(UniversidadeTopico universidadeTopico) {
164
                setTopicoSelecionado(universidadeTopico);
165
                setConteudos(universidadeTopicoService.consultarConteudos(universidadeTopico, true));
166
        }
167
 
168
        public void prepararConteudo() {
169
                setConteudoSelecionado(new UniversidadeConteudo());
170
        }
171
 
172
        public void cadastrarConteudo() {
173
                new VerificadorLancamentoException().tratarIhRelancarExcecaoSemLimparEntidade(new CommandBean() {
174
                        public void execute() {
175
                                getConteudoSelecionado().setTopico(getTopicoSelecionado());
176
                                universidadeConteudoService.cadastrar(getConteudoSelecionado());
177
                                LancadorMensagem.lancarSucesso(getMensagens().get(IDENTIFICADOR_MENSAGEM_CADASTRADO_COM_SUCESSO));
178
                                selecionarTopico(getTopicoSelecionado());
179
                        }
180
                });
181
        }
182
 
183
        public void alterarConteudo() {
184
                new VerificadorLancamentoException().tratarIhRelancarExcecaoSemLimparEntidade(new CommandBean() {
185
                        public void execute() {
186
                                universidadeConteudoService.alterar(getConteudoSelecionado());
187
                                LancadorMensagem.lancarSucesso(getMensagens().get(IDENTIFICADOR_MENSAGEM_ALTERADO_COM_SUCESSO));
188
                        }
189
                });
190
        }
191
 
192
        public void acessarTopicos(UniversidadeModulo universidadeModulo) {
193
                setEntidade(universidadeModulo);
194
                setTopicos(universidadeTopicoService.consultarTopicos(universidadeModulo, true));
195
        }
196
 
197
        public void acessarConteudo(UniversidadeTopico universidadeTopico) {
198
                setTopicoSelecionado(universidadeTopico);
199
                setConteudos(universidadeTopicoService.consultarConteudos(universidadeTopico, true));
200
                universidadeTopicoService.atualizarAcessoUsuario(universidadeTopico, contextoSeguranca.obterUsuario());
201
        }
202
 
203
        public void consultarTopicos(UniversidadeModulo universidadeModulo) {
204
                setTipoOperacao(TipoOperacao.REALIZAR);
205
                setEntidade(universidadeModuloService.detalharModulo(universidadeModulo));
206
                setConteudoSelecionado(null);
207
                setConteudos(null);
208
                setAcessosTopico(null);
209
        }
210
 
211
        public void acessosTopico(UniversidadeTopico universidadeTopico) {
212
                setTopicoSelecionado(universidadeTopico);
213
                setAcessosTopico(universidadeTopicoUsuarioService.acessosTopico(universidadeTopico));
214
        }
215
 
216
        public void excluirTopico(final UniversidadeTopico universidadeTopico) {
217
                new VerificadorLancamentoException().tratarIhRelancarExcecaoSemLimparEntidade(new CommandBean() {
218
                        public void execute() {
219
                                universidadeTopicoService.excluir(universidadeTopico);
220
                                LancadorMensagem.lancarSucesso(getMensagens().get(IDENTIFICADOR_MENSAGEM_EXCLUIDO_COM_SUCESSO));
221
                                consultarTopicos(getEntidade());
222
                        }
223
                });
224
        }
225
 
226
        public void excluirConteudo(final UniversidadeConteudo universidadeConteudo) {
227
                new VerificadorLancamentoException().tratarIhRelancarExcecaoSemLimparEntidade(new CommandBean() {
228
                        public void execute() {
229
                                universidadeConteudoService.excluir(universidadeConteudo);
230
                                LancadorMensagem.lancarSucesso(getMensagens().get(IDENTIFICADOR_MENSAGEM_EXCLUIDO_COM_SUCESSO));
231
                                selecionarTopico(getTopicoSelecionado());
232
                        }
233
                });
234
        }
235
 
236
}