diff --git a/Desenvolvimento/Codificacao/e-Selo/WebContent/static/css/painelAcessibilidade.css b/Desenvolvimento/Codificacao/e-Selo/WebContent/static/css/painelAcessibilidade.css new file mode 100644 index 0000000..16c3c43 --- /dev/null +++ b/Desenvolvimento/Codificacao/e-Selo/WebContent/static/css/painelAcessibilidade.css @@ -0,0 +1,102 @@ +body{ + margin: 0; + background: #ebf4f5; + color: #000000; + font-size: 14px; + font-weight: normal; + font-family: "Open Sans", Arial, Helvetica, sans-serif; +} + +.contanner{ + width: 840px; + margin: auto; + border: 0; +} + +#logo{ + margin-top:10%; + font-size: 46px; + font-family: "Open Sans", Arial, Helvetica, sans-serif; +} + +#contato{ + background: #d0e6e8; + height: 25px; + padding-top: 3px; + +} + +#contato a{ + margin-left: 17%; +} + +#emag +{ + width: 150px; + height: 200px; + background: #92d68f; + text-align: center; + float: left; +} + +#testesAutomaticos +{ + width: 150px; + height: 200px; + border-left: 1px solid #000000; + border-right: 1px solid #000000; + background: #97aeec; + text-align: center; + float: left; +} + +#grafico +{ + width: 532px; + height: 200px; + text-align: center; + float: left; +} + +.logoAvaliacao{ + margin-top: 10px; + width: 840px; + height:200px; + background: #ffffff; + border-style: solid; + border-color: #000000; + border-width: 1px; +} +.logoAvaliacao label{ + position: relative; + top: 45%; + + } + +.avaliacao{ + margin-top: 10px; + width: 840px; + background: #ffffff; + border-style: solid; + border-color: #000000; + border-width: 1px; +} + +table { + margin-left: 10px; + border-collapse: collapse; +} + +.table, th, td { +border: 2px solid #000000; +} + +.avaliacao label { + margin-left: 10px; +} + +.avaliacao hr { + + margin-left: 10px; + margin-right: 10px; +} \ No newline at end of file diff --git a/Desenvolvimento/Codificacao/e-Selo/src/main/java/br/com/eselo/component/Util.java b/Desenvolvimento/Codificacao/e-Selo/src/main/java/br/com/eselo/component/Util.java index c696837..386cc31 100644 --- a/Desenvolvimento/Codificacao/e-Selo/src/main/java/br/com/eselo/component/Util.java +++ b/Desenvolvimento/Codificacao/e-Selo/src/main/java/br/com/eselo/component/Util.java @@ -1,8 +1,11 @@ package br.com.eselo.component; +import java.text.DateFormat; import java.text.Normalizer; +import java.text.SimpleDateFormat; import java.text.Normalizer.Form; import java.text.ParseException; +import java.util.Date; import java.util.Locale; import java.util.regex.Pattern; @@ -31,5 +34,10 @@ public class Util { String slug = NONLATIN.matcher(normalized).replaceAll("_"); return slug.toLowerCase(Locale.ENGLISH); } + + public static String dataHoraAtual() { + DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + return dateFormat.format(new Date()); + } } 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 70c4fa8..8d92525 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 @@ -4,9 +4,14 @@ import java.awt.Color; import java.awt.Font; import java.awt.Graphics; import java.awt.image.BufferedImage; +import java.io.BufferedReader; import java.io.File; +import java.io.FileNotFoundException; +import java.io.FileReader; +import java.io.FileWriter; import java.io.IOException; import java.io.InputStream; +import java.io.PrintWriter; import java.net.MalformedURLException; import java.text.SimpleDateFormat; import java.util.ArrayList; @@ -15,16 +20,15 @@ import java.util.List; import java.util.Properties; import javax.imageio.ImageIO; +import javax.servlet.ServletContext; import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import javax.swing.text.html.HTML; import javax.ws.rs.QueryParam; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import com.google.gson.Gson; -import com.google.gson.GsonBuilder; - -import br.com.eselo.component.WebChecker; import br.com.caelum.vraptor.Get; import br.com.caelum.vraptor.Post; import br.com.caelum.vraptor.Resource; @@ -35,8 +39,9 @@ import br.com.eselo.component.LeitorXML; import br.com.eselo.component.Mailer; import br.com.eselo.component.URLNormalizer; import br.com.eselo.component.UsuarioWeb; +import br.com.eselo.component.Util; +import br.com.eselo.component.WebChecker; import br.com.eselo.dao.AvaliacaoDAO; -import br.com.eselo.dao.CriterioDAO; import br.com.eselo.dao.ParametroCalculoDAO; import br.com.eselo.dao.ResultadoCriterioDao; import br.com.eselo.dao.UrlDAO; @@ -49,9 +54,12 @@ import br.com.eselo.model.Criterio; import br.com.eselo.model.ParametroCalculo; 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.Url; +import com.google.gson.Gson; +import com.google.gson.GsonBuilder; + @Resource public class AvaliacaoController { @@ -63,14 +71,15 @@ public class AvaliacaoController { private final AvaliacaoDAO dao; private final ResultadoCriterioDao daoCriterio;//gibran private final HttpServletRequest request; - + private ServletContext application; + private static final String CAMINHO_SELOS = "eselo.config.avaliacao.caminhoSelos"; private final Properties properties = new Properties(); public AvaliacaoController(Result _result, UrlDAO _daoUrl, ParametroCalculoDAO _paramDao, UsuarioWeb _usuarioWeb, - Validator _validator, HttpServletRequest _request, AvaliacaoDAO _dao, ResultadoCriterioDao _resultadoCriterioDao)//gibran ResultadoCriterioDao _resultadoCriterioDao + Validator _validator, HttpServletRequest _request, AvaliacaoDAO _dao, ResultadoCriterioDao _resultadoCriterioDao, ServletContext application)//gibran ResultadoCriterioDao _resultadoCriterioDao throws IOException { daoUrl = _daoUrl; dao = _dao; @@ -78,7 +87,8 @@ public class AvaliacaoController { result = _result; paramDao = _paramDao; request = _request; - + this.application = application; + String fileName = "config.properties"; InputStream stream = Mailer.class.getResourceAsStream("/" + fileName); Properties propertiesFile = new Properties(); @@ -315,7 +325,7 @@ System.out.println(relatorioAvaliacao); double notaRecomendacao = 0.0; double somatorioNotaTeste = 0.0; double somatorioPesosCriterios = 0.0; -System.out.println(relatorioAvaliacao); + System.out.println(relatorioAvaliacao); /* * Nota da Recomendação = Nota da Avaliação * Peso da Recomendação Nota * da Recomendação = 0,61785 * 3 Nota da Recomendação = 1,8535 @@ -454,7 +464,18 @@ System.out.println(relatorioAvaliacao); } } - + + + + ResumoAvaliacao resumoAvaliacao = new ResumoAvaliacao(); + + resumoAvaliacao.setValor(conformidadeAcessibilidade); + resumoAvaliacao.setUrl(url.getUrl()); + resumoAvaliacao.setDataAvaliacao(Util.dataHoraAtual()); + + salvarhtml(resumoAvaliacao); + + gerarSelo(url, conformidadeAcessibilidade); return conformidadeAcessibilidade; @@ -471,7 +492,7 @@ System.out.println(relatorioAvaliacao); //System.out.println(relatorioAvaliacao); ResultadoAvaliacao resultadoAvaliacao = new ResultadoAvaliacao(); String observacao = "Foi impossivel realizar a avaliação."; - + String urlComProtocolo = relatorioAvaliacao.getUrl(); ParametroCalculo parametroCalculo = paramDao.getLastParametrosCalculoAtivo(); if(parametroCalculo != null){ @@ -494,9 +515,10 @@ System.out.println(relatorioAvaliacao); if (url == null) { url = new Url(); url.setUrl(relatorioAvaliacao.getUrl()); - //daoUrl.save(url); + daoUrl.save(url); } - + url.setUrl(urlComProtocolo); + resultadoAvaliacao.setPath(fullContextPath + "/" + properties.getProperty(CAMINHO_SELOS) + "/" + url.getId().toString() + "/selo.png"); @@ -540,7 +562,7 @@ System.out.println(relatorioAvaliacao); //System.out.println(relatorioAvaliacao); ResultadoAvaliacao resultadoAvaliacao = new ResultadoAvaliacao(); String observacao = "Foi impossivel realizar a avaliação."; - + String urlComProtocolo = relatorioAvaliacao.getUrl(); ParametroCalculo parametroCalculo = paramDao.getLastParametrosCalculoAtivo(); if(parametroCalculo != null){ @@ -563,9 +585,10 @@ System.out.println(relatorioAvaliacao); if (url == null) { url = new Url(); url.setUrl(relatorioAvaliacao.getUrl()); - //daoUrl.save(url); + daoUrl.save(url); } - + url.setUrl(urlComProtocolo); + resultadoAvaliacao.setPath(fullContextPath + "/" + properties.getProperty(CAMINHO_SELOS) + "/" + url.getId().toString() + "/selo.png"); @@ -618,9 +641,10 @@ System.out.println(relatorioAvaliacao); if (url == null) { url = new Url(); url.setUrl(relatorioAvaliacao.getUrl()); - //daoUrl.save(url); + daoUrl.save(url); } - + url.setUrl(relatorioAvaliacao.getUrl()); + avaliacao.setUrl(url); avaliacao = new LeitorXML().lerResultadosXML(relatorioAvaliacao, avaliacao); dao.save(avaliacao); @@ -682,7 +706,7 @@ System.out.println(relatorioAvaliacao); public void avaliarUrl(@QueryParam("url") String url) { WebChecker.PostParams postParams = - WebChecker.from("http://localhost:18080/ases/servico-avaliacao-acessibilidade-salvando").withPostRequest(); + WebChecker.from("http://189.9.137.162:8080/ases/servico-avaliacao-acessibilidade-salvando").withPostRequest(); postParams.addParam("url", url); Gson g = new GsonBuilder().create(); @@ -692,5 +716,144 @@ System.out.println(relatorioAvaliacao); } + @Get("/buscar-avaliacao") + @Post("/buscar-avaliacao") + public void buscarAvaliacao(@QueryParam("url") String url) throws FileNotFoundException + { + + File diretorioJson = new File(this.application.getRealPath("") + "/WEB-INF/arquivosJson/" + url.replace("/", "").replace(".", "") + ".json"); + + + BufferedReader br = new BufferedReader(new FileReader(diretorioJson.toString())); + Gson gson = new Gson(); + + ResumoAvaliacao resumoAvaliacao = gson.fromJson(br, ResumoAvaliacao.class); + + result.use(Results.json()).withoutRoot().from(resumoAvaliacao).recursive().serialize(); + } + + public void salvarAvaliacao(ResumoAvaliacao resumoAvaliacao) + { + File diretorioJson = new File(this.application.getRealPath("") + "/WEB-INF/arquivosJson"); + diretorioJson.mkdir(); + + String nomeArquivo = ""; + + try { + nomeArquivo = URLNormalizer + .normalize(resumoAvaliacao.getUrl()).replace("/", "").replace(".", ""); + } catch (MalformedURLException e1) { + e1.printStackTrace(); + } + + resumoAvaliacao.setUrlResultado(diretorioJson.toString() + "/" + nomeArquivo + ".html"); + + + String json; + Gson gson = new Gson(); + + json = gson.toJson(resumoAvaliacao); + + + FileWriter arq; + PrintWriter gravarArq; + try { + arq = new FileWriter(diretorioJson.toString() + "/" + nomeArquivo + ".json"); + gravarArq = new PrintWriter(arq); + gravarArq.printf(json); + + arq.close(); + } catch (IOException e) { + e.printStackTrace(); + } + } + + + public void salvarhtml(ResumoAvaliacao resumoAvaliacao) + { + + //File diretorioHtml = new File("arquivosHtml"); + File diretorioHtml = new File(this.application.getRealPath("") + "/WEB-INF/arquivosHtml"); + diretorioHtml.mkdir(); + String nomeArquivo; + StringBuffer html = new StringBuffer(); + + html.append(""); + html.append(""); + html.append("
"); + html.append(""); + html.append(""); + html.append(""); + html.append(""); + html.append(""); + + html.append("