Subversion Repositories Integrator Subversion

Rev

Rev 106 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed

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