From 5be08831a7ee160f60eb29c0bd74b7d66b8d99ac Mon Sep 17 00:00:00 2001 From: 96409975520 <96409975520@STI-171301.mp.intra> Date: Mon, 10 Apr 2017 13:11:44 -0300 Subject: [PATCH] Serviço de entrega do resultado da consulta da avaliação. --- Desenvolvimento/Codificacao/e-Selo/WebContent/WEB-INF/web.xml | 18 +++++++++++++++--- Desenvolvimento/Codificacao/e-Selo/src/main/java/br/com/eselo/controller/AvaliacaoController.java | 306 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- Desenvolvimento/Codificacao/e-Selo/src/main/java/br/com/eselo/controller/arquivosHtmlController.java | 5 ----- 3 files changed, 101 insertions(+), 228 deletions(-) diff --git a/Desenvolvimento/Codificacao/e-Selo/WebContent/WEB-INF/web.xml b/Desenvolvimento/Codificacao/e-Selo/WebContent/WEB-INF/web.xml index d0981b5..c19bfbe 100644 --- a/Desenvolvimento/Codificacao/e-Selo/WebContent/WEB-INF/web.xml +++ b/Desenvolvimento/Codificacao/e-Selo/WebContent/WEB-INF/web.xml @@ -50,19 +50,31 @@ 2 - + + + CorsFilter + org.apache.catalina.filters.CorsFilter + + cors.support.credentials + false + + + + CorsFilter + /buscar-avaliacao/* + + vraptor br.com.caelum.vraptor.VRaptor - vraptor /* FORWARD REQUEST - + \ No newline at end of file diff --git a/Desenvolvimento/Codificacao/e-Selo/src/main/java/br/com/eselo/controller/AvaliacaoController.java b/Desenvolvimento/Codificacao/e-Selo/src/main/java/br/com/eselo/controller/AvaliacaoController.java index 6d82880..ab07bdc 100644 --- a/Desenvolvimento/Codificacao/e-Selo/src/main/java/br/com/eselo/controller/AvaliacaoController.java +++ b/Desenvolvimento/Codificacao/e-Selo/src/main/java/br/com/eselo/controller/AvaliacaoController.java @@ -18,8 +18,11 @@ import java.io.UnsupportedEncodingException; import java.net.MalformedURLException; import java.text.SimpleDateFormat; import java.util.ArrayList; +import java.util.Collection; +import java.util.Collections; import java.util.Date; import java.util.List; +import java.util.Map; import java.util.Properties; import javax.imageio.ImageIO; @@ -51,6 +54,7 @@ import br.com.eselo.dao.ParametroCalculoDAO; import br.com.eselo.dao.RecomendacaoDAO; import br.com.eselo.dao.ResultadoCriterioDao; import br.com.eselo.dao.ResultadoRecomendacaoDao; +import br.com.eselo.dao.SitioDAO; import br.com.eselo.dao.UrlDAO; import br.com.eselo.integracao.CriterioAvaliado; import br.com.eselo.integracao.RecomendacaoAvaliada; @@ -63,6 +67,7 @@ import br.com.eselo.model.Recomendacao; import br.com.eselo.model.ResultadoCriterio; import br.com.eselo.model.ResultadoRecomendacao; import br.com.eselo.model.ResumoAvaliacao; +import br.com.eselo.model.Sitio; import br.com.eselo.model.Url; import com.google.gson.Gson; @@ -77,6 +82,7 @@ public class AvaliacaoController { private final UrlDAO daoUrl; private final ParametroCalculoDAO paramDao; private final AvaliacaoDAO dao; + private final SitioDAO daoSitio; private final ResultadoRecomendacaoDao daoResultadoRecomendacao; private final HttpServletRequest request; private ServletContext application; @@ -87,7 +93,8 @@ public class AvaliacaoController { private static final String CAMINHO_SELOS = "eselo.config.avaliacao.caminhoSelos"; private static final String URL_SERVICO = "eselo.config.avaliacao.urlServico"; - + private static final String URL_ARQUIVOS_HTML = "eselo.config.avaliacao.arquivosHtml"; + private final Properties properties = new Properties(); public AvaliacaoController(Result _result, UrlDAO _daoUrl, @@ -97,12 +104,13 @@ public class AvaliacaoController { ServletContext application, ResultadoRecomendacaoDao _daoResultadoRecomendacao, ResultadoCriterioDao _daoResultadoCriterio, - CriterioDAO _daoCriterio, RecomendacaoDAO _daoRecomendacao)// gibran + CriterioDAO _daoCriterio, RecomendacaoDAO _daoRecomendacao, SitioDAO _daoSitio)// gibran // ResultadoCriterioDao // _resultadoCriterioDao throws IOException { daoUrl = _daoUrl; dao = _dao; + daoSitio = _daoSitio; daoResultadoRecomendacao = _daoResultadoRecomendacao; result = _result; paramDao = _paramDao; @@ -351,11 +359,13 @@ public class AvaliacaoController { ResumoAvaliacao resumoAvaliacao = new ResumoAvaliacao(); resumoAvaliacao.setValor(conformidadeAcessibilidade); - resumoAvaliacao.setUrl(url.getUrl()); + resumoAvaliacao.setUrl(urlComProtocolo); resumoAvaliacao.setDataAvaliacao(Util.dataHoraAtual()); // this.result.forwardTo(PersistenciaFileSystemController.class).salvarhtml(resumoAvaliacao, // novaAvalicao, urlComProtocolo); - salvarhtml(resumoAvaliacao, novaAvalicao, urlComProtocolo); + + //salvarJsGrafico(url); + salvarhtml(resumoAvaliacao, novaAvalicao, url.getUrl(), url); } } @@ -547,13 +557,13 @@ public class AvaliacaoController { } @Get("/buscar-avaliacao") - @Post("/buscar-avaliacao") + @Post("/buscar-avaliacao/") public void buscarAvaliacao(@QueryParam("url") String url) throws FileNotFoundException { - String nomeArquivo = url.replace("https://", "").replace("http://", "").replace("/", "").replace(".", "").replace("\"", "") + ".json"; + String nomeArquivo = url.toLowerCase().replace("https://", "").replace("http://", "").replace("/", "").replace(".", "").replace("\"", "") + ".json"; - File diretorioJson = new File(this.application.getRealPath("")+ "/WEB-INF/arquivosJson/"+ nomeArquivo);//"http://189.9.137.162:8080/eselo/arquivosJson/" + File diretorioJson = new File(this.application.getRealPath("")+ "/WEB-INF/arquivosJson/"+ nomeArquivo); //+ nomeArquivo); ResumoAvaliacao resumoAvaliacao = null; @@ -587,25 +597,23 @@ public class AvaliacaoController { public void salvarAvaliacao(ResumoAvaliacao resumoAvaliacao) { File diretorioJson = new File(this.application.getRealPath("")+ "/WEB-INF/arquivosJson"); - //File diretorioJson = new File("http://189.9.137.162:8080/eselo/arquivosJson"); - + diretorioJson.mkdir(); - //File diretorioHtml = new File(this.application.getRealPath("") + "/WEB-INF/arquivosHtml"); + String urlArquivosHtml = properties.getProperty(URL_ARQUIVOS_HTML); - File diretorioHtml = new File("http://189.9.137.162:8080/eselo/arquivosHtml"); + File diretorioHtml = new File(urlArquivosHtml); String nomeArquivo = ""; try { - nomeArquivo = URLNormalizer.normalize(resumoAvaliacao.getUrl()) + nomeArquivo = URLNormalizer.normalize(resumoAvaliacao.getUrl()).toLowerCase() .replace("/", "").replace(".", ""); } catch (MalformedURLException e1) { e1.printStackTrace(); } - resumoAvaliacao.setUrlResultado(diretorioHtml.toString() + "/" - + nomeArquivo + ".html"); + resumoAvaliacao.setUrlResultado(urlArquivosHtml + nomeArquivo + ".html"); String json; Gson gson = new Gson(); @@ -628,8 +636,11 @@ public class AvaliacaoController { } } + public void salvarhtml(ResumoAvaliacao resumoAvaliacao, - Avaliacao avaliacao, String urlComProtocolo) { + Avaliacao avaliacao, String urlSemProtocolo, Url url) { + + List resultadosRecomendacao; List resultadosCriterio; @@ -643,13 +654,15 @@ public class AvaliacaoController { StringBuffer html = new StringBuffer(); - + try { - nomeArquivo = URLNormalizer.normalize(resumoAvaliacao.getUrl()) + nomeArquivo = URLNormalizer.normalize(urlSemProtocolo).toLowerCase() .replace("/", "").replace(".", "") + ".txt"; + + OutputStreamWriter bufferOut = new OutputStreamWriter(new FileOutputStream(diretorioHtml + "/" + nomeArquivo),"UTF-8"); bufferOut.write(""); @@ -671,7 +684,7 @@ public class AvaliacaoController { bufferOut.write("
"); bufferOut.write("
"); bufferOut.write("
    "); - bufferOut.write("
  • Ir"); + bufferOut.write("
  • Ir"); bufferOut.write(" para o conteúdo 1"); bufferOut.write("
  • "); bufferOut.write("
  • Ir"); @@ -681,9 +694,8 @@ public class AvaliacaoController { bufferOut.write("
    "); - bufferOut.write("

    "); - bufferOut.write(" Painel de Acessibilidade Digital do Governo"); - bufferOut.write(" "); + bufferOut.write("

    "); + bufferOut.write(" Painel de Acessibilidade Digital do Governo "); bufferOut.write("

    "); bufferOut.write("
    "); @@ -708,27 +720,62 @@ public class AvaliacaoController { bufferOut.write("
    Início do conteúdo"); bufferOut.write("
    "); bufferOut.write("
    "); - bufferOut.write(" "); + bufferOut.write(" "); bufferOut.write("
    "); bufferOut.write("
    "); - bufferOut.write("
    "); - - bufferOut.write("
    "); - bufferOut.write(" "); + + bufferOut.write("
    "); + + bufferOut.write("

    Gráfico com as notas das últimas avaliações ordenada da mais antiga para a mais atual, limitado até quatro avaliações.

    "); + List lsAvaliacao = dao.getTresUltimasAvaliacoesByURL(url); + + + int i = 5; + bufferOut.write("
      "); + + List avaliacoesOrdenada = new ArrayList(); + + for (Avaliacao avaliacao2 : lsAvaliacao) { + i--; + avaliacoesOrdenada.add(avaliacao2); + if(i <= 1) + { + break; + } + } + Collections.sort(avaliacoesOrdenada); + + i = 0; + for (Avaliacao avaliacaoOrdenada : avaliacoesOrdenada) { + i++; + bufferOut.write("
    • Nota " + i + ": " + avaliacaoOrdenada.getNota() + "Data da avaliação:" + avaliacaoOrdenada.getDataAvaliacao() + "
    • "); + + } + + Long idSitio = avaliacao.getUrl().getIdSitio(); + + Sitio sitio = daoSitio.getSitioById(idSitio); + + String nomeOrgao = (sitio != null) ? sitio.getDominio().getOrgao().getNomeOrgao():""; + + bufferOut.write("
    "); + bufferOut.write(""); + bufferOut.write("
    "); + bufferOut.write(" "); bufferOut.write("
    "); bufferOut.write("
    "); + bufferOut.write("
    "); bufferOut.write("
    "); - + + String dataFormatada = avaliacao.getDataAvaliacao().toString(); + bufferOut.write("