Commit 75652ff0a098ad2a8d42293c942bfd543a290c2a

Authored by vitor.pacheco
1 parent af0805c7
Exists in master

Teste #3330: Campos Obrigatórios

git-svn-id: https://svn.bento.ifrs.edu.br/default/ASES/e-selo@9845 c2178572-b5ca-4887-91d2-9e3a90c7d55b
Desenvolvimento/Codificacao/e-Selo/src/main/java/br/com/eselo/controller/AvaliacaoController.java
... ... @@ -132,7 +132,7 @@ public class AvaliacaoController {
132 132  
133 133 ParametroCalculo parametroCalculo = paramDao
134 134 .getLastParametrosCalculo();
135   -
  135 +
136 136 salvarAvaliacao(relatorioAvaliacao, parametroCalculo);
137 137  
138 138 // obter as diretrizes e níveis de conformidade
... ... @@ -159,7 +159,7 @@ public class AvaliacaoController {
159 159 }
160 160 somaPesosRecomendacoes = somaPesosRecomendacoes
161 161 + recomendacao.getPeso();
162   -
  162 +
163 163 if(somatorioPesosCriterios>0){
164 164 somatorioNotaRecomendacoes = ((somatorioNotaTeste / somatorioPesosCriterios) * recomendacao.getPeso()) + somatorioNotaRecomendacoes;
165 165 }
... ... @@ -191,7 +191,7 @@ public class AvaliacaoController {
191 191 /**
192 192 * Função REST que executa uma avaliação e devolve seu resultado no formato
193 193 * JSON
194   - *
  194 + *
195 195 * @param relatorioAvaliacao
196 196 */
197 197 @Post("/calcular-nota")
... ... @@ -202,8 +202,8 @@ public class AvaliacaoController {
202 202 String fullContextPath = request.getScheme() + "://"
203 203 + request.getServerName() + ":" + request.getServerPort()
204 204 + request.getContextPath();
205   -
206   - if (relatorioAvaliacao.getRecomendacoes()!=null
  205 +
  206 + if (relatorioAvaliacao.getRecomendacoes()!=null
207 207 && relatorioAvaliacao.getRecomendacoes().size() > 0
208 208 && relatorioAvaliacao.getDate() != null
209 209 && relatorioAvaliacao.getUrl() != null) {
... ... @@ -247,21 +247,21 @@ public class AvaliacaoController {
247 247 result.use(Results.json()).withoutRoot().from(resultadoAvaliacao)
248 248 .serialize();
249 249 }
250   -
  250 +
251 251 private Avaliacao salvarAvaliacao(RelatorioAvaliacao relatorioAvaliacao, ParametroCalculo parametroCalculo){
252   -
  252 +
253 253 try {
254 254 relatorioAvaliacao.setUrl(URLNormalizer.normalize(relatorioAvaliacao.getUrl()));
255 255 } catch (MalformedURLException e) {
256 256 System.out.println("Erro ao tentar normalizar a URL do Relatorio de Avaliacao");
257 257 e.printStackTrace();
258 258 }
259   -
  259 +
260 260 Avaliacao avaliacao = new Avaliacao();
261 261 avaliacao.setDataAvaliacao(relatorioAvaliacao.getDate());
262 262 avaliacao.setParametroCalculo(parametroCalculo);
263 263 avaliacao.setQtdeLinhas(relatorioAvaliacao.getQtdeLinhas());
264   -
  264 +
265 265 Url url = daoUrl.getStringUrl(relatorioAvaliacao.getUrl());
266 266  
267 267 if (url == null) {
... ... @@ -269,7 +269,7 @@ public class AvaliacaoController {
269 269 url.setUrl(relatorioAvaliacao.getUrl());
270 270 daoUrl.save(url);
271 271 }
272   -
  272 +
273 273 avaliacao.setUrl(url);
274 274 avaliacao = new LeitorXML().lerResultadosXML(relatorioAvaliacao, avaliacao);
275 275 dao.save(avaliacao);
... ...
Desenvolvimento/Codificacao/e-Selo/src/main/java/br/com/eselo/controller/CriteriosController.java
1   -package br.com.eselo.controller;
2   -
3   -import java.util.List;
4   -
5   -import br.com.caelum.vraptor.Get;
6   -import br.com.caelum.vraptor.Path;
7   -import br.com.caelum.vraptor.Post;
8   -import br.com.caelum.vraptor.Put;
9   -import br.com.caelum.vraptor.Resource;
10   -import br.com.caelum.vraptor.Result;
11   -import br.com.caelum.vraptor.Validator;
12   -import br.com.caelum.vraptor.validator.ValidationMessage;
13   -import br.com.eselo.annotations.Restrito;
14   -import br.com.eselo.component.CopiadorParametroCalculo;
15   -import br.com.eselo.component.UsuarioWeb;
16   -import br.com.eselo.dao.CriterioDAO;
17   -import br.com.eselo.dao.ParametroCalculoDAO;
18   -import br.com.eselo.dao.RecomendacaoDAO;
19   -import br.com.eselo.dao.TipoTesteDAO;
20   -import br.com.eselo.model.Criterio;
21   -import br.com.eselo.model.ParametroCalculo;
22   -import br.com.eselo.model.Recomendacao;
23   -import br.com.eselo.model.TipoTeste;
24   -
25   -@Resource
26   -public class CriteriosController {
27   -
28   - private final CriterioDAO dao;
29   - private final ParametroCalculoDAO paDAO;
30   - private final Result result;
31   - private final Validator validator;
32   - private final UsuarioWeb usuarioWeb;
33   -
34   - public CriteriosController(CriterioDAO _dao, ParametroCalculoDAO _paDAO,
35   - Result _result, Validator _validator, UsuarioWeb _usuarioWeb) {
36   - this.dao = _dao;
37   - this.paDAO = _paDAO;
38   - this.result = _result;
39   - this.validator = _validator;
40   - this.usuarioWeb = _usuarioWeb;
41   - }
42   -
43   - @Get("/criterio/novo/{id}")
44   - @Restrito(descricao = "CRITERIO_ADICIONAR")
45   - public Criterio novo(Long id) {
46   - Recomendacao recomendacao = new RecomendacaoDAO(dao.getSession())
47   - .load(id);
48   - Criterio criterio = new Criterio();
49   - criterio.setRecomendacao(recomendacao);
50   -
51   - result.include("parametroCalculoId", criterio.getRecomendacao()
52   - .getParametroCalculo().getId());
53   - result.include("parametroCalculo", criterio.getRecomendacao()
54   - .getParametroCalculo());
55   - result.include("recomendacao", criterio.getRecomendacao());
56   - result.include("recomendacaoId", criterio.getRecomendacao().getId());
57   -
58   - populateSelectLists();
59   -
60   - return criterio;
61   - }
62   -
63   - @Get("/criterios/form/{id}")
64   - @Restrito(descricao = "CRITERIO_ATUALIZAR")
65   - public Criterio form(Long id) {
66   - Criterio criterio = dao.load(id);
67   - result.include("recomendacaoId", criterio.getRecomendacao().getId());
68   - result.include("parametroCalculo", criterio.getRecomendacao()
69   - .getParametroCalculo());
70   - result.include("tipoTeste", criterio.getTipoTeste());
71   - populateSelectLists();
72   -
73   - return criterio;
74   - }
75   -
76   - @Post("/criterio")
77   - @Restrito(descricao = "CRITERIO_ADICIONAR")
78   - public void adicionar(Criterio criterio) {
79   -
80   - criterio.setRecomendacao(new RecomendacaoDAO(dao.getSession())
81   - .load(criterio.getRecomendacao().getId()));
82   -
83   - validarCriterio(criterio);
84   -
85   - result.include("recomendacaoId", criterio.getRecomendacao().getId());
86   - result.include("parametroCalculo", criterio.getRecomendacao()
87   - .getParametroCalculo());
88   - result.include("tipoTeste", criterio.getTipoTeste());
89   - populateSelectLists();
90   -
91   - validator.onErrorUsePageOf(CriteriosController.class).novo(
92   - criterio.getRecomendacao().getId());
93   -
94   - this.criarNovoParametroAvaliacao(criterio,
95   - ParametroCalculoController.MODO_ADD);
96   -
97   - result.include("mensagem", "Critério salvo com sucesso.");
98   - result.redirectTo(RecomendacaoController.class).form(
99   - criterio.getRecomendacao().getId());
100   - }
101   -
102   - @Put("/criterio")
103   - @Restrito(descricao = "CRITERIO_ATUALIZAR")
104   - public void atualizar(Criterio criterio) {
105   - criterio.setRecomendacao(new RecomendacaoDAO(dao.getSession())
106   - .load(criterio.getRecomendacao().getId()));
107   -
108   - @SuppressWarnings("unchecked")
109   - List<TipoTeste> tipoTestes = (List<TipoTeste>) dao.getAllTipoTeste();
110   - Criterio criterioCadastrado = dao.load(criterio.getId());
111   -
112   -
113   - result.include("recomendacaoId", criterio.getRecomendacao().getId());
114   - result.include("parametroCalculo", criterio.getRecomendacao()
115   - .getParametroCalculo());
116   - result.include("tipoTeste", criterio.getTipoTeste());
117   - result.include("tipoTesteList", tipoTestes);
118   -
119   - validarCriterio(criterio);
120   -
121   - validator.onErrorUsePageOf(CriteriosController.class).form(
122   - criterioCadastrado.getId());
123   -
124   - if(validarAtualizacaoCriterio(criterio)){
125   -
126   - criarNovoParametroAvaliacao(criterio,ParametroCalculoController.MODO_EDIT);
127   - result.include("mensagem", "Critério salvo com sucesso.");
128   - }else{
129   - criterioCadastrado.setDescricao(criterio.getDescricao());
130   - dao.update(criterioCadastrado);
131   - result.include("mensagem", "Nenhum campo foi alterado.");
132   - }
133   -
134   - result.redirectTo(CriteriosController.class).form(
135   - criterio.getId());
136   - }
137   -
138   - @Path("/criterio/delete/{id}")
139   - @Restrito(descricao = "CRITERIO_EXCLUIR")
140   - public void excluir(Long id) {
141   - Criterio criteiro = dao.load(id);
142   -
143   - criarNovoParametroAvaliacao(criteiro,
144   - ParametroCalculoController.MODO_DELETE);
145   -
146   - result.include("mensagem", "Criteiro excluída com sucesso.");
147   - result.redirectTo(ParametroCalculoController.class).index(1);
148   - }
149   -
150   - private void criarNovoParametroAvaliacao(Criterio criterio, int tipo) {
151   - ParametroCalculo ultimoParametroAvaliacao = paDAO
152   - .getLastParametrosCalculo();
153   - boolean ok = false;
154   -
155   - switch (tipo) {
156   - case ParametroCalculoController.MODO_ADD:
157   - for (Recomendacao recomendacao : ultimoParametroAvaliacao
158   - .getRecomendacoes()) {
159   - if (recomendacao.getId().equals(
160   - criterio.getRecomendacao().getId())) {
161   - recomendacao.addCriterio(criterio);
162   - ok = true;
163   - break;
164   - }
165   - }
166   -
167   - break;
168   -
169   - case ParametroCalculoController.MODO_EDIT:
170   - for (Recomendacao recomendacao : ultimoParametroAvaliacao
171   - .getRecomendacoes()) {
172   - if (recomendacao.getId().equals(
173   - criterio.getRecomendacao().getId())) {
174   - for (Criterio c : recomendacao.getCriterios()) {
175   - if (criterio.getId().equals(c.getId())) {
176   - c.setDescricao(criterio.getDescricao());
177   - c.setFaixas(criterio.getFaixas());
178   - c.setId(criterio.getId());
179   - c.setNumeroCriterio(criterio.getNumeroCriterio());
180   - c.setPeso(criterio.getPeso());
181   - c.setRecomendacao(criterio.getRecomendacao());
182   - c.setTipoTeste(criterio.getTipoTeste());
183   -
184   - ok = true;
185   - break;
186   - }
187   - }
188   - }
189   - }
190   -
191   - break;
192   -
193   - case ParametroCalculoController.MODO_DELETE:
194   - for (Recomendacao recomendacao : ultimoParametroAvaliacao
195   - .getRecomendacoes()) {
196   - if (recomendacao.getId().equals(
197   - criterio.getRecomendacao().getId())) {
198   - recomendacao.removeCriterio(criterio);
199   - ok = true;
200   - break;
201   - }
202   - }
203   - break;
204   - }
205   -
206   - if (ok) {
207   - new CopiadorParametroCalculo().criarNovoParametroCalculo(
208   - ultimoParametroAvaliacao, usuarioWeb, dao.getSession());
209   - }
210   - }
211   -
212   - private void validarCriterio(Criterio criterio) {
213   -
214   - if (criterio.getNumeroCriterio() == null) {
215   - validator.add(new ValidationMessage(
216   - "É obrigatório informar o número da recomendação.",
217   - "criteiro.numeroCriterio"));
218   - } else if (hasNumeroCriterioRecomendacaoAtual(criterio)) {
219   - validator.add(new ValidationMessage(
220   - "Já existe um critério com esse número. Informe outro número para o critério.",
221   - "criteiro.numeroCriteiro"));
222   - } else if (criterio.getPeso() == null) {
223   - validator.add(new ValidationMessage(
224   - "É obrigatório informar o peso do criteiro.",
225   - "criteiro.peso"));
226   - } else if (criterio.getPeso() <= 0) {
227   - validator
228   - .add(new ValidationMessage(
229   - "O peso do criteiro deve ser maior que 0.",
230   - "criteiro.peso"));
231   - } else if (criterio.getDescricao() == null) {
232   - validator.add(new ValidationMessage(
233   - "É obrigatório informar a descrição do criteiro.",
234   - "criteiro.descricao"));
235   - } else if (criterio.getTipoTeste().getId() == null) {
236   - validator.add(new ValidationMessage(
237   - "É obrigatório informar o Tipo de teste.",
238   - "criterio.tipoTeste"));
239   - } else {
240   - criterio.setTipoTeste(new TipoTesteDAO(dao.getSession())
241   - .load(criterio.getTipoTeste().getId()));
242   - }
243   - }
244   -
245   - private boolean validarAtualizacaoCriterio(Criterio criterio) {
246   -
247   - boolean alteracao = false;
248   -
249   - Criterio criterioCadastrado = dao.load(criterio.getId());
250   -
251   - if (criterio.getNumeroCriterio().compareTo(criterioCadastrado.getNumeroCriterio())!=0) {
252   - alteracao = true;
253   - } else if (criterio.getPeso().compareTo(criterioCadastrado.getPeso()) !=0) {
254   - alteracao = true;
255   - } else if (criterio.getDescricao().compareToIgnoreCase(criterioCadastrado.getDescricao()) != 0) {
256   - alteracao = true;
257   - } else if (criterio.getTipoTeste().getId().compareTo(criterioCadastrado.getTipoTeste().getId())!=0) {
258   - alteracao = true;
259   - }
260   -
261   - return alteracao;
262   - }
263   -
264   - /**
265   - * Recebe um critério antes de ser cadastrad0 e verifica se ja existe um
266   - * criterio ativo com o mesmo numero.
267   - *
268   - * @param criterio
269   - * @return boolean
270   - */
271   - private boolean hasNumeroCriterioRecomendacaoAtual(Criterio criterio) {
272   - boolean retorno = false;
273   -
274   - if (criterio.getDescricao() != null
275   - && criterio.getNumeroCriterio() != null
276   - && criterio.getPeso() != null
277   - && criterio.getRecomendacao() != null
278   - && criterio.getTipoTeste().getId() != null) {
279   - Recomendacao recomendacao = criterio.getRecomendacao();
280   -
281   - List<Criterio> listaCadastrada = dao.listAllAtivas(recomendacao);
282   -
283   - for (Criterio criterioCadastrado : listaCadastrada) {
284   - if (criterioCadastrado.getNumeroCriterio().longValue() == criterio
285   - .getNumeroCriterio().longValue()) {
286   - if (criterio.getId() != null) {
287   - if (criterioCadastrado.getId().longValue() != criterio
288   - .getId().longValue()) {
289   - return true;
290   - }
291   - } else {
292   - return true;
293   - }
294   - }
295   - }
296   -
297   - }
298   -
299   - return retorno;
300   - }
301   -
302   - private void populateSelectLists() {
303   - result.include("tipoTesteList", dao.getAllTipoTeste());
304   - }
305   -
306   -}
  1 +package br.com.eselo.controller;
  2 +
  3 +import java.util.List;
  4 +
  5 +import br.com.caelum.vraptor.Get;
  6 +import br.com.caelum.vraptor.Path;
  7 +import br.com.caelum.vraptor.Post;
  8 +import br.com.caelum.vraptor.Put;
  9 +import br.com.caelum.vraptor.Resource;
  10 +import br.com.caelum.vraptor.Result;
  11 +import br.com.caelum.vraptor.Validator;
  12 +import br.com.caelum.vraptor.validator.ValidationMessage;
  13 +import br.com.eselo.annotations.Restrito;
  14 +import br.com.eselo.component.CopiadorParametroCalculo;
  15 +import br.com.eselo.component.UsuarioWeb;
  16 +import br.com.eselo.dao.CriterioDAO;
  17 +import br.com.eselo.dao.ParametroCalculoDAO;
  18 +import br.com.eselo.dao.RecomendacaoDAO;
  19 +import br.com.eselo.dao.TipoTesteDAO;
  20 +import br.com.eselo.model.Criterio;
  21 +import br.com.eselo.model.ParametroCalculo;
  22 +import br.com.eselo.model.Recomendacao;
  23 +import br.com.eselo.model.TipoTeste;
  24 +
  25 +@Resource
  26 +public class CriteriosController {
  27 +
  28 + private final CriterioDAO dao;
  29 + private final ParametroCalculoDAO paDAO;
  30 + private final Result result;
  31 + private final Validator validator;
  32 + private final UsuarioWeb usuarioWeb;
  33 +
  34 + public CriteriosController(CriterioDAO _dao, ParametroCalculoDAO _paDAO,
  35 + Result _result, Validator _validator, UsuarioWeb _usuarioWeb) {
  36 + this.dao = _dao;
  37 + this.paDAO = _paDAO;
  38 + this.result = _result;
  39 + this.validator = _validator;
  40 + this.usuarioWeb = _usuarioWeb;
  41 + }
  42 +
  43 + @Get("/criterio/novo/{id}")
  44 + @Restrito(descricao = "CRITERIO_ADICIONAR")
  45 + public Criterio novo(Long id) {
  46 + Recomendacao recomendacao = new RecomendacaoDAO(dao.getSession())
  47 + .load(id);
  48 + Criterio criterio = new Criterio();
  49 + criterio.setRecomendacao(recomendacao);
  50 +
  51 + result.include("parametroCalculoId", criterio.getRecomendacao()
  52 + .getParametroCalculo().getId());
  53 + result.include("parametroCalculo", criterio.getRecomendacao()
  54 + .getParametroCalculo());
  55 + result.include("recomendacao", criterio.getRecomendacao());
  56 + result.include("recomendacaoId", criterio.getRecomendacao().getId());
  57 +
  58 + populateSelectLists();
  59 +
  60 + return criterio;
  61 + }
  62 +
  63 + @Get("/criterios/form/{id}")
  64 + @Restrito(descricao = "CRITERIO_ATUALIZAR")
  65 + public Criterio form(Long id) {
  66 + Criterio criterio = dao.load(id);
  67 + result.include("recomendacaoId", criterio.getRecomendacao().getId());
  68 + result.include("parametroCalculo", criterio.getRecomendacao()
  69 + .getParametroCalculo());
  70 + result.include("tipoTeste", criterio.getTipoTeste());
  71 + populateSelectLists();
  72 +
  73 + return criterio;
  74 + }
  75 +
  76 + @Post("/criterio")
  77 + @Restrito(descricao = "CRITERIO_ADICIONAR")
  78 + public void adicionar(Criterio criterio) {
  79 +
  80 + criterio.setRecomendacao(new RecomendacaoDAO(dao.getSession())
  81 + .load(criterio.getRecomendacao().getId()));
  82 +
  83 + validarCriterio(criterio);
  84 +
  85 + result.include("recomendacaoId", criterio.getRecomendacao().getId());
  86 + result.include("parametroCalculo", criterio.getRecomendacao()
  87 + .getParametroCalculo());
  88 + result.include("tipoTeste", criterio.getTipoTeste());
  89 + populateSelectLists();
  90 +
  91 + validator.onErrorUsePageOf(CriteriosController.class).novo(
  92 + criterio.getRecomendacao().getId());
  93 +
  94 + this.criarNovoParametroAvaliacao(criterio,
  95 + ParametroCalculoController.MODO_ADD);
  96 +
  97 + result.include("mensagem", "Critério salvo com sucesso.");
  98 + result.redirectTo(RecomendacaoController.class).form(
  99 + criterio.getRecomendacao().getId());
  100 + }
  101 +
  102 + @Put("/criterio")
  103 + @Restrito(descricao = "CRITERIO_ATUALIZAR")
  104 + public void atualizar(Criterio criterio) {
  105 + criterio.setRecomendacao(new RecomendacaoDAO(dao.getSession())
  106 + .load(criterio.getRecomendacao().getId()));
  107 +
  108 + @SuppressWarnings("unchecked")
  109 + List<TipoTeste> tipoTestes = (List<TipoTeste>) dao.getAllTipoTeste();
  110 + Criterio criterioCadastrado = dao.load(criterio.getId());
  111 +
  112 +
  113 + result.include("recomendacaoId", criterio.getRecomendacao().getId());
  114 + result.include("parametroCalculo", criterio.getRecomendacao()
  115 + .getParametroCalculo());
  116 + result.include("tipoTeste", criterio.getTipoTeste());
  117 + result.include("tipoTesteList", tipoTestes);
  118 +
  119 + validarCriterio(criterio);
  120 +
  121 + validator.onErrorUsePageOf(CriteriosController.class).form(
  122 + criterioCadastrado.getId());
  123 +
  124 + if(validarAtualizacaoCriterio(criterio)){
  125 +
  126 + criarNovoParametroAvaliacao(criterio,ParametroCalculoController.MODO_EDIT);
  127 + result.include("mensagem", "Critério salvo com sucesso.");
  128 + }else{
  129 + criterioCadastrado.setDescricao(criterio.getDescricao());
  130 + dao.update(criterioCadastrado);
  131 + result.include("mensagem", "Nenhum campo foi alterado.");
  132 + }
  133 +
  134 + result.redirectTo(CriteriosController.class).form(
  135 + criterio.getId());
  136 + }
  137 +
  138 + @Path("/criterio/delete/{id}")
  139 + @Restrito(descricao = "CRITERIO_EXCLUIR")
  140 + public void excluir(Long id) {
  141 + Criterio criteiro = dao.load(id);
  142 +
  143 + criarNovoParametroAvaliacao(criteiro,
  144 + ParametroCalculoController.MODO_DELETE);
  145 +
  146 + result.include("mensagem", "Criteiro excluída com sucesso.");
  147 + result.redirectTo(ParametroCalculoController.class).index(1);
  148 + }
  149 +
  150 + private void criarNovoParametroAvaliacao(Criterio criterio, int tipo) {
  151 + ParametroCalculo ultimoParametroAvaliacao = paDAO
  152 + .getLastParametrosCalculo();
  153 + boolean ok = false;
  154 +
  155 + switch (tipo) {
  156 + case ParametroCalculoController.MODO_ADD:
  157 + for (Recomendacao recomendacao : ultimoParametroAvaliacao
  158 + .getRecomendacoes()) {
  159 + if (recomendacao.getId().equals(
  160 + criterio.getRecomendacao().getId())) {
  161 + recomendacao.addCriterio(criterio);
  162 + ok = true;
  163 + break;
  164 + }
  165 + }
  166 +
  167 + break;
  168 +
  169 + case ParametroCalculoController.MODO_EDIT:
  170 + for (Recomendacao recomendacao : ultimoParametroAvaliacao
  171 + .getRecomendacoes()) {
  172 + if (recomendacao.getId().equals(
  173 + criterio.getRecomendacao().getId())) {
  174 + for (Criterio c : recomendacao.getCriterios()) {
  175 + if (criterio.getId().equals(c.getId())) {
  176 + c.setDescricao(criterio.getDescricao());
  177 + c.setFaixas(criterio.getFaixas());
  178 + c.setId(criterio.getId());
  179 + c.setNumeroCriterio(criterio.getNumeroCriterio());
  180 + c.setPeso(criterio.getPeso());
  181 + c.setRecomendacao(criterio.getRecomendacao());
  182 + c.setTipoTeste(criterio.getTipoTeste());
  183 +
  184 + ok = true;
  185 + break;
  186 + }
  187 + }
  188 + }
  189 + }
  190 +
  191 + break;
  192 +
  193 + case ParametroCalculoController.MODO_DELETE:
  194 + for (Recomendacao recomendacao : ultimoParametroAvaliacao
  195 + .getRecomendacoes()) {
  196 + if (recomendacao.getId().equals(
  197 + criterio.getRecomendacao().getId())) {
  198 + recomendacao.removeCriterio(criterio);
  199 + ok = true;
  200 + break;
  201 + }
  202 + }
  203 + break;
  204 + }
  205 +
  206 + if (ok) {
  207 + new CopiadorParametroCalculo().criarNovoParametroCalculo(
  208 + ultimoParametroAvaliacao, usuarioWeb, dao.getSession());
  209 + }
  210 + }
  211 +
  212 + private void validarCriterio(Criterio criterio) {
  213 +
  214 + if (criterio.getNumeroCriterio() == null) {
  215 + validator.add(new ValidationMessage(
  216 + "É obrigatório informar o número da recomendação.",
  217 + "criteiro.numeroCriterio"));
  218 + } else if (hasNumeroCriterioRecomendacaoAtual(criterio)) {
  219 + validator.add(new ValidationMessage(
  220 + "Já existe um critério com esse número. Informe outro número para o critério.",
  221 + "criteiro.numeroCriteiro"));
  222 + } else if (criterio.getPeso() == null) {
  223 + validator.add(new ValidationMessage(
  224 + "É obrigatório informar o peso do criteiro.",
  225 + "criteiro.peso"));
  226 + } else if (criterio.getPeso() <= 0) {
  227 + validator
  228 + .add(new ValidationMessage(
  229 + "O peso do criteiro deve ser maior que 0.",
  230 + "criteiro.peso"));
  231 + } else if (criterio.getDescricao() == null) {
  232 + validator.add(new ValidationMessage(
  233 + "É obrigatório informar a descrição do criteiro.",
  234 + "criteiro.descricao"));
  235 + } else if (criterio.getTipoTeste().getId() == null) {
  236 + validator.add(new ValidationMessage(
  237 + "É obrigatório informar o Tipo de teste.",
  238 + "criterio.tipoTeste"));
  239 + } else {
  240 + criterio.setTipoTeste(new TipoTesteDAO(dao.getSession())
  241 + .load(criterio.getTipoTeste().getId()));
  242 + }
  243 + }
  244 +
  245 + private boolean validarAtualizacaoCriterio(Criterio criterio) {
  246 +
  247 + boolean alteracao = false;
  248 +
  249 + Criterio criterioCadastrado = dao.load(criterio.getId());
  250 +
  251 + if (criterio.getNumeroCriterio().compareTo(criterioCadastrado.getNumeroCriterio())!=0) {
  252 + alteracao = true;
  253 + } else if (criterio.getPeso().compareTo(criterioCadastrado.getPeso()) !=0) {
  254 + alteracao = true;
  255 + } else if (criterio.getDescricao().compareToIgnoreCase(criterioCadastrado.getDescricao()) != 0) {
  256 + alteracao = true;
  257 + } else if (criterio.getTipoTeste().getId().compareTo(criterioCadastrado.getTipoTeste().getId())!=0) {
  258 + alteracao = true;
  259 + }
  260 +
  261 + return alteracao;
  262 + }
  263 +
  264 + /**
  265 + * Recebe um critério antes de ser cadastrad0 e verifica se ja existe um
  266 + * criterio ativo com o mesmo numero.
  267 + *
  268 + * @param criterio
  269 + * @return boolean
  270 + */
  271 + private boolean hasNumeroCriterioRecomendacaoAtual(Criterio criterio) {
  272 + boolean retorno = false;
  273 +
  274 + if (criterio.getDescricao() != null
  275 + && criterio.getNumeroCriterio() != null
  276 + && criterio.getPeso() != null
  277 + && criterio.getRecomendacao() != null
  278 + && criterio.getTipoTeste().getId() != null) {
  279 + Recomendacao recomendacao = criterio.getRecomendacao();
  280 +
  281 + List<Criterio> listaCadastrada = dao.listAllAtivas(recomendacao);
  282 +
  283 + for (Criterio criterioCadastrado : listaCadastrada) {
  284 + if (criterioCadastrado.getNumeroCriterio().longValue() == criterio
  285 + .getNumeroCriterio().longValue()) {
  286 + if (criterio.getId() != null) {
  287 + if (criterioCadastrado.getId().longValue() != criterio
  288 + .getId().longValue()) {
  289 + return true;
  290 + }
  291 + } else {
  292 + return true;
  293 + }
  294 + }
  295 + }
  296 +
  297 + }
  298 +
  299 + return retorno;
  300 + }
  301 +
  302 + private void populateSelectLists() {
  303 + result.include("tipoTesteList", dao.getAllTipoTeste());
  304 + }
  305 +
  306 +}
... ...
Desenvolvimento/Codificacao/e-Selo/src/main/java/br/com/eselo/controller/FaixaController.java
1   -package br.com.eselo.controller;
2   -
3   -import java.util.ArrayList;
4   -import java.util.List;
5   -
6   -import br.com.caelum.vraptor.Get;
7   -import br.com.caelum.vraptor.Path;
8   -import br.com.caelum.vraptor.Post;
9   -import br.com.caelum.vraptor.Put;
10   -import br.com.caelum.vraptor.Resource;
11   -import br.com.caelum.vraptor.Result;
12   -import br.com.caelum.vraptor.Validator;
13   -import br.com.caelum.vraptor.validator.ValidationMessage;
14   -import br.com.eselo.annotations.Restrito;
15   -import br.com.eselo.component.CopiadorParametroCalculo;
16   -import br.com.eselo.component.Messages;
17   -import br.com.eselo.component.UsuarioWeb;
18   -import br.com.eselo.dao.CriterioDAO;
19   -import br.com.eselo.dao.FaixaDAO;
20   -import br.com.eselo.dao.ParametroCalculoDAO;
21   -import br.com.eselo.dao.RecomendacaoDAO;
22   -import br.com.eselo.model.Criterio;
23   -import br.com.eselo.model.Faixa;
24   -import br.com.eselo.model.ParametroCalculo;
25   -import br.com.eselo.model.Recomendacao;
26   -
27   -@Resource
28   -public class FaixaController {
29   -
30   - private final FaixaDAO dao;
31   - private final CriterioDAO daoCriterio;
32   - private final ParametroCalculoDAO paDAO;
33   - private final Result result;
34   - private final Validator validator;
35   - private final UsuarioWeb usuarioWeb;
36   -
37   - public FaixaController(FaixaDAO _dao,
38   - RecomendacaoDAO _daoRecomendacao, CriterioDAO _daoCriterio, ParametroCalculoDAO _daoParametro,
39   - Result _result, Validator _validator, UsuarioWeb _usuarioWeb) {
40   - this.dao = _dao;
41   - this.daoCriterio = _daoCriterio;
42   - this.paDAO = _daoParametro;
43   - this.result = _result;
44   - this.validator = _validator;
45   - this.usuarioWeb = _usuarioWeb;
46   - }
47   -
48   - public List<Faixa> lista(Long idCriterio) {
49   - return this.index(idCriterio, 1);
50   - }
51   -
52   - @Get("/faixas")
53   - @Restrito(descricao = "CONFORMIDADES_LISTA")
54   - public List<Faixa> index(Long idCriterio, int pagina) {
55   - CriterioDAO cDAO = new CriterioDAO(dao.getSession());
56   - Criterio criterioAtual = cDAO.load(idCriterio);
57   -
58   - // Paginação
59   - // Quantidade de registros por pagina
60   - int exibi = 7;
61   -
62   - // Informa a quantidade de registros
63   - int registros = dao.numLinhas(criterioAtual);
64   -
65   - // Quantidade de paginas na paginação
66   - int totalPag = registros / exibi;
67   -
68   - // Se houver resto na divisao acima acrescenta uma pagina na paginação
69   - if ((registros - (totalPag * exibi)) > 0)
70   - totalPag++;
71   -
72   - // Calculo do registro inicial e final
73   - int regIni = ((exibi * pagina) - exibi);
74   - int regFim = (regIni + exibi);
75   -
76   - if (regFim > registros) {
77   - regFim = registros;
78   - }
79   -
80   - // Fim paginação
81   - List<Faixa> resultado = dao.listAllAtivas(criterioAtual);
82   - List<Faixa> paginacao = new ArrayList<Faixa>();
83   -
84   - for (int i = regIni; i < regFim; i++) {
85   - paginacao.add(resultado.get(i));
86   - }
87   -
88   - result.include("paginas", totalPag);
89   - result.include("registros", registros);
90   - result.include("regInic", ++regIni);
91   - result.include("regFim", regFim);
92   - result.include("controle", "diretriz");
93   - result.include("parametroAvaliacao", criterioAtual.getRecomendacao().getParametroCalculo());
94   -
95   - return paginacao;
96   - }
97   -
98   -
99   - @Get("/faixas/gerarForm/{diretrizId}/{quantidade}")
100   - @Restrito(descricao = "CONFORMIDADES_ADICIONAR")
101   - public void gerarForm(Long diretrizId, int quantidade) {
102   - result.include("quantidadeFaixas", quantidade);
103   - result.forwardTo(this).add(diretrizId);
104   - }
105   -
106   - @Get("/faixas/{criterioId}")
107   - @Restrito(descricao = "CONFORMIDADES_ADICIONAR")
108   - public void add(Long criterioId) {
109   - Criterio criterio = daoCriterio.load(criterioId);
110   - result.include("criterioId", criterioId);
111   - result.include("criterio", criterio);
112   - result.include("parametroCalculo", criterio.getRecomendacao().getParametroCalculo());
113   - populateSelectLists();
114   - }
115   -
116   - @Get("/faixas/form/{id}")
117   - @Restrito(descricao = "CONFORMIDADES_ATUALIZAR")
118   - public Faixa form(Long id) {
119   - Faixa faixa = dao.load(id);
120   -
121   - result.include("criterioId", faixa.getCriterio().getId());
122   - result.include("parametroCalculo", faixa.getCriterio().getRecomendacao().getParametroCalculo());
123   - populateSelectLists();
124   -
125   - return faixa;
126   - }
127   -
128   - @Post("/faixas/add")
129   - @Restrito(descricao = "CONFORMIDADES_ADICIONAR")
130   - public void adicionar(List<Faixa> faixas) {
131   -
132   - Criterio criterio = daoCriterio.load(faixas.get(0).getCriterio().getId());
133   -
134   - for (Faixa faixa : faixas) {
135   - faixa.setCriterio(criterio);
136   - //criterioId = faixa.getCriterio().getId();
137   - validarFaixa(faixa);
138   -
139   - validator.onErrorUsePageOf(FaixaController.class).add(
140   - faixa.getCriterio().getId());
141   - }
142   -
143   -
144   - criarNovoParametroAvaliacao(faixas, ParametroCalculoController.MODO_ADD);
145   -
146   - result.include("mensagem", Messages.getString("faixas.mensagem.salva"));
147   - result.redirectTo(CriteriosController.class).form(criterio.getId());
148   - }
149   -
150   - @Put("/faixas")
151   - @Restrito(descricao = "CONFORMIDADES_ATUALIZAR")
152   - public void atualizar(Faixa faixa) {
153   - Faixa faixaCadastrada = dao.load(faixa.getId());
154   -
155   - Criterio criterio = daoCriterio.load(faixa.getCriterio().getId());
156   -
157   - result.include("criterioId", criterio.getId());
158   - result.include("criterio", criterio);
159   - result.include("parametroCalculo", criterio.getRecomendacao().getParametroCalculo());
160   -
161   - faixa.setCriterio(criterio);
162   -
163   - validarFaixa(faixa);
164   -
165   - validator.onErrorRedirectTo(FaixaController.class).form(faixaCadastrada.getId());
166   -
167   - if(validarAtualizacaoFaixa(faixa)){
168   - faixaCadastrada.setCriterio(faixa.getCriterio());
169   - faixaCadastrada.setFaixaInicio(faixa.getFaixaInicio());
170   - faixaCadastrada.setFaixaFim(faixa.getFaixaFim());
171   - faixaCadastrada.setDescricao(faixa.getDescricao());
172   - faixaCadastrada.setPercentualConformidade(faixa.getPercentualConformidade());
173   -
174   - List<Faixa> faixas = new ArrayList<Faixa>();
175   - faixas.add(faixaCadastrada);
176   -
177   - criarNovoParametroAvaliacao(faixas, ParametroCalculoController.MODO_EDIT);
178   - result.include("mensagem", Messages.getString("faixas.mensagem.alterada"));
179   - }else{
180   - faixaCadastrada.setDescricao(faixa.getDescricao());
181   - dao.update(faixaCadastrada);
182   - result.include("mensagem", "Nenhum campo foi alterado.");
183   - }
184   -
185   - result.redirectTo(FaixaController.class).form(faixa.getId()); }
186   -
187   - @Path("/faixas/delete/{id}")
188   - @Restrito(descricao = "CONFORMIDADES_EXCLUIR")
189   - public void excluir(Long id) {
190   - Faixa faixa = dao.load(id);
191   -
192   - List<Faixa> faixas = new ArrayList<Faixa>();
193   - faixas.add(faixa);
194   - criarNovoParametroAvaliacao(faixas, ParametroCalculoController.MODO_DELETE);
195   -
196   - result.include("mensagem", "Conformidade excluída com sucesso.");
197   - result.redirectTo(ParametroCalculoController.class).index(1);
198   - }
199   -
200   - private void populateSelectLists() {
201   - result.include("faixaList", dao.getAllRecomendacao());
202   - }
203   -
204   - private void validarFaixa(Faixa faixa) {
205   - if (faixa.getCriterio().getId() == null) {
206   - validator.add(new ValidationMessage(Messages
207   - .getString("faixas.validacao.faixa"),
208   - "faixa.diretriz.id"));
209   - } else if (faixa.getFaixa() == null) {
210   - validator.add(new ValidationMessage(Messages
211   - .getString("faixas.validacao.faixa"),
212   - "faixa.faixa"));
213   - } else if (faixa.getDescricao() == null) {
214   - validator.add(new ValidationMessage(Messages
215   - .getString("faixas.validacao.descricao"),
216   - "faixa.descricao"));
217   - } else if (faixa.getFaixaInicio() == null) {
218   - validator.add(new ValidationMessage(Messages
219   - .getString("faixas.validacao.faixa_inicial"),
220   - "faixa.faixaInicio"));
221   - } else if (faixa.getFaixaFim() == null) {
222   - validator.add(new ValidationMessage(Messages
223   - .getString("faixas.validacao.faixa_final"),
224   - "faixa.faixaFim"));
225   - } else if (faixa.getFaixaInicio() > faixa.getFaixaFim()) {
226   - validator.add(new ValidationMessage(Messages
227   - .getString("faixas.validacao.range_faixas"),
228   - "faixa.faixaInicio"));
229   - } else if (faixa.getPercentualConformidade() == null) {
230   - validator.add(new ValidationMessage(Messages
231   - .getString("faixas.validacao.percentual_conformidade"),
232   - "faixa.percentualConformidade"));
233   - }
234   - }
235   -
236   - private boolean validarAtualizacaoFaixa(Faixa faixa) {
237   -
238   - boolean alteracao = false;
239   -
240   - Faixa faixaCadastrada = dao.load(faixa.getId());
241   -
242   - if (faixa.getFaixa().compareTo(faixaCadastrada.getFaixa())!=0) {
243   - alteracao = true;
244   - } else if (faixa.getDescricao().compareToIgnoreCase(faixaCadastrada.getDescricao()) != 0) {
245   - alteracao = true;
246   - } else if (faixa.getFaixaInicio().compareTo(faixaCadastrada.getFaixaInicio())!=0) {
247   - alteracao = true;
248   - } else if (faixa.getFaixaFim().compareTo(faixaCadastrada.getFaixaFim()) !=0) {
249   - alteracao = true;
250   - } else if (faixa.getPercentualConformidade().compareTo(faixaCadastrada.getPercentualConformidade()) !=0) {
251   - alteracao = true;
252   - }
253   -
254   - return alteracao;
255   - }
256   -
257   - private void criarNovoParametroAvaliacao(List<Faixa> faixas, int tipo) {
258   - ParametroCalculo ultimoParametroAvaliacao = paDAO.getLastParametrosCalculo();
259   - boolean ok = false;
260   - Faixa faixa;
261   -
262   - switch (tipo) {
263   - case ParametroCalculoController.MODO_ADD:
264   - for(Faixa f:faixas){
265   - for(Recomendacao recomendacao: ultimoParametroAvaliacao.getRecomendacoes()){
266   - if(recomendacao.getId().longValue()==f.getCriterio().getRecomendacao().getId().longValue()){
267   - for(Criterio criterio: recomendacao.getCriterios()){
268   - if(criterio.getId().longValue()==f.getCriterio().getId().longValue()){
269   - criterio.addFaixa(f);
270   - ok=true;
271   - break;
272   -
273   - }
274   - }
275   - }
276   - }
277   - }
278   -
279   - break;
280   -
281   - case ParametroCalculoController.MODO_EDIT:
282   - faixa = faixas.get(0);
283   - for(Recomendacao recomendacao: ultimoParametroAvaliacao.getRecomendacoes()){
284   - if(recomendacao.getId().longValue()==faixa.getCriterio().getRecomendacao().getId().longValue()){
285   - for(Criterio criterio: recomendacao.getCriterios()){
286   - if(criterio.getId().longValue()==faixa.getCriterio().getId().longValue()){
287   - for(Faixa f: criterio.getFaixas()){
288   - if(f.getId().longValue()==faixa.getId().longValue()){
289   - f.setCriterio(faixa.getCriterio());
290   - f.setDescricao(faixa.getDescricao());
291   - f.setFaixa(faixa.getFaixa());
292   - f.setFaixaFim(faixa.getFaixaFim());
293   - f.setFaixaInicio(faixa.getFaixaInicio());
294   - f.setId(faixa.getId());
295   - f.setPercentualConformidade(faixa.getPercentualConformidade());
296   - ok=true;
297   - }
298   - }
299   - }
300   - }
301   - }
302   - }
303   -
304   - break;
305   -
306   - case ParametroCalculoController.MODO_DELETE:
307   - faixa = faixas.get(0);
308   - for(Recomendacao recomendacao: ultimoParametroAvaliacao.getRecomendacoes()){
309   - if(recomendacao.getId().longValue()==faixa.getCriterio().getRecomendacao().getId().longValue()){
310   - for(Criterio criterio: recomendacao.getCriterios()){
311   - if(criterio.getId().longValue()==faixa.getCriterio().getId().longValue()){
312   - criterio.removeFaixa(faixa);
313   - ok=true;
314   - break;
315   -
316   - }
317   - }
318   - }
319   - }
320   -
321   - break;
322   - }
323   -
324   - if(ok){
325   - new CopiadorParametroCalculo().criarNovoParametroCalculo(ultimoParametroAvaliacao, usuarioWeb, dao.getSession());
326   - }
327   - }
328   -
329   -}
  1 +package br.com.eselo.controller;
  2 +
  3 +import java.util.ArrayList;
  4 +import java.util.List;
  5 +
  6 +import br.com.caelum.vraptor.Get;
  7 +import br.com.caelum.vraptor.Path;
  8 +import br.com.caelum.vraptor.Post;
  9 +import br.com.caelum.vraptor.Put;
  10 +import br.com.caelum.vraptor.Resource;
  11 +import br.com.caelum.vraptor.Result;
  12 +import br.com.caelum.vraptor.Validator;
  13 +import br.com.caelum.vraptor.validator.ValidationMessage;
  14 +import br.com.eselo.annotations.Restrito;
  15 +import br.com.eselo.component.CopiadorParametroCalculo;
  16 +import br.com.eselo.component.Messages;
  17 +import br.com.eselo.component.UsuarioWeb;
  18 +import br.com.eselo.dao.CriterioDAO;
  19 +import br.com.eselo.dao.FaixaDAO;
  20 +import br.com.eselo.dao.ParametroCalculoDAO;
  21 +import br.com.eselo.dao.RecomendacaoDAO;
  22 +import br.com.eselo.model.Criterio;
  23 +import br.com.eselo.model.Faixa;
  24 +import br.com.eselo.model.ParametroCalculo;
  25 +import br.com.eselo.model.Recomendacao;
  26 +
  27 +@Resource
  28 +public class FaixaController {
  29 +
  30 + private final FaixaDAO dao;
  31 + private final CriterioDAO daoCriterio;
  32 + private final ParametroCalculoDAO paDAO;
  33 + private final Result result;
  34 + private final Validator validator;
  35 + private final UsuarioWeb usuarioWeb;
  36 +
  37 + public FaixaController(FaixaDAO _dao,
  38 + RecomendacaoDAO _daoRecomendacao, CriterioDAO _daoCriterio, ParametroCalculoDAO _daoParametro,
  39 + Result _result, Validator _validator, UsuarioWeb _usuarioWeb) {
  40 + this.dao = _dao;
  41 + this.daoCriterio = _daoCriterio;
  42 + this.paDAO = _daoParametro;
  43 + this.result = _result;
  44 + this.validator = _validator;
  45 + this.usuarioWeb = _usuarioWeb;
  46 + }
  47 +
  48 + public List<Faixa> lista(Long idCriterio) {
  49 + return this.index(idCriterio, 1);
  50 + }
  51 +
  52 + @Get("/faixas")
  53 + @Restrito(descricao = "CONFORMIDADES_LISTA")
  54 + public List<Faixa> index(Long idCriterio, int pagina) {
  55 + CriterioDAO cDAO = new CriterioDAO(dao.getSession());
  56 + Criterio criterioAtual = cDAO.load(idCriterio);
  57 +
  58 + // Paginação
  59 + // Quantidade de registros por pagina
  60 + int exibi = 7;
  61 +
  62 + // Informa a quantidade de registros
  63 + int registros = dao.numLinhas(criterioAtual);
  64 +
  65 + // Quantidade de paginas na paginação
  66 + int totalPag = registros / exibi;
  67 +
  68 + // Se houver resto na divisao acima acrescenta uma pagina na paginação
  69 + if ((registros - (totalPag * exibi)) > 0)
  70 + totalPag++;
  71 +
  72 + // Calculo do registro inicial e final
  73 + int regIni = ((exibi * pagina) - exibi);
  74 + int regFim = (regIni + exibi);
  75 +
  76 + if (regFim > registros) {
  77 + regFim = registros;
  78 + }
  79 +
  80 + // Fim paginação
  81 + List<Faixa> resultado = dao.listAllAtivas(criterioAtual);
  82 + List<Faixa> paginacao = new ArrayList<Faixa>();
  83 +
  84 + for (int i = regIni; i < regFim; i++) {
  85 + paginacao.add(resultado.get(i));
  86 + }
  87 +
  88 + result.include("paginas", totalPag);
  89 + result.include("registros", registros);
  90 + result.include("regInic", ++regIni);
  91 + result.include("regFim", regFim);
  92 + result.include("controle", "diretriz");
  93 + result.include("parametroAvaliacao", criterioAtual.getRecomendacao().getParametroCalculo());
  94 +
  95 + return paginacao;
  96 + }
  97 +
  98 +
  99 + @Get("/faixas/gerarForm/{diretrizId}/{quantidade}")
  100 + @Restrito(descricao = "CONFORMIDADES_ADICIONAR")
  101 + public void gerarForm(Long diretrizId, int quantidade) {
  102 + result.include("quantidadeFaixas", quantidade);
  103 + result.forwardTo(this).add(diretrizId);
  104 + }
  105 +
  106 + @Get("/faixas/{criterioId}")
  107 + @Restrito(descricao = "CONFORMIDADES_ADICIONAR")
  108 + public void add(Long criterioId) {
  109 + Criterio criterio = daoCriterio.load(criterioId);
  110 + result.include("criterioId", criterioId);
  111 + result.include("criterio", criterio);
  112 + result.include("parametroCalculo", criterio.getRecomendacao().getParametroCalculo());
  113 + populateSelectLists();
  114 + }
  115 +
  116 + @Get("/faixas/form/{id}")
  117 + @Restrito(descricao = "CONFORMIDADES_ATUALIZAR")
  118 + public Faixa form(Long id) {
  119 + Faixa faixa = dao.load(id);
  120 +
  121 + result.include("criterioId", faixa.getCriterio().getId());
  122 + result.include("parametroCalculo", faixa.getCriterio().getRecomendacao().getParametroCalculo());
  123 + populateSelectLists();
  124 +
  125 + return faixa;
  126 + }
  127 +
  128 + @Post("/faixas/add")
  129 + @Restrito(descricao = "CONFORMIDADES_ADICIONAR")
  130 + public void adicionar(List<Faixa> faixas) {
  131 +
  132 + Criterio criterio = daoCriterio.load(faixas.get(0).getCriterio().getId());
  133 +
  134 + for (Faixa faixa : faixas) {
  135 + faixa.setCriterio(criterio);
  136 + //criterioId = faixa.getCriterio().getId();
  137 + validarFaixa(faixa);
  138 +
  139 + validator.onErrorUsePageOf(FaixaController.class).add(
  140 + faixa.getCriterio().getId());
  141 + }
  142 +
  143 +
  144 + criarNovoParametroAvaliacao(faixas, ParametroCalculoController.MODO_ADD);
  145 +
  146 + result.include("mensagem", Messages.getString("faixas.mensagem.salva"));
  147 + result.redirectTo(CriteriosController.class).form(criterio.getId());
  148 + }
  149 +
  150 + @Put("/faixas")
  151 + @Restrito(descricao = "CONFORMIDADES_ATUALIZAR")
  152 + public void atualizar(Faixa faixa) {
  153 + Faixa faixaCadastrada = dao.load(faixa.getId());
  154 +
  155 + Criterio criterio = daoCriterio.load(faixa.getCriterio().getId());
  156 +
  157 + result.include("criterioId", criterio.getId());
  158 + result.include("criterio", criterio);
  159 + result.include("parametroCalculo", criterio.getRecomendacao().getParametroCalculo());
  160 +
  161 + faixa.setCriterio(criterio);
  162 +
  163 + validarFaixa(faixa);
  164 +
  165 + validator.onErrorRedirectTo(FaixaController.class).form(faixaCadastrada.getId());
  166 +
  167 + if(validarAtualizacaoFaixa(faixa)){
  168 + faixaCadastrada.setCriterio(faixa.getCriterio());
  169 + faixaCadastrada.setFaixaInicio(faixa.getFaixaInicio());
  170 + faixaCadastrada.setFaixaFim(faixa.getFaixaFim());
  171 + faixaCadastrada.setDescricao(faixa.getDescricao());
  172 + faixaCadastrada.setPercentualConformidade(faixa.getPercentualConformidade());
  173 +
  174 + List<Faixa> faixas = new ArrayList<Faixa>();
  175 + faixas.add(faixaCadastrada);
  176 +
  177 + criarNovoParametroAvaliacao(faixas, ParametroCalculoController.MODO_EDIT);
  178 + result.include("mensagem", Messages.getString("faixas.mensagem.alterada"));
  179 + }else{
  180 + faixaCadastrada.setDescricao(faixa.getDescricao());
  181 + dao.update(faixaCadastrada);
  182 + result.include("mensagem", "Nenhum campo foi alterado.");
  183 + }
  184 +
  185 + result.redirectTo(FaixaController.class).form(faixa.getId()); }
  186 +
  187 + @Path("/faixas/delete/{id}")
  188 + @Restrito(descricao = "CONFORMIDADES_EXCLUIR")
  189 + public void excluir(Long id) {
  190 + Faixa faixa = dao.load(id);
  191 +
  192 + List<Faixa> faixas = new ArrayList<Faixa>();
  193 + faixas.add(faixa);
  194 + criarNovoParametroAvaliacao(faixas, ParametroCalculoController.MODO_DELETE);
  195 +
  196 + result.include("mensagem", "Conformidade excluída com sucesso.");
  197 + result.redirectTo(ParametroCalculoController.class).index(1);
  198 + }
  199 +
  200 + private void populateSelectLists() {
  201 + result.include("faixaList", dao.getAllRecomendacao());
  202 + }
  203 +
  204 + private void validarFaixa(Faixa faixa) {
  205 + if (faixa.getCriterio().getId() == null) {
  206 + validator.add(new ValidationMessage(Messages
  207 + .getString("faixas.validacao.faixa"),
  208 + "faixa.diretriz.id"));
  209 + } else if (faixa.getFaixa() == null) {
  210 + validator.add(new ValidationMessage(Messages
  211 + .getString("faixas.validacao.faixa"),
  212 + "faixa.faixa"));
  213 + } else if (faixa.getDescricao() == null) {
  214 + validator.add(new ValidationMessage(Messages
  215 + .getString("faixas.validacao.descricao"),
  216 + "faixa.descricao"));
  217 + } else if (faixa.getFaixaInicio() == null) {
  218 + validator.add(new ValidationMessage(Messages
  219 + .getString("faixas.validacao.faixa_inicial"),
  220 + "faixa.faixaInicio"));
  221 + } else if (faixa.getFaixaFim() == null) {
  222 + validator.add(new ValidationMessage(Messages
  223 + .getString("faixas.validacao.faixa_final"),
  224 + "faixa.faixaFim"));
  225 + } else if (faixa.getFaixaInicio() > faixa.getFaixaFim()) {
  226 + validator.add(new ValidationMessage(Messages
  227 + .getString("faixas.validacao.range_faixas"),
  228 + "faixa.faixaInicio"));
  229 + } else if (faixa.getPercentualConformidade() == null) {
  230 + validator.add(new ValidationMessage(Messages
  231 + .getString("faixas.validacao.percentual_conformidade"),
  232 + "faixa.percentualConformidade"));
  233 + }
  234 + }
  235 +
  236 + private boolean validarAtualizacaoFaixa(Faixa faixa) {
  237 +
  238 + boolean alteracao = false;
  239 +
  240 + Faixa faixaCadastrada = dao.load(faixa.getId());
  241 +
  242 + if (faixa.getFaixa().compareTo(faixaCadastrada.getFaixa())!=0) {
  243 + alteracao = true;
  244 + } else if (faixa.getDescricao().compareToIgnoreCase(faixaCadastrada.getDescricao()) != 0) {
  245 + alteracao = true;
  246 + } else if (faixa.getFaixaInicio().compareTo(faixaCadastrada.getFaixaInicio())!=0) {
  247 + alteracao = true;
  248 + } else if (faixa.getFaixaFim().compareTo(faixaCadastrada.getFaixaFim()) !=0) {
  249 + alteracao = true;
  250 + } else if (faixa.getPercentualConformidade().compareTo(faixaCadastrada.getPercentualConformidade()) !=0) {
  251 + alteracao = true;
  252 + }
  253 +
  254 + return alteracao;
  255 + }
  256 +
  257 + private void criarNovoParametroAvaliacao(List<Faixa> faixas, int tipo) {
  258 + ParametroCalculo ultimoParametroAvaliacao = paDAO.getLastParametrosCalculo();
  259 + boolean ok = false;
  260 + Faixa faixa;
  261 +
  262 + switch (tipo) {
  263 + case ParametroCalculoController.MODO_ADD:
  264 + for(Faixa f:faixas){
  265 + for(Recomendacao recomendacao: ultimoParametroAvaliacao.getRecomendacoes()){
  266 + if(recomendacao.getId().longValue()==f.getCriterio().getRecomendacao().getId().longValue()){
  267 + for(Criterio criterio: recomendacao.getCriterios()){
  268 + if(criterio.getId().longValue()==f.getCriterio().getId().longValue()){
  269 + criterio.addFaixa(f);
  270 + ok=true;
  271 + break;
  272 +
  273 + }
  274 + }
  275 + }
  276 + }
  277 + }
  278 +
  279 + break;
  280 +
  281 + case ParametroCalculoController.MODO_EDIT:
  282 + faixa = faixas.get(0);
  283 + for(Recomendacao recomendacao: ultimoParametroAvaliacao.getRecomendacoes()){
  284 + if(recomendacao.getId().longValue()==faixa.getCriterio().getRecomendacao().getId().longValue()){
  285 + for(Criterio criterio: recomendacao.getCriterios()){
  286 + if(criterio.getId().longValue()==faixa.getCriterio().getId().longValue()){
  287 + for(Faixa f: criterio.getFaixas()){
  288 + if(f.getId().longValue()==faixa.getId().longValue()){
  289 + f.setCriterio(faixa.getCriterio());
  290 + f.setDescricao(faixa.getDescricao());
  291 + f.setFaixa(faixa.getFaixa());
  292 + f.setFaixaFim(faixa.getFaixaFim());
  293 + f.setFaixaInicio(faixa.getFaixaInicio());
  294 + f.setId(faixa.getId());
  295 + f.setPercentualConformidade(faixa.getPercentualConformidade());
  296 + ok=true;
  297 + }
  298 + }
  299 + }
  300 + }
  301 + }
  302 + }
  303 +
  304 + break;
  305 +
  306 + case ParametroCalculoController.MODO_DELETE:
  307 + faixa = faixas.get(0);
  308 + for(Recomendacao recomendacao: ultimoParametroAvaliacao.getRecomendacoes()){
  309 + if(recomendacao.getId().longValue()==faixa.getCriterio().getRecomendacao().getId().longValue()){
  310 + for(Criterio criterio: recomendacao.getCriterios()){
  311 + if(criterio.getId().longValue()==faixa.getCriterio().getId().longValue()){
  312 + criterio.removeFaixa(faixa);
  313 + ok=true;
  314 + break;
  315 +
  316 + }
  317 + }
  318 + }
  319 + }
  320 +
  321 + break;
  322 + }
  323 +
  324 + if(ok){
  325 + new CopiadorParametroCalculo().criarNovoParametroCalculo(ultimoParametroAvaliacao, usuarioWeb, dao.getSession());
  326 + }
  327 + }
  328 +
  329 +}
... ...
Desenvolvimento/Codificacao/e-Selo/src/main/java/br/com/eselo/controller/GruposController.java
1   -package br.com.eselo.controller;
2   -
3   -import java.util.List;
4   -
5   -import br.com.caelum.vraptor.Get;
6   -import br.com.caelum.vraptor.Path;
7   -import br.com.caelum.vraptor.Post;
8   -import br.com.caelum.vraptor.Put;
9   -import br.com.caelum.vraptor.Resource;
10   -import br.com.caelum.vraptor.Result;
11   -import br.com.caelum.vraptor.Validator;
12   -import br.com.caelum.vraptor.validator.ValidationMessage;
13   -import br.com.eselo.annotations.Restrito;
14   -import br.com.eselo.dao.GrupoDAO;
15   -import br.com.eselo.model.Grupo;
16   -
17   -@Resource
18   -public class GruposController {
19   -
20   - private final GrupoDAO dao;
21   - private final Result result;
22   - private final Validator validator;
23   -
24   - public GruposController(GrupoDAO _dao, Result _result, Validator _validator) {
25   - dao = _dao;
26   - result = _result;
27   - validator = _validator;
28   - }
29   -
30   - @Get("/grupos/lista")
31   - @Restrito(descricao = "GRUPOS_LISTA")
32   - public List<Grupo> lista(Grupo grupo) {
33   - result.include("usuario", grupo);
34   - return dao.listAll(grupo);
35   - }
36   -
37   - @Get("/grupos")
38   - @Restrito(descricao = "GRUPOS_LISTA")
39   - public List<Grupo> lista() {
40   - return dao.listAll();
41   - }
42   -
43   - @Restrito(descricao = "GRUPOS_ADICIONAR")
44   - public void form() {
45   - if (!result.included().containsKey("permissaoList")) {
46   - result.include("permissaoList", dao.getAllPermissoes());
47   - }
48   - }
49   -
50   - @Get("/grupos/{id}")
51   - @Restrito(descricao = "GRUPOS_ATUALIZAR")
52   - public Grupo form(Long id) {
53   - Grupo grupo = this.dao.load(id);
54   - getPermissaoList(grupo);
55   - return grupo;
56   - }
57   -
58   - @Post("/grupos")
59   - @Restrito(descricao = "GRUPOS_ADICIONAR")
60   - public void adicionar(Grupo grupo) {
61   - getPermissaoList(grupo);
62   - validate(grupo);
63   -
64   - dao.save(grupo);
65   -
66   - result.include("mensagem", "Grupo salvo com sucesso.");
67   - result.redirectTo(GruposController.class).lista();
68   - }
69   -
70   - @Put("/grupos")
71   - @Restrito(descricao = "GRUPOS_ATUALIZAR")
72   - public void atualizar(Grupo grupo) {
73   - getPermissaoList(grupo);
74   - validate(grupo);
75   -
76   - Grupo grupoCadastrado = dao.load(grupo.getId());
77   - grupoCadastrado.setNome(grupo.getNome());
78   - grupoCadastrado.setPermissoes(grupo.getPermissoes());
79   -
80   - dao.saveOrUpdate(grupoCadastrado);
81   -
82   - result.include("mensagem", "Grupo alterado com sucesso.");
83   - result.redirectTo(GruposController.class).lista();
84   - }
85   -
86   - @Path("/grupos/delete/{id}")
87   - @Restrito(descricao = "GRUPOS_EXCLUIR")
88   - public void excluir(Long id) {
89   - Grupo grupo = dao.load(id);
90   -
91   - if (!grupo.getUsuarios().isEmpty()) {
92   - validator.add(new ValidationMessage(
93   - "O grupo está sendo referenciado e não pode ser excluído.",
94   - "grupo.nome"));
95   - }
96   - validator.onErrorForwardTo(GruposController.class).lista();
97   -
98   - dao.remove(id);
99   -
100   - result.include("mensagem", "Grupo excluído com sucesso.");
101   - result.redirectTo(GruposController.class).lista();
102   - }
103   -
104   - private void getPermissaoList(Grupo grupo) {
105   - if (grupo.getPermissoes() != null) {
106   - result.include("permissaoList",
107   - dao.getAllPermissoes(grupo.getPermissoes()));
108   - } else {
109   - result.include("permissaoList", dao.getAllPermissoes());
110   - }
111   - }
112   -
113   - private void validate(Grupo grupo) {
114   - Long idGrupoMesmoNome = dao.getIdByNome(grupo.getNome(), grupo.getId());
115   -
116   - if (grupo.getNome() == null) {
117   - validator.add(new ValidationMessage(
118   - "O nome do grupo é obrigatório.", "grupo.nome"));
119   - } else if (idGrupoMesmoNome != null) {
120   - validator.add(new ValidationMessage(
121   - "O grupo não pode ser igual a um já existente.",
122   - "grupo.nome"));
123   - }
124   -
125   - validator.onErrorUsePageOf(GruposController.class).form();
126   - }
127   -
128   -}
  1 +package br.com.eselo.controller;
  2 +
  3 +import java.util.List;
  4 +
  5 +import br.com.caelum.vraptor.Get;
  6 +import br.com.caelum.vraptor.Path;
  7 +import br.com.caelum.vraptor.Post;
  8 +import br.com.caelum.vraptor.Put;
  9 +import br.com.caelum.vraptor.Resource;
  10 +import br.com.caelum.vraptor.Result;
  11 +import br.com.caelum.vraptor.Validator;
  12 +import br.com.caelum.vraptor.validator.ValidationMessage;
  13 +import br.com.eselo.annotations.Restrito;
  14 +import br.com.eselo.dao.GrupoDAO;
  15 +import br.com.eselo.model.Grupo;
  16 +
  17 +@Resource
  18 +public class GruposController {
  19 +
  20 + private final GrupoDAO dao;
  21 + private final Result result;
  22 + private final Validator validator;
  23 +
  24 + public GruposController(GrupoDAO _dao, Result _result, Validator _validator) {
  25 + dao = _dao;
  26 + result = _result;
  27 + validator = _validator;
  28 + }
  29 +
  30 + @Get("/grupos/lista")
  31 + @Restrito(descricao = "GRUPOS_LISTA")
  32 + public List<Grupo> lista(Grupo grupo) {
  33 + result.include("usuario", grupo);
  34 + return dao.listAll(grupo);
  35 + }
  36 +
  37 + @Get("/grupos")
  38 + @Restrito(descricao = "GRUPOS_LISTA")
  39 + public List<Grupo> lista() {
  40 + return dao.listAll();
  41 + }
  42 +
  43 + @Restrito(descricao = "GRUPOS_ADICIONAR")
  44 + public void form() {
  45 + if (!result.included().containsKey("permissaoList")) {
  46 + result.include("permissaoList", dao.getAllPermissoes());
  47 + }
  48 + }
  49 +
  50 + @Get("/grupos/{id}")
  51 + @Restrito(descricao = "GRUPOS_ATUALIZAR")
  52 + public Grupo form(Long id) {
  53 + Grupo grupo = this.dao.load(id);
  54 + getPermissaoList(grupo);
  55 + return grupo;
  56 + }
  57 +
  58 + @Post("/grupos")
  59 + @Restrito(descricao = "GRUPOS_ADICIONAR")
  60 + public void adicionar(Grupo grupo) {
  61 + getPermissaoList(grupo);
  62 + validate(grupo);
  63 +
  64 + dao.save(grupo);
  65 +
  66 + result.include("mensagem", "Grupo salvo com sucesso.");
  67 + result.redirectTo(GruposController.class).lista();
  68 + }
  69 +
  70 + @Put("/grupos")
  71 + @Restrito(descricao = "GRUPOS_ATUALIZAR")
  72 + public void atualizar(Grupo grupo) {
  73 + getPermissaoList(grupo);
  74 + validate(grupo);
  75 +
  76 + Grupo grupoCadastrado = dao.load(grupo.getId());
  77 + grupoCadastrado.setNome(grupo.getNome());
  78 + grupoCadastrado.setPermissoes(grupo.getPermissoes());
  79 +
  80 + dao.saveOrUpdate(grupoCadastrado);
  81 +
  82 + result.include("mensagem", "Grupo alterado com sucesso.");
  83 + result.redirectTo(GruposController.class).lista();
  84 + }
  85 +
  86 + @Path("/grupos/delete/{id}")
  87 + @Restrito(descricao = "GRUPOS_EXCLUIR")
  88 + public void excluir(Long id) {
  89 + Grupo grupo = dao.load(id);
  90 +
  91 + if (!grupo.getUsuarios().isEmpty()) {
  92 + validator.add(new ValidationMessage(
  93 + "O grupo está sendo referenciado e não pode ser excluído.",
  94 + "grupo.nome"));
  95 + }
  96 + validator.onErrorForwardTo(GruposController.class).lista();
  97 +
  98 + dao.remove(id);
  99 +
  100 + result.include("mensagem", "Grupo excluído com sucesso.");
  101 + result.redirectTo(GruposController.class).lista();
  102 + }
  103 +
  104 + private void getPermissaoList(Grupo grupo) {
  105 + if (grupo.getPermissoes() != null) {
  106 + result.include("permissaoList",
  107 + dao.getAllPermissoes(grupo.getPermissoes()));
  108 + } else {
  109 + result.include("permissaoList", dao.getAllPermissoes());
  110 + }
  111 + }
  112 +
  113 + private void validate(Grupo grupo) {
  114 + Long idGrupoMesmoNome = dao.getIdByNome(grupo.getNome(), grupo.getId());
  115 +
  116 + if (grupo.getNome() == null) {
  117 + validator.add(new ValidationMessage(
  118 + "O nome do grupo é obrigatório.", "grupo.nome"));
  119 + } else if (idGrupoMesmoNome != null) {
  120 + validator.add(new ValidationMessage(
  121 + "O grupo não pode ser igual a um já existente.",
  122 + "grupo.nome"));
  123 + }
  124 +
  125 + validator.onErrorUsePageOf(GruposController.class).form();
  126 + }
  127 +
  128 +}
... ...
Desenvolvimento/Codificacao/e-Selo/src/main/java/br/com/eselo/controller/PainelController.java
1   -package br.com.eselo.controller;
2   -
3   -import br.com.caelum.vraptor.Get;
4   -import br.com.caelum.vraptor.Resource;
5   -import br.com.eselo.annotations.Restrito;
6   -
7   -@Resource
8   -public class PainelController {
9   -
10   - @Restrito(descricao = "PAINEL")
11   - @Get("/painel")
12   - public void index() {
13   -
14   - }
15   -
16   -}
  1 +package br.com.eselo.controller;
  2 +
  3 +import br.com.caelum.vraptor.Get;
  4 +import br.com.caelum.vraptor.Resource;
  5 +import br.com.eselo.annotations.Restrito;
  6 +
  7 +@Resource
  8 +public class PainelController {
  9 +
  10 + @Restrito(descricao = "PAINEL")
  11 + @Get("/painel")
  12 + public void index() {
  13 +
  14 + }
  15 +
  16 +}
... ...
Desenvolvimento/Codificacao/e-Selo/src/main/java/br/com/eselo/controller/ParametroCalculoController.java
... ... @@ -78,30 +78,30 @@ public class ParametroCalculoController {
78 78 @Get("/parametrosCalculo/importar/")
79 79 @Restrito(descricao = "PARAMETRO_CALCULO_ADICIONAR")
80 80 public void importar(long idParametroCalculo) {
81   -
  81 +
82 82 String acao = VRaptorRequestHolder.currentRequest().getRequest().getParameter("acao");
83   -
  83 +
84 84 String mensagem="";
85   -
  85 +
86 86 if(acao.equals("Importar")){
87 87 ParametroCalculo pc = dao.load(idParametroCalculo);
88 88 this.criarNovoParametroCalculo(pc, MODO_IMPORT);
89 89 mensagem = "Parâmetro de Cálculo criado com base no parametro "
90 90 + pc.getDescricao() + " com sucesso.";
91   -
  91 +
92 92 result.redirectTo(ParametroCalculoController.class).form(dao.getMaxId());
93 93  
94 94 }else if(acao.equals("Não Importar")){
95 95 criarNovoParametroCalculo(new ParametroCalculo(), MODO_ADD);
96 96 mensagem = "Novo parâmetro criado [sem recomendações ou critérios associados]!";
97   -
  97 +
98 98 result.redirectTo(ParametroCalculoController.class).form(dao.getMaxId());
99 99  
100 100 }else if(acao.equals("Cancelar")){
101 101 mensagem = "Ação cancelada!";
102 102 result.redirectTo(ParametroCalculoController.class).lista();
103 103 }
104   -
  104 +
105 105 result.include("mensagem", mensagem);
106 106 }
107 107  
... ... @@ -154,7 +154,7 @@ public class ParametroCalculoController {
154 154  
155 155 List<Usuario> usuarios = dao.getAllUsuarios();
156 156 ParametroCalculo parametroCalculoCadastrado = dao.load(parametroCalculo.getId());
157   -
  157 +
158 158 parametroCalculo.setTsInicio(parametroCalculoCadastrado.getTsInicio());
159 159 parametroCalculoCadastrado.setUsuario(new UsuarioDAO(dao.getSession()).load(usuarioWeb.getId()));
160 160 parametroCalculo.setUsuario(parametroCalculoCadastrado.getUsuario());
... ... @@ -174,13 +174,13 @@ public class ParametroCalculoController {
174 174 "parametroCalculo.descricao"));
175 175 }
176 176  
177   -
178   -
  177 +
  178 +
179 179 result.include("usuarioList", usuarios);
180 180 result.include("recomendacaoList", parametroCalculoCadastrado.getRecomendacoes());
181 181 result.include("parametroCalculo", parametroCalculoCadastrado);
182   -
183   -
  182 +
  183 +
184 184 validator.onErrorUsePageOf(ParametroCalculoController.class).form(parametroCalculo.getId());
185 185  
186 186 dao.saveOrUpdate(parametroCalculoCadastrado);
... ...
Desenvolvimento/Codificacao/e-Selo/src/main/java/br/com/eselo/controller/PermissoesController.java
1   -package br.com.eselo.controller;
2   -
3   -import java.util.List;
4   -
5   -import br.com.caelum.vraptor.Get;
6   -import br.com.caelum.vraptor.Path;
7   -import br.com.caelum.vraptor.Post;
8   -import br.com.caelum.vraptor.Put;
9   -import br.com.caelum.vraptor.Resource;
10   -import br.com.caelum.vraptor.Result;
11   -import br.com.caelum.vraptor.Validator;
12   -import br.com.caelum.vraptor.validator.ValidationMessage;
13   -import br.com.eselo.annotations.Restrito;
14   -import br.com.eselo.dao.PermissaoDAO;
15   -import br.com.eselo.model.Permissao;
16   -
17   -@Resource
18   -public class PermissoesController {
19   -
20   - private final PermissaoDAO dao;
21   - private final Result result;
22   - private final Validator validator;
23   -
24   - public PermissoesController(PermissaoDAO _dao, Result _result,
25   - Validator _validator) {
26   - dao = _dao;
27   - result = _result;
28   - validator = _validator;
29   - }
30   -
31   - @Get("/permissoes")
32   - @Restrito(descricao = "PERMISSOES_LISTA")
33   - public List<Permissao> lista() {
34   - return dao.listAll();
35   - }
36   -
37   - @Restrito(descricao = "")
38   - public void form() {
39   -
40   - }
41   -
42   - @Get("/permissoes/{id}")
43   - @Restrito(descricao = "")
44   - public Permissao form(Long id) {
45   - Permissao permissao = dao.load(id);
46   - return permissao;
47   - }
48   -
49   - @Post("/permissoes")
50   - @Restrito(descricao = "")
51   - public void adicionar(Permissao permissao) {
52   - Long idPermissaoMesmoCpf = dao.getIdByDescricao(permissao.getPermissao());
53   -
54   - if (permissao.getPermissao() == null) {
55   - validator.add(new ValidationMessage("A descrição da permissão é obrigatória.",
56   - "permissao.permissao"));
57   - } else if (idPermissaoMesmoCpf != null) {
58   - validator.add(new ValidationMessage(
59   - "A permissão não pode ser igual a uma já existente.",
60   - "permissao.permissao"));
61   - }
62   - validator.onErrorUsePageOf(PermissoesController.class).form();
63   -
64   - dao.save(permissao);
65   -
66   - result.include("mensagem", "Permissão salva com sucesso.");
67   - result.redirectTo(PermissoesController.class).lista();
68   - }
69   -
70   - @Put("/permissoes")
71   - @Restrito(descricao = "")
72   - public void atualizar(Permissao permissao) {
73   - Permissao permissaoCadastrada = dao.load(permissao.getId());
74   - permissaoCadastrada.setPermissao(permissao.getPermissao());
75   -
76   - Long idPermissaoMesmaDescricao = dao.getIdByDescricao(permissaoCadastrada.getPermissao());
77   -
78   - if (permissaoCadastrada.getPermissao() == null) {
79   - validator.add(new ValidationMessage("A descrição da permissão é obrigatória.",
80   - "permissao.permissao"));
81   - } else if (idPermissaoMesmaDescricao != null
82   - && !idPermissaoMesmaDescricao.equals(permissaoCadastrada.getId())) {
83   - validator.add(new ValidationMessage(
84   - "A permissão não pode ser igual a uma já existente.",
85   - "permissao.permissao"));
86   - }
87   - validator.onErrorUsePageOf(PermissoesController.class).form();
88   -
89   - dao.saveOrUpdate(permissaoCadastrada);
90   -
91   - result.include("mensagem", "Permissão alterada com sucesso.");
92   - result.redirectTo(PermissoesController.class).lista();
93   - }
94   -
95   - @Path("/permissoes/delete/{id}")
96   - @Restrito(descricao = "")
97   - public void excluir(Long id) {
98   - Permissao permissaoCadastrada = dao.load(id);
99   -
100   - if (!permissaoCadastrada.getGrupos().isEmpty()) {
101   - validator.add(new ValidationMessage("A permissão está sendo referenciada e não pode ser excluída.",
102   - "permissao.permissao"));
103   - }
104   - validator.onErrorForwardTo(PermissoesController.class).lista();
105   -
106   - dao.remove(id);
107   -
108   - result.include("mensagem", "Permissão excluída com sucesso.");
109   - result.redirectTo(PermissoesController.class).lista();
110   - }
111   -
112   - @Get("/permissoes/sincronizar")
113   - @Restrito(descricao = "PERMISSOES_SINCRONIZAR")
114   - public void sincronizar() {
115   - dao.sincronizar();
116   -
117   - result.include("mensagem", "Permissões sincronizadas com sucesso.");
118   - result.redirectTo(PermissoesController.class).lista();
119   - }
120   -
121   -}
  1 +package br.com.eselo.controller;
  2 +
  3 +import java.util.List;
  4 +
  5 +import br.com.caelum.vraptor.Get;
  6 +import br.com.caelum.vraptor.Path;
  7 +import br.com.caelum.vraptor.Post;
  8 +import br.com.caelum.vraptor.Put;
  9 +import br.com.caelum.vraptor.Resource;
  10 +import br.com.caelum.vraptor.Result;
  11 +import br.com.caelum.vraptor.Validator;
  12 +import br.com.caelum.vraptor.validator.ValidationMessage;
  13 +import br.com.eselo.annotations.Restrito;
  14 +import br.com.eselo.dao.PermissaoDAO;
  15 +import br.com.eselo.model.Permissao;
  16 +
  17 +@Resource
  18 +public class PermissoesController {
  19 +
  20 + private final PermissaoDAO dao;
  21 + private final Result result;
  22 + private final Validator validator;
  23 +
  24 + public PermissoesController(PermissaoDAO _dao, Result _result,
  25 + Validator _validator) {
  26 + dao = _dao;
  27 + result = _result;
  28 + validator = _validator;
  29 + }
  30 +
  31 + @Get("/permissoes")
  32 + @Restrito(descricao = "PERMISSOES_LISTA")
  33 + public List<Permissao> lista() {
  34 + return dao.listAll();
  35 + }
  36 +
  37 + @Restrito(descricao = "")
  38 + public void form() {
  39 +
  40 + }
  41 +
  42 + @Get("/permissoes/{id}")
  43 + @Restrito(descricao = "")
  44 + public Permissao form(Long id) {
  45 + Permissao permissao = dao.load(id);
  46 + return permissao;
  47 + }
  48 +
  49 + @Post("/permissoes")
  50 + @Restrito(descricao = "")
  51 + public void adicionar(Permissao permissao) {
  52 + Long idPermissaoMesmoCpf = dao.getIdByDescricao(permissao.getPermissao());
  53 +
  54 + if (permissao.getPermissao() == null) {
  55 + validator.add(new ValidationMessage("A descrição da permissão é obrigatória.",
  56 + "permissao.permissao"));
  57 + } else if (idPermissaoMesmoCpf != null) {
  58 + validator.add(new ValidationMessage(
  59 + "A permissão não pode ser igual a uma já existente.",
  60 + "permissao.permissao"));
  61 + }
  62 + validator.onErrorUsePageOf(PermissoesController.class).form();
  63 +
  64 + dao.save(permissao);
  65 +
  66 + result.include("mensagem", "Permissão salva com sucesso.");
  67 + result.redirectTo(PermissoesController.class).lista();
  68 + }
  69 +
  70 + @Put("/permissoes")
  71 + @Restrito(descricao = "")
  72 + public void atualizar(Permissao permissao) {
  73 + Permissao permissaoCadastrada = dao.load(permissao.getId());
  74 + permissaoCadastrada.setPermissao(permissao.getPermissao());
  75 +
  76 + Long idPermissaoMesmaDescricao = dao.getIdByDescricao(permissaoCadastrada.getPermissao());
  77 +
  78 + if (permissaoCadastrada.getPermissao() == null) {
  79 + validator.add(new ValidationMessage("A descrição da permissão é obrigatória.",
  80 + "permissao.permissao"));
  81 + } else if (idPermissaoMesmaDescricao != null
  82 + && !idPermissaoMesmaDescricao.equals(permissaoCadastrada.getId())) {
  83 + validator.add(new ValidationMessage(
  84 + "A permissão não pode ser igual a uma já existente.",
  85 + "permissao.permissao"));
  86 + }
  87 + validator.onErrorUsePageOf(PermissoesController.class).form();
  88 +
  89 + dao.saveOrUpdate(permissaoCadastrada);
  90 +
  91 + result.include("mensagem", "Permissão alterada com sucesso.");
  92 + result.redirectTo(PermissoesController.class).lista();
  93 + }
  94 +
  95 + @Path("/permissoes/delete/{id}")
  96 + @Restrito(descricao = "")
  97 + public void excluir(Long id) {
  98 + Permissao permissaoCadastrada = dao.load(id);
  99 +
  100 + if (!permissaoCadastrada.getGrupos().isEmpty()) {
  101 + validator.add(new ValidationMessage("A permissão está sendo referenciada e não pode ser excluída.",
  102 + "permissao.permissao"));
  103 + }
  104 + validator.onErrorForwardTo(PermissoesController.class).lista();
  105 +
  106 + dao.remove(id);
  107 +
  108 + result.include("mensagem", "Permissão excluída com sucesso.");
  109 + result.redirectTo(PermissoesController.class).lista();
  110 + }
  111 +
  112 + @Get("/permissoes/sincronizar")
  113 + @Restrito(descricao = "PERMISSOES_SINCRONIZAR")
  114 + public void sincronizar() {
  115 + dao.sincronizar();
  116 +
  117 + result.include("mensagem", "Permissões sincronizadas com sucesso.");
  118 + result.redirectTo(PermissoesController.class).lista();
  119 + }
  120 +
  121 +}
... ...
Desenvolvimento/Codificacao/e-Selo/src/main/java/br/com/eselo/controller/RecomendacaoController.java
... ... @@ -74,7 +74,7 @@ public class RecomendacaoController {
74 74 this.criarNovoParametroAvaliacao(recomendacao,
75 75 ParametroCalculoController.MODO_ADD);
76 76  
77   - result.include("mensagem", "Recomenda��o salva com sucesso.");
  77 + result.include("mensagem", "Recomenda��o salva com sucesso.");
78 78 result.redirectTo(ParametroCalculoController.class).index(1);
79 79 }
80 80  
... ... @@ -90,13 +90,13 @@ public class RecomendacaoController {
90 90  
91 91 if(validarAtualizacaoRecomendacao(recomendacao)){
92 92 criarNovoParametroAvaliacao(recomendacao,ParametroCalculoController.MODO_EDIT);
93   - result.include("mensagem", "Recomendação salva com sucesso.");
  93 + result.include("mensagem", "Recomendação salva com sucesso.");
94 94 }else{
95 95 recomendacaoCadastrada.setDescricao(recomendacao.getDescricao());
96 96 dao.update(recomendacaoCadastrada);
97 97 result.include("mensagem", "Nenhum campo foi alterado.");
98 98 }
99   -
  99 +
100 100 result.redirectTo(RecomendacaoController.class).form(recomendacao.getId());
101 101 }
102 102  
... ... @@ -108,7 +108,7 @@ public class RecomendacaoController {
108 108 criarNovoParametroAvaliacao(recomendacao,
109 109 ParametroCalculoController.MODO_DELETE);
110 110  
111   - result.include("mensagem", "Recomenda��o exclu�da com sucesso.");
  111 + result.include("mensagem", "Recomenda��o exclu�da com sucesso.");
112 112 result.redirectTo(ParametroCalculoController.class).index(1);
113 113 }
114 114  
... ... @@ -162,24 +162,24 @@ public class RecomendacaoController {
162 162  
163 163 if (recomendacao.getNumeroRecomendacao() == null) {
164 164 validator.add(new ValidationMessage(
165   - "� obrigat�rio informar o n�mero da recomenda��o.",
  165 + "� obrigat�rio informar o n�mero da recomenda��o.",
166 166 "recomendacao.numeroRecomendacao"));
167 167 } else if (hasNumeroRecomendacaoNoParametroAtual(recomendacao)) {
168 168 validator
169 169 .add(new ValidationMessage(
170   - "J� existe uma recomenda��o ativa com esse numero. Recomenda��o n�o atualizada.",
  170 + "J� existe uma recomenda��o ativa com esse numero. Recomenda��o n�o atualizada.",
171 171 "recomendacao.numeroRecomendacao"));
172 172 } else if (recomendacao.getDescricao() == null) {
173 173 validator.add(new ValidationMessage(
174   - "� obrigat�rio informar a descri��o da recomenda��o.",
  174 + "� obrigat�rio informar a descri��o da recomenda��o.",
175 175 "recomendacao.descricao"));
176 176 } else if (recomendacao.getPeso() == null) {
177 177 validator.add(new ValidationMessage(
178   - "� obrigat�rio informar o peso da recomenda��o.",
  178 + "� obrigat�rio informar o peso da recomenda��o.",
179 179 "recomendacao.peso"));
180 180 } else if (recomendacao.getPeso() <= 0) {
181 181 validator.add(new ValidationMessage(
182   - "O peso da recomenda��o deve ser maior que zero.",
  182 + "O peso da recomenda��o deve ser maior que zero.",
183 183 "recomendacao.peso"));
184 184 }
185 185  
... ... @@ -192,9 +192,9 @@ public class RecomendacaoController {
192 192 private boolean validarAtualizacaoRecomendacao(Recomendacao recomendacao) {
193 193  
194 194 boolean alteracao = false;
195   -
  195 +
196 196 Recomendacao recomendacaoCadastrada = dao.load(recomendacao.getId());
197   -
  197 +
198 198 if (recomendacao.getNumeroRecomendacao().compareTo(recomendacaoCadastrada.getNumeroRecomendacao())!=0) {
199 199 alteracao = true;
200 200 } else if (recomendacao.getPeso().compareTo(recomendacaoCadastrada.getPeso()) !=0) {
... ... @@ -202,13 +202,13 @@ public class RecomendacaoController {
202 202 } else if (recomendacao.getDescricao().compareToIgnoreCase(recomendacaoCadastrada.getDescricao()) != 0) {
203 203 alteracao = true;
204 204 }
205   -
  205 +
206 206 return alteracao;
207 207 }
208 208 /**
209   - * Recebe uma recomenda��o antes de ser cadastrada e verifica se ja existe
210   - * uma recomenda��o ativa com o mesmo numero.
211   - *
  209 + * Recebe uma recomenda��o antes de ser cadastrada e verifica se ja existe
  210 + * uma recomenda��o ativa com o mesmo numero.
  211 + *
212 212 * @param recomendacao
213 213 * @return boolean
214 214 */
... ...
Desenvolvimento/Codificacao/e-Selo/src/main/java/br/com/eselo/controller/TestesController.java
1   -package br.com.eselo.controller;
2   -
3   -import org.slf4j.Logger;
4   -import org.slf4j.LoggerFactory;
5   -
6   -import br.com.caelum.vraptor.Get;
7   -import br.com.caelum.vraptor.Post;
8   -import br.com.caelum.vraptor.Resource;
9   -import br.com.caelum.vraptor.Result;
10   -import br.com.eselo.component.LeitorXML;
11   -import br.com.eselo.integracao.RelatorioAvaliacao;
12   -import br.com.eselo.model.Teste;
13   -
14   -@Resource
15   -public class TestesController {
16   -
17   - private final Result result;
18   - private final AvaliacaoController avaliacaoController;
19   -
20   - private static final Logger LOGGER = LoggerFactory
21   - .getLogger(TestesController.class);
22   -
23   - public TestesController(Result _result, AvaliacaoController _avaliacaoController) {
24   - this.result = _result;
25   - this.avaliacaoController = _avaliacaoController;
26   - }
27   -
28   - @Get("/teste")
29   - public void form() {
30   - }
31   -
32   - @Post("/teste/form")
33   - public void form(Teste teste) {
34   - LOGGER.debug("XML: " + teste.getXml());
35   -
36   - RelatorioAvaliacao relatorioAvaliacao = new LeitorXML()
37   - .lerAvaliacaoXML(teste.getXml());
38   -
39   - avaliacaoController.calcularNota(relatorioAvaliacao);
40   -
41   - result.include("mensagem", "Teste realizado.");
42   - }
43   -
44   -}
  1 +package br.com.eselo.controller;
  2 +
  3 +import org.slf4j.Logger;
  4 +import org.slf4j.LoggerFactory;
  5 +
  6 +import br.com.caelum.vraptor.Get;
  7 +import br.com.caelum.vraptor.Post;
  8 +import br.com.caelum.vraptor.Resource;
  9 +import br.com.caelum.vraptor.Result;
  10 +import br.com.eselo.component.LeitorXML;
  11 +import br.com.eselo.integracao.RelatorioAvaliacao;
  12 +import br.com.eselo.model.Teste;
  13 +
  14 +@Resource
  15 +public class TestesController {
  16 +
  17 + private final Result result;
  18 + private final AvaliacaoController avaliacaoController;
  19 +
  20 + private static final Logger LOGGER = LoggerFactory
  21 + .getLogger(TestesController.class);
  22 +
  23 + public TestesController(Result _result, AvaliacaoController _avaliacaoController) {
  24 + this.result = _result;
  25 + this.avaliacaoController = _avaliacaoController;
  26 + }
  27 +
  28 + @Get("/teste")
  29 + public void form() {
  30 + }
  31 +
  32 + @Post("/teste/form")
  33 + public void form(Teste teste) {
  34 + LOGGER.debug("XML: " + teste.getXml());
  35 +
  36 + RelatorioAvaliacao relatorioAvaliacao = new LeitorXML()
  37 + .lerAvaliacaoXML(teste.getXml());
  38 +
  39 + avaliacaoController.calcularNota(relatorioAvaliacao);
  40 +
  41 + result.include("mensagem", "Teste realizado.");
  42 + }
  43 +
  44 +}
... ...
Desenvolvimento/Codificacao/e-Selo/src/main/java/br/com/eselo/controller/TiposTesteController.java
1   -package br.com.eselo.controller;
2   -
3   -import java.util.List;
4   -
5   -import br.com.caelum.vraptor.Get;
6   -import br.com.caelum.vraptor.Put;
7   -import br.com.caelum.vraptor.Resource;
8   -import br.com.caelum.vraptor.Result;
9   -import br.com.caelum.vraptor.Validator;
10   -import br.com.caelum.vraptor.validator.ValidationMessage;
11   -import br.com.eselo.annotations.Restrito;
12   -import br.com.eselo.component.Messages;
13   -import br.com.eselo.dao.TipoTesteDAO;
14   -import br.com.eselo.model.TipoTeste;
15   -
16   -@Resource
17   -public class TiposTesteController {
18   -
19   - private final TipoTesteDAO dao;
20   - private final Result result;
21   - private final Validator validator;
22   -
23   - public TiposTesteController(TipoTesteDAO _dao, Result _result,
24   - Validator _validator) {
25   - dao = _dao;
26   - result = _result;
27   - validator = _validator;
28   - }
29   -
30   - @Get("/tiposTeste")
31   - @Restrito(descricao = "TIPOS_TESTELISTA")
32   - public List<TipoTeste> lista() {
33   - return dao.listAll();
34   - }
35   -
36   - @Restrito(descricao = "TIPOS_TESTE_ADICIONAR")
37   - public void form() {
38   - }
39   -
40   - @Get("/tiposTeste/{id}")
41   - @Restrito(descricao = "TIPOS_TESTE_ATUALIZAR")
42   - public TipoTeste form(Long id) {
43   - TipoTeste tipoTeste = dao.load(id);
44   -
45   - /*
46   - if (!tipoTeste.getRecomendacoes().isEmpty()) {
47   - result.include("mensagem",
48   - Messages.getString("tipo_recomendacao.validacao.edit"));
49   - result.redirectTo(TiposTesteController.class).lista();
50   - }
51   - */
52   -
53   - return tipoTeste;
54   - }
55   -
56   - @Put("/tiposTeste")
57   - @Restrito(descricao = "TIPOS_TESTE_ATUALIZAR")
58   - public void atualizar(TipoTeste tipoTeste) {
59   - TipoTeste tipoTesteCadastrada = dao.load(tipoTeste.getId());
60   -
61   - validarTipoConformidade(tipoTeste);
62   -
63   - validator.onErrorUsePageOf(TiposTesteController.class).form(
64   - tipoTeste.getId());
65   -
66   - tipoTesteCadastrada.setTipo(tipoTeste.getTipo());
67   - tipoTesteCadastrada.setDescricao(tipoTeste.getDescricao());
68   -
69   - dao.saveOrUpdate(tipoTesteCadastrada);
70   -
71   - result.include("mensagem",
72   - Messages.getString("tipo_recomendacao.mensagem.alterada"));
73   - result.redirectTo(TiposTesteController.class).lista();
74   - }
75   -
76   - private void validarTipoConformidade(TipoTeste tipoTeste) {
77   - if (tipoTeste.getTipo() == null) {
78   - validator.add(new ValidationMessage(Messages
79   - .getString("tipo_recomendacao.validacao.tipo"),
80   - "tipoTeste.tipo"));
81   - } else if (tipoTeste.getDescricao() == null) {
82   - validator.add(new ValidationMessage(Messages
83   - .getString("tipo_recomendacao.validacao.descricao"),
84   - "tipoTeste.descricao"));
85   - } else if (dao.existeTipo(tipoTeste)) {
86   - Long id = dao.getIdByDescricao(tipoTeste.getDescricao());
87   -
88   - if ((tipoTeste.getId() == null && id != null)
89   - || (tipoTeste.getId() != null && tipoTeste.getId() == id)) {
90   - validator
91   - .add(new ValidationMessage(
92   - Messages.getString("tipo_recomendacao.validacao.descricao.unique"),
93   - "tipoTeste.descricao"));
94   - }
95   - }
96   - /*
97   - else if (tipoTeste.getMaximoConformidade() == null) {
98   - validator.add(new ValidationMessage(Messages
99   - .getString("tipo_recomendacao.validacao.maximo"),
100   - "tipoRecomendacao.maximoConformidade"));
101   - } else if (tipoTeste.getMaximoConformidade() <= 0) {
102   - validator.add(new ValidationMessage(Messages
103   - .getString("tipo_recomendacao.validacao.maximo.min"),
104   - "tipoRecomendacao.maximoConformidade"));
105   - }
106   - */
107   - }
108   -
109   -}
  1 +package br.com.eselo.controller;
  2 +
  3 +import java.util.List;
  4 +
  5 +import br.com.caelum.vraptor.Get;
  6 +import br.com.caelum.vraptor.Put;
  7 +import br.com.caelum.vraptor.Resource;
  8 +import br.com.caelum.vraptor.Result;
  9 +import br.com.caelum.vraptor.Validator;
  10 +import br.com.caelum.vraptor.validator.ValidationMessage;
  11 +import br.com.eselo.annotations.Restrito;
  12 +import br.com.eselo.component.Messages;
  13 +import br.com.eselo.dao.TipoTesteDAO;
  14 +import br.com.eselo.model.TipoTeste;
  15 +
  16 +@Resource
  17 +public class TiposTesteController {
  18 +
  19 + private final TipoTesteDAO dao;
  20 + private final Result result;
  21 + private final Validator validator;
  22 +
  23 + public TiposTesteController(TipoTesteDAO _dao, Result _result,
  24 + Validator _validator) {
  25 + dao = _dao;
  26 + result = _result;
  27 + validator = _validator;
  28 + }
  29 +
  30 + @Get("/tiposTeste")
  31 + @Restrito(descricao = "TIPOS_TESTELISTA")
  32 + public List<TipoTeste> lista() {
  33 + return dao.listAll();
  34 + }
  35 +
  36 + @Restrito(descricao = "TIPOS_TESTE_ADICIONAR")
  37 + public void form() {
  38 + }
  39 +
  40 + @Get("/tiposTeste/{id}")
  41 + @Restrito(descricao = "TIPOS_TESTE_ATUALIZAR")
  42 + public TipoTeste form(Long id) {
  43 + TipoTeste tipoTeste = dao.load(id);
  44 +
  45 + /*
  46 + if (!tipoTeste.getRecomendacoes().isEmpty()) {
  47 + result.include("mensagem",
  48 + Messages.getString("tipo_recomendacao.validacao.edit"));
  49 + result.redirectTo(TiposTesteController.class).lista();
  50 + }
  51 + */
  52 +
  53 + return tipoTeste;
  54 + }
  55 +
  56 + @Put("/tiposTeste")
  57 + @Restrito(descricao = "TIPOS_TESTE_ATUALIZAR")
  58 + public void atualizar(TipoTeste tipoTeste) {
  59 + TipoTeste tipoTesteCadastrada = dao.load(tipoTeste.getId());
  60 +
  61 + validarTipoConformidade(tipoTeste);
  62 +
  63 + validator.onErrorUsePageOf(TiposTesteController.class).form(
  64 + tipoTeste.getId());
  65 +
  66 + tipoTesteCadastrada.setTipo(tipoTeste.getTipo());
  67 + tipoTesteCadastrada.setDescricao(tipoTeste.getDescricao());
  68 +
  69 + dao.saveOrUpdate(tipoTesteCadastrada);
  70 +
  71 + result.include("mensagem",
  72 + Messages.getString("tipo_recomendacao.mensagem.alterada"));
  73 + result.redirectTo(TiposTesteController.class).lista();
  74 + }
  75 +
  76 + private void validarTipoConformidade(TipoTeste tipoTeste) {
  77 + if (tipoTeste.getTipo() == null) {
  78 + validator.add(new ValidationMessage(Messages
  79 + .getString("tipo_recomendacao.validacao.tipo"),
  80 + "tipoTeste.tipo"));
  81 + } else if (tipoTeste.getDescricao() == null) {
  82 + validator.add(new ValidationMessage(Messages
  83 + .getString("tipo_recomendacao.validacao.descricao"),
  84 + "tipoTeste.descricao"));
  85 + } else if (dao.existeTipo(tipoTeste)) {
  86 + Long id = dao.getIdByDescricao(tipoTeste.getDescricao());
  87 +
  88 + if ((tipoTeste.getId() == null && id != null)
  89 + || (tipoTeste.getId() != null && tipoTeste.getId() == id)) {
  90 + validator
  91 + .add(new ValidationMessage(
  92 + Messages.getString("tipo_recomendacao.validacao.descricao.unique"),
  93 + "tipoTeste.descricao"));
  94 + }
  95 + }
  96 + /*
  97 + else if (tipoTeste.getMaximoConformidade() == null) {
  98 + validator.add(new ValidationMessage(Messages
  99 + .getString("tipo_recomendacao.validacao.maximo"),
  100 + "tipoRecomendacao.maximoConformidade"));
  101 + } else if (tipoTeste.getMaximoConformidade() <= 0) {
  102 + validator.add(new ValidationMessage(Messages
  103 + .getString("tipo_recomendacao.validacao.maximo.min"),
  104 + "tipoRecomendacao.maximoConformidade"));
  105 + }
  106 + */
  107 + }
  108 +
  109 +}
... ...
Desenvolvimento/Codificacao/e-Selo/src/main/java/br/com/eselo/controller/UrlController.java
... ... @@ -45,7 +45,7 @@ public class UrlController {
45 45 public List<Url> lista(String nUrl) {
46 46  
47 47 Long idUsuario = usuarioWeb.getUsuario().getId();
48   -
  48 +
49 49 if (nUrl == null)
50 50 return this.dao.listAll(idUsuario);
51 51 else
... ...
Desenvolvimento/Codificacao/e-Selo/src/main/java/br/com/eselo/controller/UsuariosController.java
1   -package br.com.eselo.controller;
2   -
3   -import java.security.SecureRandom;
4   -import java.util.List;
5   -
6   -import javax.servlet.http.HttpServletRequest;
7   -
8   -import org.apache.commons.lang3.RandomStringUtils;
9   -import org.apache.commons.mail.Email;
10   -import org.apache.commons.mail.EmailException;
11   -import org.hibernate.Hibernate;
12   -import org.slf4j.Logger;
13   -import org.slf4j.LoggerFactory;
14   -
15   -import br.com.caelum.vraptor.Get;
16   -import br.com.caelum.vraptor.Path;
17   -import br.com.caelum.vraptor.Post;
18   -import br.com.caelum.vraptor.Put;
19   -import br.com.caelum.vraptor.Resource;
20   -import br.com.caelum.vraptor.Result;
21   -import br.com.caelum.vraptor.Validator;
22   -import br.com.caelum.vraptor.validator.ValidationMessage;
23   -import br.com.eselo.annotations.Restrito;
24   -import br.com.eselo.component.Mailer;
25   -import br.com.eselo.component.TemplateMailer;
26   -import br.com.eselo.component.UsuarioWeb;
27   -import br.com.eselo.dao.UsuarioDAO;
28   -import br.com.eselo.model.Usuario;
29   -
30   -@Resource
31   -public class UsuariosController {
32   -
33   - @SuppressWarnings("unused")
34   - private static final Logger LOGGER = LoggerFactory
35   - .getLogger(UsuariosController.class);
36   -
37   - private final UsuarioDAO dao;
38   - private final Result result;
39   - private final Validator validator;
40   - private final UsuarioWeb usuarioWeb;
41   - private final Mailer mailer;
42   - private final TemplateMailer templates;
43   - private final HttpServletRequest request;
44   -
45   - public UsuariosController(UsuarioDAO _dao, Result _result,
46   - Validator _validator, UsuarioWeb _usuarioWeb, Mailer _mailer,
47   - TemplateMailer _templates, HttpServletRequest _request) {
48   - dao = _dao;
49   - result = _result;
50   - validator = _validator;
51   - usuarioWeb = _usuarioWeb;
52   - mailer = _mailer;
53   - templates = _templates;
54   - request = _request;
55   - }
56   -
57   - @Get("/usuarios")
58   - @Restrito(descricao = "USUARIOS_LISTA")
59   - public List<Usuario> lista() {
60   - return dao.listAll();
61   - }
62   -
63   - @Get("/usuarios/lista")
64   - @Restrito(descricao = "USUARIOS_LISTA")
65   - public List<Usuario> lista(Usuario usuario) {
66   - result.include("usuario", usuario);
67   - return dao.listAll(usuario);
68   - }
69   -
70   - @Restrito(descricao = "USUARIOS_ADICIONAR")
71   - public void form() {
72   - result.include("grupoList", dao.getAllGrupos());
73   - }
74   -
75   - @Get("/usuarios/{id}")
76   - @Restrito(descricao = "USUARIOS_ATUALIZAR")
77   - public Usuario form(Long id) {
78   - Usuario usuario = dao.load(id);
79   - result.include("grupoList", dao.getAllGrupos());
80   - return usuario;
81   - }
82   -
83   - @Post("/usuarios")
84   - @Restrito(descricao = "USUARIOS_ADICIONAR")
85   - public void adicionar(Usuario usuario) {
86   - result.include("grupoList", dao.getAllGrupos());
87   - validate(usuario);
88   -
89   - dao.save(usuario);
90   -
91   - result.include("mensagem", "Usuário salvo com sucesso.");
92   - result.redirectTo(UsuariosController.class).lista();
93   - }
94   -
95   -
96   -
97   - @Put("/usuarios")
98   - @Restrito(descricao = "USUARIOS_ATUALIZAR")
99   - public void atualizar(Usuario usuario) {
100   - result.include("grupoList", dao.getAllGrupos());
101   - validate(usuario);
102   -
103   - Usuario usuarioCadastrado = dao.load(usuario.getId());
104   - usuarioCadastrado.setNome(usuario.getNome());
105   - usuarioCadastrado.setCpf(usuario.getCpf());
106   - usuarioCadastrado.setGrupo(usuario.getGrupo());
107   - usuarioCadastrado.setEmail(usuario.getEmail());
108   -
109   - if (usuario.getSenha() != null
110   - && usuario.getSenha() != usuarioCadastrado.getSenha()) {
111   - usuarioCadastrado.setHashedSenha(usuario.getSenha());
112   - }
113   -
114   - dao.saveOrUpdate(usuarioCadastrado);
115   -
116   - result.include("mensagem", "Usuário alterado com sucesso.");
117   - result.redirectTo(UsuariosController.class).lista();
118   - }
119   -
120   - @Path("/usuarios/delete/{id}")
121   - @Restrito(descricao = "USUARIOS_EXCLUIR")
122   - public void excluir(Long id) {
123   - dao.remove(id);
124   - result.include("mensagem", "Usuário excluído com sucesso.");
125   - result.redirectTo(UsuariosController.class).lista();
126   - }
127   -
128   - @Get("/login")
129   - public void loginForm() {
130   -
131   - }
132   -
133   - @Post("/login")
134   - public void login(Usuario usuario) {
135   - Usuario carregado = dao.getByCpfAndSenha(usuario);
136   - if (carregado == null) {
137   - validator.add(new ValidationMessage("CPF e/ou senha inválidos.",
138   - "usuario.cpf"));
139   - }
140   - validator.onErrorUsePageOf(UsuariosController.class).loginForm();
141   -
142   - Hibernate.initialize(carregado.getGrupo());
143   - usuarioWeb.login(carregado);
144   -
145   - result.redirectTo(PainelController.class).index();
146   - }
147   -
148   - @Path("/logout")
149   - public void logout() {
150   - usuarioWeb.logout();
151   - result.redirectTo(UsuariosController.class).loginForm();
152   - }
153   -
154   - @Path("/usuarios/renovar_senha/{hash}")
155   - @Get
156   - public void renovarSenhaForm(String hash) {
157   - result.include("hash", hash);
158   - }
159   -
160   - @Path("/usuarios/renovar_senha")
161   - @Post
162   - public void renovarSenha(Usuario usuario) {
163   - Usuario carregado = dao.getByHash(usuario.getChaveAlteracaoSenha());
164   - if (carregado == null) {
165   - validator.add(new ValidationMessage("Código não encontrado.",
166   - "usuario.senha"));
167   - }
168   -
169   - if (usuario.getSenha() == null || usuario.getConfirmacaoSenha() == null) {
170   - validator.add(new ValidationMessage("Preencha a senha e a confirmação.",
171   - "usuario.senha"));
172   - }
173   -
174   - if (!usuario.getSenha().equals(usuario.getConfirmacaoSenha())) {
175   - validator.add(new ValidationMessage("A senha nova e confirmação não coincidem.",
176   - "usuario.senha"));
177   - }
178   -
179   - carregado.setHashedSenha(usuario.getSenha());
180   - carregado.setChaveAlteracaoSenha(null);
181   - dao.saveOrUpdate(carregado);
182   -
183   - validator.onErrorUsePageOf(UsuariosController.class)
184   - .renovarSenhaForm(usuario.getChaveAlteracaoSenha());
185   -
186   - result.include("mensagem",
187   - "Senha alterada com sucesso.");
188   - result.redirectTo(UsuariosController.class).loginForm();
189   - }
190   -
191   - @Path("/usuarios/recuperar_senha")
192   - @Get
193   - public void recuperarSenhaForm() {
194   -
195   - }
196   -
197   - @Path("/usuarios/recuperar_senha")
198   - @Post
199   - public void recuperarSenha(Usuario usuario) throws EmailException {
200   - Usuario carregado = dao.getByCpf(usuario);
201   - if (carregado == null) {
202   - validator.add(new ValidationMessage("CPF não encontrado.",
203   - "usuario.cpf"));
204   - }
205   -
206   - validator.onErrorUsePageOf(UsuariosController.class)
207   - .recuperarSenhaForm();
208   -
209   - String hash = RandomStringUtils.random(15, 0, 0, true, true, null,
210   - new SecureRandom());
211   -
212   - carregado.setChaveAlteracaoSenha(hash);
213   - dao.saveOrUpdate(carregado);
214   -
215   - Email email = this.templates
216   - .template("esqueciMinhaSenha")
217   - .with("nomeUsuario", carregado.getNome())
218   - .with("cpfUsuario", carregado.getCpfFormatado())
219   - .with("urlAlteracao",
220   - "http://"
221   - + request.getHeader("Host")
222   - + request.getRequestURI().replace(
223   - "recuperar_senha", "renovar_senha")
224   - + "/" + hash)
225   - .to(carregado.getNome(), carregado.getEmail());
226   - mailer.send(email);
227   -
228   - result.include("mensagem",
229   - "Email de recuperação de senha enviado com sucesso.");
230   - result.redirectTo(UsuariosController.class).loginForm();
231   - }
232   -
233   - private void validate(Usuario usuario) {
234   - Long idUsuarioMesmoCpf = dao.getIdByCpf(usuario.getCpf(), usuario.getId());
235   -
236   - if (usuario.getNome() == null) {
237   - validator.add(new ValidationMessage("O nome é obrigatório.",
238   - "usuario.nome"));
239   - } else if (usuario.getCpf() == null) {
240   - validator.add(new ValidationMessage("O CPF é obrigatório.",
241   - "usuario.cpf"));
242   - } else if (usuario.getEmail() == null) {
243   - validator.add(new ValidationMessage("O email é obrigatório.",
244   - "usuario.email"));
245   - } else if (usuario.getGrupo().getId() == null) {
246   - validator.add(new ValidationMessage("O grupo é obrigatório.",
247   - "usuario.grupo.id"));
248   - } else if (usuario.getSenha() == null) {
249   - validator.add(new ValidationMessage("A senha é obrigatória.",
250   - "usuario.senha"));
251   - } else if (idUsuarioMesmoCpf != null) {
252   - validator.add(new ValidationMessage(
253   - "O usuário não pode ser igual a um já existente.",
254   - "usuario.cpf"));
255   - }
256   -
257   - validator.onErrorUsePageOf(UsuariosController.class).form();
258   - }
259   -
260   -}
  1 +package br.com.eselo.controller;
  2 +
  3 +import java.security.SecureRandom;
  4 +import java.util.List;
  5 +
  6 +import javax.servlet.http.HttpServletRequest;
  7 +
  8 +import org.apache.commons.lang3.RandomStringUtils;
  9 +import org.apache.commons.mail.Email;
  10 +import org.apache.commons.mail.EmailException;
  11 +import org.hibernate.Hibernate;
  12 +import org.slf4j.Logger;
  13 +import org.slf4j.LoggerFactory;
  14 +
  15 +import br.com.caelum.vraptor.Get;
  16 +import br.com.caelum.vraptor.Path;
  17 +import br.com.caelum.vraptor.Post;
  18 +import br.com.caelum.vraptor.Put;
  19 +import br.com.caelum.vraptor.Resource;
  20 +import br.com.caelum.vraptor.Result;
  21 +import br.com.caelum.vraptor.Validator;
  22 +import br.com.caelum.vraptor.validator.ValidationMessage;
  23 +import br.com.eselo.annotations.Restrito;
  24 +import br.com.eselo.component.Mailer;
  25 +import br.com.eselo.component.TemplateMailer;
  26 +import br.com.eselo.component.UsuarioWeb;
  27 +import br.com.eselo.dao.UsuarioDAO;
  28 +import br.com.eselo.model.Usuario;
  29 +
  30 +@Resource
  31 +public class UsuariosController {
  32 +
  33 + @SuppressWarnings("unused")
  34 + private static final Logger LOGGER = LoggerFactory
  35 + .getLogger(UsuariosController.class);
  36 +
  37 + private final UsuarioDAO dao;
  38 + private final Result result;
  39 + private final Validator validator;
  40 + private final UsuarioWeb usuarioWeb;
  41 + private final Mailer mailer;
  42 + private final TemplateMailer templates;
  43 + private final HttpServletRequest request;
  44 +
  45 + public UsuariosController(UsuarioDAO _dao, Result _result,
  46 + Validator _validator, UsuarioWeb _usuarioWeb, Mailer _mailer,
  47 + TemplateMailer _templates, HttpServletRequest _request) {
  48 + dao = _dao;
  49 + result = _result;
  50 + validator = _validator;
  51 + usuarioWeb = _usuarioWeb;
  52 + mailer = _mailer;
  53 + templates = _templates;
  54 + request = _request;
  55 + }
  56 +
  57 + @Get("/usuarios")
  58 + @Restrito(descricao = "USUARIOS_LISTA")
  59 + public List<Usuario> lista() {
  60 + return dao.listAll();
  61 + }
  62 +
  63 + @Get("/usuarios/lista")
  64 + @Restrito(descricao = "USUARIOS_LISTA")
  65 + public List<Usuario> lista(Usuario usuario) {
  66 + result.include("usuario", usuario);
  67 + return dao.listAll(usuario);
  68 + }
  69 +
  70 + @Restrito(descricao = "USUARIOS_ADICIONAR")
  71 + public void form() {
  72 + result.include("grupoList", dao.getAllGrupos());
  73 + }
  74 +
  75 + @Get("/usuarios/{id}")
  76 + @Restrito(descricao = "USUARIOS_ATUALIZAR")
  77 + public Usuario form(Long id) {
  78 + Usuario usuario = dao.load(id);
  79 + result.include("grupoList", dao.getAllGrupos());
  80 + return usuario;
  81 + }
  82 +
  83 + @Post("/usuarios")
  84 + @Restrito(descricao = "USUARIOS_ADICIONAR")
  85 + public void adicionar(Usuario usuario) {
  86 + result.include("grupoList", dao.getAllGrupos());
  87 + validate(usuario);
  88 +
  89 + dao.save(usuario);
  90 +
  91 + result.include("mensagem", "Usuário salvo com sucesso.");
  92 + result.redirectTo(UsuariosController.class).lista();
  93 + }
  94 +
  95 +
  96 +
  97 + @Put("/usuarios")
  98 + @Restrito(descricao = "USUARIOS_ATUALIZAR")
  99 + public void atualizar(Usuario usuario) {
  100 + result.include("grupoList", dao.getAllGrupos());
  101 + validate(usuario);
  102 +
  103 + Usuario usuarioCadastrado = dao.load(usuario.getId());
  104 + usuarioCadastrado.setNome(usuario.getNome());
  105 + usuarioCadastrado.setCpf(usuario.getCpf());
  106 + usuarioCadastrado.setGrupo(usuario.getGrupo());
  107 + usuarioCadastrado.setEmail(usuario.getEmail());
  108 +
  109 + if (usuario.getSenha() != null
  110 + && usuario.getSenha() != usuarioCadastrado.getSenha()) {
  111 + usuarioCadastrado.setHashedSenha(usuario.getSenha());
  112 + }
  113 +
  114 + dao.saveOrUpdate(usuarioCadastrado);
  115 +
  116 + result.include("mensagem", "Usuário alterado com sucesso.");
  117 + result.redirectTo(UsuariosController.class).lista();
  118 + }
  119 +
  120 + @Path("/usuarios/delete/{id}")
  121 + @Restrito(descricao = "USUARIOS_EXCLUIR")
  122 + public void excluir(Long id) {
  123 + dao.remove(id);
  124 + result.include("mensagem", "Usuário excluído com sucesso.");
  125 + result.redirectTo(UsuariosController.class).lista();
  126 + }
  127 +
  128 + @Get("/login")
  129 + public void loginForm() {
  130 +
  131 + }
  132 +
  133 + @Post("/login")
  134 + public void login(Usuario usuario) {
  135 + Usuario carregado = dao.getByCpfAndSenha(usuario);
  136 + if (carregado == null) {
  137 + validator.add(new ValidationMessage("CPF e/ou senha inválidos.",
  138 + "usuario.cpf"));
  139 + }
  140 + validator.onErrorUsePageOf(UsuariosController.class).loginForm();
  141 +
  142 + Hibernate.initialize(carregado.getGrupo());
  143 + usuarioWeb.login(carregado);
  144 +
  145 + result.redirectTo(PainelController.class).index();
  146 + }
  147 +
  148 + @Path("/logout")
  149 + public void logout() {
  150 + usuarioWeb.logout();
  151 + result.redirectTo(UsuariosController.class).loginForm();
  152 + }
  153 +
  154 + @Path("/usuarios/renovar_senha/{hash}")
  155 + @Get
  156 + public void renovarSenhaForm(String hash) {
  157 + result.include("hash", hash);
  158 + }
  159 +
  160 + @Path("/usuarios/renovar_senha")
  161 + @Post
  162 + public void renovarSenha(Usuario usuario) {
  163 + Usuario carregado = dao.getByHash(usuario.getChaveAlteracaoSenha());
  164 + if (carregado == null) {
  165 + validator.add(new ValidationMessage("Código não encontrado.",
  166 + "usuario.senha"));
  167 + }
  168 +
  169 + if (usuario.getSenha() == null || usuario.getConfirmacaoSenha() == null) {
  170 + validator.add(new ValidationMessage("Preencha a senha e a confirmação.",
  171 + "usuario.senha"));
  172 + }
  173 +
  174 + if (!usuario.getSenha().equals(usuario.getConfirmacaoSenha())) {
  175 + validator.add(new ValidationMessage("A senha nova e confirmação não coincidem.",
  176 + "usuario.senha"));
  177 + }
  178 +
  179 + carregado.setHashedSenha(usuario.getSenha());
  180 + carregado.setChaveAlteracaoSenha(null);
  181 + dao.saveOrUpdate(carregado);
  182 +
  183 + validator.onErrorUsePageOf(UsuariosController.class)
  184 + .renovarSenhaForm(usuario.getChaveAlteracaoSenha());
  185 +
  186 + result.include("mensagem",
  187 + "Senha alterada com sucesso.");
  188 + result.redirectTo(UsuariosController.class).loginForm();
  189 + }
  190 +
  191 + @Path("/usuarios/recuperar_senha")
  192 + @Get
  193 + public void recuperarSenhaForm() {
  194 +
  195 + }
  196 +
  197 + @Path("/usuarios/recuperar_senha")
  198 + @Post
  199 + public void recuperarSenha(Usuario usuario) throws EmailException {
  200 + Usuario carregado = dao.getByCpf(usuario);
  201 + if (carregado == null) {
  202 + validator.add(new ValidationMessage("CPF não encontrado.",
  203 + "usuario.cpf"));
  204 + }
  205 +
  206 + validator.onErrorUsePageOf(UsuariosController.class)
  207 + .recuperarSenhaForm();
  208 +
  209 + String hash = RandomStringUtils.random(15, 0, 0, true, true, null,
  210 + new SecureRandom());
  211 +
  212 + carregado.setChaveAlteracaoSenha(hash);
  213 + dao.saveOrUpdate(carregado);
  214 +
  215 + Email email = this.templates
  216 + .template("esqueciMinhaSenha")
  217 + .with("nomeUsuario", carregado.getNome())
  218 + .with("cpfUsuario", carregado.getCpfFormatado())
  219 + .with("urlAlteracao",
  220 + "http://"
  221 + + request.getHeader("Host")
  222 + + request.getRequestURI().replace(
  223 + "recuperar_senha", "renovar_senha")
  224 + + "/" + hash)
  225 + .to(carregado.getNome(), carregado.getEmail());
  226 + mailer.send(email);
  227 +
  228 + result.include("mensagem",
  229 + "Email de recuperação de senha enviado com sucesso.");
  230 + result.redirectTo(UsuariosController.class).loginForm();
  231 + }
  232 +
  233 + private void validate(Usuario usuario) {
  234 + Long idUsuarioMesmoCpf = dao.getIdByCpf(usuario.getCpf(), usuario.getId());
  235 +
  236 + if (usuario.getNome() == null) {
  237 + validator.add(new ValidationMessage("O nome é obrigatório.",
  238 + "usuario.nome"));
  239 + } else if (usuario.getCpf() == null) {
  240 + validator.add(new ValidationMessage("O CPF é obrigatório.",
  241 + "usuario.cpf"));
  242 + } else if (usuario.getEmail() == null) {
  243 + validator.add(new ValidationMessage("O email é obrigatório.",
  244 + "usuario.email"));
  245 + } else if (usuario.getGrupo().getId() == null) {
  246 + validator.add(new ValidationMessage("O grupo é obrigatório.",
  247 + "usuario.grupo.id"));
  248 + } else if (usuario.getSenha() == null) {
  249 + validator.add(new ValidationMessage("A senha é obrigatória.",
  250 + "usuario.senha"));
  251 + } else if (idUsuarioMesmoCpf != null) {
  252 + validator.add(new ValidationMessage(
  253 + "O usuário não pode ser igual a um já existente.",
  254 + "usuario.cpf"));
  255 + }
  256 +
  257 + validator.onErrorUsePageOf(UsuariosController.class).form();
  258 + }
  259 +
  260 +}
... ...