Commit ce8d6bcce43ad2130d5a0eed4dc69d236ddddff7

Authored by gibransodre
1 parent 53bc7d9a
Exists in master

Implementação da funcionalidade do webservice.

src/main/java/br/com/ases/business/impl/AvaliacaoBusinessImpl.java
@@ -629,7 +629,7 @@ public class AvaliacaoBusinessImpl implements AvaliacaoBusiness { @@ -629,7 +629,7 @@ public class AvaliacaoBusinessImpl implements AvaliacaoBusiness {
629 629
630 630
631 String content = WebChecker.from(HTML_VALIDATOR_URL.replace("#{url}", URLEncoder.encode(UrlConvertida.toExternalForm(), "UTF-8"))).withGetRequest().execute().getContent(); 631 String content = WebChecker.from(HTML_VALIDATOR_URL.replace("#{url}", URLEncoder.encode(UrlConvertida.toExternalForm(), "UTF-8"))).withGetRequest().execute().getContent();
632 - Gson g = new GsonBuilder().create(); 632 + Gson g = new GsonBuilder().create();
633 HtmlValidation a = g.fromJson(content, HtmlValidation.class); 633 HtmlValidation a = g.fromJson(content, HtmlValidation.class);
634 int[] errorsWarnings = a.getQtdWarningsErros(); 634 int[] errorsWarnings = a.getQtdWarningsErros();
635 errors = errorsWarnings[1]; 635 errors = errorsWarnings[1];
src/main/java/br/com/ases/controller/AvaliacaoController.java
@@ -29,9 +29,6 @@ import java.util.regex.Pattern; @@ -29,9 +29,6 @@ import java.util.regex.Pattern;
29 import javax.servlet.ServletContext; 29 import javax.servlet.ServletContext;
30 import javax.ws.rs.QueryParam; 30 import javax.ws.rs.QueryParam;
31 31
32 -import org.json.JSONObject;  
33 -import org.json.XML;  
34 -  
35 import net.sf.jasperreports.engine.JRException; 32 import net.sf.jasperreports.engine.JRException;
36 import br.com.ases.business.AvaliacaoBusiness; 33 import br.com.ases.business.AvaliacaoBusiness;
37 import br.com.ases.controller.EseloController.Nota; 34 import br.com.ases.controller.EseloController.Nota;
@@ -46,6 +43,14 @@ import br.com.ases.infra.WebChecker; @@ -46,6 +43,14 @@ import br.com.ases.infra.WebChecker;
46 import br.com.ases.model.utilities.DateUtil; 43 import br.com.ases.model.utilities.DateUtil;
47 import br.com.ases.model.utilities.ManagerReport; 44 import br.com.ases.model.utilities.ManagerReport;
48 import br.com.ases.model.utilities.Validate; 45 import br.com.ases.model.utilities.Validate;
  46 +import br.com.ases.ws.model.AvaliacaoAutomatica;
  47 +import br.com.ases.ws.model.CodigoFonteCriterio;
  48 +import br.com.ases.ws.model.CriterioWs;
  49 +import br.com.ases.ws.model.ErroWs;
  50 +import br.com.ases.ws.model.PaginaAvaliada;
  51 +import br.com.ases.ws.model.RecomendacaoAvaliacao;
  52 +import br.com.ases.ws.model.ResumoAvaliacaoWs;
  53 +import br.com.ases.ws.model.Secao;
49 import br.com.caelum.vraptor.Get; 54 import br.com.caelum.vraptor.Get;
50 import br.com.caelum.vraptor.Path; 55 import br.com.caelum.vraptor.Path;
51 import br.com.caelum.vraptor.Post; 56 import br.com.caelum.vraptor.Post;
@@ -55,12 +60,16 @@ import br.com.caelum.vraptor.Validator; @@ -55,12 +60,16 @@ import br.com.caelum.vraptor.Validator;
55 import br.com.caelum.vraptor.interceptor.download.FileDownload; 60 import br.com.caelum.vraptor.interceptor.download.FileDownload;
56 import br.com.caelum.vraptor.interceptor.multipart.UploadedFile; 61 import br.com.caelum.vraptor.interceptor.multipart.UploadedFile;
57 import br.com.caelum.vraptor.ioc.spring.VRaptorRequestHolder; 62 import br.com.caelum.vraptor.ioc.spring.VRaptorRequestHolder;
  63 +import br.com.caelum.vraptor.view.Results;
58 import br.com.checker.emag.Occurrence; 64 import br.com.checker.emag.Occurrence;
59 import br.com.checker.emag.OccurrenceClassification; 65 import br.com.checker.emag.OccurrenceClassification;
60 import br.com.checker.emag.SummarizedOccurrence; 66 import br.com.checker.emag.SummarizedOccurrence;
61 import br.com.checker.emag.core.Checker; 67 import br.com.checker.emag.core.Checker;
62 import br.com.checker.emag.core.ContentEvaluation; 68 import br.com.checker.emag.core.ContentEvaluation;
63 69
  70 +import com.google.gson.Gson;
  71 +import com.google.gson.GsonBuilder;
  72 +
64 73
65 @Resource 74 @Resource
66 public class AvaliacaoController { 75 public class AvaliacaoController {
@@ -86,11 +95,13 @@ public class AvaliacaoController { @@ -86,11 +95,13 @@ public class AvaliacaoController {
86 private ServletContext application; 95 private ServletContext application;
87 private DetalheAvaliacao detalheAvaliacao; 96 private DetalheAvaliacao detalheAvaliacao;
88 private UtilitiesProperties utilitiesProperties; 97 private UtilitiesProperties utilitiesProperties;
89 - private StringBuffer xml; 98 + //private StringBuffer xml;
90 private CriterioProperties criterioProperties; 99 private CriterioProperties criterioProperties;
  100 + private String chaveIdentificaAvaliacao;
  101 + private String novaChave;
  102 +
  103 + // private static int PRETTY_PRINT_INDENT_FACTOR = 4;
91 104
92 - private static int PRETTY_PRINT_INDENT_FACTOR = 4;  
93 -  
94 public AvaliacaoController(Result result, Validator validator, 105 public AvaliacaoController(Result result, Validator validator,
95 AvaliacaoBusiness avaliacaoBusiness, ServletContext application, 106 AvaliacaoBusiness avaliacaoBusiness, ServletContext application,
96 DetalheAvaliacao detalheAvaliacao) { 107 DetalheAvaliacao detalheAvaliacao) {
@@ -103,6 +114,9 @@ public class AvaliacaoController { @@ -103,6 +114,9 @@ public class AvaliacaoController {
103 this.initEseloProperties(application); 114 this.initEseloProperties(application);
104 this.criterioProperties = new CriterioProperties(application); 115 this.criterioProperties = new CriterioProperties(application);
105 this.utilitiesProperties = new UtilitiesProperties(application); 116 this.utilitiesProperties = new UtilitiesProperties(application);
  117 + this.chaveIdentificaAvaliacao =
  118 + DateUtil.dataHoraMinutoAtual().replace("/", "").replace(":", "").replace(" ", "");
  119 + result.include("chaveIdentificaAvaliacao", chaveIdentificaAvaliacao);
106 120
107 } 121 }
108 122
@@ -122,6 +136,7 @@ public class AvaliacaoController { @@ -122,6 +136,7 @@ public class AvaliacaoController {
122 } 136 }
123 } 137 }
124 138
  139 +
125 @Path("/avaliar-arquivo") 140 @Path("/avaliar-arquivo")
126 public void avaliarArquivo(UploadedFile file, boolean mark, boolean content, 141 public void avaliarArquivo(UploadedFile file, boolean mark, boolean content,
127 boolean presentation, boolean multimedia, boolean form, boolean behavior, int tiprel) 142 boolean presentation, boolean multimedia, boolean form, boolean behavior, int tiprel)
@@ -166,6 +181,8 @@ public class AvaliacaoController { @@ -166,6 +181,8 @@ public class AvaliacaoController {
166 181
167 result.include("contentLenght", String.valueOf(html.getBytes("UTF-8").length)); 182 result.include("contentLenght", String.valueOf(html.getBytes("UTF-8").length));
168 result.include("html", html); 183 result.include("html", html);
  184 + result.include("contentLenght", String.valueOf(html.getBytes("UTF-8").length));
  185 + result.include("html", html);
169 186
170 this.tituloSite = ""; 187 this.tituloSite = "";
171 188
@@ -173,6 +190,7 @@ public class AvaliacaoController { @@ -173,6 +190,7 @@ public class AvaliacaoController {
173 this.tituloSite = conteudo.retornarTituloSiteAvaliado(); 190 this.tituloSite = conteudo.retornarTituloSiteAvaliado();
174 191
175 result.include("titulosite", tituloSite); 192 result.include("titulosite", tituloSite);
  193 + result.include("titulosite", tituloSite);
176 Nota nota = null; 194 Nota nota = null;
177 195
178 if (!this.sem_nota.equalsIgnoreCase("sem_nota")) { 196 if (!this.sem_nota.equalsIgnoreCase("sem_nota")) {
@@ -190,11 +208,16 @@ public class AvaliacaoController { @@ -190,11 +208,16 @@ public class AvaliacaoController {
190 208
191 VRaptorRequestHolder.currentRequest().getServletContext() 209 VRaptorRequestHolder.currentRequest().getServletContext()
192 .setAttribute("webaxscore", webaxscore); 210 .setAttribute("webaxscore", webaxscore);
  211 +
  212 + novaChave = "webaxscore" + chaveIdentificaAvaliacao;
  213 + VRaptorRequestHolder.currentRequest().getServletContext()
  214 + .setAttribute(novaChave, webaxscore);
193 } 215 }
194 216
195 } 217 }
196 218
197 result.include("nota", nota); 219 result.include("nota", nota);
  220 + result.include("nota", nota);
198 this.sumarizarResultasNoResponse(checker.checkSumarized(), result); 221 this.sumarizarResultasNoResponse(checker.checkSumarized(), result);
199 this.detalheAvaliacao.inicializar(avaliacaoBusiness.retornarCriterios(checker.check())); 222 this.detalheAvaliacao.inicializar(avaliacaoBusiness.retornarCriterios(checker.check()));
200 223
@@ -202,24 +225,56 @@ public class AvaliacaoController { @@ -202,24 +225,56 @@ public class AvaliacaoController {
202 225
203 VRaptorRequestHolder.currentRequest().getServletContext() 226 VRaptorRequestHolder.currentRequest().getServletContext()
204 .setAttribute("resultadoAvaliacao", checker.checkSumarized()); 227 .setAttribute("resultadoAvaliacao", checker.checkSumarized());
  228 +
  229 + novaChave = "resultadoAvaliacao" + chaveIdentificaAvaliacao;
  230 + VRaptorRequestHolder.currentRequest().getServletContext()
  231 + .setAttribute(novaChave, checker.checkSumarized());
  232 +
205 VRaptorRequestHolder.currentRequest().getServletContext().setAttribute("urlAvaliada", ""); 233 VRaptorRequestHolder.currentRequest().getServletContext().setAttribute("urlAvaliada", "");
  234 +
  235 + novaChave = "urlAvaliada" + chaveIdentificaAvaliacao;
  236 + VRaptorRequestHolder.currentRequest().getServletContext().setAttribute(novaChave, "");
  237 +
206 VRaptorRequestHolder.currentRequest().getServletContext() 238 VRaptorRequestHolder.currentRequest().getServletContext()
207 .setAttribute("contentLenght", String.valueOf(html.getBytes("UTF-8").length)); 239 .setAttribute("contentLenght", String.valueOf(html.getBytes("UTF-8").length));
  240 +
  241 + novaChave = "contentLenght" + chaveIdentificaAvaliacao;
  242 + VRaptorRequestHolder.currentRequest().getServletContext()
  243 + .setAttribute(novaChave, String.valueOf(html.getBytes("UTF-8").length));
  244 +
  245 +
208 VRaptorRequestHolder.currentRequest().getServletContext() 246 VRaptorRequestHolder.currentRequest().getServletContext()
209 .setAttribute("notaAvaliacao", nota); 247 .setAttribute("notaAvaliacao", nota);
210 248
  249 + novaChave = "notaAvaliacao" + chaveIdentificaAvaliacao;
  250 + VRaptorRequestHolder.currentRequest().getServletContext().setAttribute(novaChave, nota);
  251 +
  252 +
  253 +
211 // Seta o valor do t�tulo no template 254 // Seta o valor do t�tulo no template
212 tituloPagina = "Resumo de avaliação por upload de arquivo - ASES"; 255 tituloPagina = "Resumo de avaliação por upload de arquivo - ASES";
213 VRaptorRequestHolder.currentRequest().getServletContext() 256 VRaptorRequestHolder.currentRequest().getServletContext()
214 .setAttribute("tituloPagina", tituloPagina); 257 .setAttribute("tituloPagina", tituloPagina);
215 258
  259 + novaChave = "tituloPagina" + chaveIdentificaAvaliacao;
  260 + VRaptorRequestHolder.currentRequest().getServletContext()
  261 + .setAttribute(novaChave, tituloPagina);
  262 +
216 VRaptorRequestHolder.currentRequest().getServletContext() 263 VRaptorRequestHolder.currentRequest().getServletContext()
217 .setAttribute("titulosite", tituloSite); 264 .setAttribute("titulosite", tituloSite);
218 265
  266 + novaChave = "titulosite" + chaveIdentificaAvaliacao;
  267 + VRaptorRequestHolder.currentRequest().getServletContext()
  268 + .setAttribute(novaChave, tituloSite);
  269 +
219 this.dataHoraAvaliacao = (String) DateUtil.dataHoraAtual(); 270 this.dataHoraAvaliacao = (String) DateUtil.dataHoraAtual();
220 VRaptorRequestHolder.currentRequest().getServletContext() 271 VRaptorRequestHolder.currentRequest().getServletContext()
221 .setAttribute("data", dataHoraAvaliacao); 272 .setAttribute("data", dataHoraAvaliacao);
222 273
  274 + novaChave = "data" + chaveIdentificaAvaliacao;
  275 + VRaptorRequestHolder.currentRequest().getServletContext()
  276 + .setAttribute(novaChave, dataHoraAvaliacao);
  277 +
223 result.of(this).avaliar(null, mark, content, presentation, multimedia, form, behavior, 278 result.of(this).avaliar(null, mark, content, presentation, multimedia, form, behavior,
224 tiprel); 279 tiprel);
225 280
@@ -230,6 +285,10 @@ public class AvaliacaoController { @@ -230,6 +285,10 @@ public class AvaliacaoController {
230 VRaptorRequestHolder.currentRequest().getServletContext() 285 VRaptorRequestHolder.currentRequest().getServletContext()
231 .setAttribute("ancoraCampoVazio", ancoraCampoVazio); 286 .setAttribute("ancoraCampoVazio", ancoraCampoVazio);
232 287
  288 + novaChave = "ancoraCampoVazio" + chaveIdentificaAvaliacao;
  289 + VRaptorRequestHolder.currentRequest().getServletContext()
  290 + .setAttribute(novaChave, ancoraCampoVazio);
  291 +
233 this.validator = validate.getMessage(); 292 this.validator = validate.getMessage();
234 this.validator.onErrorUsePageOf(IndexController.class).index(); 293 this.validator.onErrorUsePageOf(IndexController.class).index();
235 } 294 }
@@ -240,6 +299,10 @@ public class AvaliacaoController { @@ -240,6 +299,10 @@ public class AvaliacaoController {
240 VRaptorRequestHolder.currentRequest().getServletContext() 299 VRaptorRequestHolder.currentRequest().getServletContext()
241 .setAttribute("ancoraCampoVazio", ancoraCampoVazio); 300 .setAttribute("ancoraCampoVazio", ancoraCampoVazio);
242 301
  302 + novaChave = "ancoraCampoVazio" + chaveIdentificaAvaliacao;
  303 + VRaptorRequestHolder.currentRequest().getServletContext()
  304 + .setAttribute(novaChave, ancoraCampoVazio);
  305 +
243 this.validator = validate.getMessage(); 306 this.validator = validate.getMessage();
244 this.validator.onErrorUsePageOf(IndexController.class).index(); 307 this.validator.onErrorUsePageOf(IndexController.class).index();
245 } 308 }
@@ -291,10 +354,13 @@ public class AvaliacaoController { @@ -291,10 +354,13 @@ public class AvaliacaoController {
291 354
292 this.tituloSite = conteudo.retornarTituloSiteAvaliado(); 355 this.tituloSite = conteudo.retornarTituloSiteAvaliado();
293 356
  357 +
294 result.include("titulosite", tituloSite); 358 result.include("titulosite", tituloSite);
295 359
296 result.include("contentLenght", pagina.getContentLength()); 360 result.include("contentLenght", pagina.getContentLength());
  361 +
297 result.include("url", url); 362 result.include("url", url);
  363 +
298 result.include("html", pagina.getParsedContent()); 364 result.include("html", pagina.getParsedContent());
299 365
300 Nota nota = null; 366 Nota nota = null;
@@ -313,6 +379,10 @@ public class AvaliacaoController { @@ -313,6 +379,10 @@ public class AvaliacaoController {
313 379
314 VRaptorRequestHolder.currentRequest().getServletContext() 380 VRaptorRequestHolder.currentRequest().getServletContext()
315 .setAttribute("webaxscore", webaxscore); 381 .setAttribute("webaxscore", webaxscore);
  382 +
  383 + novaChave = "webaxscore" + chaveIdentificaAvaliacao;
  384 + VRaptorRequestHolder.currentRequest().getServletContext()
  385 + .setAttribute(novaChave, webaxscore);
316 } 386 }
317 387
318 } 388 }
@@ -323,29 +393,54 @@ public class AvaliacaoController { @@ -323,29 +393,54 @@ public class AvaliacaoController {
323 this.detalheAvaliacao.inicializar(avaliacaoBusiness.retornarCriterios(checker.check()), 393 this.detalheAvaliacao.inicializar(avaliacaoBusiness.retornarCriterios(checker.check()),
324 errorsWarningsCss, errorsWarningsHtml); 394 errorsWarningsCss, errorsWarningsHtml);
325 395
  396 +
326 VRaptorRequestHolder.currentRequest().getServletContext() 397 VRaptorRequestHolder.currentRequest().getServletContext()
327 .setAttribute("resultadoAvaliacao", checker.checkSumarized()); 398 .setAttribute("resultadoAvaliacao", checker.checkSumarized());
328 399
  400 + novaChave = "resultadoAvaliacao" + chaveIdentificaAvaliacao;
  401 + VRaptorRequestHolder.currentRequest().getServletContext()
  402 + .setAttribute(novaChave, checker.checkSumarized());
  403 +
329 VRaptorRequestHolder.currentRequest().getServletContext().setAttribute("urlAvaliada", url); 404 VRaptorRequestHolder.currentRequest().getServletContext().setAttribute("urlAvaliada", url);
330 405
  406 + novaChave = "urlAvaliada" + chaveIdentificaAvaliacao;
  407 + VRaptorRequestHolder.currentRequest().getServletContext().setAttribute(novaChave, url);
  408 +
331 VRaptorRequestHolder.currentRequest().getServletContext() 409 VRaptorRequestHolder.currentRequest().getServletContext()
332 .setAttribute("contentLenght", pagina.getContentLength()); 410 .setAttribute("contentLenght", pagina.getContentLength());
333 411
  412 + novaChave = "contentLenght" + chaveIdentificaAvaliacao;
  413 + VRaptorRequestHolder.currentRequest().getServletContext()
  414 + .setAttribute(novaChave, pagina.getContentLength());
  415 +
334 VRaptorRequestHolder.currentRequest().getServletContext().setAttribute("notaAvaliacao", nota); 416 VRaptorRequestHolder.currentRequest().getServletContext().setAttribute("notaAvaliacao", nota);
  417 + novaChave = "notaAvaliacao" + chaveIdentificaAvaliacao;
  418 + VRaptorRequestHolder.currentRequest().getServletContext().setAttribute(novaChave, nota);
335 419
336 // Seta o valor do t�tulo no template 420 // Seta o valor do t�tulo no template
337 tituloPagina = "Resumo de avaliação por URI - ASES"; 421 tituloPagina = "Resumo de avaliação por URI - ASES";
338 VRaptorRequestHolder.currentRequest().getServletContext() 422 VRaptorRequestHolder.currentRequest().getServletContext()
339 .setAttribute("tituloPagina", tituloPagina); 423 .setAttribute("tituloPagina", tituloPagina);
340 424
  425 + novaChave = "tituloPagina" + chaveIdentificaAvaliacao;
  426 + VRaptorRequestHolder.currentRequest().getServletContext()
  427 + .setAttribute(novaChave, tituloPagina);
  428 +
341 VRaptorRequestHolder.currentRequest().getServletContext() 429 VRaptorRequestHolder.currentRequest().getServletContext()
342 .setAttribute("titulosite", tituloSite); 430 .setAttribute("titulosite", tituloSite);
343 431
  432 + novaChave = "titulosite" + chaveIdentificaAvaliacao;
  433 + VRaptorRequestHolder.currentRequest().getServletContext().setAttribute(novaChave, tituloSite);
  434 +
344 this.dataHoraAvaliacao = (String) DateUtil.dataHoraAtual(); 435 this.dataHoraAvaliacao = (String) DateUtil.dataHoraAtual();
345 436
346 VRaptorRequestHolder.currentRequest().getServletContext() 437 VRaptorRequestHolder.currentRequest().getServletContext()
347 .setAttribute("data", dataHoraAvaliacao); 438 .setAttribute("data", dataHoraAvaliacao);
348 439
  440 + novaChave = "data" + chaveIdentificaAvaliacao;
  441 + VRaptorRequestHolder.currentRequest().getServletContext()
  442 + .setAttribute(novaChave, dataHoraAvaliacao);
  443 +
349 avisosFerramentasHtmlCssW3c = new ArrayList<String>(); 444 avisosFerramentasHtmlCssW3c = new ArrayList<String>();
350 445
351 validarFerramenta_cssnoAr(errorsWarningsCss); 446 validarFerramenta_cssnoAr(errorsWarningsCss);
@@ -354,12 +449,20 @@ public class AvaliacaoController { @@ -354,12 +449,20 @@ public class AvaliacaoController {
354 VRaptorRequestHolder.currentRequest().getServletContext() 449 VRaptorRequestHolder.currentRequest().getServletContext()
355 .setAttribute("avisosFerramentasHtmlCssW3c", avisosFerramentasHtmlCssW3c); 450 .setAttribute("avisosFerramentasHtmlCssW3c", avisosFerramentasHtmlCssW3c);
356 451
  452 + novaChave = "avisosFerramentasHtmlCssW3c" + chaveIdentificaAvaliacao;
  453 + VRaptorRequestHolder.currentRequest().getServletContext()
  454 + .setAttribute(novaChave, avisosFerramentasHtmlCssW3c);
  455 +
357 } else { 456 } else {
358 // Atribui �ncora para as mensagens de erros dos campos vazios 457 // Atribui �ncora para as mensagens de erros dos campos vazios
359 ancoraCampoVazio = "url"; 458 ancoraCampoVazio = "url";
360 VRaptorRequestHolder.currentRequest().getServletContext() 459 VRaptorRequestHolder.currentRequest().getServletContext()
361 .setAttribute("ancoraCampoVazio", ancoraCampoVazio); 460 .setAttribute("ancoraCampoVazio", ancoraCampoVazio);
362 461
  462 + novaChave = "ancoraCampoVazio" + chaveIdentificaAvaliacao;
  463 + VRaptorRequestHolder.currentRequest().getServletContext()
  464 + .setAttribute(novaChave, ancoraCampoVazio);
  465 +
363 this.validator = validate.getMessage(); 466 this.validator = validate.getMessage();
364 this.validator.onErrorUsePageOf(IndexController.class).index(); 467 this.validator.onErrorUsePageOf(IndexController.class).index();
365 } 468 }
@@ -385,17 +488,20 @@ public class AvaliacaoController { @@ -385,17 +488,20 @@ public class AvaliacaoController {
385 488
386 @Get("/relatorioavaliacao") 489 @Get("/relatorioavaliacao")
387 @Post("/relatorioavaliacao") 490 @Post("/relatorioavaliacao")
388 - public FileDownload relatorioAvaliacao(int tiporel) { 491 + public FileDownload relatorioAvaliacao(int tiporel, String chaveAvaliacao) {
389 492
  493 + novaChave = "resultadoAvaliacao" + chaveAvaliacao;
390 List<SummarizedOccurrence> checkerList = 494 List<SummarizedOccurrence> checkerList =
391 (List<SummarizedOccurrence>) VRaptorRequestHolder.currentRequest().getServletContext() 495 (List<SummarizedOccurrence>) VRaptorRequestHolder.currentRequest().getServletContext()
392 - .getAttribute("resultadoAvaliacao"); 496 + .getAttribute(novaChave);
  497 +
  498 + novaChave = "urlAvaliada" + chaveAvaliacao;
393 String urlAvaliada = 499 String urlAvaliada =
394 - (String) VRaptorRequestHolder.currentRequest().getServletContext()  
395 - .getAttribute("urlAvaliada"); 500 + (String) VRaptorRequestHolder.currentRequest().getServletContext().getAttribute(novaChave);
  501 +
  502 + novaChave = "contentLenght" + chaveAvaliacao;
396 String contentLenght = 503 String contentLenght =
397 - (String) VRaptorRequestHolder.currentRequest().getServletContext()  
398 - .getAttribute("contentLenght"); 504 + (String) VRaptorRequestHolder.currentRequest().getServletContext().getAttribute(novaChave);
399 this.sumarizarResultasNoResponse(checkerList, result); 505 this.sumarizarResultasNoResponse(checkerList, result);
400 506
401 // ================================================ GERAR RELAT�RIO 507 // ================================================ GERAR RELAT�RIO
@@ -410,9 +516,9 @@ public class AvaliacaoController { @@ -410,9 +516,9 @@ public class AvaliacaoController {
410 Nota nota = null; 516 Nota nota = null;
411 517
412 if (!this.sem_nota.equalsIgnoreCase("sem_nota")) { 518 if (!this.sem_nota.equalsIgnoreCase("sem_nota")) {
  519 + novaChave = "notaAvaliacao" + chaveAvaliacao;
413 nota = 520 nota =
414 - (Nota) VRaptorRequestHolder.currentRequest().getServletContext()  
415 - .getAttribute("notaAvaliacao"); 521 + (Nota) VRaptorRequestHolder.currentRequest().getServletContext().getAttribute(novaChave);
416 522
417 map.put("pPercentualAses", nota.getValor()); 523 map.put("pPercentualAses", nota.getValor());
418 } else { 524 } else {
@@ -426,16 +532,21 @@ public class AvaliacaoController { @@ -426,16 +532,21 @@ public class AvaliacaoController {
426 Matcher mm = pp.matcher(urlAvaliada.toLowerCase()); 532 Matcher mm = pp.matcher(urlAvaliada.toLowerCase());
427 533
428 if (mm.find()) 534 if (mm.find())
429 - map.put("pTitulo",  
430 - VRaptorRequestHolder.currentRequest().getServletContext().getAttribute("titulosite")); 535 + novaChave = "titulosite" + chaveAvaliacao;
  536 + map.put("pTitulo",
  537 + VRaptorRequestHolder.currentRequest().getServletContext().getAttribute(novaChave));
431 538
432 } else 539 } else
433 - map.put("pTitulo",  
434 - VRaptorRequestHolder.currentRequest().getServletContext().getAttribute("titulosite")); 540 + novaChave = "titulosite" + chaveAvaliacao;
  541 + map.put("pTitulo",
  542 + VRaptorRequestHolder.currentRequest().getServletContext().getAttribute(novaChave));
  543 +
  544 +
435 545
436 map.put("pTamanho", contentLenght + " Bytes"); 546 map.put("pTamanho", contentLenght + " Bytes");
  547 + novaChave = "data" + chaveAvaliacao;
437 dataHoraAvaliacao = 548 dataHoraAvaliacao =
438 - (String) VRaptorRequestHolder.currentRequest().getServletContext().getAttribute("data"); 549 + (String) VRaptorRequestHolder.currentRequest().getServletContext().getAttribute(novaChave);
439 map.put("pDataHoraAvaliacao", dataHoraAvaliacao); 550 map.put("pDataHoraAvaliacao", dataHoraAvaliacao);
440 551
441 // Obtem Resumo da Avaliação 552 // Obtem Resumo da Avaliação
@@ -548,31 +659,63 @@ public class AvaliacaoController { @@ -548,31 +659,63 @@ public class AvaliacaoController {
548 659
549 VRaptorRequestHolder.currentRequest().getServletContext() 660 VRaptorRequestHolder.currentRequest().getServletContext()
550 .setAttribute("resultadoAvaliacao", checker.checkSumarized()); 661 .setAttribute("resultadoAvaliacao", checker.checkSumarized());
  662 +
  663 + novaChave = "resultadoAvaliacao" + chaveIdentificaAvaliacao;
  664 + VRaptorRequestHolder.currentRequest().getServletContext()
  665 + .setAttribute(novaChave, checker.checkSumarized());
  666 +
551 VRaptorRequestHolder.currentRequest().getServletContext().setAttribute("urlAvaliada", ""); 667 VRaptorRequestHolder.currentRequest().getServletContext().setAttribute("urlAvaliada", "");
  668 +
  669 + novaChave = "urlAvaliada" + chaveIdentificaAvaliacao;
  670 + VRaptorRequestHolder.currentRequest().getServletContext().setAttribute(novaChave, "");
  671 +
552 VRaptorRequestHolder.currentRequest().getServletContext() 672 VRaptorRequestHolder.currentRequest().getServletContext()
553 .setAttribute("contentLenght", String.valueOf(html.getBytes("UTF-8").length)); 673 .setAttribute("contentLenght", String.valueOf(html.getBytes("UTF-8").length));
554 - VRaptorRequestHolder.currentRequest().getServletContext().setAttribute("notaAvaliacao", nota); 674 +
  675 + novaChave = "notaAvaliacao" + chaveIdentificaAvaliacao;
  676 + VRaptorRequestHolder.currentRequest().getServletContext()
  677 + .setAttribute("contentLenght", String.valueOf(html.getBytes("UTF-8").length));
  678 + VRaptorRequestHolder.currentRequest().getServletContext().setAttribute(novaChave, nota);
555 679
556 // Seta o valor do t�tulo no template 680 // Seta o valor do t�tulo no template
557 tituloPagina = "Resumo de avaliação por código fonte - ASES"; 681 tituloPagina = "Resumo de avaliação por código fonte - ASES";
558 VRaptorRequestHolder.currentRequest().getServletContext() 682 VRaptorRequestHolder.currentRequest().getServletContext()
559 .setAttribute("tituloPagina", tituloPagina); 683 .setAttribute("tituloPagina", tituloPagina);
  684 +
  685 + novaChave = "tituloPagina" + chaveIdentificaAvaliacao;
  686 + VRaptorRequestHolder.currentRequest().getServletContext()
  687 + .setAttribute(novaChave, tituloPagina);
  688 +
560 result.of(this).avaliar(null, mark, content, presentation, multimedia, form, behavior, 689 result.of(this).avaliar(null, mark, content, presentation, multimedia, form, behavior,
561 tiporel); 690 tiporel);
562 691
563 VRaptorRequestHolder.currentRequest().getServletContext() 692 VRaptorRequestHolder.currentRequest().getServletContext()
564 .setAttribute("titulosite", tituloSite); 693 .setAttribute("titulosite", tituloSite);
565 694
  695 + novaChave = "titulosite" + chaveIdentificaAvaliacao;
  696 + VRaptorRequestHolder.currentRequest().getServletContext().setAttribute(novaChave, tituloSite);
  697 +
566 this.dataHoraAvaliacao = (String) DateUtil.dataHoraAtual(); 698 this.dataHoraAvaliacao = (String) DateUtil.dataHoraAtual();
  699 +
  700 +
567 VRaptorRequestHolder.currentRequest().getServletContext() 701 VRaptorRequestHolder.currentRequest().getServletContext()
568 .setAttribute("data", dataHoraAvaliacao); 702 .setAttribute("data", dataHoraAvaliacao);
569 703
  704 + novaChave = "data" + chaveIdentificaAvaliacao;
  705 + VRaptorRequestHolder.currentRequest().getServletContext()
  706 + .setAttribute(novaChave, dataHoraAvaliacao);
  707 +
570 } else { 708 } else {
571 // Atribui �ncora para as mensagens de erros dos campos vazios 709 // Atribui �ncora para as mensagens de erros dos campos vazios
572 ancoraCampoVazio = "input"; 710 ancoraCampoVazio = "input";
  711 +
573 VRaptorRequestHolder.currentRequest().getServletContext() 712 VRaptorRequestHolder.currentRequest().getServletContext()
574 .setAttribute("ancoraCampoVazio", ancoraCampoVazio); 713 .setAttribute("ancoraCampoVazio", ancoraCampoVazio);
575 714
  715 + novaChave = "ancoraCampoVazio" + chaveIdentificaAvaliacao;
  716 + VRaptorRequestHolder.currentRequest().getServletContext()
  717 + .setAttribute(novaChave, ancoraCampoVazio);
  718 +
576 this.validator = validate.getMessage(); 719 this.validator = validate.getMessage();
577 this.validator.onErrorUsePageOf(IndexController.class).index(); 720 this.validator.onErrorUsePageOf(IndexController.class).index();
578 } 721 }
@@ -659,12 +802,15 @@ public class AvaliacaoController { @@ -659,12 +802,15 @@ public class AvaliacaoController {
659 result.include("detalhe", this.detalheAvaliacao.get(rn, type)); 802 result.include("detalhe", this.detalheAvaliacao.get(rn, type));
660 } 803 }
661 804
662 - @Path("/detalhes-avaliacao/{rn}/{type}")  
663 - public void detalhesAvaliacao(OccurrenceKey rn, boolean type) { 805 + @Path("/detalhes-avaliacao/{rn}/{type}/{chaveAvaliacao}")
  806 + public void detalhesAvaliacao(OccurrenceKey rn, boolean type, String chaveAvaliacao) {
664 String url = ""; 807 String url = "";
665 tituloPagina = "Detalhes da avalição - ASES"; 808 tituloPagina = "Detalhes da avalição - ASES";
666 - VRaptorRequestHolder.currentRequest().getServletContext()  
667 - .setAttribute("tituloPagina", tituloPagina); 809 +
  810 + result.include("chaveIdentificaAvaliacao", chaveAvaliacao);
  811 +
  812 + novaChave = chaveIdentificaAvaliacao + "tituloPagina";
  813 + VRaptorRequestHolder.currentRequest().getServletContext().setAttribute(novaChave, tituloPagina);
668 814
669 List<Occurrence> listOcorrencias = this.detalheAvaliacao.get(rn, type).getOcorrencias(); 815 List<Occurrence> listOcorrencias = this.detalheAvaliacao.get(rn, type).getOcorrencias();
670 816
@@ -688,9 +834,10 @@ public class AvaliacaoController { @@ -688,9 +834,10 @@ public class AvaliacaoController {
688 result.include("qtdOcorrenciasHtml", this.detalheAvaliacao.getWarningsHtml()); 834 result.include("qtdOcorrenciasHtml", this.detalheAvaliacao.getWarningsHtml());
689 } 835 }
690 836
  837 + novaChave = "resultadoAvaliacao" + chaveAvaliacao;
691 List<SummarizedOccurrence> ob = 838 List<SummarizedOccurrence> ob =
692 (List<SummarizedOccurrence>) VRaptorRequestHolder.currentRequest().getServletContext() 839 (List<SummarizedOccurrence>) VRaptorRequestHolder.currentRequest().getServletContext()
693 - .getAttribute("resultadoAvaliacao"); 840 + .getAttribute(novaChave);
694 String recomendacao = ""; 841 String recomendacao = "";
695 842
696 843
@@ -704,8 +851,9 @@ public class AvaliacaoController { @@ -704,8 +851,9 @@ public class AvaliacaoController {
704 result.include("aReq", this.utilitiesProperties.get("notExibCrit")); 851 result.include("aReq", this.utilitiesProperties.get("notExibCrit"));
705 result.include("aReqIsCss", this.utilitiesProperties.get("reqCss")); 852 result.include("aReqIsCss", this.utilitiesProperties.get("reqCss"));
706 result.include("aReqIsW3c", this.utilitiesProperties.get("notExibCritW3c")); 853 result.include("aReqIsW3c", this.utilitiesProperties.get("notExibCritW3c"));
  854 + novaChave = "urlAvaliada" + chaveAvaliacao;
707 url = 855 url =
708 - VRaptorRequestHolder.currentRequest().getServletContext().getAttribute("urlAvaliada") 856 + VRaptorRequestHolder.currentRequest().getServletContext().getAttribute(novaChave)
709 .toString().replaceAll("(https://)|(http://)", ""); 857 .toString().replaceAll("(https://)|(http://)", "");
710 result.include("url", url); 858 result.include("url", url);
711 859
@@ -725,7 +873,8 @@ public class AvaliacaoController { @@ -725,7 +873,8 @@ public class AvaliacaoController {
725 } 873 }
726 874
727 @Post("/exportar-detalhes-avaliacao") 875 @Post("/exportar-detalhes-avaliacao")
728 - public FileDownload exportarDetalhesAvaliacao(OccurrenceKey rn, int tiporel, boolean isError) { 876 + public FileDownload exportarDetalhesAvaliacao(OccurrenceKey rn, int tiporel, boolean isError,
  877 + String chaveAvaliacao) {
729 878
730 /* Cria um Map de parametros */ 879 /* Cria um Map de parametros */
731 HashMap<String, Object> map = new HashMap<String, Object>(); 880 HashMap<String, Object> map = new HashMap<String, Object>();
@@ -763,9 +912,10 @@ public class AvaliacaoController { @@ -763,9 +912,10 @@ public class AvaliacaoController {
763 } 912 }
764 map.put("codigoFonte", codigoFonte); 913 map.put("codigoFonte", codigoFonte);
765 914
  915 + novaChave = "resultadoAvaliacao" + chaveAvaliacao;
766 List<SummarizedOccurrence> ob = 916 List<SummarizedOccurrence> ob =
767 (List<SummarizedOccurrence>) VRaptorRequestHolder.currentRequest().getServletContext() 917 (List<SummarizedOccurrence>) VRaptorRequestHolder.currentRequest().getServletContext()
768 - .getAttribute("resultadoAvaliacao"); 918 + .getAttribute(novaChave);
769 String recomendacao = ""; 919 String recomendacao = "";
770 920
771 for (SummarizedOccurrence occurrence : ob) { 921 for (SummarizedOccurrence occurrence : ob) {
@@ -811,216 +961,323 @@ public class AvaliacaoController { @@ -811,216 +961,323 @@ public class AvaliacaoController {
811 .setAttribute("mensagem_avaliacao", mensagem_avaliacao); 961 .setAttribute("mensagem_avaliacao", mensagem_avaliacao);
812 } 962 }
813 963
  964 +
  965 +
814 @Get("/servico-avaliacao-acessibilidade") 966 @Get("/servico-avaliacao-acessibilidade")
815 @Post("/servico-avaliacao-acessibilidade") 967 @Post("/servico-avaliacao-acessibilidade")
816 - public void servicoAvaliacaoAcessibilidade(@QueryParam("url") String url, String tipoSaida) { 968 + public void servicoAvaliacaoAcessibilidade(@QueryParam("url") String url, String tipoSaida,
  969 + String codigoHash) {
817 970
818 - //tipoSaida deve ser "json" ou "xml";  
819 - try { 971 + AvaliacaoAutomatica avaliacaoAutomatica = new AvaliacaoAutomatica();
  972 + ErroWs erroWs = new ErroWs();
  973 + this.dataHoraAvaliacao = (String) DateUtil.dataHoraAtual();
820 974
821 - xml = new StringBuffer();  
822 - 975 + WebChecker.PostParams postParams =
  976 + WebChecker.from(this.eseloProperties.getUrl("urlAutenticacaoServico")).withPostRequest();
  977 + postParams.addParam("codigoHash", codigoHash);
823 978
824 - Validate validate = new Validate(this.validator);  
825 -  
826 - if (validate.url(url)) { 979 + Gson g = new GsonBuilder().create();
827 980
  981 + Boolean usuarioAutorizado = g.fromJson(postParams.execute().getContent(), Boolean.class);
  982 +
  983 + // UsuarioServicoWeb usuario = g.fromJson(postParams.execute().getContent(),
  984 + // UsuarioServicoWeb.class);
  985 + // g.fromJson(content, UsuarioServicoWeb.class);
828 986
829 - if (url.startsWith("www")) {  
830 - url = "http://" + url;  
831 - } 987 + //xml = new StringBuffer();
832 988
833 - WebChecker pagina = WebChecker.from(url).withGetRequest().execute(); 989 + if (usuarioAutorizado) {
  990 + // tipoSaida deve ser "json" ou "xml";
  991 + try {
834 992
835 - int[] errorsWarningsCss = avaliacaoBusiness.getErrorCount(true, url);  
836 - int[] errorsWarningsHtml = avaliacaoBusiness.getErrorCount(false, url); 993 + Validate validate = new Validate(this.validator);
837 994
838 - Checker checker = from(pagina.getContent(), url); 995 + if (validate.url(url)) {
839 996
840 - checker.with(marking());  
841 - checker.with(content());  
842 - checker.with(presentation());  
843 - checker.with(multimedia());  
844 - checker.with(form());  
845 - checker.with(behavior()); 997 + if (url.startsWith("www")) {
  998 + url = "http://" + url;
  999 + }
846 1000
847 - Pattern pp = Pattern.compile("(http://www.)?([a-z]*)(.)?");  
848 - Matcher mm = pp.matcher(url.toLowerCase().replace("https", "http")); 1001 + WebChecker pagina = WebChecker.from(url).withGetRequest().execute();
849 1002
850 - if (mm.find()) {  
851 - this.tituloSite = "";  
852 - } 1003 + int[] errorsWarningsCss = avaliacaoBusiness.getErrorCount(true, url);
  1004 + int[] errorsWarningsHtml = avaliacaoBusiness.getErrorCount(false, url);
853 1005
854 - ContentEvaluation conteudo = new ContentEvaluation(checker.getDocument()); 1006 + Checker checker = from(pagina.getContent(), url);
855 1007
856 - this.tituloSite = conteudo.retornarTituloSiteAvaliado(); 1008 + checker.with(marking());
  1009 + checker.with(content());
  1010 + checker.with(presentation());
  1011 + checker.with(multimedia());
  1012 + checker.with(form());
  1013 + checker.with(behavior());
857 1014
858 - Nota nota = null; 1015 + Pattern pp = Pattern.compile("(http://www.)?([a-z]*)(.)?");
  1016 + Matcher mm = pp.matcher(url.toLowerCase().replace("https", "http"));
859 1017
860 - List<Entry<OccurrenceKey, List<Occurrence>>> mapaListaOcorrencias =  
861 - avaliacaoBusiness.retornarCriteriosTeste(checker.check()); 1018 + if (mm.find()) {
  1019 + this.tituloSite = "";
  1020 + }
862 1021
863 - nota = avaliacaoBusiness.obterNotaEselo(checker.getDocument(), url, mapaListaOcorrencias); 1022 + ContentEvaluation conteudo = new ContentEvaluation(checker.getDocument());
864 1023
865 - this.sumarizarResultasNoResponse(checker.checkSumarized(), result); 1024 + this.tituloSite = conteudo.retornarTituloSiteAvaliado();
866 1025
867 - this.detalheAvaliacao.inicializar(avaliacaoBusiness.retornarCriterios(checker.check()),  
868 - errorsWarningsCss, errorsWarningsHtml); 1026 + Nota nota = null;
869 1027
  1028 + List<Entry<OccurrenceKey, List<Occurrence>>> mapaListaOcorrencias =
  1029 + avaliacaoBusiness.retornarCriteriosTeste(checker.check());
870 1030
871 - this.dataHoraAvaliacao = (String) DateUtil.dataHoraAtual();  
872 - List<SummarizedOccurrence> checkSumarized = checker.checkSumarized(); 1031 + nota = avaliacaoBusiness.obterNotaEselo(checker.getDocument(), url, mapaListaOcorrencias);
  1032 +
  1033 + this.sumarizarResultasNoResponse(checker.checkSumarized(), result);
  1034 +
  1035 + this.detalheAvaliacao.inicializar(avaliacaoBusiness.retornarCriterios(checker.check()),
  1036 + errorsWarningsCss, errorsWarningsHtml);
  1037 +
  1038 +
  1039 +
  1040 + List<SummarizedOccurrence> checkSumarized = checker.checkSumarized();
  1041 +
  1042 + avisosFerramentasHtmlCssW3c = new ArrayList<String>();
  1043 + List<ResumoAvaliacao> resumoErrosAvisos = obterResumoAvaliacao();
  1044 +
  1045 + // pegar os dados e montar o xml
  1046 + // List<Occurrence> listOcorrencias;
  1047 + // Occurrence detalhe;
  1048 + OccurrenceKey rn = null;
  1049 + boolean type = false;
  1050 + // boolean criterioAdicionar = false;
  1051 + // String criterioAdicionado = "";
  1052 + // String idCriterio = null;
  1053 + int totalErros = 0;
  1054 + int totalAvisos = 0;
  1055 +
  1056 + /*xml.append("<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n");
  1057 + xml.append("<avaliacao-automatica>\n");
  1058 + xml.append("<pagina-avaliada>\n");
  1059 + xml.append("<titulo>" + this.tituloSite + "</titulo>\n");
  1060 + xml.append("<tamanho>" + pagina.getContentLength() + "</tamanho>\n");
  1061 + xml.append("<data-hora>" + this.dataHoraAvaliacao + "</data-hora>\n");
  1062 + xml.append("</pagina-avaliada>\n");
  1063 + xml.append("<resumo-avaliacao>\n");
  1064 + xml.append("<nota-avaliacao>" + nota.getValor() + "</nota-avaliacao>\n");*/
  1065 +
  1066 +
  1067 +
  1068 +
  1069 +
  1070 + PaginaAvaliada paginaAvaliada = new PaginaAvaliada();
  1071 +
  1072 + paginaAvaliada.setPagina(url);
  1073 + paginaAvaliada.setTitulo(this.tituloSite);
  1074 + paginaAvaliada.setTamanho(pagina.getContentLength());
  1075 + paginaAvaliada.setDataHora(this.dataHoraAvaliacao);
  1076 +
  1077 + avaliacaoAutomatica.setPaginaAvaliada(paginaAvaliada);
  1078 +
  1079 + ResumoAvaliacaoWs resumoAvaliacaoWs = new ResumoAvaliacaoWs();
  1080 +
  1081 + resumoAvaliacaoWs.setNotaAvaliacao(nota.getValor());
  1082 +
  1083 +
  1084 + List<Secao> lsSecao = new ArrayList<Secao>();
  1085 + Secao secao;
  1086 +
  1087 + for (ResumoAvaliacao resumoAvaliacao : resumoErrosAvisos) {
  1088 +
  1089 + secao = new Secao();
873 1090
874 - avisosFerramentasHtmlCssW3c = new ArrayList<String>();  
875 - List<ResumoAvaliacao> resumoErrosAvisos = obterResumoAvaliacao();  
876 -  
877 - // pegar os dados e montar o xml  
878 - // List<Occurrence> listOcorrencias;  
879 - // Occurrence detalhe;  
880 - OccurrenceKey rn = null;  
881 - boolean type = false;  
882 - // boolean criterioAdicionar = false;  
883 - // String criterioAdicionado = "";  
884 - // String idCriterio = null;  
885 - int totalErros = 0;  
886 - int totalAvisos = 0;  
887 -  
888 - xml.append("<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n");  
889 - xml.append("<avaliacao-automatica>\n");  
890 - xml.append("<pagina-avaliada>\n");  
891 - xml.append("<titulo>" + this.tituloSite + "</titulo>\n");  
892 - xml.append("<tamanho>" + pagina.getContentLength() + "</tamanho>\n");  
893 - xml.append("<data-hora>" + this.dataHoraAvaliacao + "</data-hora>\n");  
894 - xml.append("</pagina-avaliada>\n");  
895 - xml.append("<resumo-avaliacao>\n");  
896 - xml.append("<nota-avaliacao>" + nota.getValor() + "</nota-avaliacao>\n");  
897 -  
898 - for (ResumoAvaliacao resumoAvaliacao : resumoErrosAvisos) {  
899 -  
900 -  
901 - xml.append("<secao>");  
902 - xml.append("<nome>" + resumoAvaliacao.getTipo().getDescription() + "</nome>\n");  
903 - xml.append("<quantidade-erro>" + resumoAvaliacao.getQuantidadeErros()  
904 - + "</quantidade-erro>\n");  
905 - xml.append("<quantidade-aviso>" + resumoAvaliacao.getQuantidadeAvisos()  
906 - + "</quantidade-aviso>\n");  
907 - xml.append("</secao>\n");  
908 -  
909 - totalErros += resumoAvaliacao.getQuantidadeErros();  
910 - totalAvisos += resumoAvaliacao.getQuantidadeAvisos();  
911 - } 1091 + secao.setNome(resumoAvaliacao.getTipo().getDescription());
  1092 + secao.setQuantidadeErro(resumoAvaliacao.getQuantidadeErros());
  1093 + secao.setQuantidadeAviso(resumoAvaliacao.getQuantidadeAvisos());
  1094 + lsSecao.add(secao);
  1095 +
  1096 + /* xml.append("<secao>");
  1097 + xml.append("<nome>" + resumoAvaliacao.getTipo().getDescription() + "</nome>\n");
  1098 + xml.append("<quantidade-erro>" + resumoAvaliacao.getQuantidadeErros()
  1099 + + "</quantidade-erro>\n");
  1100 + xml.append("<quantidade-aviso>" + resumoAvaliacao.getQuantidadeAvisos()
  1101 + + "</quantidade-aviso>\n");
  1102 + xml.append("</secao>\n");*/
  1103 +
  1104 + totalErros += resumoAvaliacao.getQuantidadeErros();
  1105 + totalAvisos += resumoAvaliacao.getQuantidadeAvisos();
  1106 + }
  1107 +
  1108 + resumoAvaliacaoWs.setSecao(lsSecao);
  1109 + resumoAvaliacaoWs.setTotalErros(totalErros);
  1110 + resumoAvaliacaoWs.setTotalAvisos(totalAvisos);
  1111 +
  1112 + avaliacaoAutomatica.setResumoAvaliacao(resumoAvaliacaoWs);
  1113 +
  1114 +
  1115 + /*xml.append("<total-erros>" + totalErros + "</total-erros>\n");
  1116 + xml.append("<total-avisos>" + totalAvisos + "</total-avisos>\n");
  1117 + xml.append("</resumo-avaliacao>\n");*/
  1118 +
  1119 + String recomendacaoCompara = "";
  1120 +
  1121 + List<RecomendacaoAvaliacao> lsRecomendacaoAvaliacao = new ArrayList<RecomendacaoAvaliacao>();
  1122 +
  1123 + RecomendacaoAvaliacao recomendacaoAvaliacao = new RecomendacaoAvaliacao();
  1124 +
  1125 + for (SummarizedOccurrence avaliacao : checkSumarized) {
  1126 + rn = OccurrenceKey.valueOf(avaliacao.getCheckPoint());
  1127 + type = avaliacao.isError();
  1128 +
  1129 + // if(!recomendacaoCompara.equalsIgnoreCase(avaliacao.getCheckPoint().toString()))
  1130 + // {
  1131 + if (!recomendacaoCompara.equalsIgnoreCase("")) {
  1132 + lsRecomendacaoAvaliacao.add(recomendacaoAvaliacao);
  1133 + recomendacaoAvaliacao = new RecomendacaoAvaliacao();
  1134 + //xml.append("</recomendacao-avaliacao>\n");
  1135 + }
  1136 +
  1137 +
  1138 + recomendacaoAvaliacao.setNumeroRecomendacao(avaliacao.getCheckPoint());
  1139 + recomendacaoAvaliacao.setErroRecomendacao(type);
  1140 + recomendacaoAvaliacao.setDescricaoRecomendacao(avaliacao.getDescription());
  1141 + recomendacaoAvaliacao.setNumeroRecomendacao(avaliacao.getCheckPoint());
  1142 + recomendacaoAvaliacao.setLinhasCodigoFonteRecomendacao(avaliacao.getStringLines());
  1143 + recomendacaoAvaliacao.setQuantidadeRecomendacao(avaliacao.getNumberOfOccurrences());
  1144 + /* xml.append("<recomendacao-avaliacao>\n");
  1145 + xml.append("<numero-recomendacao>" + avaliacao.getCheckPoint()
  1146 + + "</numero-recomendacao>\n");
  1147 + xml.append("<erro-recomendacao>" + type + "</erro-recomendacao>\n");
  1148 + xml.append("<descricao-recomendacao>" + avaliacao.getDescription()
  1149 + + "</descricao-recomendacao>\n");
  1150 + xml.append("<quantidade-recomendacao>" + avaliacao.getNumberOfOccurrences()
  1151 + + "</quantidade-recomendacao>\n");
  1152 + xml.append("<linhas-codigo-fonte-recomendacao>" + avaliacao.getStringLines()
  1153 + + "</linhas-codigo-fonte-recomendacao>\n");*/
  1154 + // }
  1155 +
  1156 +
  1157 + List<CriterioWs> lsCriterioWs = new ArrayList<CriterioWs>();
  1158 +
  1159 + // Critérios iniciam aqui
912 1160
913 - xml.append("<total-erros>" + totalErros + "</total-erros>\n");  
914 - xml.append("<total-avisos>" + totalAvisos + "</total-avisos>\n");  
915 - xml.append("</resumo-avaliacao>\n"); 1161 + lsCriterioWs = criarRelatorioCriterios(rn, type);
  1162 +
  1163 + recomendacaoAvaliacao.setLsCriterio(lsCriterioWs);
  1164 +
  1165 +
  1166 + // Critérios terminam aqui
916 1167
917 - String recomendacaoCompara = "";  
918 1168
919 - for (SummarizedOccurrence avaliacao : checkSumarized) {  
920 - rn = OccurrenceKey.valueOf(avaliacao.getCheckPoint());  
921 - type = avaliacao.isError(); 1169 + recomendacaoCompara = avaliacao.getCheckPoint().toString();
  1170 + }
  1171 + lsRecomendacaoAvaliacao.add(recomendacaoAvaliacao);
  1172 + avaliacaoAutomatica.setLsRecomendacaoAvaliacao(lsRecomendacaoAvaliacao);
  1173 +
  1174 + //xml.append("</recomendacao-avaliacao>\n");
  1175 +
  1176 + // xml.append("</avaliacao-automatica>\n");
  1177 + if (tipoSaida.equalsIgnoreCase("json")) {
  1178 + result.use(Results.json()).withoutRoot().from(avaliacaoAutomatica).recursive().serialize();
  1179 + } else if (tipoSaida.equalsIgnoreCase("xml")) {
  1180 + result.use(Results.xml()).from(avaliacaoAutomatica).recursive().serialize();
  1181 + }
  1182 +
  1183 + } else {
  1184 + /* xml.append("<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n");
  1185 + xml.append("<avaliacao-automatica>\n");
  1186 + xml.append("<pagina-avaliada>\n");
  1187 + xml.append("<titulo>" + this.tituloSite + "</titulo>\n");
  1188 + xml.append("<data-hora>" + this.dataHoraAvaliacao + "</data-hora>\n");
  1189 + xml.append("</pagina-avaliada>\n");
  1190 + xml.append("<resumo-avaliacao>Não foi possível avaliar essa URI");
  1191 + xml.append("</resumo-avaliacao>\n");*/
  1192 +
  1193 +
  1194 + erroWs.setUrl(url);
  1195 + erroWs.setDataHora(this.dataHoraAvaliacao);
  1196 + erroWs.setMensagem("Não foi possível avaliar essa url.");
  1197 +
  1198 + if (tipoSaida.equalsIgnoreCase("json")) {
  1199 + result.use(Results.json()).withoutRoot().from(erroWs).serialize();
  1200 + } else if (tipoSaida.equalsIgnoreCase("xml")) {
  1201 + result.use(Results.xml()).from(erroWs).serialize();
  1202 + }
922 1203
923 - // if(!recomendacaoCompara.equalsIgnoreCase(avaliacao.getCheckPoint().toString()))  
924 - // {  
925 - if (!recomendacaoCompara.equalsIgnoreCase("")) {  
926 - xml.append("</recomendacao-avaliacao>\n"); 1204 + // System.out.println("Enviar xml de erro");
  1205 + }
  1206 +
  1207 +
  1208 + } catch (Exception e) {
  1209 + /* xml.append("<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n");
  1210 + xml.append("<avaliacao-automatica>\n");
  1211 + xml.append("<pagina-avaliada>\n");
  1212 + xml.append("<titulo>" + this.tituloSite + "</titulo>\n");
  1213 + xml.append("<data-hora>" + this.dataHoraAvaliacao + "</data-hora>\n");
  1214 + xml.append("</pagina-avaliada>\n");
  1215 + xml.append("<resumo-avaliacao>Não foi possível avaliar essa URI");
  1216 + xml.append("</resumo-avaliacao>\n");*/
  1217 +
  1218 + e.printStackTrace();
  1219 +
  1220 + erroWs.setUrl(url);
  1221 + erroWs.setDataHora(this.dataHoraAvaliacao);
  1222 + erroWs.setMensagem(e.getMessage());
  1223 +
  1224 + if (tipoSaida.equalsIgnoreCase("json")) {
  1225 + result.use(Results.json()).withoutRoot().from(erroWs).serialize();
  1226 + } else if (tipoSaida.equalsIgnoreCase("xml")) {
  1227 + result.use(Results.xml()).from(erroWs).serialize();
927 } 1228 }
928 -  
929 - xml.append("<recomendacao-avaliacao>\n");  
930 - xml.append("<numero-recomendacao>" + avaliacao.getCheckPoint() + "</numero-recomendacao>\n");  
931 - xml.append("<erro-recomendacao>" + type + "</erro-recomendacao>\n");  
932 - xml.append("<descricao-recomendacao>" + avaliacao.getDescription()  
933 - + "</descricao-recomendacao>\n");  
934 - xml.append("<quantidade-recomendacao>" + avaliacao.getNumberOfOccurrences()  
935 - + "</quantidade-recomendacao>\n");  
936 - xml.append("<linhas-codigo-fonte-recomendacao>" + avaliacao.getStringLines()  
937 - + "</linhas-codigo-fonte-recomendacao>\n");  
938 - // }  
939 -  
940 -  
941 -  
942 - // Critérios iniciam aqui  
943 -  
944 - criarRelatorioCriterios(rn, type);  
945 -  
946 - // Critérios terminam aqui  
947 -  
948 -  
949 - recomendacaoCompara = avaliacao.getCheckPoint().toString();  
950 } 1229 }
951 -  
952 - xml.append("</recomendacao-avaliacao>\n");  
953 -  
954 - xml.append("</avaliacao-automatica>\n");  
955 - 1230 +
956 } else { 1231 } else {
957 - System.out.println("Enviar xml de erro");  
958 - } 1232 +
  1233 + erroWs.setUrl(url);
  1234 + erroWs.setDataHora(this.dataHoraAvaliacao);
  1235 + erroWs.setMensagem("Código hash não confere!");
  1236 +
  1237 + if (tipoSaida.equalsIgnoreCase("json")) {
  1238 + result.use(Results.json()).withoutRoot().from(erroWs).serialize();
  1239 + } else if (tipoSaida.equalsIgnoreCase("xml")) {
  1240 + result.use(Results.xml()).from(erroWs).serialize();
  1241 + }
  1242 + //xml.append("erro");
959 1243
960 - if(tipoSaida.equalsIgnoreCase("json"))  
961 - {  
962 - JSONObject soapDatainJsonObject = XML.toJSONObject(xml.toString());  
963 - result.include("saidaWebService", soapDatainJsonObject);  
964 - }  
965 - else if(tipoSaida.equalsIgnoreCase("xml"))  
966 - {  
967 - result.include("saidaWebService", xml);  
968 - }  
969 - } catch (Exception e) {  
970 - e.printStackTrace();  
971 - result.include("saidaWebService", "");  
972 } 1244 }
  1245 +
973 } 1246 }
974 1247
975 - public void criarRelatorioCriterios(OccurrenceKey rn, boolean isError) { 1248 + public List<CriterioWs> criarRelatorioCriterios(OccurrenceKey rn, boolean isError) {
976 1249
977 boolean recomendacao1_1_1Adicionada = false; 1250 boolean recomendacao1_1_1Adicionada = false;
978 boolean recomendacao1_1_2Adicionada = false; 1251 boolean recomendacao1_1_2Adicionada = false;
979 -  
980 - /* Cria um Map de parametros */  
981 - // HashMap<String, Object> map = new HashMap<String, Object>();  
982 -  
983 - // List list = this.detalheAvaliacao.get(rn,isError).getCriterios();  
984 -  
985 - // List<String> aReq = new ArrayList();  
986 - // List<Integer> index = new ArrayList();  
987 -  
988 - // String[] crit = this.utilitiesProperties.get("notExibCrit").split(" ");  
989 -  
990 - // for (String c : crit)  
991 - // {  
992 - // aReq.add(c.trim());  
993 - // }  
994 -  
995 - // List<Criterio> listCrit = this.detalheAvaliacao.get(rn, isError).getCriterios();  
996 -  
997 - // List<Criterio> list = new ArrayList<DetalheAvaliacao.Criterio>();  
998 -  
999 - /*  
1000 - * for (Criterio criterio : listCrit) { if (aReq.contains(rn.getCode() + "." +  
1001 - * criterio.getId())) { criterio.setLinhas(new ArrayList()); }  
1002 - *  
1003 - * if (criterio.getId() != null) { list.add(criterio); } }  
1004 - */  
1005 - 1252 + boolean recomendacao1_1_7Adicionada = false;
  1253 + boolean recomendacao1_1_8Adicionada = false;
  1254 +
1006 String codigoFonte = ""; 1255 String codigoFonte = "";
1007 String criterioCompara = ""; 1256 String criterioCompara = "";
1008 String numeroCriterio = ""; 1257 String numeroCriterio = "";
1009 -  
1010 - 1258 + List<CriterioWs> lsCriterioWs = new ArrayList<CriterioWs>();
  1259 + CriterioWs criterioWs;
  1260 +
  1261 + List<CodigoFonteCriterio> lsCodigoFonteCriterio = new ArrayList<CodigoFonteCriterio>();
  1262 + CodigoFonteCriterio codigoFonteCriterio = new CodigoFonteCriterio();
  1263 +
1011 for (Occurrence occurrence : this.detalheAvaliacao.get(rn, isError).getOcorrencias()) { 1264 for (Occurrence occurrence : this.detalheAvaliacao.get(rn, isError).getOcorrencias()) {
1012 - 1265 + criterioWs = new CriterioWs();
  1266 +
1013 numeroCriterio = occurrence.getCriterio(); 1267 numeroCriterio = occurrence.getCriterio();
1014 1268
1015 // if (!aReq.contains(rn.getCode() + "." + numeroCriterio)) 1269 // if (!aReq.contains(rn.getCode() + "." + numeroCriterio))
1016 // { 1270 // {
1017 -  
1018 - if (!rn.getCode().toString().equalsIgnoreCase("1.1") || !isError) {  
1019 - if (rn.getCode().toString().equalsIgnoreCase("1.1") && numeroCriterio.equalsIgnoreCase("7")) { 1271 +
  1272 + if (!rn.getCode().toString().equalsIgnoreCase("1.1") || !isError) {
  1273 + if (rn.getCode().toString().equalsIgnoreCase("1.1") && numeroCriterio.equalsIgnoreCase("7") && !recomendacao1_1_7Adicionada) {
  1274 +
1020 codigoFonte = "Serviço de validação de HTML do W3C"; 1275 codigoFonte = "Serviço de validação de HTML do W3C";
  1276 + recomendacao1_1_7Adicionada = true;
1021 } else if (rn.getCode().toString().equalsIgnoreCase("1.1") 1277 } else if (rn.getCode().toString().equalsIgnoreCase("1.1")
1022 - && numeroCriterio.equalsIgnoreCase("8")) { 1278 + && numeroCriterio.equalsIgnoreCase("8") && !recomendacao1_1_8Adicionada) {
1023 codigoFonte = "Serviço de validação de CSS do W3C"; 1279 codigoFonte = "Serviço de validação de CSS do W3C";
  1280 + recomendacao1_1_8Adicionada = true;
1024 } else { 1281 } else {
1025 codigoFonte = 1282 codigoFonte =
1026 occurrence.getTag().replaceAll("&lt;", "<").replaceAll("&gt;", ">") 1283 occurrence.getTag().replaceAll("&lt;", "<").replaceAll("&gt;", ">")
@@ -1028,12 +1285,25 @@ public class AvaliacaoController { @@ -1028,12 +1285,25 @@ public class AvaliacaoController {
1028 } 1285 }
1029 1286
1030 if (!criterioCompara.equalsIgnoreCase(occurrence.getCriterio().toString())) { 1287 if (!criterioCompara.equalsIgnoreCase(occurrence.getCriterio().toString())) {
1031 - if (!criterioCompara.equalsIgnoreCase("")) {  
1032 - xml.append("</criterio>\n"); 1288 +
  1289 + if (!criterioCompara.equalsIgnoreCase("")) {
  1290 + criterioWs.setCodigoFonteCriterio(lsCodigoFonteCriterio);
  1291 + codigoFonteCriterio = new CodigoFonteCriterio();
  1292 + //xml.append("</criterio>\n");
1033 } 1293 }
1034 1294
1035 -  
1036 - xml.append("<criterio>\n"); 1295 + criterioWs.setNumeroCriterio(numeroCriterio);
  1296 + criterioWs.setNomeCriterio(criterioProperties.getDescricao(rn.getCode() + "." + numeroCriterio));
  1297 + criterioWs.setErroCriterio(occurrence.isError());
  1298 + criterioWs.setQuantidadeCriterio(verificaQuantidadeCriterio(rn, isError, numeroCriterio));
  1299 +
  1300 +
  1301 + codigoFonteCriterio.setNumeroLinha(occurrence.getLine());
  1302 + codigoFonteCriterio.setConteudoLinha("<![CDATA[" + codigoFonte + "]]>");
  1303 + lsCodigoFonteCriterio.add(codigoFonteCriterio);
  1304 +
  1305 +
  1306 + /* xml.append("<criterio>\n");
1037 xml.append("<numero-criterio>" + numeroCriterio + "</numero-criterio>\n"); 1307 xml.append("<numero-criterio>" + numeroCriterio + "</numero-criterio>\n");
1038 xml.append("<nome-criterio>" 1308 xml.append("<nome-criterio>"
1039 + criterioProperties.getDescricao(rn.getCode() + "." + numeroCriterio) 1309 + criterioProperties.getDescricao(rn.getCode() + "." + numeroCriterio)
@@ -1045,25 +1315,46 @@ public class AvaliacaoController { @@ -1045,25 +1315,46 @@ public class AvaliacaoController {
1045 xml.append("<codigo-fonte-criterio>\n"); 1315 xml.append("<codigo-fonte-criterio>\n");
1046 xml.append("<numero-linha>" + occurrence.getLine() + "</numero-linha>\n"); 1316 xml.append("<numero-linha>" + occurrence.getLine() + "</numero-linha>\n");
1047 xml.append("<conteudo-linha><![CDATA[" + codigoFonte + "]]></conteudo-linha>\n"); 1317 xml.append("<conteudo-linha><![CDATA[" + codigoFonte + "]]></conteudo-linha>\n");
1048 - xml.append("</codigo-fonte-criterio>\n"); 1318 + xml.append("</codigo-fonte-criterio>\n");*/
1049 1319
1050 1320
1051 criterioCompara = occurrence.getCriterio(); 1321 criterioCompara = occurrence.getCriterio();
1052 } else { 1322 } else {
1053 - xml.append("<codigo-fonte-criterio>\n"); 1323 + codigoFonteCriterio = new CodigoFonteCriterio();
  1324 + codigoFonteCriterio.setNumeroLinha(occurrence.getLine());
  1325 + codigoFonteCriterio.setConteudoLinha("<![CDATA["
  1326 + + occurrence.getTag().replaceAll("&lt;", "<").replaceAll("&gt;", ">")
  1327 + .replaceAll("&nbsp", " ") + "]]>");
  1328 + lsCodigoFonteCriterio.add(codigoFonteCriterio);
  1329 +
  1330 + /*xml.append("<codigo-fonte-criterio>\n");
1054 xml.append("<numero-linha>" + occurrence.getLine() + "</numero-linha>\n"); 1331 xml.append("<numero-linha>" + occurrence.getLine() + "</numero-linha>\n");
1055 xml.append("<conteudo-linha><![CDATA[" 1332 xml.append("<conteudo-linha><![CDATA["
1056 + occurrence.getTag().replaceAll("&lt;", "<").replaceAll("&gt;", ">") 1333 + occurrence.getTag().replaceAll("&lt;", "<").replaceAll("&gt;", ">")
1057 .replaceAll("&nbsp", " ") + "]]></conteudo-linha>\n"); 1334 .replaceAll("&nbsp", " ") + "]]></conteudo-linha>\n");
1058 - xml.append("</codigo-fonte-criterio>\n"); 1335 + xml.append("</codigo-fonte-criterio>\n");*/
1059 } 1336 }
1060 1337
1061 } else { 1338 } else {
1062 if (numeroCriterio.equalsIgnoreCase("1") && !recomendacao1_1_1Adicionada) { 1339 if (numeroCriterio.equalsIgnoreCase("1") && !recomendacao1_1_1Adicionada) {
  1340 +
1063 if (!criterioCompara.equalsIgnoreCase("")) { 1341 if (!criterioCompara.equalsIgnoreCase("")) {
1064 - xml.append("</criterio>\n"); 1342 + criterioWs.setCodigoFonteCriterio(lsCodigoFonteCriterio);
  1343 + codigoFonteCriterio = new CodigoFonteCriterio();
  1344 + //xml.append("</criterio>\n");
1065 } 1345 }
1066 - xml.append("<criterio>\n"); 1346 +
  1347 + criterioWs.setNumeroCriterio(numeroCriterio);
  1348 + criterioWs.setNomeCriterio(criterioProperties.getDescricao(rn.getCode() + "." + numeroCriterio));
  1349 + criterioWs.setErroCriterio(occurrence.isError());
  1350 + criterioWs.setQuantidadeCriterio(verificaQuantidadeCriterio(rn, isError, numeroCriterio));
  1351 +
  1352 + // codigoFonteCriterio = new CodigoFonteCriterio();
  1353 + codigoFonteCriterio.setNumeroLinha(occurrence.getLine());
  1354 + codigoFonteCriterio.setConteudoLinha("Serviço de validação de HTML do W3C");
  1355 + lsCodigoFonteCriterio.add(codigoFonteCriterio);
  1356 +
  1357 + /*xml.append("<criterio>\n");
1067 xml.append("<numero-criterio>" + numeroCriterio + "</numero-criterio>\n"); 1358 xml.append("<numero-criterio>" + numeroCriterio + "</numero-criterio>\n");
1068 xml.append("<nome-criterio>" 1359 xml.append("<nome-criterio>"
1069 + criterioProperties.getDescricao(rn.getCode() + "." + numeroCriterio) 1360 + criterioProperties.getDescricao(rn.getCode() + "." + numeroCriterio)
@@ -1075,7 +1366,7 @@ public class AvaliacaoController { @@ -1075,7 +1366,7 @@ public class AvaliacaoController {
1075 xml.append("<codigo-fonte-criterio>\n"); 1366 xml.append("<codigo-fonte-criterio>\n");
1076 xml.append("<numero-linha>" + occurrence.getLine() + "</numero-linha>\n"); 1367 xml.append("<numero-linha>" + occurrence.getLine() + "</numero-linha>\n");
1077 xml.append("<conteudo-linha>Serviço de validação de HTML do W3C</conteudo-linha>\n"); 1368 xml.append("<conteudo-linha>Serviço de validação de HTML do W3C</conteudo-linha>\n");
1078 - xml.append("</codigo-fonte-criterio>\n"); 1369 + xml.append("</codigo-fonte-criterio>\n");*/
1079 1370
1080 criterioCompara = occurrence.getCriterio(); 1371 criterioCompara = occurrence.getCriterio();
1081 recomendacao1_1_1Adicionada = true; 1372 recomendacao1_1_1Adicionada = true;
@@ -1083,11 +1374,22 @@ public class AvaliacaoController { @@ -1083,11 +1374,22 @@ public class AvaliacaoController {
1083 1374
1084 if (numeroCriterio.equalsIgnoreCase("2") && !recomendacao1_1_2Adicionada) { 1375 if (numeroCriterio.equalsIgnoreCase("2") && !recomendacao1_1_2Adicionada) {
1085 if (!criterioCompara.equalsIgnoreCase("")) { 1376 if (!criterioCompara.equalsIgnoreCase("")) {
1086 -  
1087 - xml.append("</criterio>\n"); 1377 + criterioWs.setCodigoFonteCriterio(lsCodigoFonteCriterio);
  1378 + codigoFonteCriterio = new CodigoFonteCriterio();
  1379 + //xml.append("</criterio>\n");
1088 } 1380 }
1089 1381
1090 - xml.append("<criterio>\n"); 1382 + criterioWs.setNumeroCriterio(numeroCriterio);
  1383 + criterioWs.setNomeCriterio(criterioProperties.getDescricao(rn.getCode() + "." + numeroCriterio));
  1384 + criterioWs.setErroCriterio(occurrence.isError());
  1385 + criterioWs.setQuantidadeCriterio(verificaQuantidadeCriterio(rn, isError, numeroCriterio));
  1386 +
  1387 + //codigoFonteCriterio = new CodigoFonteCriterio();
  1388 + codigoFonteCriterio.setNumeroLinha(occurrence.getLine());
  1389 + codigoFonteCriterio.setConteudoLinha("Serviço de validação de CSS do W3C");
  1390 + lsCodigoFonteCriterio.add(codigoFonteCriterio);
  1391 +
  1392 + /* xml.append("<criterio>\n");
1091 xml.append("<numero-criterio>" + numeroCriterio + "</numero-criterio>\n"); 1393 xml.append("<numero-criterio>" + numeroCriterio + "</numero-criterio>\n");
1092 xml.append("<nome-criterio>" 1394 xml.append("<nome-criterio>"
1093 + criterioProperties.getDescricao(rn.getCode() + "." + numeroCriterio) 1395 + criterioProperties.getDescricao(rn.getCode() + "." + numeroCriterio)
@@ -1099,17 +1401,24 @@ public class AvaliacaoController { @@ -1099,17 +1401,24 @@ public class AvaliacaoController {
1099 xml.append("<codigo-fonte-criterio>\n"); 1401 xml.append("<codigo-fonte-criterio>\n");
1100 xml.append("<numero-linha>" + occurrence.getLine() + "</numero-linha>\n"); 1402 xml.append("<numero-linha>" + occurrence.getLine() + "</numero-linha>\n");
1101 xml.append("<conteudo-linha>Serviço de validação de CSS do W3C</conteudo-linha>\n"); 1403 xml.append("<conteudo-linha>Serviço de validação de CSS do W3C</conteudo-linha>\n");
1102 - xml.append("</codigo-fonte-criterio>\n"); 1404 + xml.append("</codigo-fonte-criterio>\n");*/
1103 1405
1104 criterioCompara = occurrence.getCriterio(); 1406 criterioCompara = occurrence.getCriterio();
1105 recomendacao1_1_2Adicionada = true; 1407 recomendacao1_1_2Adicionada = true;
1106 } 1408 }
1107 1409
  1410 + }
  1411 + if(lsCodigoFonteCriterio.size() > 0)
  1412 + {
  1413 + criterioWs.setCodigoFonteCriterio(lsCodigoFonteCriterio);
  1414 + lsCodigoFonteCriterio = new ArrayList<CodigoFonteCriterio>();
  1415 + lsCriterioWs.add(criterioWs);
1108 } 1416 }
1109 // } 1417 // }
1110 } 1418 }
1111 -  
1112 - xml.append("</criterio>\n"); 1419 + //xml.append("</criterio>\n");
  1420 + return lsCriterioWs;
  1421 +
1113 1422
1114 } 1423 }
1115 1424
@@ -1124,7 +1433,7 @@ public class AvaliacaoController { @@ -1124,7 +1433,7 @@ public class AvaliacaoController {
1124 } 1433 }
1125 1434
1126 return quantidadeCriterios; 1435 return quantidadeCriterios;
1127 - 1436 +
1128 } 1437 }
1129 1438
1130 } 1439 }
src/main/java/br/com/ases/controller/ContatoController.java
@@ -35,7 +35,7 @@ public class ContatoController { @@ -35,7 +35,7 @@ public class ContatoController {
35 this.validator = validator; 35 this.validator = validator;
36 this.application = application; 36 this.application = application;
37 37
38 - // Seta o título da página 38 + // Seta o t�tulo da p�gina
39 VRaptorRequestHolder.currentRequest().getServletContext() 39 VRaptorRequestHolder.currentRequest().getServletContext()
40 .setAttribute("tituloPagina", tituloPagina); 40 .setAttribute("tituloPagina", tituloPagina);
41 } 41 }
@@ -70,7 +70,7 @@ public class ContatoController { @@ -70,7 +70,7 @@ public class ContatoController {
70 70
71 } else { 71 } else {
72 result.include("mensagem", 72 result.include("mensagem",
73 - "Não foi possível enviar a mensagem! Ocorreu o problema: " + respSendEmail); 73 + "N�o foi poss�vel enviar a mensagem! Ocorreu o problema: " + respSendEmail);
74 result.include("status", "error"); 74 result.include("status", "error");
75 } 75 }
76 76
src/main/java/br/com/ases/controller/EseloController.java
@@ -76,5 +76,60 @@ public class EseloController { @@ -76,5 +76,60 @@ public class EseloController {
76 76
77 77
78 } 78 }
  79 +
  80 + public class UsuarioServicoWeb
  81 + {
  82 + public UsuarioServicoWeb()
  83 + {
  84 +
  85 + }
  86 + private int idUsuarioServicoWeb;
  87 + private String nomeUsuarioServico;
  88 + private String codigoHash;
  89 + private boolean usuarioAtivo;
  90 + private String dataAtivacao;
  91 + private String dataDesativacao;
  92 +
  93 + public int getIdUsuarioServicoWeb() {
  94 + return idUsuarioServicoWeb;
  95 + }
  96 + public void setIdUsuarioServicoWeb(int idUsuarioServicoWeb) {
  97 + this.idUsuarioServicoWeb = idUsuarioServicoWeb;
  98 + }
  99 + public String getNomeUsuarioServico() {
  100 + return nomeUsuarioServico;
  101 + }
  102 + public void setNomeUsuarioServico(String nomeUsuarioServico) {
  103 + this.nomeUsuarioServico = nomeUsuarioServico;
  104 + }
  105 + public String getCodigoHash() {
  106 + return codigoHash;
  107 + }
  108 + public void setCodigoHash(String codigoHash) {
  109 + this.codigoHash = codigoHash;
  110 + }
  111 + public boolean isUsuarioAtivo() {
  112 + return usuarioAtivo;
  113 + }
  114 + public void setUsuarioAtivo(boolean usuarioAtivo) {
  115 + this.usuarioAtivo = usuarioAtivo;
  116 + }
  117 + public String getDataAtivacao() {
  118 + return dataAtivacao;
  119 + }
  120 + public void setDataAtivacao(String dataAtivacao) {
  121 + this.dataAtivacao = dataAtivacao;
  122 + }
  123 + public String getDataDesativacao() {
  124 + return dataDesativacao;
  125 + }
  126 + public void setDataDesativacao(String dataDesativacao) {
  127 + this.dataDesativacao = dataDesativacao;
  128 + }
  129 +
  130 +
  131 +
  132 +
  133 + }
79 134
80 } 135 }
src/main/java/br/com/ases/infra/WebChecker.java
@@ -118,6 +118,15 @@ public class WebChecker { @@ -118,6 +118,15 @@ public class WebChecker {
118 return webChecker; 118 return webChecker;
119 } 119 }
120 120
  121 + @SuppressWarnings("deprecation")
  122 + public WebChecker executeUsuario(String codigoHash){
  123 + this.post.setRequestBody(codigoHash);
  124 + this.webChecker.setMethod(post);
  125 + this.webChecker.setRequestHeader("user-agent", "Mozilla/5.0");
  126 + this.webChecker.execute();
  127 + return webChecker;
  128 + }
  129 +
121 130
122 } 131 }
123 132
src/main/java/br/com/ases/model/utilities/DateUtil.java
@@ -11,4 +11,9 @@ public class DateUtil { @@ -11,4 +11,9 @@ public class DateUtil {
11 DateFormat dateFormat = new SimpleDateFormat("dd/MM/yyyy HH:mm:ss"); 11 DateFormat dateFormat = new SimpleDateFormat("dd/MM/yyyy HH:mm:ss");
12 return dateFormat.format(new Date()); 12 return dateFormat.format(new Date());
13 } 13 }
  14 +
  15 + public static String dataHoraMinutoAtual() {
  16 + DateFormat dateFormat = new SimpleDateFormat("dd/MM/yyyy HH:mm:ss.SS");
  17 + return dateFormat.format(new Date());
  18 + }
14 } 19 }
src/main/java/br/com/ases/model/utilities/Email.java
1 package br.com.ases.model.utilities; 1 package br.com.ases.model.utilities;
2 2
3 import java.io.IOException; 3 import java.io.IOException;
4 -import java.net.MalformedURLException; 4 +import java.net.MalformedURLException;
5 import java.util.Date; 5 import java.util.Date;
6 import java.util.Properties; 6 import java.util.Properties;
7 7
8 -import lombok.AccessLevel;  
9 import lombok.Getter; 8 import lombok.Getter;
10 -import net.htmlparser.jericho.Source;  
11 9
12 -import org.apache.commons.mail.EmailAttachment;  
13 -import org.apache.commons.mail.EmailException; 10 +
  11 +import org.apache.commons.mail.EmailAttachment;
  12 +import org.apache.commons.mail.EmailException;
14 import org.apache.commons.mail.HtmlEmail; 13 import org.apache.commons.mail.HtmlEmail;
15 -import org.apache.commons.mail.MultiPartEmail;  
16 - 14 +import org.apache.commons.mail.MultiPartEmail;
  15 +
17 16
18 /** 17 /**
19 * @category utilities 18 * @category utilities
@@ -83,9 +82,9 @@ public class Email { @@ -83,9 +82,9 @@ public class Email {
83 this.email.setSubject(assunto); // assunto do e-mail 82 this.email.setSubject(assunto); // assunto do e-mail
84 83
85 if(isHtml) 84 if(isHtml)
86 - this.email.setContent("<p>Olá, <b>"+nomeRemetente+"</b> enviou a seguinte mensagem:</p> \n "+mensagem, "text/html"); 85 + this.email.setContent("<p>Ol�, <b>"+nomeRemetente+"</b> enviou a seguinte mensagem:</p> \n "+mensagem, "text/html");
87 else 86 else
88 - this.email.setMsg("<p>Olá, <b>"+nomeRemetente+"</b> enviou a seguinte mensagem:</p> \n "+mensagem); //conteudo do e-mail 87 + this.email.setMsg("<p>Ol�, <b>"+nomeRemetente+"</b> enviou a seguinte mensagem:</p> \n "+mensagem); //conteudo do e-mail
89 88
90 this.email.setSentDate(new Date()); 89 this.email.setSentDate(new Date());
91 90
src/main/java/br/com/ases/ws/model/AvaliacaoAutomatica.java 0 → 100644
@@ -0,0 +1,39 @@ @@ -0,0 +1,39 @@
  1 +package br.com.ases.ws.model;
  2 +
  3 +import java.util.List;
  4 +
  5 +import com.thoughtworks.xstream.annotations.XStreamAlias;
  6 +
  7 +import br.com.ases.ws.model.RecomendacaoAvaliacao;
  8 +
  9 +@XStreamAlias("avaliacao-automatica")
  10 +public class AvaliacaoAutomatica {
  11 +
  12 + @XStreamAlias("pagina-avaliada")
  13 + private PaginaAvaliada paginaAvaliada;
  14 + @XStreamAlias("resumo-avaliacao")
  15 + private ResumoAvaliacaoWs resumoAvaliacao;
  16 + @XStreamAlias("avaliacoes")
  17 + private List<RecomendacaoAvaliacao> lsAvaliacoes;
  18 +
  19 + public PaginaAvaliada getPaginaAvaliada() {
  20 + return paginaAvaliada;
  21 + }
  22 + public void setPaginaAvaliada(PaginaAvaliada paginaAvaliada) {
  23 + this.paginaAvaliada = paginaAvaliada;
  24 + }
  25 + public ResumoAvaliacaoWs getResumoAvaliacao() {
  26 + return resumoAvaliacao;
  27 + }
  28 + public void setResumoAvaliacao(ResumoAvaliacaoWs resumoAvaliacao) {
  29 + this.resumoAvaliacao = resumoAvaliacao;
  30 + }
  31 + public List<RecomendacaoAvaliacao> getLsRecomendacaoAvaliacao() {
  32 + return lsAvaliacoes;
  33 + }
  34 + public void setLsRecomendacaoAvaliacao(List<RecomendacaoAvaliacao> lsRecomendacaoAvaliacao) {
  35 + this.lsAvaliacoes = lsRecomendacaoAvaliacao;
  36 + }
  37 +
  38 +
  39 +}
src/main/java/br/com/ases/ws/model/CodigoFonteCriterio.java 0 → 100644
@@ -0,0 +1,28 @@ @@ -0,0 +1,28 @@
  1 +package br.com.ases.ws.model;
  2 +
  3 +import com.thoughtworks.xstream.annotations.XStreamAlias;
  4 +
  5 +@XStreamAlias("codigo-fonte-criterio")
  6 +public class CodigoFonteCriterio {
  7 +
  8 + @XStreamAlias("numero-linha")
  9 + private Integer numeroLinha;
  10 + @XStreamAlias("conteudo-linha")
  11 + private String conteudoLinha;
  12 +
  13 +
  14 + public Integer getNumeroLinha() {
  15 + return numeroLinha;
  16 + }
  17 + public void setNumeroLinha(Integer numeroLinha) {
  18 + this.numeroLinha = numeroLinha;
  19 + }
  20 + public String getConteudoLinha() {
  21 + return conteudoLinha;
  22 + }
  23 + public void setConteudoLinha(String conteudoLinha) {
  24 + this.conteudoLinha = conteudoLinha;
  25 + }
  26 +
  27 +
  28 +}
src/main/java/br/com/ases/ws/model/CriterioWs.java 0 → 100644
@@ -0,0 +1,63 @@ @@ -0,0 +1,63 @@
  1 +package br.com.ases.ws.model;
  2 +
  3 +import java.util.List;
  4 +
  5 +import com.thoughtworks.xstream.annotations.XStreamAlias;
  6 +import com.thoughtworks.xstream.annotations.XStreamAsAttribute;
  7 +
  8 +@XStreamAlias("ciriterio")
  9 +public class CriterioWs {
  10 +
  11 + @XStreamAlias("numero-criterio")
  12 + private String numeroCriterio;
  13 + @XStreamAlias("nome-criterio")
  14 + private String nomeCriterio;
  15 + @XStreamAlias("erro-criterio")
  16 + private String erroCriterio;
  17 + @XStreamAlias("quantidade-criterio")
  18 + private Integer quantidadeCriterio;
  19 +
  20 + @XStreamAlias("codigo-fonte")
  21 + private List<CodigoFonteCriterio> codigoFonteCriterio;
  22 +
  23 + public String getNumeroCriterio() {
  24 + return numeroCriterio;
  25 + }
  26 + public void setNumeroCriterio(String numeroCriterio) {
  27 + this.numeroCriterio = numeroCriterio;
  28 + }
  29 + public String getNomeCriterio() {
  30 + return nomeCriterio;
  31 + }
  32 + public void setNomeCriterio(String nomeCriterio) {
  33 + this.nomeCriterio = nomeCriterio;
  34 + }
  35 +
  36 + public String getErroCriterio() {
  37 + return erroCriterio;
  38 + }
  39 + public void setErroCriterio(Boolean erroCriterio) {
  40 + if(erroCriterio)
  41 + {
  42 + this.erroCriterio = "true";
  43 + }
  44 + else
  45 + {
  46 + this.erroCriterio = "false";
  47 + }
  48 + }
  49 + public Integer getQuantidadeCriterio() {
  50 + return quantidadeCriterio;
  51 + }
  52 + public void setQuantidadeCriterio(Integer quantidadeCriterio) {
  53 + this.quantidadeCriterio = quantidadeCriterio;
  54 + }
  55 + public List<CodigoFonteCriterio> getCodigoFonteCriterio() {
  56 + return codigoFonteCriterio;
  57 + }
  58 + public void setCodigoFonteCriterio(List<CodigoFonteCriterio> codigoFonteCriterio) {
  59 + this.codigoFonteCriterio = codigoFonteCriterio;
  60 + }
  61 +
  62 +
  63 +}
src/main/java/br/com/ases/ws/model/ErroWs.java 0 → 100644
@@ -0,0 +1,34 @@ @@ -0,0 +1,34 @@
  1 +package br.com.ases.ws.model;
  2 +
  3 +import com.thoughtworks.xstream.annotations.XStreamAlias;
  4 +
  5 +public class ErroWs {
  6 +
  7 +
  8 + private String url;
  9 + @XStreamAlias("data-hora")
  10 + private String dataHora;
  11 + private String mensagem;
  12 +
  13 +
  14 + public String getUrl() {
  15 + return url;
  16 + }
  17 + public void setUrl(String url) {
  18 + this.url = url;
  19 + }
  20 + public String getDataHora() {
  21 + return dataHora;
  22 + }
  23 + public void setDataHora(String dataHora) {
  24 + this.dataHora = dataHora;
  25 + }
  26 + public String getMensagem() {
  27 + return mensagem;
  28 + }
  29 + public void setMensagem(String mensagem) {
  30 + this.mensagem = mensagem;
  31 + }
  32 +
  33 +
  34 +}
src/main/java/br/com/ases/ws/model/PaginaAvaliada.java 0 → 100644
@@ -0,0 +1,43 @@ @@ -0,0 +1,43 @@
  1 +package br.com.ases.ws.model;
  2 +
  3 +import com.thoughtworks.xstream.annotations.XStreamAlias;
  4 +
  5 +
  6 +public class PaginaAvaliada {
  7 +
  8 + private String pagina;
  9 + private String titulo;
  10 + private String tamanho;
  11 + @XStreamAlias("data-hora")
  12 + private String dataHora;
  13 +
  14 +
  15 +
  16 + public String getPagina() {
  17 + return pagina;
  18 + }
  19 + public void setPagina(String pagina) {
  20 + this.pagina = pagina;
  21 + }
  22 + public String getTitulo() {
  23 + return titulo;
  24 + }
  25 + public void setTitulo(String titulo) {
  26 + this.titulo = titulo;
  27 + }
  28 + public String getTamanho() {
  29 + return tamanho;
  30 + }
  31 + public void setTamanho(String string) {
  32 + this.tamanho = string;
  33 + }
  34 + public String getDataHora() {
  35 + return dataHora;
  36 + }
  37 + public void setDataHora(String dataHora) {
  38 + this.dataHora = dataHora;
  39 + }
  40 +
  41 +
  42 +
  43 +}
src/main/java/br/com/ases/ws/model/RecomendacaoAvaliacao.java 0 → 100644
@@ -0,0 +1,71 @@ @@ -0,0 +1,71 @@
  1 +package br.com.ases.ws.model;
  2 +
  3 +import java.util.List;
  4 +
  5 +import com.thoughtworks.xstream.annotations.XStreamAlias;
  6 +
  7 +@XStreamAlias("recomendacao-avaliacao")
  8 +public class RecomendacaoAvaliacao {
  9 +
  10 + @XStreamAlias("numero-recomendacao")
  11 + private String numeroRecomendacao;
  12 + @XStreamAlias("erro-recomendacao")
  13 + private String erroRecomendacao;
  14 + @XStreamAlias("descricao-recomendacao")
  15 + private String descricaoRecomendacao;
  16 + @XStreamAlias("quantidade-recomendacao")
  17 + private String quantidadeRecomendacao;
  18 + @XStreamAlias("linhas-codigo-fonte-recomendacao")
  19 + private String linhasCodigoFonteRecomendacao;
  20 +
  21 + private List<CriterioWs> criterios;
  22 +
  23 + public String getNumeroRecomendacao() {
  24 + return numeroRecomendacao;
  25 + }
  26 + public void setNumeroRecomendacao(String numeroRecomendacao) {
  27 + this.numeroRecomendacao = numeroRecomendacao;
  28 + }
  29 +
  30 + public String getErroRecomendacao() {
  31 + return erroRecomendacao;
  32 + }
  33 + public void setErroRecomendacao(Boolean erroRecomendacao) {
  34 + if(erroRecomendacao)
  35 + {
  36 + this.erroRecomendacao = "true";
  37 + }
  38 + else
  39 + {
  40 + this.erroRecomendacao = "false";
  41 + }
  42 + }
  43 + public String getDescricaoRecomendacao() {
  44 + return descricaoRecomendacao;
  45 + }
  46 + public void setDescricaoRecomendacao(String descricaoRecomendacao) {
  47 + this.descricaoRecomendacao = descricaoRecomendacao;
  48 + }
  49 +
  50 +
  51 + public String getQuantidadeRecomendacao() {
  52 + return quantidadeRecomendacao;
  53 + }
  54 + public void setQuantidadeRecomendacao(String quantidadeRecomendacao) {
  55 + this.quantidadeRecomendacao = quantidadeRecomendacao;
  56 + }
  57 + public String getLinhasCodigoFonteRecomendacao() {
  58 + return linhasCodigoFonteRecomendacao;
  59 + }
  60 + public void setLinhasCodigoFonteRecomendacao(String linhasCodigoFonteRecomendacao) {
  61 + this.linhasCodigoFonteRecomendacao = linhasCodigoFonteRecomendacao;
  62 + }
  63 + public List<CriterioWs> getLsCriterio() {
  64 + return criterios;
  65 + }
  66 + public void setLsCriterio(List<CriterioWs> lsCriterio) {
  67 + this.criterios = lsCriterio;
  68 + }
  69 +
  70 +
  71 +}
src/main/java/br/com/ases/ws/model/ResumoAvaliacaoWs.java 0 → 100644
@@ -0,0 +1,42 @@ @@ -0,0 +1,42 @@
  1 +package br.com.ases.ws.model;
  2 +
  3 +import java.util.List;
  4 +
  5 +import com.thoughtworks.xstream.annotations.XStreamAlias;
  6 +
  7 +public class ResumoAvaliacaoWs {
  8 +
  9 + @XStreamAlias("nota-avaliacao")
  10 + private String notaAvaliacao;
  11 + private List<Secao> secao;
  12 + @XStreamAlias("total-erros")
  13 + private Integer totalErros;
  14 + @XStreamAlias("total-avisos")
  15 + private Integer totalAvisos;
  16 +
  17 + public String getNotaAvaliacao() {
  18 + return notaAvaliacao;
  19 + }
  20 + public void setNotaAvaliacao(String string) {
  21 + this.notaAvaliacao = string;
  22 + }
  23 +
  24 + public List<Secao> getSecao() {
  25 + return secao;
  26 + }
  27 + public void setSecao(List<Secao> secao) {
  28 + this.secao = secao;
  29 + }
  30 + public Integer getTotalErros() {
  31 + return totalErros;
  32 + }
  33 + public void setTotalErros(Integer totalErros) {
  34 + this.totalErros = totalErros;
  35 + }
  36 + public Integer getTotalAvisos() {
  37 + return totalAvisos;
  38 + }
  39 + public void setTotalAvisos(Integer totalAvisos) {
  40 + this.totalAvisos = totalAvisos;
  41 + }
  42 +}
src/main/java/br/com/ases/ws/model/Secao.java 0 → 100644
@@ -0,0 +1,28 @@ @@ -0,0 +1,28 @@
  1 +package br.com.ases.ws.model;
  2 +
  3 +public class Secao {
  4 +
  5 + private String nome;
  6 + private Integer quantidadeErro;
  7 + private Integer quantidadeAviso;
  8 +
  9 + public String getNome() {
  10 + return nome;
  11 + }
  12 + public void setNome(String nome) {
  13 + this.nome = nome;
  14 + }
  15 + public Integer getQuantidadeErro() {
  16 + return quantidadeErro;
  17 + }
  18 + public void setQuantidadeErro(Integer quantidadeErro) {
  19 + this.quantidadeErro = quantidadeErro;
  20 + }
  21 + public Integer getQuantidadeAviso() {
  22 + return quantidadeAviso;
  23 + }
  24 + public void setQuantidadeAviso(Integer quantidadeAviso) {
  25 + this.quantidadeAviso = quantidadeAviso;
  26 + }
  27 +
  28 +}