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 0abbc55..b7b6d13 100644 --- a/src/main/java/br/com/ases/business/impl/AvaliacaoBusinessImpl.java +++ b/src/main/java/br/com/ases/business/impl/AvaliacaoBusinessImpl.java @@ -158,10 +158,10 @@ public class AvaliacaoBusinessImpl implements AvaliacaoBusiness { String[] chaveValor; String recomendacaoProperties = ""; String recomendacaoAntiga = ""; // Serve identificar a mudan�a de recomenda��o - String recomendacao = ""; + //String recomendacao = ""; String criterioProperties = ""; - String criterio = ""; - String criterioAntido = ""; + //String criterio = ""; + //String criterioAntido = ""; String recomendacaoCriterio[]; String tipoTeste = ""; String tipoBusca = ""; @@ -174,7 +174,7 @@ public class AvaliacaoBusinessImpl implements AvaliacaoBusiness { Integer totalErros = 0; Integer totalAvisos = 0; Boolean isErro; - Boolean recomendacaoTemCriterio = false; + //Boolean recomendacaoTemCriterio = false; try { @@ -398,45 +398,6 @@ public class AvaliacaoBusinessImpl implements AvaliacaoBusiness { int qtdLinhas = 0; - - /* - * for(Integer rn : rns){ //Recomenda��o Avaliada // - * postParams.addParam - * ("relatorioAvaliacao.recomendacoes["+countReq+"].idRecomendacao", - * Integer.toString((rn))); - * - * int qtdErros = 0; - * - * - * - * for(SummarizedOccurrence occurence : occurrences){ String[] idRec - * = occurence.getCheckPoint().split("\\."); - * - * - * qtdLinhas = qtdLinhas + occurence.getLines().size(); - * - * //Critérios - * - * - * - * if(rn == Integer.parseInt(idRec[0])){ - * - * qtdErros = qtdErros + Integer.parseInt(occurence.isError()?occurence.getNumberOfOccurrences():"0"); - * postParams.addParam("relatorioAvaliacao.recomendacoes["+countReq+"].criterios["+countCriterio+"].idCriterio",idRec[1]) - * .addParam("relatorioAvaliacao.recomendacoes["+countReq+"].criterios["+countCriterio+"].qtdeErros",occurence.isError()?occurence.getNumberOfOccurrences():"0") - * .addParam("relatorioAvaliacao.recomendacoes["+countReq+"].criterios["+countCriterio+"].qtdeItens",Integer.toString(occurence.getLines().size())); - * - * - * }else countCriterio = 0; - * - * countCriterio++; } - * - * postParams.addParam("relatorioAvaliacao.recomendacoes["+countReq+"].totalErros", Integer.toString(qtdErros)); - * //postParams.addParam("relatorioAvaliacao.qtdeLinhas",Integer.toString(qtdLinhas)); countReq++; - * - * } - */ - postParams.addParam("relatorioAvaliacao.qtdeLinhas", Integer.toString(qtdLinhas)); Gson g = new GsonBuilder().create(); @@ -449,36 +410,7 @@ public class AvaliacaoBusinessImpl implements AvaliacaoBusiness { return nota; - /* - * Nota nota = null ; //Vers�o desenvolvida por Rodrigo try { - * WebChecker.PostParams postParams = - * WebChecker.from(CALCULAR_NOTA_REST).withPostRequest() - * .addParam("avaliationReport.url", url) - * .addParam("avaliationReport.date", - * "2014-04-24 10:07:02.447 GMT-03:00"); - * - * int index = 0; for(SummarizedOccurrence occurence : occurrences){ - * postParams - * .addParam("avaliationReport.checkPoints["+index+"].identificador", - * occurence.getCheckPoint()) - * .addParam("avaliationReport.checkPoints["+index+"].totalErrors", - * occurence.isError()?occurence.getNumberOfOccurrences():"0") - * .addParam("avaliationReport.checkPoints["+index+"].totalWarnings", - * ((!occurence.isError() && - * !occurence.getNumberOfOccurrences().equals(SummarizedOccurrence - * .EMPTY_LINES) )?occurence.getNumberOfOccurrences():"0")); index++; } - * - * System.out.println(this.eseloProperties.getUrl("url")); - * System.out.println(postParams.execute().getContent()); - * - * Gson g = new GsonBuilder().create(); nota = - * g.fromJson(postParams.execute().getContent(), Nota.class); - * - * }catch(Exception e){ nota = new EseloController(null).new Nota(url, - * "---" , "0.0"); } - * - * return nota; - */ + } // Passa a recomenda��o do Ases como chave e retorna a recomenda��o do Eselo diff --git a/src/main/java/br/com/ases/controller/AvaliacaoController.java b/src/main/java/br/com/ases/controller/AvaliacaoController.java index 3097cdc..5491409 100644 --- a/src/main/java/br/com/ases/controller/AvaliacaoController.java +++ b/src/main/java/br/com/ases/controller/AvaliacaoController.java @@ -29,6 +29,8 @@ import java.util.regex.Pattern; import javax.servlet.ServletContext; import javax.ws.rs.QueryParam; +import org.apache.poi.hssf.record.PageBreakRecord.Break; + import net.sf.jasperreports.engine.JRException; import br.com.ases.business.AvaliacaoBusiness; import br.com.ases.controller.EseloController.Nota; @@ -60,6 +62,7 @@ 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.validator.Message; import br.com.caelum.vraptor.view.Results; import br.com.checker.emag.Occurrence; import br.com.checker.emag.OccurrenceClassification; @@ -95,7 +98,7 @@ 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; @@ -971,7 +974,7 @@ public class AvaliacaoController { AvaliacaoAutomatica avaliacaoAutomatica = new AvaliacaoAutomatica(); ErroWs erroWs = new ErroWs(); this.dataHoraAvaliacao = (String) DateUtil.dataHoraAtual(); - + WebChecker.PostParams postParams = WebChecker.from(this.eseloProperties.getUrl("urlAutenticacaoServico")).withPostRequest(); postParams.addParam("codigoHash", codigoHash); @@ -979,270 +982,263 @@ public class AvaliacaoController { 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); - //xml = new StringBuffer(); - if (usuarioAutorizado) { - // tipoSaida deve ser "json" ou "xml"; - try { + if (url == null || tipoSaida == null || codigoHash == null ||(!tipoSaida.equalsIgnoreCase("xml") + && !tipoSaida.equalsIgnoreCase("json"))) { + + erroWs.setDataHora(this.dataHoraAvaliacao); - Validate validate = new Validate(this.validator); + List mensagensErros = new ArrayList(); - if (validate.url(url)) { + if (url == null) + { + erroWs.setUrl(""); + mensagensErros.add("Favor, verificar o parâmetro 'url'!"); + } + else + { + erroWs.setUrl(url); + } + if (tipoSaida == null||(!tipoSaida.equalsIgnoreCase("xml") + && !tipoSaida.equalsIgnoreCase("json"))) + { + mensagensErros.add("Favor, verificar o parâmetro 'tipoSaida'!"); + } + if (codigoHash == null) + { + mensagensErros.add("Há necessidade de autorização de serviço por meio código hash!"); + } + + erroWs.setMensagem(mensagensErros); - if (url.startsWith("www")) { - url = "http://" + url; - } + if(tipoSaida == null || (!tipoSaida.equalsIgnoreCase("xml") + && !tipoSaida.equalsIgnoreCase("json"))) + { + result.use(Results.xml()).from(erroWs).recursive().serialize(); + }else if (tipoSaida.equalsIgnoreCase("json")) { + result.use(Results.json()).withoutRoot().from(erroWs).recursive().serialize(); + } else if (tipoSaida.equalsIgnoreCase("xml")) { + result.use(Results.xml()).from(erroWs).recursive().serialize(); + } + } else { + if (usuarioAutorizado) { + // tipoSaida deve ser "json" ou "xml"; + try { - WebChecker pagina = WebChecker.from(url).withGetRequest().execute(); + Validate validate = new Validate(this.validator); - int[] errorsWarningsCss = avaliacaoBusiness.getErrorCount(true, url); - int[] errorsWarningsHtml = avaliacaoBusiness.getErrorCount(false, url); + if (validate.url(url)) { - Checker checker = from(pagina.getContent(), url); + if (url.startsWith("www")) { + url = "http://" + url; + } - checker.with(marking()); - checker.with(content()); - checker.with(presentation()); - checker.with(multimedia()); - checker.with(form()); - checker.with(behavior()); - Pattern pp = Pattern.compile("(http://www.)?([a-z]*)(.)?"); - Matcher mm = pp.matcher(url.toLowerCase().replace("https", "http")); - if (mm.find()) { - this.tituloSite = ""; - } + WebChecker pagina = WebChecker.from(url).withGetRequest().execute(); - ContentEvaluation conteudo = new ContentEvaluation(checker.getDocument()); + int[] errorsWarningsCss = avaliacaoBusiness.getErrorCount(true, url); + int[] errorsWarningsHtml = avaliacaoBusiness.getErrorCount(false, url); - this.tituloSite = conteudo.retornarTituloSiteAvaliado(); + Checker checker = from(pagina.getContent(), url); - Nota nota = null; + checker.with(marking()); + checker.with(content()); + checker.with(presentation()); + checker.with(multimedia()); + checker.with(form()); + checker.with(behavior()); - List>> mapaListaOcorrencias = - avaliacaoBusiness.retornarCriteriosTeste(checker.check()); + Pattern pp = Pattern.compile("(http://www.)?([a-z]*)(.)?"); + Matcher mm = pp.matcher(url.toLowerCase().replace("https", "http")); - 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(); - - 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"); + if (mm.find()) { + this.tituloSite = ""; } - - - 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 - - lsCriterioWs = criarRelatorioCriterios(rn, type); - - recomendacaoAvaliacao.setLsCriterio(lsCriterioWs); - - - // Critérios terminam aqui - - - 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(); + + ContentEvaluation conteudo = new ContentEvaluation(checker.getDocument()); + + this.tituloSite = conteudo.retornarTituloSiteAvaliado(); + + Nota nota = null; + + List>> mapaListaOcorrencias = + avaliacaoBusiness.retornarCriteriosTeste(checker.check()); + + 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 + + OccurrenceKey rn = null; + boolean type = false; + + int totalErros = 0; + int totalAvisos = 0; + + + 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(); + + secao.setNome(resumoAvaliacao.getTipo().getDescription()); + secao.setQuantidadeErro(resumoAvaliacao.getQuantidadeErros()); + secao.setQuantidadeAviso(resumoAvaliacao.getQuantidadeAvisos()); + lsSecao.add(secao); + + totalErros += resumoAvaliacao.getQuantidadeErros(); + totalAvisos += resumoAvaliacao.getQuantidadeAvisos(); + } + + resumoAvaliacaoWs.setSecao(lsSecao); + resumoAvaliacaoWs.setTotalErros(totalErros); + resumoAvaliacaoWs.setTotalAvisos(totalAvisos); + + avaliacaoAutomatica.setResumoAvaliacao(resumoAvaliacaoWs); + + + 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("")) { + lsRecomendacaoAvaliacao.add(recomendacaoAvaliacao); + recomendacaoAvaliacao = new RecomendacaoAvaliacao(); + } + + + recomendacaoAvaliacao.setNumeroRecomendacao(avaliacao.getCheckPoint()); + recomendacaoAvaliacao.setErroRecomendacao(type); + recomendacaoAvaliacao.setDescricaoRecomendacao(avaliacao.getDescription()); + recomendacaoAvaliacao.setNumeroRecomendacao(avaliacao.getCheckPoint()); + recomendacaoAvaliacao.setLinhasCodigoFonteRecomendacao(avaliacao.getStringLines()); + recomendacaoAvaliacao.setQuantidadeRecomendacao(avaliacao.getNumberOfOccurrences()); + + + List lsCriterioWs = new ArrayList(); + + // Critérios iniciam aqui + + lsCriterioWs = criarRelatorioCriterios(rn, type); + + recomendacaoAvaliacao.setLsCriterio(lsCriterioWs); + + + // Critérios terminam aqui + + + recomendacaoCompara = avaliacao.getCheckPoint().toString(); + } + lsRecomendacaoAvaliacao.add(recomendacaoAvaliacao); + avaliacaoAutomatica.setLsRecomendacaoAvaliacao(lsRecomendacaoAvaliacao); + + 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 { + + this.validator = validate.getMessage(); + erroWs.setUrl(url); + erroWs.setDataHora(this.dataHoraAvaliacao); + + List mensagensErros = new ArrayList(); + Integer contador = 0; + for (Message mensagem : validate.getMessage().getErrors()) { + mensagensErros.add(validate.getMessage().getErrors().get(contador).getMessage()); + contador++; + } + + erroWs.setMensagem(mensagensErros); + + if (tipoSaida.equalsIgnoreCase("json")) { + result.use(Results.json()).withoutRoot().from(erroWs).recursive().serialize(); + } else if (tipoSaida.equalsIgnoreCase("xml")) { + result.use(Results.xml()).from(erroWs).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");*/ - - + + + } catch (Exception e) { + + e.printStackTrace(); + 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(); - } - // System.out.println("Enviar xml de erro"); + List mensagensErros = new ArrayList(); + + mensagensErros.add(e.getMessage()); + + erroWs.setMensagem(mensagensErros); + + + if (tipoSaida.equalsIgnoreCase("json")) { + result.use(Results.json()).withoutRoot().from(erroWs).recursive().serialize(); + } else if (tipoSaida.equalsIgnoreCase("xml")) { + result.use(Results.xml()).from(erroWs).recursive().serialize(); + } } - - } 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(); - + } else { + 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(); + List mensagensErros = new ArrayList(); + + mensagensErros.add("Código hash não confere!"); + + erroWs.setMensagem(mensagensErros); + + if (tipoSaida.equalsIgnoreCase("json")) { + result.use(Results.json()).withoutRoot().from(erroWs).recursive().serialize(); + } else if (tipoSaida.equalsIgnoreCase("xml")) { + result.use(Results.xml()).from(erroWs).recursive().serialize(); } + } - - } else { - - 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"); - } - } public List criarRelatorioCriterios(OccurrenceKey rn, boolean isError) { @@ -1251,123 +1247,112 @@ public class AvaliacaoController { boolean recomendacao1_1_2Adicionada = false; boolean recomendacao1_1_7Adicionada = false; boolean recomendacao1_1_8Adicionada = false; + + // UtilitiesProperties utilitiesProperties = new UtilitiesProperties(application); + + String notExibCrit = this.utilitiesProperties.get("notExibCrit"); + + String[] listaNotExibCrit = notExibCrit.split(" "); + + String codigoFonte = ""; + boolean haCodigoFonte; 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(); + haCodigoFonte = true; 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") && !recomendacao1_1_7Adicionada) { - - codigoFonte = "Serviço de validação de HTML do W3C"; + String recomend = rn.getCode().toString() + "." + numeroCriterio; + + for (String naotExibCrit : listaNotExibCrit ) { + if(naotExibCrit.equalsIgnoreCase(recomend)) + { + codigoFonte = "Não há código fonte a ser exibido."; + haCodigoFonte = false; + break; + } + } + + if (!rn.getCode().toString().equalsIgnoreCase("1.1") || !isError) { + + if (rn.getCode().toString().equalsIgnoreCase("1.1") && numeroCriterio.equalsIgnoreCase("7") + && !recomendacao1_1_7Adicionada) { + + codigoFonte = haCodigoFonte == false ? 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") && !recomendacao1_1_8Adicionada) { - codigoFonte = "Serviço de validação de CSS do W3C"; + codigoFonte = haCodigoFonte == false ? codigoFonte : "Serviço de validação de CSS do W3C"; recomendacao1_1_8Adicionada = true; } else { - codigoFonte = + codigoFonte = haCodigoFonte == false ? codigoFonte : occurrence.getTag().replaceAll("<", "<").replaceAll(">", ">") .replaceAll(" ", " "); } if (!criterioCompara.equalsIgnoreCase(occurrence.getCriterio().toString())) { - + 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.setNomeCriterio(criterioProperties.getDescricao(rn.getCode() + "." + + numeroCriterio)); criterioWs.setErroCriterio(occurrence.isError()); criterioWs.setQuantidadeCriterio(verificaQuantidadeCriterio(rn, isError, numeroCriterio)); - - - codigoFonteCriterio.setNumeroLinha(occurrence.getLine()); - codigoFonteCriterio.setConteudoLinha(""); + + + codigoFonteCriterio.setNumeroLinha(haCodigoFonte == false ? 0 :occurrence.getLine()); + codigoFonteCriterio.setConteudoLinha(haCodigoFonte == false ? codigoFonte : ""); lsCodigoFonteCriterio.add(codigoFonteCriterio); - - - /* xml.append("\n"); - xml.append("" + numeroCriterio + "\n"); - xml.append("" - + criterioProperties.getDescricao(rn.getCode() + "." + numeroCriterio) - + "\n"); - xml.append("" + occurrence.isError() + "\n"); - xml.append("" - + verificaQuantidadeCriterio(rn, isError, numeroCriterio) - + "\n"); - xml.append("\n"); - xml.append("" + occurrence.getLine() + "\n"); - xml.append("\n"); - xml.append("\n");*/ criterioCompara = occurrence.getCriterio(); } else { - 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");*/ - } + + } } else { if (numeroCriterio.equalsIgnoreCase("1") && !recomendacao1_1_1Adicionada) { - + 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.setNomeCriterio(criterioProperties.getDescricao(rn.getCode() + "." + + numeroCriterio)); criterioWs.setErroCriterio(occurrence.isError()); criterioWs.setQuantidadeCriterio(verificaQuantidadeCriterio(rn, isError, numeroCriterio)); - - // codigoFonteCriterio = new CodigoFonteCriterio(); - codigoFonteCriterio.setNumeroLinha(occurrence.getLine()); + + + // Seta-se "0" por não possuir essa informação + codigoFonteCriterio.setNumeroLinha(0); 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) - + "\n"); - xml.append("" + occurrence.isError() + "\n"); - xml.append("" - + verificaQuantidadeCriterio(rn, isError, numeroCriterio) - + "\n"); - xml.append("\n"); - xml.append("" + occurrence.getLine() + "\n"); - xml.append("Serviço de validação de HTML do W3C\n"); - xml.append("\n");*/ + criterioCompara = occurrence.getCriterio(); recomendacao1_1_1Adicionada = true; } @@ -1376,49 +1361,36 @@ public class AvaliacaoController { 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.setNomeCriterio(criterioProperties.getDescricao(rn.getCode() + "." + + numeroCriterio)); criterioWs.setErroCriterio(occurrence.isError()); criterioWs.setQuantidadeCriterio(verificaQuantidadeCriterio(rn, isError, numeroCriterio)); - - //codigoFonteCriterio = new CodigoFonteCriterio(); - codigoFonteCriterio.setNumeroLinha(occurrence.getLine()); + + + // Seta-se "0" por não possuir essa informação + codigoFonteCriterio.setNumeroLinha(0); 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) - + "\n"); - xml.append("" + occurrence.isError() + "\n"); - xml.append("" - + verificaQuantidadeCriterio(rn, isError, numeroCriterio) - + "\n"); - xml.append("\n"); - xml.append("" + occurrence.getLine() + "\n"); - xml.append("Serviço de validação de CSS do W3C\n"); - xml.append("\n");*/ criterioCompara = occurrence.getCriterio(); recomendacao1_1_2Adicionada = true; } - } - if(lsCodigoFonteCriterio.size() > 0) - { + } + if (lsCodigoFonteCriterio.size() > 0) { criterioWs.setCodigoFonteCriterio(lsCodigoFonteCriterio); lsCodigoFonteCriterio = new ArrayList(); lsCriterioWs.add(criterioWs); } // } } - //xml.append("\n"); + // xml.append("\n"); return lsCriterioWs; - + } diff --git a/src/main/java/br/com/ases/controller/ContatoController.java b/src/main/java/br/com/ases/controller/ContatoController.java index b88833c..1de9d60 100644 --- a/src/main/java/br/com/ases/controller/ContatoController.java +++ b/src/main/java/br/com/ases/controller/ContatoController.java @@ -58,7 +58,7 @@ public class ContatoController { EnvioEmailSemAutenticacao envioEmailSemAutenticacao = new EnvioEmailSemAutenticacao(email.getHost(), Integer.toString(email.getPort())); - respSendEmail = envioEmailSemAutenticacao.sendMail(contato.getEmail(),email.getTo(), "Ases - " + StringHelper.convertFromUTF8(contato.getAssunto()), StringHelper.convertFromUTF8(contato.getMensagem()),email.getAuth(), email.getAuthUser(), email.getAuthPass()); + respSendEmail = envioEmailSemAutenticacao.sendMail(contato.getEmail(),email.getTo(), "Fad - " + StringHelper.convertFromUTF8(contato.getAssunto()), StringHelper.convertFromUTF8(contato.getMensagem()),email.getAuth(), email.getAuthUser(), email.getAuthPass()); /*String respSendEmail = email.sendEmail("Contato","govbr@planejamento.gov.br", contato.getNome(),contato.getEmail(),StringHelper.convertFromUTF8(contato.getAssunto()), diff --git a/src/main/java/br/com/ases/infra/TesteEseloProperties.java b/src/main/java/br/com/ases/infra/TesteEseloProperties.java index 1bb82f2..1aadd59 100644 --- a/src/main/java/br/com/ases/infra/TesteEseloProperties.java +++ b/src/main/java/br/com/ases/infra/TesteEseloProperties.java @@ -46,7 +46,7 @@ public class TesteEseloProperties { reader = new BufferedReader(new FileReader(arquivo)); } catch (FileNotFoundException e) { - // TODO Auto-generated catch block + e.printStackTrace(); } diff --git a/src/main/java/br/com/ases/model/utilities/Validate.java b/src/main/java/br/com/ases/model/utilities/Validate.java index 3e6ddfc..beddb6a 100644 --- a/src/main/java/br/com/ases/model/utilities/Validate.java +++ b/src/main/java/br/com/ases/model/utilities/Validate.java @@ -32,7 +32,7 @@ public class Validate { this.validator.add(new ValidationMessage("Favor preencher o campo NOME!", "error")); isValido = false; } else if (contato.getNome().length() > 200) { - this.validator.add(new ValidationMessage("O campo NOME aceita até 200 caracteres.", + this.validator.add(new ValidationMessage("O campo NOME aceita até 200 caracteres.", "error")); isValido = false; } @@ -47,14 +47,14 @@ public class Validate { // this.validator.add(new // ValidationMessage("Não foi possível enviar a mensagem! E-MAIL '"+contato.getEmail()+"' considerado inválido!", // "error")); - this.validator.add(new ValidationMessage("E-MAIL considerado inválido!", "error")); + this.validator.add(new ValidationMessage("E-MAIL considerado inválido!", "error")); isValido = false; } } if (contato.getAssunto() == null) { this.validator.add(new ValidationMessage( - "Favor escolher uma das opções no campo ASSUNTO!", "error")); + "Favor escolher uma das opções no campo ASSUNTO!", "error")); isValido = false; } @@ -80,7 +80,7 @@ public class Validate { if (campo == null || campo.length() <= 10) { this.validator .add(new ValidationMessage( - "Não foi possível realizar a avaliação! Favor preencher o campo URL.", + "Não foi possível realizar a avaliação! Favor preencher o campo URL.", "warning")); isValido = false; } else { @@ -91,7 +91,7 @@ public class Validate { codResponse = verificarConexao(campo, "http.agent", "Jakarta Commons-HttpClient/3.1"); if (codResponse != 200) { this.validator.add(new ValidationMessage( - "Não foi possível realizar a avaliação! URL " + campo + "Não foi possível realizar a avaliação! URL " + campo + " é considerada inválida.", "warning")); isValido = false; } else { @@ -154,7 +154,7 @@ public class Validate { if (campo == null || campo.length() <= 10) { this.validator .add(new ValidationMessage( - "Não foi possível realizar a avaliação! Favor preencher o campo Código a analisar.", + "Não foi possível realizar a avaliação! Favor preencher o campo Código a analisar.", "warning")); return false; } @@ -167,7 +167,7 @@ public class Validate { if (!m.find()) { this.validator .add(new ValidationMessage( - "Não foi possível realizar a avaliação! O código fonte não é do tipo HTML ou XHTML.", + "Não foi possível realizar a avaliação! O código fonte não é do tipo HTML ou XHTML.", "warning")); return false; } @@ -175,7 +175,7 @@ public class Validate { if (campo.length() > 1048576) { this.validator .add(new ValidationMessage( - "Não foi possível realizar a avaliação! Tamanho máximo permitido para código fonte é até 1024KB.", + "Não foi possível realizar a avaliação! Tamanho máximo permitido para código fonte é até 1024KB.", "warning")); return false; } @@ -189,7 +189,7 @@ public class Validate { if (file == null) { this.validator .add(new ValidationMessage( - "Não foi possível realizar a avaliação! Favor realizar o upload do arquivo.", + "Não foi possível realizar a avaliação! Favor realizar o upload do arquivo.", "warning")); return false; } @@ -199,7 +199,7 @@ public class Validate { || fileType.equals("application/xhtml") || fileType.equals("application/xml"))) { this.validator .add(new ValidationMessage( - "Não foi possível realizar a avaliação! As extensões permitidas para o arquivo são: .xht, .htm, .html ou .xhtml.", + "Não foi possível realizar a avaliação! As extensções permitidas para o arquivo são: .xht, .htm, .html ou .xhtml.", "warning")); return false; } @@ -207,7 +207,7 @@ public class Validate { if (file.getSize() > 1048576) { this.validator .add(new ValidationMessage( - "Não foi possével realizar o upload do arquivo! Tamanho máximo permitido é de 1024KB.", + "Não foi possível realizar o upload do arquivo! Tamanho máximo permitido é de 1024KB.", "warning")); return false; } @@ -226,7 +226,7 @@ public class Validate { if (!m.find()) { this.validator .add(new ValidationMessage( - "Não foi possível realizar a avaliação! O conteédo do arquivo não é do tipo HTML ou XHTML.", + "Não foi possível realizar a avaliação! O conteúdo do arquivo não é do tipo HTML ou XHTML.", "warning")); return false; } diff --git a/src/main/java/br/com/ases/ws/model/CriterioWs.java b/src/main/java/br/com/ases/ws/model/CriterioWs.java index ea6b410..abd3ad7 100644 --- a/src/main/java/br/com/ases/ws/model/CriterioWs.java +++ b/src/main/java/br/com/ases/ws/model/CriterioWs.java @@ -39,11 +39,11 @@ public class CriterioWs { public void setErroCriterio(Boolean erroCriterio) { if(erroCriterio) { - this.erroCriterio = "true"; + this.erroCriterio = "erro"; } else { - this.erroCriterio = "false"; + this.erroCriterio = "aviso"; } } public Integer getQuantidadeCriterio() { diff --git a/src/main/java/br/com/ases/ws/model/ErroWs.java b/src/main/java/br/com/ases/ws/model/ErroWs.java index baff9e1..a77e475 100644 --- a/src/main/java/br/com/ases/ws/model/ErroWs.java +++ b/src/main/java/br/com/ases/ws/model/ErroWs.java @@ -1,14 +1,18 @@ package br.com.ases.ws.model; +import java.util.List; + import com.thoughtworks.xstream.annotations.XStreamAlias; +@XStreamAlias("avaliacao-automatica") public class ErroWs { private String url; @XStreamAlias("data-hora") private String dataHora; - private String mensagem; + @XStreamAlias("mensagem-erro") + private List mensagem; public String getUrl() { @@ -23,12 +27,13 @@ public class ErroWs { public void setDataHora(String dataHora) { this.dataHora = dataHora; } - public String getMensagem() { + public List getMensagem() { return mensagem; } - public void setMensagem(String mensagem) { + public void setMensagem(List mensagem) { this.mensagem = mensagem; } + } diff --git a/src/main/java/br/com/ases/ws/model/RecomendacaoAvaliacao.java b/src/main/java/br/com/ases/ws/model/RecomendacaoAvaliacao.java index 83b4f87..fa2c6ae 100644 --- a/src/main/java/br/com/ases/ws/model/RecomendacaoAvaliacao.java +++ b/src/main/java/br/com/ases/ws/model/RecomendacaoAvaliacao.java @@ -33,11 +33,11 @@ public class RecomendacaoAvaliacao { public void setErroRecomendacao(Boolean erroRecomendacao) { if(erroRecomendacao) { - this.erroRecomendacao = "true"; + this.erroRecomendacao = "erro"; } else { - this.erroRecomendacao = "false"; + this.erroRecomendacao = "aviso"; } } public String getDescricaoRecomendacao() { -- libgit2 0.21.2