diff --git a/src/main/java/br/com/ases/business/AvaliacaoBusiness.java b/src/main/java/br/com/ases/business/AvaliacaoBusiness.java index f6a2557..0138546 100644 --- a/src/main/java/br/com/ases/business/AvaliacaoBusiness.java +++ b/src/main/java/br/com/ases/business/AvaliacaoBusiness.java @@ -16,8 +16,7 @@ import br.com.checker.emag.SummarizedOccurrence; public interface AvaliacaoBusiness { Nota obterNota(List occurrences,String url, List>> mapaListaOcorrencias); - Nota obterNotaEselo(Source html, String url, List>> mapaListaOcorrencias); - Nota obterNotaEseloSalvandoAvaliacao(Source html, String url, List>> mapaListaOcorrencias); + Nota obterNotaEselo(Source html, String url, List>> mapaListaOcorrencias, Boolean salvarAvaliacao); Map>> retornarCriterios(Map> resultadoAvaliacao); List>> retornarCriteriosTeste(Map> resultadoAvaliacao); void initEseloProperties(ServletContext servletContext); 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 803db00..104d95d 100644 --- a/src/main/java/br/com/ases/business/impl/AvaliacaoBusinessImpl.java +++ b/src/main/java/br/com/ases/business/impl/AvaliacaoBusinessImpl.java @@ -142,8 +142,7 @@ public class AvaliacaoBusinessImpl implements AvaliacaoBusiness { return qtdItens; } - - public Nota obterNotaEseloSalvandoAvaliacao(Source documento, String url, List>> mapaListaOcorrencias) { + public Nota obterNotaEselo(Source documento, String url, List>> mapaListaOcorrencias, Boolean salvarAvaliacao) { Nota nota = null; List elementosBuscar; @@ -177,240 +176,12 @@ public class AvaliacaoBusinessImpl implements AvaliacaoBusiness { try { - WebChecker.PostParams postParams = WebChecker.from(this.eseloProperties.getUrl("urlServicoSalvandoAvaliacao")).withPostRequest(); + WebChecker.PostParams postParams = WebChecker.from(this.eseloProperties.getUrl("url")).withPostRequest(); // Relatorio de Avaliacao - postParams.addParam("relatorioAvaliacao.date", new Date().toString()).addParam("relatorioAvaliacao.url", url); - - while ((linha = reader.readLine()) != null) { - - elementosBuscar = new ArrayList(); - atributosBuscar = new ArrayList(); - - - //Separa a chave do valor (tipo de teste) - chaveValor = linha.split("\\="); - - //chave do arquivo testeEselo.properties sendo (x.y.z) - recomendacaoCriterio = chaveValor[0].split("\\."); - - //Separa a recomenda��o do crit�rio sendo (x.y) de (x.y.z) - recomendacaoProperties = recomendacaoCriterio[0].toString() + "." + recomendacaoCriterio[1].toString(); - - //Separa a crit�rio da recomenda��o sendo (z) de (x.y.z) - criterioProperties = recomendacaoCriterio[2]; - - - if (!recomendacaoProperties.equalsIgnoreCase(recomendacaoAntiga) || recomendacaoAntiga.equalsIgnoreCase("")) { - - if(lsRecomendacaoCriterios.size() > 0) - { - countReq++; - countCriterio = 0; - postParams.addParam("relatorioAvaliacao.recomendacoes["+ countReq + "].idRecomendacao", retornaRecomendacaoEselo(recomendacaoAntiga)); - - for (RecomendacaoCriterios recCriterio : lsRecomendacaoCriterios) { - countCriterio++; - postParams.addParam("relatorioAvaliacao.recomendacoes["+countReq+"].criterios["+countCriterio+"].idCriterio",recCriterio.criterio) - .addParam("relatorioAvaliacao.recomendacoes["+ countReq +"].criterios["+countCriterio+"].qtdeErros", Integer.toString(recCriterio.qtdErros)) - .addParam("relatorioAvaliacao.recomendacoes["+ countReq +"].criterios["+countCriterio+"].qtdeItens",Integer.toString(recCriterio.qtdItens)); - } - - postParams.addParam("relatorioAvaliacao.recomendacoes[" + countReq + "].totalErros", Integer.toString(totalErros)); - postParams.addParam("relatorioAvaliacao.recomendacoes[" + countReq + "].totalAvisos", Integer.toString(totalAvisos)); - - totalAvisos = 0; - totalErros = 0; - lsRecomendacaoCriterios = new ArrayList(); - } - else - { - totalAvisos = 0; - totalErros = 0; - } - - - - recomendacaoAntiga = recomendacaoProperties; - - } - - // Fim adiciona a recomenda��o da lista do properties - - - //Cria lista a ser pesquisada e retorna a quantidade de itens - tipoTeste = chaveValor[1].toString(); - tipoBusca = chaveValor[3].toString(); - isErro = Boolean.parseBoolean(chaveValor[2]); - - if(!tipoTeste.equalsIgnoreCase("proporcional")) - { - tipoBusca = "startTag"; - } - else - { - - if(tipoBusca.equalsIgnoreCase("e")) - { - countChave= 0; - - for (String chave : chaveValor) { - if(countChave >= 3) - { - elementosBuscar.add(chave); - } - countChave++; - } - }else if(tipoBusca.equalsIgnoreCase("a")) - { - countChave= 0; - for (String chave : chaveValor) { - if(countChave >= 3) - { - atributosBuscar.add(chave); - } - countChave++; - } - }else if(tipoBusca.equalsIgnoreCase("ea")) - { - countChave= 0; - for (String chave : chaveValor) { - if(countChave >= 3) - { - if(chave.substring(0,1).equalsIgnoreCase("e")) - { - elementosBuscar.add(chave.substring(1,(chave.length()))); - } - else if(chave.substring(0,1).equalsIgnoreCase("a")) - { - atributosBuscar.add(chave.substring(1,(chave.length()))); - } - } - - countChave++; - } - } - } - //Fim Cria lista a ser pesquisada e retorna a quantidade de itens - - if(!tipoBusca.equalsIgnoreCase("1") && !tipoTeste.equalsIgnoreCase("decrescente")) - { - qtdItens = retornarQuantidadeItens(documento, elementosBuscar, atributosBuscar,tipoBusca); - }else if(!tipoBusca.equalsIgnoreCase("1") && tipoTeste.equalsIgnoreCase("decrescente")) - { - qtdItens = totalLinhas; - } - else - { - qtdItens = 1; - } - - - - qtdErrosAvisos = retornaQuantidadeErrosAvisos(mapaListaOcorrencias, recomendacaoProperties, criterioProperties); - - - if(isErro) - { - totalErros = totalErros + qtdErrosAvisos; - } - else - { - totalAvisos = totalAvisos + qtdErrosAvisos; - } - - recomendacaoAdd = new RecomendacaoCriterios(); - - if(qtdItens > 0 || !tipoTeste.equalsIgnoreCase("proporcional")) - { - - recomendacaoAdd.setCriterio(criterioProperties); - recomendacaoAdd.setQtdErros(qtdErrosAvisos); - recomendacaoAdd.setQtdItens(qtdItens); - lsRecomendacaoCriterios.add(recomendacaoAdd); - } - - } - - if(lsRecomendacaoCriterios.size() > 0) - { - countReq++; - countCriterio = 0; - postParams.addParam("relatorioAvaliacao.recomendacoes["+ countReq + "].idRecomendacao", retornaRecomendacaoEselo(recomendacaoAntiga)); - - for (RecomendacaoCriterios recCriterio : lsRecomendacaoCriterios) { - countCriterio++; - postParams.addParam("relatorioAvaliacao.recomendacoes["+countReq+"].criterios["+countCriterio+"].idCriterio",recCriterio.criterio) - .addParam("relatorioAvaliacao.recomendacoes["+countReq+"].criterios["+countCriterio+"].qtdeErros", Integer.toString(recCriterio.qtdErros)) - .addParam("relatorioAvaliacao.recomendacoes["+countReq+"].criterios["+countCriterio+"].qtdeItens",Integer.toString(recCriterio.qtdItens)); - - } - - postParams.addParam("relatorioAvaliacao.recomendacoes[" + countReq+ "].totalErros", Integer.toString(totalErros)); - postParams.addParam("relatorioAvaliacao.recomendacoes[" + countReq+ "].totalAvisos", Integer.toString(totalAvisos)); - - totalAvisos = 0; - totalErros = 0; - lsRecomendacaoCriterios = new ArrayList(); - - } - //postParams.addParam("relatorioAvaliacao.recomendacoes[" + countReq+ "].totalErros", Integer.toString(totalErros)); - //postParams.addParam("relatorioAvaliacao.recomendacoes[" + countReq+ "].totalAvisos", Integer.toString(totalAvisos)); - postParams.addParam("relatorioAvaliacao.qtdeLinhas", Integer.toString(totalLinhas)); - - Gson g = new GsonBuilder().create(); - nota = g.fromJson(postParams.execute().getContent(), Nota.class); + postParams.addParam("relatorioAvaliacao.date", new Date().toString()).addParam("relatorioAvaliacao.url", url).addParam("salvarAvaliacao", salvarAvaliacao.toString()); - } catch (IOException e) { - - e.printStackTrace(); - } - - return nota; - - } - - - public Nota obterNotaEselo(Source documento, String url, List>> mapaListaOcorrencias) { - Nota nota = null; - - List elementosBuscar; - List atributosBuscar; - - List lsRecomendacaoCriterios = new ArrayList(); - RecomendacaoCriterios recomendacaoAdd; - - BufferedReader reader = testeEseloProperties.getListaTesteEselo(); - String linha = ""; - String[] chaveValor; - String recomendacaoProperties = ""; - String recomendacaoAntiga = ""; // Serve identificar a mudan�a de recomenda��o - //String recomendacao = ""; - String criterioProperties = ""; - //String criterio = ""; - //String criterioAntido = ""; - String recomendacaoCriterio[]; - String tipoTeste = ""; - String tipoBusca = ""; - Integer totalLinhas = (documento != null? documento.toString().split("\n").length: 0); - Integer qtdErrosAvisos = 0; - Integer countReq = 0; - Integer countCriterio = 0; - Integer countChave = 0; - Integer qtdItens = 0; - Integer totalErros = 0; - Integer totalAvisos = 0; - Boolean isErro; - //Boolean recomendacaoTemCriterio = false; - - try { - - WebChecker.PostParams postParams = WebChecker.from(this.eseloProperties.getUrl("url")).withPostRequest(); - - // Relatorio de Avaliacao - postParams.addParam("relatorioAvaliacao.date", new Date().toString()).addParam("relatorioAvaliacao.url", url); - while ((linha = reader.readLine()) != null) { elementosBuscar = new ArrayList(); diff --git a/src/main/java/br/com/ases/controller/AvaliacaoController.java b/src/main/java/br/com/ases/controller/AvaliacaoController.java index 0464c01..5f7a89e 100644 --- a/src/main/java/br/com/ases/controller/AvaliacaoController.java +++ b/src/main/java/br/com/ases/controller/AvaliacaoController.java @@ -207,7 +207,7 @@ public class AvaliacaoController { // mapaListaOcorrencias); nota = avaliacaoBusiness.obterNotaEselo(checker.getDocument(), file.getFileName(), - mapaListaOcorrencias); + mapaListaOcorrencias, false); // Altera a cor de webaxscore de acordo a pontuacao if (nota.getValor() != null) { @@ -379,7 +379,7 @@ public class AvaliacaoController { // Altera a cor de webaxscore de acordo a pontuacao // nota = avaliacaoBusiness.obterNota(checker.checkSumarized(), url, mapaListaOcorrencias); - nota = avaliacaoBusiness.obterNotaEselo(checker.getDocument(), url, mapaListaOcorrencias); + nota = avaliacaoBusiness.obterNotaEselo(checker.getDocument(), url, mapaListaOcorrencias, false); if (nota.getValor() != null) { DefinirCorWebaxscore(nota.getValor()); @@ -640,7 +640,7 @@ public class AvaliacaoController { avaliacaoBusiness.retornarCriteriosTeste(checker.check()); nota = avaliacaoBusiness.obterNotaEselo(checker.getDocument(), - tituloSite + " - " + sdf.format(new Date()), mapaListaOcorrencias); + tituloSite + " - " + sdf.format(new Date()), mapaListaOcorrencias, false); // Altera a cor de webaxscore de acordo a pontuacao if (nota.getValor() != null) { @@ -967,15 +967,7 @@ public class AvaliacaoController { ErroWs erroWs = new ErroWs(); this.dataHoraAvaliacao = (String) DateUtil.dataHoraAtual(); - /* - WebChecker.PostParams postParams = - WebChecker.from(this.eseloProperties.getUrl("urlAutenticacaoServico")).withPostRequest(); - postParams.addParam("codigoHash", codigoHash); - - Gson g = new GsonBuilder().create(); - Boolean usuarioAutorizado = g.fromJson(postParams.execute().getContent(), Boolean.class); -*/ try { Validate validate = new Validate(this.validator); @@ -1018,16 +1010,11 @@ public class AvaliacaoController { avaliacaoBusiness.retornarCriteriosTeste(checker.check()); nota = - avaliacaoBusiness.obterNotaEseloSalvandoAvaliacao(checker.getDocument(), url, mapaListaOcorrencias); - - - + avaliacaoBusiness.obterNotaEselo(checker.getDocument(), url, mapaListaOcorrencias, true); if(nota != null) { retornoNota = true; } - - } @@ -1147,7 +1134,7 @@ public class AvaliacaoController { avaliacaoBusiness.retornarCriteriosTeste(checker.check()); nota = - avaliacaoBusiness.obterNotaEselo(checker.getDocument(), url, mapaListaOcorrencias); + avaliacaoBusiness.obterNotaEselo(checker.getDocument(), url, mapaListaOcorrencias, false); this.sumarizarResultasNoResponse(checker.checkSumarized(), result); diff --git a/src/main/java/br/com/ases/infra/WebChecker.java b/src/main/java/br/com/ases/infra/WebChecker.java index cbc6861..6eabd9f 100644 --- a/src/main/java/br/com/ases/infra/WebChecker.java +++ b/src/main/java/br/com/ases/infra/WebChecker.java @@ -110,6 +110,7 @@ public class WebChecker { return this; } + public WebChecker execute(){ this.post.setRequestBody(data.toArray(new NameValuePair[data.size()] )); this.webChecker.setMethod(post); 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 beddb6a..80ac5b4 100644 --- a/src/main/java/br/com/ases/model/utilities/Validate.java +++ b/src/main/java/br/com/ases/model/utilities/Validate.java @@ -116,7 +116,7 @@ public class Validate { try { - UrlConvertida = new URL(campo); + //UrlConvertida = new URL(campo); clienteHTTPJakartaCommons = new HttpClient(); clienteHTTPJakartaCommons.getParams().setParameter(HttpMethodParams.RETRY_HANDLER, @@ -124,7 +124,7 @@ public class Validate { clienteHTTPJakartaCommons.getParams().setParameter("http.protocol.allow-circular-redirects", true); - metodoRequisicaoGET = new GetMethod(UrlConvertida.toExternalForm()); + metodoRequisicaoGET = new GetMethod(campo);//UrlConvertida.toExternalForm()); metodoRequisicaoGET.setRequestHeader(usuario, agente); metodoRequisicaoGET.setFollowRedirects(true); -- libgit2 0.21.2