From ce8d6bcce43ad2130d5a0eed4dc69d236ddddff7 Mon Sep 17 00:00:00 2001 From: gibransodre Date: Mon, 31 Oct 2016 10:53:00 -0200 Subject: [PATCH] Implementação da funcionalidade do webservice. --- src/main/java/br/com/ases/business/impl/AvaliacaoBusinessImpl.java | 2 +- src/main/java/br/com/ases/controller/AvaliacaoController.java | 723 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- src/main/java/br/com/ases/controller/ContatoController.java | 4 ++-- src/main/java/br/com/ases/controller/EseloController.java | 55 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ src/main/java/br/com/ases/infra/WebChecker.java | 9 +++++++++ src/main/java/br/com/ases/model/utilities/DateUtil.java | 5 +++++ src/main/java/br/com/ases/model/utilities/Email.java | 17 ++++++++--------- src/main/java/br/com/ases/ws/model/AvaliacaoAutomatica.java | 39 +++++++++++++++++++++++++++++++++++++++ src/main/java/br/com/ases/ws/model/CodigoFonteCriterio.java | 28 ++++++++++++++++++++++++++++ src/main/java/br/com/ases/ws/model/CriterioWs.java | 63 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ src/main/java/br/com/ases/ws/model/ErroWs.java | 34 ++++++++++++++++++++++++++++++++++ src/main/java/br/com/ases/ws/model/PaginaAvaliada.java | 43 +++++++++++++++++++++++++++++++++++++++++++ src/main/java/br/com/ases/ws/model/RecomendacaoAvaliacao.java | 71 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ src/main/java/br/com/ases/ws/model/ResumoAvaliacaoWs.java | 42 ++++++++++++++++++++++++++++++++++++++++++ src/main/java/br/com/ases/ws/model/Secao.java | 28 ++++++++++++++++++++++++++++ 15 files changed, 944 insertions(+), 219 deletions(-) create mode 100644 src/main/java/br/com/ases/ws/model/AvaliacaoAutomatica.java create mode 100644 src/main/java/br/com/ases/ws/model/CodigoFonteCriterio.java create mode 100644 src/main/java/br/com/ases/ws/model/CriterioWs.java create mode 100644 src/main/java/br/com/ases/ws/model/ErroWs.java create mode 100644 src/main/java/br/com/ases/ws/model/PaginaAvaliada.java create mode 100644 src/main/java/br/com/ases/ws/model/RecomendacaoAvaliacao.java create mode 100644 src/main/java/br/com/ases/ws/model/ResumoAvaliacaoWs.java create mode 100644 src/main/java/br/com/ases/ws/model/Secao.java diff --git a/src/main/java/br/com/ases/business/impl/AvaliacaoBusinessImpl.java b/src/main/java/br/com/ases/business/impl/AvaliacaoBusinessImpl.java index e5fa580..0abbc55 100644 --- a/src/main/java/br/com/ases/business/impl/AvaliacaoBusinessImpl.java +++ b/src/main/java/br/com/ases/business/impl/AvaliacaoBusinessImpl.java @@ -629,7 +629,7 @@ public class AvaliacaoBusinessImpl implements AvaliacaoBusiness { String content = WebChecker.from(HTML_VALIDATOR_URL.replace("#{url}", URLEncoder.encode(UrlConvertida.toExternalForm(), "UTF-8"))).withGetRequest().execute().getContent(); - Gson g = new GsonBuilder().create(); + Gson g = new GsonBuilder().create(); HtmlValidation a = g.fromJson(content, HtmlValidation.class); int[] errorsWarnings = a.getQtdWarningsErros(); errors = errorsWarnings[1]; diff --git a/src/main/java/br/com/ases/controller/AvaliacaoController.java b/src/main/java/br/com/ases/controller/AvaliacaoController.java index 568b1d3..3097cdc 100644 --- a/src/main/java/br/com/ases/controller/AvaliacaoController.java +++ b/src/main/java/br/com/ases/controller/AvaliacaoController.java @@ -29,9 +29,6 @@ import java.util.regex.Pattern; import javax.servlet.ServletContext; import javax.ws.rs.QueryParam; -import org.json.JSONObject; -import org.json.XML; - import net.sf.jasperreports.engine.JRException; import br.com.ases.business.AvaliacaoBusiness; import br.com.ases.controller.EseloController.Nota; @@ -46,6 +43,14 @@ import br.com.ases.infra.WebChecker; import br.com.ases.model.utilities.DateUtil; import br.com.ases.model.utilities.ManagerReport; import br.com.ases.model.utilities.Validate; +import br.com.ases.ws.model.AvaliacaoAutomatica; +import br.com.ases.ws.model.CodigoFonteCriterio; +import br.com.ases.ws.model.CriterioWs; +import br.com.ases.ws.model.ErroWs; +import br.com.ases.ws.model.PaginaAvaliada; +import br.com.ases.ws.model.RecomendacaoAvaliacao; +import br.com.ases.ws.model.ResumoAvaliacaoWs; +import br.com.ases.ws.model.Secao; import br.com.caelum.vraptor.Get; import br.com.caelum.vraptor.Path; import br.com.caelum.vraptor.Post; @@ -55,12 +60,16 @@ import br.com.caelum.vraptor.Validator; import br.com.caelum.vraptor.interceptor.download.FileDownload; import br.com.caelum.vraptor.interceptor.multipart.UploadedFile; import br.com.caelum.vraptor.ioc.spring.VRaptorRequestHolder; +import br.com.caelum.vraptor.view.Results; import br.com.checker.emag.Occurrence; import br.com.checker.emag.OccurrenceClassification; import br.com.checker.emag.SummarizedOccurrence; import br.com.checker.emag.core.Checker; import br.com.checker.emag.core.ContentEvaluation; +import com.google.gson.Gson; +import com.google.gson.GsonBuilder; + @Resource public class AvaliacaoController { @@ -86,11 +95,13 @@ public class AvaliacaoController { private ServletContext application; private DetalheAvaliacao detalheAvaliacao; private UtilitiesProperties utilitiesProperties; - private StringBuffer xml; + //private StringBuffer xml; private CriterioProperties criterioProperties; + private String chaveIdentificaAvaliacao; + private String novaChave; + + // private static int PRETTY_PRINT_INDENT_FACTOR = 4; - private static int PRETTY_PRINT_INDENT_FACTOR = 4; - public AvaliacaoController(Result result, Validator validator, AvaliacaoBusiness avaliacaoBusiness, ServletContext application, DetalheAvaliacao detalheAvaliacao) { @@ -103,6 +114,9 @@ public class AvaliacaoController { this.initEseloProperties(application); this.criterioProperties = new CriterioProperties(application); this.utilitiesProperties = new UtilitiesProperties(application); + this.chaveIdentificaAvaliacao = + DateUtil.dataHoraMinutoAtual().replace("/", "").replace(":", "").replace(" ", ""); + result.include("chaveIdentificaAvaliacao", chaveIdentificaAvaliacao); } @@ -122,6 +136,7 @@ public class AvaliacaoController { } } + @Path("/avaliar-arquivo") public void avaliarArquivo(UploadedFile file, boolean mark, boolean content, boolean presentation, boolean multimedia, boolean form, boolean behavior, int tiprel) @@ -166,6 +181,8 @@ public class AvaliacaoController { result.include("contentLenght", String.valueOf(html.getBytes("UTF-8").length)); result.include("html", html); + result.include("contentLenght", String.valueOf(html.getBytes("UTF-8").length)); + result.include("html", html); this.tituloSite = ""; @@ -173,6 +190,7 @@ public class AvaliacaoController { this.tituloSite = conteudo.retornarTituloSiteAvaliado(); result.include("titulosite", tituloSite); + result.include("titulosite", tituloSite); Nota nota = null; if (!this.sem_nota.equalsIgnoreCase("sem_nota")) { @@ -190,11 +208,16 @@ public class AvaliacaoController { VRaptorRequestHolder.currentRequest().getServletContext() .setAttribute("webaxscore", webaxscore); + + novaChave = "webaxscore" + chaveIdentificaAvaliacao; + VRaptorRequestHolder.currentRequest().getServletContext() + .setAttribute(novaChave, webaxscore); } } result.include("nota", nota); + result.include("nota", nota); this.sumarizarResultasNoResponse(checker.checkSumarized(), result); this.detalheAvaliacao.inicializar(avaliacaoBusiness.retornarCriterios(checker.check())); @@ -202,24 +225,56 @@ public class AvaliacaoController { VRaptorRequestHolder.currentRequest().getServletContext() .setAttribute("resultadoAvaliacao", checker.checkSumarized()); + + novaChave = "resultadoAvaliacao" + chaveIdentificaAvaliacao; + VRaptorRequestHolder.currentRequest().getServletContext() + .setAttribute(novaChave, checker.checkSumarized()); + VRaptorRequestHolder.currentRequest().getServletContext().setAttribute("urlAvaliada", ""); + + novaChave = "urlAvaliada" + chaveIdentificaAvaliacao; + VRaptorRequestHolder.currentRequest().getServletContext().setAttribute(novaChave, ""); + VRaptorRequestHolder.currentRequest().getServletContext() .setAttribute("contentLenght", String.valueOf(html.getBytes("UTF-8").length)); + + novaChave = "contentLenght" + chaveIdentificaAvaliacao; + VRaptorRequestHolder.currentRequest().getServletContext() + .setAttribute(novaChave, String.valueOf(html.getBytes("UTF-8").length)); + + VRaptorRequestHolder.currentRequest().getServletContext() .setAttribute("notaAvaliacao", nota); + novaChave = "notaAvaliacao" + chaveIdentificaAvaliacao; + VRaptorRequestHolder.currentRequest().getServletContext().setAttribute(novaChave, nota); + + + // Seta o valor do t�tulo no template tituloPagina = "Resumo de avaliação por upload de arquivo - ASES"; VRaptorRequestHolder.currentRequest().getServletContext() .setAttribute("tituloPagina", tituloPagina); + novaChave = "tituloPagina" + chaveIdentificaAvaliacao; + VRaptorRequestHolder.currentRequest().getServletContext() + .setAttribute(novaChave, tituloPagina); + VRaptorRequestHolder.currentRequest().getServletContext() .setAttribute("titulosite", tituloSite); + novaChave = "titulosite" + chaveIdentificaAvaliacao; + VRaptorRequestHolder.currentRequest().getServletContext() + .setAttribute(novaChave, tituloSite); + this.dataHoraAvaliacao = (String) DateUtil.dataHoraAtual(); VRaptorRequestHolder.currentRequest().getServletContext() .setAttribute("data", dataHoraAvaliacao); + novaChave = "data" + chaveIdentificaAvaliacao; + VRaptorRequestHolder.currentRequest().getServletContext() + .setAttribute(novaChave, dataHoraAvaliacao); + result.of(this).avaliar(null, mark, content, presentation, multimedia, form, behavior, tiprel); @@ -230,6 +285,10 @@ public class AvaliacaoController { VRaptorRequestHolder.currentRequest().getServletContext() .setAttribute("ancoraCampoVazio", ancoraCampoVazio); + novaChave = "ancoraCampoVazio" + chaveIdentificaAvaliacao; + VRaptorRequestHolder.currentRequest().getServletContext() + .setAttribute(novaChave, ancoraCampoVazio); + this.validator = validate.getMessage(); this.validator.onErrorUsePageOf(IndexController.class).index(); } @@ -240,6 +299,10 @@ public class AvaliacaoController { VRaptorRequestHolder.currentRequest().getServletContext() .setAttribute("ancoraCampoVazio", ancoraCampoVazio); + novaChave = "ancoraCampoVazio" + chaveIdentificaAvaliacao; + VRaptorRequestHolder.currentRequest().getServletContext() + .setAttribute(novaChave, ancoraCampoVazio); + this.validator = validate.getMessage(); this.validator.onErrorUsePageOf(IndexController.class).index(); } @@ -291,10 +354,13 @@ public class AvaliacaoController { this.tituloSite = conteudo.retornarTituloSiteAvaliado(); + result.include("titulosite", tituloSite); result.include("contentLenght", pagina.getContentLength()); + result.include("url", url); + result.include("html", pagina.getParsedContent()); Nota nota = null; @@ -313,6 +379,10 @@ public class AvaliacaoController { VRaptorRequestHolder.currentRequest().getServletContext() .setAttribute("webaxscore", webaxscore); + + novaChave = "webaxscore" + chaveIdentificaAvaliacao; + VRaptorRequestHolder.currentRequest().getServletContext() + .setAttribute(novaChave, webaxscore); } } @@ -323,29 +393,54 @@ public class AvaliacaoController { this.detalheAvaliacao.inicializar(avaliacaoBusiness.retornarCriterios(checker.check()), errorsWarningsCss, errorsWarningsHtml); + VRaptorRequestHolder.currentRequest().getServletContext() .setAttribute("resultadoAvaliacao", checker.checkSumarized()); + novaChave = "resultadoAvaliacao" + chaveIdentificaAvaliacao; + VRaptorRequestHolder.currentRequest().getServletContext() + .setAttribute(novaChave, checker.checkSumarized()); + VRaptorRequestHolder.currentRequest().getServletContext().setAttribute("urlAvaliada", url); + novaChave = "urlAvaliada" + chaveIdentificaAvaliacao; + VRaptorRequestHolder.currentRequest().getServletContext().setAttribute(novaChave, url); + VRaptorRequestHolder.currentRequest().getServletContext() .setAttribute("contentLenght", pagina.getContentLength()); + novaChave = "contentLenght" + chaveIdentificaAvaliacao; + VRaptorRequestHolder.currentRequest().getServletContext() + .setAttribute(novaChave, pagina.getContentLength()); + VRaptorRequestHolder.currentRequest().getServletContext().setAttribute("notaAvaliacao", nota); + novaChave = "notaAvaliacao" + chaveIdentificaAvaliacao; + VRaptorRequestHolder.currentRequest().getServletContext().setAttribute(novaChave, nota); // Seta o valor do t�tulo no template tituloPagina = "Resumo de avaliação por URI - ASES"; VRaptorRequestHolder.currentRequest().getServletContext() .setAttribute("tituloPagina", tituloPagina); + novaChave = "tituloPagina" + chaveIdentificaAvaliacao; + VRaptorRequestHolder.currentRequest().getServletContext() + .setAttribute(novaChave, tituloPagina); + VRaptorRequestHolder.currentRequest().getServletContext() .setAttribute("titulosite", tituloSite); + novaChave = "titulosite" + chaveIdentificaAvaliacao; + VRaptorRequestHolder.currentRequest().getServletContext().setAttribute(novaChave, tituloSite); + this.dataHoraAvaliacao = (String) DateUtil.dataHoraAtual(); VRaptorRequestHolder.currentRequest().getServletContext() .setAttribute("data", dataHoraAvaliacao); + novaChave = "data" + chaveIdentificaAvaliacao; + VRaptorRequestHolder.currentRequest().getServletContext() + .setAttribute(novaChave, dataHoraAvaliacao); + avisosFerramentasHtmlCssW3c = new ArrayList(); validarFerramenta_cssnoAr(errorsWarningsCss); @@ -354,12 +449,20 @@ public class AvaliacaoController { VRaptorRequestHolder.currentRequest().getServletContext() .setAttribute("avisosFerramentasHtmlCssW3c", avisosFerramentasHtmlCssW3c); + novaChave = "avisosFerramentasHtmlCssW3c" + chaveIdentificaAvaliacao; + VRaptorRequestHolder.currentRequest().getServletContext() + .setAttribute(novaChave, avisosFerramentasHtmlCssW3c); + } else { // Atribui �ncora para as mensagens de erros dos campos vazios ancoraCampoVazio = "url"; VRaptorRequestHolder.currentRequest().getServletContext() .setAttribute("ancoraCampoVazio", ancoraCampoVazio); + novaChave = "ancoraCampoVazio" + chaveIdentificaAvaliacao; + VRaptorRequestHolder.currentRequest().getServletContext() + .setAttribute(novaChave, ancoraCampoVazio); + this.validator = validate.getMessage(); this.validator.onErrorUsePageOf(IndexController.class).index(); } @@ -385,17 +488,20 @@ public class AvaliacaoController { @Get("/relatorioavaliacao") @Post("/relatorioavaliacao") - public FileDownload relatorioAvaliacao(int tiporel) { + public FileDownload relatorioAvaliacao(int tiporel, String chaveAvaliacao) { + novaChave = "resultadoAvaliacao" + chaveAvaliacao; List checkerList = (List) VRaptorRequestHolder.currentRequest().getServletContext() - .getAttribute("resultadoAvaliacao"); + .getAttribute(novaChave); + + novaChave = "urlAvaliada" + chaveAvaliacao; String urlAvaliada = - (String) VRaptorRequestHolder.currentRequest().getServletContext() - .getAttribute("urlAvaliada"); + (String) VRaptorRequestHolder.currentRequest().getServletContext().getAttribute(novaChave); + + novaChave = "contentLenght" + chaveAvaliacao; String contentLenght = - (String) VRaptorRequestHolder.currentRequest().getServletContext() - .getAttribute("contentLenght"); + (String) VRaptorRequestHolder.currentRequest().getServletContext().getAttribute(novaChave); this.sumarizarResultasNoResponse(checkerList, result); // ================================================ GERAR RELAT�RIO @@ -410,9 +516,9 @@ public class AvaliacaoController { Nota nota = null; if (!this.sem_nota.equalsIgnoreCase("sem_nota")) { + novaChave = "notaAvaliacao" + chaveAvaliacao; nota = - (Nota) VRaptorRequestHolder.currentRequest().getServletContext() - .getAttribute("notaAvaliacao"); + (Nota) VRaptorRequestHolder.currentRequest().getServletContext().getAttribute(novaChave); map.put("pPercentualAses", nota.getValor()); } else { @@ -426,16 +532,21 @@ public class AvaliacaoController { Matcher mm = pp.matcher(urlAvaliada.toLowerCase()); if (mm.find()) - map.put("pTitulo", - VRaptorRequestHolder.currentRequest().getServletContext().getAttribute("titulosite")); + novaChave = "titulosite" + chaveAvaliacao; + map.put("pTitulo", + VRaptorRequestHolder.currentRequest().getServletContext().getAttribute(novaChave)); } else - map.put("pTitulo", - VRaptorRequestHolder.currentRequest().getServletContext().getAttribute("titulosite")); + novaChave = "titulosite" + chaveAvaliacao; + map.put("pTitulo", + VRaptorRequestHolder.currentRequest().getServletContext().getAttribute(novaChave)); + + map.put("pTamanho", contentLenght + " Bytes"); + novaChave = "data" + chaveAvaliacao; dataHoraAvaliacao = - (String) VRaptorRequestHolder.currentRequest().getServletContext().getAttribute("data"); + (String) VRaptorRequestHolder.currentRequest().getServletContext().getAttribute(novaChave); map.put("pDataHoraAvaliacao", dataHoraAvaliacao); // Obtem Resumo da Avaliação @@ -548,31 +659,63 @@ public class AvaliacaoController { VRaptorRequestHolder.currentRequest().getServletContext() .setAttribute("resultadoAvaliacao", checker.checkSumarized()); + + novaChave = "resultadoAvaliacao" + chaveIdentificaAvaliacao; + VRaptorRequestHolder.currentRequest().getServletContext() + .setAttribute(novaChave, checker.checkSumarized()); + VRaptorRequestHolder.currentRequest().getServletContext().setAttribute("urlAvaliada", ""); + + novaChave = "urlAvaliada" + chaveIdentificaAvaliacao; + VRaptorRequestHolder.currentRequest().getServletContext().setAttribute(novaChave, ""); + VRaptorRequestHolder.currentRequest().getServletContext() .setAttribute("contentLenght", String.valueOf(html.getBytes("UTF-8").length)); - VRaptorRequestHolder.currentRequest().getServletContext().setAttribute("notaAvaliacao", nota); + + novaChave = "notaAvaliacao" + chaveIdentificaAvaliacao; + VRaptorRequestHolder.currentRequest().getServletContext() + .setAttribute("contentLenght", String.valueOf(html.getBytes("UTF-8").length)); + VRaptorRequestHolder.currentRequest().getServletContext().setAttribute(novaChave, nota); // Seta o valor do t�tulo no template tituloPagina = "Resumo de avaliação por código fonte - ASES"; VRaptorRequestHolder.currentRequest().getServletContext() .setAttribute("tituloPagina", tituloPagina); + + novaChave = "tituloPagina" + chaveIdentificaAvaliacao; + VRaptorRequestHolder.currentRequest().getServletContext() + .setAttribute(novaChave, tituloPagina); + result.of(this).avaliar(null, mark, content, presentation, multimedia, form, behavior, tiporel); VRaptorRequestHolder.currentRequest().getServletContext() .setAttribute("titulosite", tituloSite); + novaChave = "titulosite" + chaveIdentificaAvaliacao; + VRaptorRequestHolder.currentRequest().getServletContext().setAttribute(novaChave, tituloSite); + this.dataHoraAvaliacao = (String) DateUtil.dataHoraAtual(); + + VRaptorRequestHolder.currentRequest().getServletContext() .setAttribute("data", dataHoraAvaliacao); + novaChave = "data" + chaveIdentificaAvaliacao; + VRaptorRequestHolder.currentRequest().getServletContext() + .setAttribute(novaChave, dataHoraAvaliacao); + } else { // Atribui �ncora para as mensagens de erros dos campos vazios ancoraCampoVazio = "input"; + VRaptorRequestHolder.currentRequest().getServletContext() .setAttribute("ancoraCampoVazio", ancoraCampoVazio); + novaChave = "ancoraCampoVazio" + chaveIdentificaAvaliacao; + VRaptorRequestHolder.currentRequest().getServletContext() + .setAttribute(novaChave, ancoraCampoVazio); + this.validator = validate.getMessage(); this.validator.onErrorUsePageOf(IndexController.class).index(); } @@ -659,12 +802,15 @@ public class AvaliacaoController { result.include("detalhe", this.detalheAvaliacao.get(rn, type)); } - @Path("/detalhes-avaliacao/{rn}/{type}") - public void detalhesAvaliacao(OccurrenceKey rn, boolean type) { + @Path("/detalhes-avaliacao/{rn}/{type}/{chaveAvaliacao}") + public void detalhesAvaliacao(OccurrenceKey rn, boolean type, String chaveAvaliacao) { String url = ""; tituloPagina = "Detalhes da avalição - ASES"; - VRaptorRequestHolder.currentRequest().getServletContext() - .setAttribute("tituloPagina", tituloPagina); + + result.include("chaveIdentificaAvaliacao", chaveAvaliacao); + + novaChave = chaveIdentificaAvaliacao + "tituloPagina"; + VRaptorRequestHolder.currentRequest().getServletContext().setAttribute(novaChave, tituloPagina); List listOcorrencias = this.detalheAvaliacao.get(rn, type).getOcorrencias(); @@ -688,9 +834,10 @@ public class AvaliacaoController { result.include("qtdOcorrenciasHtml", this.detalheAvaliacao.getWarningsHtml()); } + novaChave = "resultadoAvaliacao" + chaveAvaliacao; List ob = (List) VRaptorRequestHolder.currentRequest().getServletContext() - .getAttribute("resultadoAvaliacao"); + .getAttribute(novaChave); String recomendacao = ""; @@ -704,8 +851,9 @@ public class AvaliacaoController { result.include("aReq", this.utilitiesProperties.get("notExibCrit")); result.include("aReqIsCss", this.utilitiesProperties.get("reqCss")); result.include("aReqIsW3c", this.utilitiesProperties.get("notExibCritW3c")); + novaChave = "urlAvaliada" + chaveAvaliacao; url = - VRaptorRequestHolder.currentRequest().getServletContext().getAttribute("urlAvaliada") + VRaptorRequestHolder.currentRequest().getServletContext().getAttribute(novaChave) .toString().replaceAll("(https://)|(http://)", ""); result.include("url", url); @@ -725,7 +873,8 @@ public class AvaliacaoController { } @Post("/exportar-detalhes-avaliacao") - public FileDownload exportarDetalhesAvaliacao(OccurrenceKey rn, int tiporel, boolean isError) { + public FileDownload exportarDetalhesAvaliacao(OccurrenceKey rn, int tiporel, boolean isError, + String chaveAvaliacao) { /* Cria um Map de parametros */ HashMap map = new HashMap(); @@ -763,9 +912,10 @@ public class AvaliacaoController { } map.put("codigoFonte", codigoFonte); + novaChave = "resultadoAvaliacao" + chaveAvaliacao; List ob = (List) VRaptorRequestHolder.currentRequest().getServletContext() - .getAttribute("resultadoAvaliacao"); + .getAttribute(novaChave); String recomendacao = ""; for (SummarizedOccurrence occurrence : ob) { @@ -811,216 +961,323 @@ public class AvaliacaoController { .setAttribute("mensagem_avaliacao", mensagem_avaliacao); } + + @Get("/servico-avaliacao-acessibilidade") @Post("/servico-avaliacao-acessibilidade") - public void servicoAvaliacaoAcessibilidade(@QueryParam("url") String url, String tipoSaida) { + public void servicoAvaliacaoAcessibilidade(@QueryParam("url") String url, String tipoSaida, + String codigoHash) { - //tipoSaida deve ser "json" ou "xml"; - try { + AvaliacaoAutomatica avaliacaoAutomatica = new AvaliacaoAutomatica(); + ErroWs erroWs = new ErroWs(); + this.dataHoraAvaliacao = (String) DateUtil.dataHoraAtual(); - xml = new StringBuffer(); - + WebChecker.PostParams postParams = + WebChecker.from(this.eseloProperties.getUrl("urlAutenticacaoServico")).withPostRequest(); + postParams.addParam("codigoHash", codigoHash); - Validate validate = new Validate(this.validator); - - if (validate.url(url)) { + Gson g = new GsonBuilder().create(); + Boolean usuarioAutorizado = g.fromJson(postParams.execute().getContent(), Boolean.class); + + // UsuarioServicoWeb usuario = g.fromJson(postParams.execute().getContent(), + // UsuarioServicoWeb.class); + // g.fromJson(content, UsuarioServicoWeb.class); - if (url.startsWith("www")) { - url = "http://" + url; - } + //xml = new StringBuffer(); - WebChecker pagina = WebChecker.from(url).withGetRequest().execute(); + if (usuarioAutorizado) { + // tipoSaida deve ser "json" ou "xml"; + try { - int[] errorsWarningsCss = avaliacaoBusiness.getErrorCount(true, url); - int[] errorsWarningsHtml = avaliacaoBusiness.getErrorCount(false, url); + Validate validate = new Validate(this.validator); - Checker checker = from(pagina.getContent(), url); + if (validate.url(url)) { - checker.with(marking()); - checker.with(content()); - checker.with(presentation()); - checker.with(multimedia()); - checker.with(form()); - checker.with(behavior()); + if (url.startsWith("www")) { + url = "http://" + url; + } - Pattern pp = Pattern.compile("(http://www.)?([a-z]*)(.)?"); - Matcher mm = pp.matcher(url.toLowerCase().replace("https", "http")); + WebChecker pagina = WebChecker.from(url).withGetRequest().execute(); - if (mm.find()) { - this.tituloSite = ""; - } + int[] errorsWarningsCss = avaliacaoBusiness.getErrorCount(true, url); + int[] errorsWarningsHtml = avaliacaoBusiness.getErrorCount(false, url); - ContentEvaluation conteudo = new ContentEvaluation(checker.getDocument()); + Checker checker = from(pagina.getContent(), url); - this.tituloSite = conteudo.retornarTituloSiteAvaliado(); + checker.with(marking()); + checker.with(content()); + checker.with(presentation()); + checker.with(multimedia()); + checker.with(form()); + checker.with(behavior()); - Nota nota = null; + Pattern pp = Pattern.compile("(http://www.)?([a-z]*)(.)?"); + Matcher mm = pp.matcher(url.toLowerCase().replace("https", "http")); - List>> mapaListaOcorrencias = - avaliacaoBusiness.retornarCriteriosTeste(checker.check()); + if (mm.find()) { + this.tituloSite = ""; + } - nota = avaliacaoBusiness.obterNotaEselo(checker.getDocument(), url, mapaListaOcorrencias); + ContentEvaluation conteudo = new ContentEvaluation(checker.getDocument()); - this.sumarizarResultasNoResponse(checker.checkSumarized(), result); + this.tituloSite = conteudo.retornarTituloSiteAvaliado(); - this.detalheAvaliacao.inicializar(avaliacaoBusiness.retornarCriterios(checker.check()), - errorsWarningsCss, errorsWarningsHtml); + Nota nota = null; + List>> mapaListaOcorrencias = + avaliacaoBusiness.retornarCriteriosTeste(checker.check()); - this.dataHoraAvaliacao = (String) DateUtil.dataHoraAtual(); - List checkSumarized = checker.checkSumarized(); + nota = avaliacaoBusiness.obterNotaEselo(checker.getDocument(), url, mapaListaOcorrencias); + + this.sumarizarResultasNoResponse(checker.checkSumarized(), result); + + this.detalheAvaliacao.inicializar(avaliacaoBusiness.retornarCriterios(checker.check()), + errorsWarningsCss, errorsWarningsHtml); + + + + List checkSumarized = checker.checkSumarized(); + + avisosFerramentasHtmlCssW3c = new ArrayList(); + List resumoErrosAvisos = obterResumoAvaliacao(); + + // pegar os dados e montar o xml + // List listOcorrencias; + // Occurrence detalhe; + OccurrenceKey rn = null; + boolean type = false; + // boolean criterioAdicionar = false; + // String criterioAdicionado = ""; + // String idCriterio = null; + int totalErros = 0; + int totalAvisos = 0; + + /*xml.append("\n"); + xml.append("\n"); + xml.append("\n"); + xml.append("" + this.tituloSite + "\n"); + xml.append("" + pagina.getContentLength() + "\n"); + xml.append("" + this.dataHoraAvaliacao + "\n"); + xml.append("\n"); + xml.append("\n"); + xml.append("" + nota.getValor() + "\n");*/ + + + + + + PaginaAvaliada paginaAvaliada = new PaginaAvaliada(); + + paginaAvaliada.setPagina(url); + paginaAvaliada.setTitulo(this.tituloSite); + paginaAvaliada.setTamanho(pagina.getContentLength()); + paginaAvaliada.setDataHora(this.dataHoraAvaliacao); + + avaliacaoAutomatica.setPaginaAvaliada(paginaAvaliada); + + ResumoAvaliacaoWs resumoAvaliacaoWs = new ResumoAvaliacaoWs(); + + resumoAvaliacaoWs.setNotaAvaliacao(nota.getValor()); + + + List lsSecao = new ArrayList(); + Secao secao; + + for (ResumoAvaliacao resumoAvaliacao : resumoErrosAvisos) { + + secao = new Secao(); - avisosFerramentasHtmlCssW3c = new ArrayList(); - List resumoErrosAvisos = obterResumoAvaliacao(); - - // pegar os dados e montar o xml - // List listOcorrencias; - // Occurrence detalhe; - OccurrenceKey rn = null; - boolean type = false; - // boolean criterioAdicionar = false; - // String criterioAdicionado = ""; - // String idCriterio = null; - int totalErros = 0; - int totalAvisos = 0; - - xml.append("\n"); - xml.append("\n"); - xml.append("\n"); - xml.append("" + this.tituloSite + "\n"); - xml.append("" + pagina.getContentLength() + "\n"); - xml.append("" + this.dataHoraAvaliacao + "\n"); - xml.append("\n"); - xml.append("\n"); - xml.append("" + nota.getValor() + "\n"); - - for (ResumoAvaliacao resumoAvaliacao : resumoErrosAvisos) { - - - xml.append(""); - xml.append("" + resumoAvaliacao.getTipo().getDescription() + "\n"); - xml.append("" + resumoAvaliacao.getQuantidadeErros() - + "\n"); - xml.append("" + resumoAvaliacao.getQuantidadeAvisos() - + "\n"); - xml.append("\n"); - - totalErros += resumoAvaliacao.getQuantidadeErros(); - totalAvisos += resumoAvaliacao.getQuantidadeAvisos(); - } + secao.setNome(resumoAvaliacao.getTipo().getDescription()); + secao.setQuantidadeErro(resumoAvaliacao.getQuantidadeErros()); + secao.setQuantidadeAviso(resumoAvaliacao.getQuantidadeAvisos()); + lsSecao.add(secao); + + /* xml.append(""); + xml.append("" + resumoAvaliacao.getTipo().getDescription() + "\n"); + xml.append("" + resumoAvaliacao.getQuantidadeErros() + + "\n"); + xml.append("" + resumoAvaliacao.getQuantidadeAvisos() + + "\n"); + xml.append("\n");*/ + + totalErros += resumoAvaliacao.getQuantidadeErros(); + totalAvisos += resumoAvaliacao.getQuantidadeAvisos(); + } + + resumoAvaliacaoWs.setSecao(lsSecao); + resumoAvaliacaoWs.setTotalErros(totalErros); + resumoAvaliacaoWs.setTotalAvisos(totalAvisos); + + avaliacaoAutomatica.setResumoAvaliacao(resumoAvaliacaoWs); + + + /*xml.append("" + totalErros + "\n"); + xml.append("" + totalAvisos + "\n"); + xml.append("\n");*/ + + String recomendacaoCompara = ""; + + List lsRecomendacaoAvaliacao = new ArrayList(); + + RecomendacaoAvaliacao recomendacaoAvaliacao = new RecomendacaoAvaliacao(); + + for (SummarizedOccurrence avaliacao : checkSumarized) { + rn = OccurrenceKey.valueOf(avaliacao.getCheckPoint()); + type = avaliacao.isError(); + + // if(!recomendacaoCompara.equalsIgnoreCase(avaliacao.getCheckPoint().toString())) + // { + if (!recomendacaoCompara.equalsIgnoreCase("")) { + lsRecomendacaoAvaliacao.add(recomendacaoAvaliacao); + recomendacaoAvaliacao = new RecomendacaoAvaliacao(); + //xml.append("\n"); + } + + + recomendacaoAvaliacao.setNumeroRecomendacao(avaliacao.getCheckPoint()); + recomendacaoAvaliacao.setErroRecomendacao(type); + recomendacaoAvaliacao.setDescricaoRecomendacao(avaliacao.getDescription()); + recomendacaoAvaliacao.setNumeroRecomendacao(avaliacao.getCheckPoint()); + recomendacaoAvaliacao.setLinhasCodigoFonteRecomendacao(avaliacao.getStringLines()); + recomendacaoAvaliacao.setQuantidadeRecomendacao(avaliacao.getNumberOfOccurrences()); + /* xml.append("\n"); + xml.append("" + avaliacao.getCheckPoint() + + "\n"); + xml.append("" + type + "\n"); + xml.append("" + avaliacao.getDescription() + + "\n"); + xml.append("" + avaliacao.getNumberOfOccurrences() + + "\n"); + xml.append("" + avaliacao.getStringLines() + + "\n");*/ + // } + + + List lsCriterioWs = new ArrayList(); + + // Critérios iniciam aqui - xml.append("" + totalErros + "\n"); - xml.append("" + totalAvisos + "\n"); - xml.append("\n"); + lsCriterioWs = criarRelatorioCriterios(rn, type); + + recomendacaoAvaliacao.setLsCriterio(lsCriterioWs); + + + // Critérios terminam aqui - String recomendacaoCompara = ""; - for (SummarizedOccurrence avaliacao : checkSumarized) { - rn = OccurrenceKey.valueOf(avaliacao.getCheckPoint()); - type = avaliacao.isError(); + recomendacaoCompara = avaliacao.getCheckPoint().toString(); + } + lsRecomendacaoAvaliacao.add(recomendacaoAvaliacao); + avaliacaoAutomatica.setLsRecomendacaoAvaliacao(lsRecomendacaoAvaliacao); + + //xml.append("\n"); + + // xml.append("\n"); + if (tipoSaida.equalsIgnoreCase("json")) { + result.use(Results.json()).withoutRoot().from(avaliacaoAutomatica).recursive().serialize(); + } else if (tipoSaida.equalsIgnoreCase("xml")) { + result.use(Results.xml()).from(avaliacaoAutomatica).recursive().serialize(); + } + + } else { + /* xml.append("\n"); + xml.append("\n"); + xml.append("\n"); + xml.append("" + this.tituloSite + "\n"); + xml.append("" + this.dataHoraAvaliacao + "\n"); + xml.append("\n"); + xml.append("Não foi possível avaliar essa URI"); + xml.append("\n");*/ + + + erroWs.setUrl(url); + erroWs.setDataHora(this.dataHoraAvaliacao); + erroWs.setMensagem("Não foi possível avaliar essa url."); + + if (tipoSaida.equalsIgnoreCase("json")) { + result.use(Results.json()).withoutRoot().from(erroWs).serialize(); + } else if (tipoSaida.equalsIgnoreCase("xml")) { + result.use(Results.xml()).from(erroWs).serialize(); + } - // if(!recomendacaoCompara.equalsIgnoreCase(avaliacao.getCheckPoint().toString())) - // { - if (!recomendacaoCompara.equalsIgnoreCase("")) { - xml.append("\n"); + // System.out.println("Enviar xml de erro"); + } + + + } catch (Exception e) { + /* xml.append("\n"); + xml.append("\n"); + xml.append("\n"); + xml.append("" + this.tituloSite + "\n"); + xml.append("" + this.dataHoraAvaliacao + "\n"); + xml.append("\n"); + xml.append("Não foi possível avaliar essa URI"); + xml.append("\n");*/ + + e.printStackTrace(); + + erroWs.setUrl(url); + erroWs.setDataHora(this.dataHoraAvaliacao); + erroWs.setMensagem(e.getMessage()); + + if (tipoSaida.equalsIgnoreCase("json")) { + result.use(Results.json()).withoutRoot().from(erroWs).serialize(); + } else if (tipoSaida.equalsIgnoreCase("xml")) { + result.use(Results.xml()).from(erroWs).serialize(); } - - xml.append("\n"); - xml.append("" + avaliacao.getCheckPoint() + "\n"); - xml.append("" + type + "\n"); - xml.append("" + avaliacao.getDescription() - + "\n"); - xml.append("" + avaliacao.getNumberOfOccurrences() - + "\n"); - xml.append("" + avaliacao.getStringLines() - + "\n"); - // } - - - - // Critérios iniciam aqui - - criarRelatorioCriterios(rn, type); - - // Critérios terminam aqui - - - recomendacaoCompara = avaliacao.getCheckPoint().toString(); } - - xml.append("\n"); - - xml.append("\n"); - + } else { - System.out.println("Enviar xml de erro"); - } + + erroWs.setUrl(url); + erroWs.setDataHora(this.dataHoraAvaliacao); + erroWs.setMensagem("Código hash não confere!"); + + if (tipoSaida.equalsIgnoreCase("json")) { + result.use(Results.json()).withoutRoot().from(erroWs).serialize(); + } else if (tipoSaida.equalsIgnoreCase("xml")) { + result.use(Results.xml()).from(erroWs).serialize(); + } + //xml.append("erro"); - if(tipoSaida.equalsIgnoreCase("json")) - { - JSONObject soapDatainJsonObject = XML.toJSONObject(xml.toString()); - result.include("saidaWebService", soapDatainJsonObject); - } - else if(tipoSaida.equalsIgnoreCase("xml")) - { - result.include("saidaWebService", xml); - } - } catch (Exception e) { - e.printStackTrace(); - result.include("saidaWebService", ""); } + } - public void criarRelatorioCriterios(OccurrenceKey rn, boolean isError) { + public List criarRelatorioCriterios(OccurrenceKey rn, boolean isError) { boolean recomendacao1_1_1Adicionada = false; boolean recomendacao1_1_2Adicionada = false; - - /* Cria um Map de parametros */ - // HashMap map = new HashMap(); - - // List list = this.detalheAvaliacao.get(rn,isError).getCriterios(); - - // List aReq = new ArrayList(); - // List index = new ArrayList(); - - // String[] crit = this.utilitiesProperties.get("notExibCrit").split(" "); - - // for (String c : crit) - // { - // aReq.add(c.trim()); - // } - - // List listCrit = this.detalheAvaliacao.get(rn, isError).getCriterios(); - - // List list = new ArrayList(); - - /* - * for (Criterio criterio : listCrit) { if (aReq.contains(rn.getCode() + "." + - * criterio.getId())) { criterio.setLinhas(new ArrayList()); } - * - * if (criterio.getId() != null) { list.add(criterio); } } - */ - + boolean recomendacao1_1_7Adicionada = false; + boolean recomendacao1_1_8Adicionada = false; + String codigoFonte = ""; String criterioCompara = ""; String numeroCriterio = ""; - - + List lsCriterioWs = new ArrayList(); + CriterioWs criterioWs; + + List lsCodigoFonteCriterio = new ArrayList(); + CodigoFonteCriterio codigoFonteCriterio = new CodigoFonteCriterio(); + for (Occurrence occurrence : this.detalheAvaliacao.get(rn, isError).getOcorrencias()) { - + criterioWs = new CriterioWs(); + numeroCriterio = occurrence.getCriterio(); // if (!aReq.contains(rn.getCode() + "." + numeroCriterio)) // { - - if (!rn.getCode().toString().equalsIgnoreCase("1.1") || !isError) { - if (rn.getCode().toString().equalsIgnoreCase("1.1") && numeroCriterio.equalsIgnoreCase("7")) { + + if (!rn.getCode().toString().equalsIgnoreCase("1.1") || !isError) { + if (rn.getCode().toString().equalsIgnoreCase("1.1") && numeroCriterio.equalsIgnoreCase("7") && !recomendacao1_1_7Adicionada) { + codigoFonte = "Serviço de validação de HTML do W3C"; + recomendacao1_1_7Adicionada = true; } else if (rn.getCode().toString().equalsIgnoreCase("1.1") - && numeroCriterio.equalsIgnoreCase("8")) { + && numeroCriterio.equalsIgnoreCase("8") && !recomendacao1_1_8Adicionada) { codigoFonte = "Serviço de validação de CSS do W3C"; + recomendacao1_1_8Adicionada = true; } else { codigoFonte = occurrence.getTag().replaceAll("<", "<").replaceAll(">", ">") @@ -1028,12 +1285,25 @@ public class AvaliacaoController { } if (!criterioCompara.equalsIgnoreCase(occurrence.getCriterio().toString())) { - if (!criterioCompara.equalsIgnoreCase("")) { - xml.append("\n"); + + if (!criterioCompara.equalsIgnoreCase("")) { + criterioWs.setCodigoFonteCriterio(lsCodigoFonteCriterio); + codigoFonteCriterio = new CodigoFonteCriterio(); + //xml.append("\n"); } - - xml.append("\n"); + criterioWs.setNumeroCriterio(numeroCriterio); + criterioWs.setNomeCriterio(criterioProperties.getDescricao(rn.getCode() + "." + numeroCriterio)); + criterioWs.setErroCriterio(occurrence.isError()); + criterioWs.setQuantidadeCriterio(verificaQuantidadeCriterio(rn, isError, numeroCriterio)); + + + codigoFonteCriterio.setNumeroLinha(occurrence.getLine()); + codigoFonteCriterio.setConteudoLinha(""); + lsCodigoFonteCriterio.add(codigoFonteCriterio); + + + /* xml.append("\n"); xml.append("" + numeroCriterio + "\n"); xml.append("" + criterioProperties.getDescricao(rn.getCode() + "." + numeroCriterio) @@ -1045,25 +1315,46 @@ public class AvaliacaoController { xml.append("\n"); xml.append("" + occurrence.getLine() + "\n"); xml.append("\n"); - xml.append("\n"); + xml.append("\n");*/ criterioCompara = occurrence.getCriterio(); } else { - xml.append("\n"); + codigoFonteCriterio = new CodigoFonteCriterio(); + codigoFonteCriterio.setNumeroLinha(occurrence.getLine()); + codigoFonteCriterio.setConteudoLinha("") + .replaceAll(" ", " ") + "]]>"); + lsCodigoFonteCriterio.add(codigoFonteCriterio); + + /*xml.append("\n"); xml.append("" + occurrence.getLine() + "\n"); xml.append("") .replaceAll(" ", " ") + "]]>\n"); - xml.append("\n"); + xml.append("\n");*/ } } else { if (numeroCriterio.equalsIgnoreCase("1") && !recomendacao1_1_1Adicionada) { + if (!criterioCompara.equalsIgnoreCase("")) { - xml.append("\n"); + criterioWs.setCodigoFonteCriterio(lsCodigoFonteCriterio); + codigoFonteCriterio = new CodigoFonteCriterio(); + //xml.append("\n"); } - xml.append("\n"); + + criterioWs.setNumeroCriterio(numeroCriterio); + criterioWs.setNomeCriterio(criterioProperties.getDescricao(rn.getCode() + "." + numeroCriterio)); + criterioWs.setErroCriterio(occurrence.isError()); + criterioWs.setQuantidadeCriterio(verificaQuantidadeCriterio(rn, isError, numeroCriterio)); + + // codigoFonteCriterio = new CodigoFonteCriterio(); + codigoFonteCriterio.setNumeroLinha(occurrence.getLine()); + codigoFonteCriterio.setConteudoLinha("Serviço de validação de HTML do W3C"); + lsCodigoFonteCriterio.add(codigoFonteCriterio); + + /*xml.append("\n"); xml.append("" + numeroCriterio + "\n"); xml.append("" + criterioProperties.getDescricao(rn.getCode() + "." + numeroCriterio) @@ -1075,7 +1366,7 @@ public class AvaliacaoController { xml.append("\n"); xml.append("" + occurrence.getLine() + "\n"); xml.append("Serviço de validação de HTML do W3C\n"); - xml.append("\n"); + xml.append("\n");*/ criterioCompara = occurrence.getCriterio(); recomendacao1_1_1Adicionada = true; @@ -1083,11 +1374,22 @@ public class AvaliacaoController { if (numeroCriterio.equalsIgnoreCase("2") && !recomendacao1_1_2Adicionada) { if (!criterioCompara.equalsIgnoreCase("")) { - - xml.append("\n"); + criterioWs.setCodigoFonteCriterio(lsCodigoFonteCriterio); + codigoFonteCriterio = new CodigoFonteCriterio(); + //xml.append("\n"); } - xml.append("\n"); + criterioWs.setNumeroCriterio(numeroCriterio); + criterioWs.setNomeCriterio(criterioProperties.getDescricao(rn.getCode() + "." + numeroCriterio)); + criterioWs.setErroCriterio(occurrence.isError()); + criterioWs.setQuantidadeCriterio(verificaQuantidadeCriterio(rn, isError, numeroCriterio)); + + //codigoFonteCriterio = new CodigoFonteCriterio(); + codigoFonteCriterio.setNumeroLinha(occurrence.getLine()); + codigoFonteCriterio.setConteudoLinha("Serviço de validação de CSS do W3C"); + lsCodigoFonteCriterio.add(codigoFonteCriterio); + + /* xml.append("\n"); xml.append("" + numeroCriterio + "\n"); xml.append("" + criterioProperties.getDescricao(rn.getCode() + "." + numeroCriterio) @@ -1099,17 +1401,24 @@ public class AvaliacaoController { xml.append("\n"); xml.append("" + occurrence.getLine() + "\n"); xml.append("Serviço de validação de CSS do W3C\n"); - xml.append("\n"); + xml.append("\n");*/ criterioCompara = occurrence.getCriterio(); recomendacao1_1_2Adicionada = true; } + } + if(lsCodigoFonteCriterio.size() > 0) + { + criterioWs.setCodigoFonteCriterio(lsCodigoFonteCriterio); + lsCodigoFonteCriterio = new ArrayList(); + lsCriterioWs.add(criterioWs); } // } } - - xml.append("\n"); + //xml.append("\n"); + return lsCriterioWs; + } @@ -1124,7 +1433,7 @@ public class AvaliacaoController { } return quantidadeCriterios; - + } } diff --git a/src/main/java/br/com/ases/controller/ContatoController.java b/src/main/java/br/com/ases/controller/ContatoController.java index f2bb40d..b88833c 100644 --- a/src/main/java/br/com/ases/controller/ContatoController.java +++ b/src/main/java/br/com/ases/controller/ContatoController.java @@ -35,7 +35,7 @@ public class ContatoController { this.validator = validator; this.application = application; - // Seta o título da página + // Seta o t�tulo da p�gina VRaptorRequestHolder.currentRequest().getServletContext() .setAttribute("tituloPagina", tituloPagina); } @@ -70,7 +70,7 @@ public class ContatoController { } else { result.include("mensagem", - "Não foi possível enviar a mensagem! Ocorreu o problema: " + respSendEmail); + "N�o foi poss�vel enviar a mensagem! Ocorreu o problema: " + respSendEmail); result.include("status", "error"); } diff --git a/src/main/java/br/com/ases/controller/EseloController.java b/src/main/java/br/com/ases/controller/EseloController.java index 45d439a..9920165 100644 --- a/src/main/java/br/com/ases/controller/EseloController.java +++ b/src/main/java/br/com/ases/controller/EseloController.java @@ -76,5 +76,60 @@ public class EseloController { } + + public class UsuarioServicoWeb + { + public UsuarioServicoWeb() + { + + } + private int idUsuarioServicoWeb; + private String nomeUsuarioServico; + private String codigoHash; + private boolean usuarioAtivo; + private String dataAtivacao; + private String dataDesativacao; + + public int getIdUsuarioServicoWeb() { + return idUsuarioServicoWeb; + } + public void setIdUsuarioServicoWeb(int idUsuarioServicoWeb) { + this.idUsuarioServicoWeb = idUsuarioServicoWeb; + } + public String getNomeUsuarioServico() { + return nomeUsuarioServico; + } + public void setNomeUsuarioServico(String nomeUsuarioServico) { + this.nomeUsuarioServico = nomeUsuarioServico; + } + public String getCodigoHash() { + return codigoHash; + } + public void setCodigoHash(String codigoHash) { + this.codigoHash = codigoHash; + } + public boolean isUsuarioAtivo() { + return usuarioAtivo; + } + public void setUsuarioAtivo(boolean usuarioAtivo) { + this.usuarioAtivo = usuarioAtivo; + } + public String getDataAtivacao() { + return dataAtivacao; + } + public void setDataAtivacao(String dataAtivacao) { + this.dataAtivacao = dataAtivacao; + } + public String getDataDesativacao() { + return dataDesativacao; + } + public void setDataDesativacao(String dataDesativacao) { + this.dataDesativacao = dataDesativacao; + } + + + + + } } diff --git a/src/main/java/br/com/ases/infra/WebChecker.java b/src/main/java/br/com/ases/infra/WebChecker.java index 61aacc0..cbc6861 100644 --- a/src/main/java/br/com/ases/infra/WebChecker.java +++ b/src/main/java/br/com/ases/infra/WebChecker.java @@ -118,6 +118,15 @@ public class WebChecker { return webChecker; } + @SuppressWarnings("deprecation") + public WebChecker executeUsuario(String codigoHash){ + this.post.setRequestBody(codigoHash); + this.webChecker.setMethod(post); + this.webChecker.setRequestHeader("user-agent", "Mozilla/5.0"); + this.webChecker.execute(); + return webChecker; + } + } diff --git a/src/main/java/br/com/ases/model/utilities/DateUtil.java b/src/main/java/br/com/ases/model/utilities/DateUtil.java index a6b29b9..c3a3b00 100644 --- a/src/main/java/br/com/ases/model/utilities/DateUtil.java +++ b/src/main/java/br/com/ases/model/utilities/DateUtil.java @@ -11,4 +11,9 @@ public class DateUtil { DateFormat dateFormat = new SimpleDateFormat("dd/MM/yyyy HH:mm:ss"); return dateFormat.format(new Date()); } + + public static String dataHoraMinutoAtual() { + DateFormat dateFormat = new SimpleDateFormat("dd/MM/yyyy HH:mm:ss.SS"); + return dateFormat.format(new Date()); + } } diff --git a/src/main/java/br/com/ases/model/utilities/Email.java b/src/main/java/br/com/ases/model/utilities/Email.java index 18bfeba..4858446 100644 --- a/src/main/java/br/com/ases/model/utilities/Email.java +++ b/src/main/java/br/com/ases/model/utilities/Email.java @@ -1,19 +1,18 @@ package br.com.ases.model.utilities; import java.io.IOException; -import java.net.MalformedURLException; +import java.net.MalformedURLException; import java.util.Date; import java.util.Properties; -import lombok.AccessLevel; import lombok.Getter; -import net.htmlparser.jericho.Source; -import org.apache.commons.mail.EmailAttachment; -import org.apache.commons.mail.EmailException; + +import org.apache.commons.mail.EmailAttachment; +import org.apache.commons.mail.EmailException; import org.apache.commons.mail.HtmlEmail; -import org.apache.commons.mail.MultiPartEmail; - +import org.apache.commons.mail.MultiPartEmail; + /** * @category utilities @@ -83,9 +82,9 @@ public class Email { this.email.setSubject(assunto); // assunto do e-mail if(isHtml) - this.email.setContent("

Olá, "+nomeRemetente+" enviou a seguinte mensagem:

\n "+mensagem, "text/html"); + this.email.setContent("

Ol�, "+nomeRemetente+" enviou a seguinte mensagem:

\n "+mensagem, "text/html"); else - this.email.setMsg("

Olá, "+nomeRemetente+" enviou a seguinte mensagem:

\n "+mensagem); //conteudo do e-mail + this.email.setMsg("

Ol�, "+nomeRemetente+" enviou a seguinte mensagem:

\n "+mensagem); //conteudo do e-mail this.email.setSentDate(new Date()); diff --git a/src/main/java/br/com/ases/ws/model/AvaliacaoAutomatica.java b/src/main/java/br/com/ases/ws/model/AvaliacaoAutomatica.java new file mode 100644 index 0000000..bb3dd11 --- /dev/null +++ b/src/main/java/br/com/ases/ws/model/AvaliacaoAutomatica.java @@ -0,0 +1,39 @@ +package br.com.ases.ws.model; + +import java.util.List; + +import com.thoughtworks.xstream.annotations.XStreamAlias; + +import br.com.ases.ws.model.RecomendacaoAvaliacao; + +@XStreamAlias("avaliacao-automatica") +public class AvaliacaoAutomatica { + + @XStreamAlias("pagina-avaliada") + private PaginaAvaliada paginaAvaliada; + @XStreamAlias("resumo-avaliacao") + private ResumoAvaliacaoWs resumoAvaliacao; + @XStreamAlias("avaliacoes") + private List lsAvaliacoes; + + public PaginaAvaliada getPaginaAvaliada() { + return paginaAvaliada; + } + public void setPaginaAvaliada(PaginaAvaliada paginaAvaliada) { + this.paginaAvaliada = paginaAvaliada; + } + public ResumoAvaliacaoWs getResumoAvaliacao() { + return resumoAvaliacao; + } + public void setResumoAvaliacao(ResumoAvaliacaoWs resumoAvaliacao) { + this.resumoAvaliacao = resumoAvaliacao; + } + public List getLsRecomendacaoAvaliacao() { + return lsAvaliacoes; + } + public void setLsRecomendacaoAvaliacao(List lsRecomendacaoAvaliacao) { + this.lsAvaliacoes = lsRecomendacaoAvaliacao; + } + + +} diff --git a/src/main/java/br/com/ases/ws/model/CodigoFonteCriterio.java b/src/main/java/br/com/ases/ws/model/CodigoFonteCriterio.java new file mode 100644 index 0000000..47cf766 --- /dev/null +++ b/src/main/java/br/com/ases/ws/model/CodigoFonteCriterio.java @@ -0,0 +1,28 @@ +package br.com.ases.ws.model; + +import com.thoughtworks.xstream.annotations.XStreamAlias; + +@XStreamAlias("codigo-fonte-criterio") +public class CodigoFonteCriterio { + + @XStreamAlias("numero-linha") + private Integer numeroLinha; + @XStreamAlias("conteudo-linha") + private String conteudoLinha; + + + public Integer getNumeroLinha() { + return numeroLinha; + } + public void setNumeroLinha(Integer numeroLinha) { + this.numeroLinha = numeroLinha; + } + public String getConteudoLinha() { + return conteudoLinha; + } + public void setConteudoLinha(String conteudoLinha) { + this.conteudoLinha = conteudoLinha; + } + + +} diff --git a/src/main/java/br/com/ases/ws/model/CriterioWs.java b/src/main/java/br/com/ases/ws/model/CriterioWs.java new file mode 100644 index 0000000..ea6b410 --- /dev/null +++ b/src/main/java/br/com/ases/ws/model/CriterioWs.java @@ -0,0 +1,63 @@ +package br.com.ases.ws.model; + +import java.util.List; + +import com.thoughtworks.xstream.annotations.XStreamAlias; +import com.thoughtworks.xstream.annotations.XStreamAsAttribute; + +@XStreamAlias("ciriterio") +public class CriterioWs { + + @XStreamAlias("numero-criterio") + private String numeroCriterio; + @XStreamAlias("nome-criterio") + private String nomeCriterio; + @XStreamAlias("erro-criterio") + private String erroCriterio; + @XStreamAlias("quantidade-criterio") + private Integer quantidadeCriterio; + + @XStreamAlias("codigo-fonte") + private List codigoFonteCriterio; + + public String getNumeroCriterio() { + return numeroCriterio; + } + public void setNumeroCriterio(String numeroCriterio) { + this.numeroCriterio = numeroCriterio; + } + public String getNomeCriterio() { + return nomeCriterio; + } + public void setNomeCriterio(String nomeCriterio) { + this.nomeCriterio = nomeCriterio; + } + + public String getErroCriterio() { + return erroCriterio; + } + public void setErroCriterio(Boolean erroCriterio) { + if(erroCriterio) + { + this.erroCriterio = "true"; + } + else + { + this.erroCriterio = "false"; + } + } + public Integer getQuantidadeCriterio() { + return quantidadeCriterio; + } + public void setQuantidadeCriterio(Integer quantidadeCriterio) { + this.quantidadeCriterio = quantidadeCriterio; + } + public List getCodigoFonteCriterio() { + return codigoFonteCriterio; + } + public void setCodigoFonteCriterio(List codigoFonteCriterio) { + this.codigoFonteCriterio = codigoFonteCriterio; + } + + +} diff --git a/src/main/java/br/com/ases/ws/model/ErroWs.java b/src/main/java/br/com/ases/ws/model/ErroWs.java new file mode 100644 index 0000000..baff9e1 --- /dev/null +++ b/src/main/java/br/com/ases/ws/model/ErroWs.java @@ -0,0 +1,34 @@ +package br.com.ases.ws.model; + +import com.thoughtworks.xstream.annotations.XStreamAlias; + +public class ErroWs { + + + private String url; + @XStreamAlias("data-hora") + private String dataHora; + private String mensagem; + + + public String getUrl() { + return url; + } + public void setUrl(String url) { + this.url = url; + } + public String getDataHora() { + return dataHora; + } + public void setDataHora(String dataHora) { + this.dataHora = dataHora; + } + public String getMensagem() { + return mensagem; + } + public void setMensagem(String mensagem) { + this.mensagem = mensagem; + } + + +} diff --git a/src/main/java/br/com/ases/ws/model/PaginaAvaliada.java b/src/main/java/br/com/ases/ws/model/PaginaAvaliada.java new file mode 100644 index 0000000..853c2a3 --- /dev/null +++ b/src/main/java/br/com/ases/ws/model/PaginaAvaliada.java @@ -0,0 +1,43 @@ +package br.com.ases.ws.model; + +import com.thoughtworks.xstream.annotations.XStreamAlias; + + +public class PaginaAvaliada { + + private String pagina; + private String titulo; + private String tamanho; + @XStreamAlias("data-hora") + private String dataHora; + + + + public String getPagina() { + return pagina; + } + public void setPagina(String pagina) { + this.pagina = pagina; + } + public String getTitulo() { + return titulo; + } + public void setTitulo(String titulo) { + this.titulo = titulo; + } + public String getTamanho() { + return tamanho; + } + public void setTamanho(String string) { + this.tamanho = string; + } + public String getDataHora() { + return dataHora; + } + public void setDataHora(String dataHora) { + this.dataHora = dataHora; + } + + + +} diff --git a/src/main/java/br/com/ases/ws/model/RecomendacaoAvaliacao.java b/src/main/java/br/com/ases/ws/model/RecomendacaoAvaliacao.java new file mode 100644 index 0000000..83b4f87 --- /dev/null +++ b/src/main/java/br/com/ases/ws/model/RecomendacaoAvaliacao.java @@ -0,0 +1,71 @@ +package br.com.ases.ws.model; + +import java.util.List; + +import com.thoughtworks.xstream.annotations.XStreamAlias; + +@XStreamAlias("recomendacao-avaliacao") +public class RecomendacaoAvaliacao { + + @XStreamAlias("numero-recomendacao") + private String numeroRecomendacao; + @XStreamAlias("erro-recomendacao") + private String erroRecomendacao; + @XStreamAlias("descricao-recomendacao") + private String descricaoRecomendacao; + @XStreamAlias("quantidade-recomendacao") + private String quantidadeRecomendacao; + @XStreamAlias("linhas-codigo-fonte-recomendacao") + private String linhasCodigoFonteRecomendacao; + + private List criterios; + + public String getNumeroRecomendacao() { + return numeroRecomendacao; + } + public void setNumeroRecomendacao(String numeroRecomendacao) { + this.numeroRecomendacao = numeroRecomendacao; + } + + public String getErroRecomendacao() { + return erroRecomendacao; + } + public void setErroRecomendacao(Boolean erroRecomendacao) { + if(erroRecomendacao) + { + this.erroRecomendacao = "true"; + } + else + { + this.erroRecomendacao = "false"; + } + } + public String getDescricaoRecomendacao() { + return descricaoRecomendacao; + } + public void setDescricaoRecomendacao(String descricaoRecomendacao) { + this.descricaoRecomendacao = descricaoRecomendacao; + } + + + public String getQuantidadeRecomendacao() { + return quantidadeRecomendacao; + } + public void setQuantidadeRecomendacao(String quantidadeRecomendacao) { + this.quantidadeRecomendacao = quantidadeRecomendacao; + } + public String getLinhasCodigoFonteRecomendacao() { + return linhasCodigoFonteRecomendacao; + } + public void setLinhasCodigoFonteRecomendacao(String linhasCodigoFonteRecomendacao) { + this.linhasCodigoFonteRecomendacao = linhasCodigoFonteRecomendacao; + } + public List getLsCriterio() { + return criterios; + } + public void setLsCriterio(List lsCriterio) { + this.criterios = lsCriterio; + } + + +} diff --git a/src/main/java/br/com/ases/ws/model/ResumoAvaliacaoWs.java b/src/main/java/br/com/ases/ws/model/ResumoAvaliacaoWs.java new file mode 100644 index 0000000..d2ee8f9 --- /dev/null +++ b/src/main/java/br/com/ases/ws/model/ResumoAvaliacaoWs.java @@ -0,0 +1,42 @@ +package br.com.ases.ws.model; + +import java.util.List; + +import com.thoughtworks.xstream.annotations.XStreamAlias; + +public class ResumoAvaliacaoWs { + + @XStreamAlias("nota-avaliacao") + private String notaAvaliacao; + private List secao; + @XStreamAlias("total-erros") + private Integer totalErros; + @XStreamAlias("total-avisos") + private Integer totalAvisos; + + public String getNotaAvaliacao() { + return notaAvaliacao; + } + public void setNotaAvaliacao(String string) { + this.notaAvaliacao = string; + } + + public List getSecao() { + return secao; + } + public void setSecao(List secao) { + this.secao = secao; + } + public Integer getTotalErros() { + return totalErros; + } + public void setTotalErros(Integer totalErros) { + this.totalErros = totalErros; + } + public Integer getTotalAvisos() { + return totalAvisos; + } + public void setTotalAvisos(Integer totalAvisos) { + this.totalAvisos = totalAvisos; + } +} diff --git a/src/main/java/br/com/ases/ws/model/Secao.java b/src/main/java/br/com/ases/ws/model/Secao.java new file mode 100644 index 0000000..2145d77 --- /dev/null +++ b/src/main/java/br/com/ases/ws/model/Secao.java @@ -0,0 +1,28 @@ +package br.com.ases.ws.model; + +public class Secao { + + private String nome; + private Integer quantidadeErro; + private Integer quantidadeAviso; + + public String getNome() { + return nome; + } + public void setNome(String nome) { + this.nome = nome; + } + public Integer getQuantidadeErro() { + return quantidadeErro; + } + public void setQuantidadeErro(Integer quantidadeErro) { + this.quantidadeErro = quantidadeErro; + } + public Integer getQuantidadeAviso() { + return quantidadeAviso; + } + public void setQuantidadeAviso(Integer quantidadeAviso) { + this.quantidadeAviso = quantidadeAviso; + } + +} -- libgit2 0.21.2