Commit e6ec147c7aae90cfc009bc02bfa89ff8abc95acb

Authored by magno.oliveira
1 parent 46edf424
Exists in master

git-svn-id: https://svn.bento.ifrs.edu.br/default/ASES/e-selo@9559 c2178572-b5ca…

…-4887-91d2-9e3a90c7d55b
Desenvolvimento/Codificacao/e-Selo/src/main/java/br/com/eselo/component/LeitorXML.java
... ... @@ -21,21 +21,24 @@ public class LeitorXML {
21 21  
22 22 xstream.alias("relatorio_de_avaliacao", RelatorioAvaliacao.class);
23 23 xstream.alias("recomendacao", RecomendacaoAvaliavel.class);
24   - xstream.alias("criterio", CriterioAvaliavel.class);
25 24  
26 25  
27 26 xstream.aliasField("data", RelatorioAvaliacao.class, "date");
28 27 xstream.addImplicitCollection(RelatorioAvaliacao.class, "recomendacoes");
29 28  
30   - xstream.aliasField("criterio", RecomendacaoAvaliavel.class, "criterio");
31   - xstream.aliasField("id_criterio", CriterioAvaliavel.class, "idCriterio");
32   - xstream.aliasField("itens_criterio", CriterioAvaliavel.class, "qtdeItens");
33   - xstream.aliasField("erros_criterio", CriterioAvaliavel.class, "qtdeErros");
34   -
  29 +
35 30 xstream.aliasField("id_recomendacao", RecomendacaoAvaliavel.class, "idRecomendacao");
36 31 xstream.aliasField("total_erros", RecomendacaoAvaliavel.class, "totalErros");
37 32 xstream.aliasField("total_avisos", RecomendacaoAvaliavel.class, "totalAvisos");
38 33 xstream.aliasField("qtde_linhas", RelatorioAvaliacao.class, "qtdeLinhas");
  34 +
  35 +
  36 + xstream.alias("criterio", CriterioAvaliavel.class);
  37 + xstream.addImplicitCollection(RecomendacaoAvaliavel.class, "criterios");
  38 + xstream.aliasField("id_criterio", CriterioAvaliavel.class, "idCriterio");
  39 + xstream.aliasField("itens_criterio", CriterioAvaliavel.class, "qtdeItens");
  40 + xstream.aliasField("erros_criterio", CriterioAvaliavel.class, "qtdeErros");
  41 +
39 42  
40 43 return (RelatorioAvaliacao) xstream.fromXML(fonte);
41 44 }
... ...
Desenvolvimento/Codificacao/e-Selo/src/main/java/br/com/eselo/controller/AvaliacaoController.java
... ... @@ -23,6 +23,7 @@ import br.com.eselo.component.LeitorXML;
23 23 import br.com.eselo.component.UsuarioWeb;
24 24 import br.com.eselo.dao.ParametroAvaliacaoDAO;
25 25 import br.com.eselo.dao.UrlDAO;
  26 +import br.com.eselo.integracao.CriterioAvaliavel;
26 27 import br.com.eselo.integracao.RecomendacaoAvaliavel;
27 28 import br.com.eselo.integracao.RelatorioAvaliacao;
28 29 import br.com.eselo.integracao.ResultadoAvaliacao;
... ... @@ -57,24 +58,14 @@ public class AvaliacaoController {
57 58 @Get("/avaliar/{url}")
58 59 public ResultadoAvaliacao resultado(String url) {
59 60  
  61 + String xml;
60 62 //Obtendo um xml de teste
61   - String xml = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>"+
62   - "<relatorio_de_avaliacao>"+
63   - " <url>www.teste.com.br</url>"+
64   - " <data>Sun Jun 29 11:17:22 GMT-03:00 2014</data>"+
65   - " <recomendacao>"+
66   - " <id_recomendacao>1</id_recomendacao>"+
67   - " <criterio>"+
68   - " <id_criterio>1</id_criterio>"+
69   - " <erros_criterio>13</erros_criterio>"+
70   - " <itens_criterio>100</itens_criterio>"+
71   - " </criterio>"+
72   - " <total_erros>12</total_erros>"+
73   - " <total_avisos>10</total_avisos>"+
74   - " </recomendacao>"+
75   - " <qtde_linhas>1000</qtde_linhas>"+
76   - "</relatorio_de_avaliacao>";
77   -
  63 + if(url.equals("www.teste.com.br")){
  64 + xml = RelatorioAvaliacao.TESTEXML;
  65 + }else{
  66 + xml = new RelatorioAvaliacao().toString();
  67 + }
  68 +
78 69 //Receber o xml
79 70 RelatorioAvaliacao relatorioAvaliacao = new LeitorXML().lerAvaliacaoXML(xml);
80 71  
... ... @@ -99,109 +90,100 @@ public class AvaliacaoController {
99 90 double somaPesosRecomendacoes=0.0;
100 91 double somatorioPesosCriterios=0.0;
101 92  
102   - /*
103   - Nota da Avaliação = (somatório da Nota Teste / somatório do peso)
  93 + /*Nota da Avaliação = (somatório da Nota Teste / somatório do peso)
104 94 Nota da Avaliação = 2,025 + 2,3 / 3 + 4
105 95 Nota da Avaliação = 4,325 / 7
106   - Nota da Avaliação = 0,61785
107   - */
  96 + Nota da Avaliação = 0,61785*/
108 97 double somatorioNotaTeste=0.0;
109 98  
110 99 /*Nota da Recomendação = Nota da Avaliação * Peso da Recomendação
111 100 Nota da Recomendação = 0,61785 * 3
112   - Nota da Recomendação = 1,8535
113   - */
  101 + Nota da Recomendação = 1,8535 */
114 102 double somatorioNotaRecomendacoes=0.0;
115 103  
116   - /*Calculo da Conformidade Acessibilidade
117   - Conformidade Acessibilidade = somatório das notas das recomendações (NR) / somatório dos pesos das recomendações (PR)
118   - Conformidade Acessibilidade = NR1 + NR2 + NR3 + NR22 / PR1 + PR2 + PR3 + PR22
119   - Conformidade Acessibilidade = 1,10625 + 0,5 + 0,8 + 1,8535 / 3 + 1 + 2 + 3
120   - Conformidade Acessibilidade = 4,25975 / 9
121   - Conformidade Acessibilidade = 0,4733 ==> 47,33 %
122   - */
123   - double conformidadeAcessibilidade=0.0;
124   -
125   -
126 104 //obter os resultados
127 105 recomendacoesAvaliadas = relatorioAvaliacao.getRecomendacoes();
128   -
129 106  
130 107 ParametroAvaliacao parametroAvaliacao = paramDao.getLastParametrosAvaliacao();
131 108  
132 109 //obter as diretrizes e níveis de conformidade
133 110 recomendacoesValidas = parametroAvaliacao.getRecomendacoes();
134 111  
  112 +
135 113 //Lendo e Comparando os resultados com o Parametro de Avaliacao
136   - for(RecomendacaoAvaliavel recomendacaoAvaliavel: recomendacoesAvaliadas){
  114 + for(RecomendacaoAvaliavel recomendacaoAvaliada: recomendacoesAvaliadas){
137 115 for (Recomendacao recomendacao: recomendacoesValidas){
138   - if(recomendacaoAvaliavel.getIdRecomendacao().equals(recomendacao.getNumeroRecomendacao())){
  116 + if(recomendacaoAvaliada.getIdRecomendacao().equals(recomendacao.getNumeroRecomendacao())){
139 117 somaPesosRecomendacoes = somaPesosRecomendacoes + recomendacao.getPeso();
140   - for(Criterio criterio: recomendacao.getCriterios()){
141   - if(recomendacaoAvaliavel.getCriterio().getIdCriterio().equals(criterio.getNumeroCriterio())){
142   - for(Faixa faixa: criterio.getFaixas()){
143   - if(
144   - (recomendacaoAvaliavel.getCriterio().getPercentualErros() >=faixa.getFaixaInicio())
145   - &&
146   - (recomendacaoAvaliavel.getCriterio().getPercentualErros() >=faixa.getFaixaFim())
147   - ){
148   - somatorioNotaTeste = (criterio.getPeso() * faixa.getPercentualConformidade())+somatorioNotaTeste;
149   - somatorioPesosCriterios = criterio.getPeso() + somatorioPesosCriterios;
  118 + for(CriterioAvaliavel criterioAvaliado: recomendacaoAvaliada.getCriterios()){
  119 + for(Criterio criterio: recomendacao.getCriterios()){
  120 + if(criterioAvaliado.getIdCriterio().equals(criterio.getNumeroCriterio())){
  121 + for(Faixa faixa: criterio.getFaixas()){
  122 + if((criterioAvaliado.getPercentualErros() >=faixa.getFaixaInicio()) && (criterioAvaliado.getPercentualErros() >=faixa.getFaixaFim())){
  123 + somatorioNotaTeste = (criterio.getPeso() * faixa.getPercentualConformidade())+somatorioNotaTeste;
  124 + somatorioPesosCriterios = criterio.getPeso() + somatorioPesosCriterios;
  125 + }
150 126 }
151 127 }
152 128 }
153 129 }
  130 +
154 131 }
155 132 }
156 133 }
157 134  
158 135  
  136 + /*Calculo da Conformidade Acessibilidade
  137 + Conformidade Acessibilidade = somatório das notas das recomendações (NR) / somatório dos pesos das recomendações (PR)
  138 + Conformidade Acessibilidade = NR1 + NR2 + NR3 + NR22 / PR1 + PR2 + PR3 + PR22
  139 + Conformidade Acessibilidade = 1,10625 + 0,5 + 0,8 + 1,8535 / 3 + 1 + 2 + 3
  140 + Conformidade Acessibilidade = 4,25975 / 9
  141 + Conformidade Acessibilidade = 0,4733 ==> 47,33 % */
  142 + double conformidadeAcessibilidade = 100*(somatorioNotaRecomendacoes/somaPesosRecomendacoes);
159 143  
160   - conformidadeAcessibilidade = 100*(somatorioNotaRecomendacoes/somaPesosRecomendacoes);
161   -
162   - ResultadoAvaliacao resultadoAvaliacao = new ResultadoAvaliacao();
163   - resultadoAvaliacao.setDataSolicitacao(relatorioAvaliacao.getDate());
164   - resultadoAvaliacao.setDataResultado(new Date());
165   - resultadoAvaliacao.setUrl(relatorioAvaliacao.getUrl());
166   - resultadoAvaliacao.setNota(conformidadeAcessibilidade);
167 144  
168 145 return conformidadeAcessibilidade;
169 146 }
170 147  
  148 + /**
  149 + * Função REST que executa uma avaliação e devolve seu resultado no formato JSON
  150 + * @param relatorioAvaliacao
  151 + */
171 152 @Post("/calcular-nota")
172 153 public void calcularNota(RelatorioAvaliacao relatorioAvaliacao) {
173 154 ResultadoAvaliacao resultadoAvaliacao = new ResultadoAvaliacao();
  155 + String observacao = "Foi impossivel realizar a avaliação.";
174 156  
175 157 if (relatorioAvaliacao.getRecomendacoes().size() > 0 && relatorioAvaliacao.getDate() != null && relatorioAvaliacao.getUrl() != null) {
176 158  
177 159 Url url = daoUrl.getStringUrl(relatorioAvaliacao.getUrl());
178   - if(url.getUrl()==null){
  160 +
  161 + if(url==null){
179 162 url = new Url();
180 163 url.setUrl(relatorioAvaliacao.getUrl());
181 164 daoUrl.save(url);
182 165 }
183 166  
184 167 resultadoAvaliacao.setUrl(url.getUrl());
185   - resultadoAvaliacao.setDataResultado(new Date());
186 168 resultadoAvaliacao.setDataSolicitacao(relatorioAvaliacao.getDate());
187 169  
188 170 double nota = avaliar(relatorioAvaliacao);
189 171 if(nota>0){
190 172 resultadoAvaliacao.setNota(nota);
191   - resultadoAvaliacao.setObservacoes("Avaliação realizada com sucesso!");
  173 + observacao="Avaliação realizada com sucesso!";
192 174 } else {
193 175 resultadoAvaliacao.setNota(null);
194   - resultadoAvaliacao.setObservacoes("Foi impossivel realizar a avaliação.");
195 176 }
196 177  
197 178 } else {
198 179 resultadoAvaliacao.setNota(null);
199 180 resultadoAvaliacao.setUrl(relatorioAvaliacao.getUrl());
200   - resultadoAvaliacao.setDataResultado(new Date());
201 181 resultadoAvaliacao.setDataSolicitacao(relatorioAvaliacao.getDate());
202   - resultadoAvaliacao.setObservacoes("Foi impossivel realizar a avaliação.");
203 182 }
204 183  
  184 + resultadoAvaliacao.setDataResultado(new Date());
  185 + resultadoAvaliacao.setObservacoes(observacao);
  186 +
205 187 result.use(Results.json()).withoutRoot().from(resultadoAvaliacao).serialize();
206 188 }
207 189  
... ...
Desenvolvimento/Codificacao/e-Selo/src/main/java/br/com/eselo/conversor/ESeloDateConverter.java
... ... @@ -22,7 +22,6 @@ public class ESeloDateConverter implements Converter&lt;Date&gt; {
22 22 if (isNullOrEmpty(value)) {
23 23 return null;
24 24 }
25   -System.out.println("passei aqui");
26 25 try {
27 26 return new SimpleDateFormat("EEE MMM dd HH:mm:ss zzz yyyy", Locale.US).parse(value);
28 27 } catch (ParseException e) {
... ...
Desenvolvimento/Codificacao/e-Selo/src/main/java/br/com/eselo/integracao/CriterioAvaliavel.java
... ... @@ -30,7 +30,13 @@ public class CriterioAvaliavel {
30 30 this.idCriterio = idCriterio;
31 31 }
32 32  
33   - public double getPercentualErros(){
34   - return qtdeErros/qtdeItens;
  33 + public Double getPercentualErros(){
  34 + double resultado;
  35 + if(qtdeItens==0){
  36 + resultado = 0.0;
  37 + }else{
  38 + resultado = (double) (qtdeErros/qtdeItens);
  39 + }
  40 + return resultado;
35 41 }
36 42 }
... ...
Desenvolvimento/Codificacao/e-Selo/src/main/java/br/com/eselo/integracao/RecomendacaoAvaliavel.java
1 1 package br.com.eselo.integracao;
2 2  
  3 +import java.util.ArrayList;
  4 +import java.util.List;
  5 +
3 6 public class RecomendacaoAvaliavel {
4 7  
5 8 private Long idRecomendacao;
6   - private CriterioAvaliavel criterio;
  9 + private List<CriterioAvaliavel> criterios;
7 10 private Long totalErros;
8 11 private Long totalAvisos;
9 12  
10 13 public RecomendacaoAvaliavel() {
11   - this.criterio = new CriterioAvaliavel();
  14 + this.setCriterios(new ArrayList<CriterioAvaliavel>());
12 15 }
13 16  
14   - public CriterioAvaliavel getCriterio() {
15   - return criterio;
  17 + public List<CriterioAvaliavel> getCriterios() {
  18 + return criterios;
16 19 }
17 20  
18   - public void setCriterio(CriterioAvaliavel criterioAvaliavel) {
19   - this.criterio = criterioAvaliavel;
  21 + public void setCriterios(List<CriterioAvaliavel> criterios) {
  22 + this.criterios = criterios;
20 23 }
21 24  
  25 + public void addCriterio(CriterioAvaliavel criterioAvaliavel){
  26 + this.criterios.add(criterioAvaliavel);
  27 + }
  28 +
22 29 public Long getTotalErros() {
23 30 return totalErros;
24 31 }
... ... @@ -43,5 +50,4 @@ public class RecomendacaoAvaliavel {
43 50 this.idRecomendacao = idRecomendacao;
44 51 }
45 52  
46   -
47 53 }
... ...
Desenvolvimento/Codificacao/e-Selo/src/main/java/br/com/eselo/integracao/RelatorioAvaliacao.java
... ... @@ -53,7 +53,6 @@ public class RelatorioAvaliacao {
53 53 return qtdeLinhas;
54 54 }
55 55  
56   -
57 56 public void setQtdeLinhas(Long qtdeLinhas) {
58 57 this.qtdeLinhas = qtdeLinhas;
59 58 }
... ... @@ -67,24 +66,120 @@ public class RelatorioAvaliacao {
67 66  
68 67 xstream.alias("relatorio_de_avaliacao", RelatorioAvaliacao.class);
69 68 xstream.alias("recomendacao", RecomendacaoAvaliavel.class);
70   - xstream.alias("criterio", CriterioAvaliavel.class);
71 69  
72 70  
73 71 xstream.aliasField("data", RelatorioAvaliacao.class, "date");
74 72 xstream.addImplicitCollection(RelatorioAvaliacao.class, "recomendacoes");
75 73  
76   - xstream.aliasField("criterio", RecomendacaoAvaliavel.class, "criterio");
77   - xstream.aliasField("id_criterio", CriterioAvaliavel.class, "idCriterio");
78   - xstream.aliasField("itens_criterio", CriterioAvaliavel.class, "qtdeItens");
79   - xstream.aliasField("erros_criterio", CriterioAvaliavel.class, "qtdeErros");
80   -
  74 +
81 75 xstream.aliasField("id_recomendacao", RecomendacaoAvaliavel.class, "idRecomendacao");
82 76 xstream.aliasField("total_erros", RecomendacaoAvaliavel.class, "totalErros");
83 77 xstream.aliasField("total_avisos", RecomendacaoAvaliavel.class, "totalAvisos");
84 78 xstream.aliasField("qtde_linhas", RelatorioAvaliacao.class, "qtdeLinhas");
  79 +
85 80  
86   -
  81 + xstream.alias("criterio", CriterioAvaliavel.class);
  82 + xstream.addImplicitCollection(RecomendacaoAvaliavel.class, "criterios");
  83 + xstream.aliasField("id_criterio", CriterioAvaliavel.class, "idCriterio");
  84 + xstream.aliasField("itens_criterio", CriterioAvaliavel.class, "qtdeItens");
  85 + xstream.aliasField("erros_criterio", CriterioAvaliavel.class, "qtdeErros");
  86 +
87 87 return "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n"+xstream.toXML(this);
88 88  
89 89 }
  90 +
  91 + public static String TESTEXML = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>"+
  92 + "<relatorio_de_avaliacao>"+
  93 + " <url>www.teste.com.br</url>"+
  94 + " <data>Mon Jun 30 12:43:03 GMT-03:00 2014</data>"+
  95 + " <recomendacao>"+
  96 + " <id_recomendacao>3</id_recomendacao>"+
  97 + " <criterio>"+
  98 + " <id_criterio>7</id_criterio>"+
  99 + " <erros_criterio>1</erros_criterio>"+
  100 + " <itens_criterio>0</itens_criterio>"+
  101 + " </criterio>"+
  102 + " <criterio>"+
  103 + " <id_criterio>5</id_criterio>"+
  104 + " <erros_criterio>1</erros_criterio>"+
  105 + " <itens_criterio>0</itens_criterio>"+
  106 + " </criterio>"+
  107 + " <criterio>"+
  108 + " <id_criterio>4</id_criterio>"+
  109 + " <erros_criterio>0</erros_criterio>"+
  110 + " <itens_criterio>0</itens_criterio>"+
  111 + " </criterio>"+
  112 + " <criterio>"+
  113 + " <id_criterio>3</id_criterio>"+
  114 + " <erros_criterio>0</erros_criterio>"+
  115 + " <itens_criterio>0</itens_criterio>"+
  116 + " </criterio>"+
  117 + " <criterio>"+
  118 + " <id_criterio>2</id_criterio>"+
  119 + " <erros_criterio>1</erros_criterio>"+
  120 + " <itens_criterio>0</itens_criterio>"+
  121 + " </criterio>"+
  122 + " <criterio>"+
  123 + " <id_criterio>1</id_criterio>"+
  124 + " <erros_criterio>0</erros_criterio>"+
  125 + " <itens_criterio>0</itens_criterio>"+
  126 + " </criterio>"+
  127 + " <total_erros>3</total_erros>"+
  128 + " </recomendacao>"+
  129 + " <recomendacao>"+
  130 + " <id_recomendacao>1</id_recomendacao>"+
  131 + " <criterio>"+
  132 + " <id_criterio>6</id_criterio>"+
  133 + " <erros_criterio>1</erros_criterio>"+
  134 + " <itens_criterio>0</itens_criterio>"+
  135 + " </criterio>"+
  136 + " <criterio>"+
  137 + " <id_criterio>1</id_criterio>"+
  138 + " <erros_criterio>15</erros_criterio>"+
  139 + " <itens_criterio>1000</itens_criterio>"+
  140 + " </criterio>"+
  141 + " <criterio>"+
  142 + " <id_criterio>4</id_criterio>"+
  143 + " <erros_criterio>0</erros_criterio>"+
  144 + " <itens_criterio>0</itens_criterio>"+
  145 + " </criterio>"+
  146 + " <criterio>"+
  147 + " <id_criterio>2</id_criterio>"+
  148 + " <erros_criterio>53</erros_criterio>"+
  149 + " <itens_criterio>1000</itens_criterio>"+
  150 + " </criterio>"+
  151 + " <criterio>"+
  152 + " <id_criterio>5</id_criterio>"+
  153 + " <erros_criterio>1</erros_criterio>"+
  154 + " <itens_criterio>0</itens_criterio>"+
  155 + " </criterio>"+
  156 + " <criterio>"+
  157 + " <id_criterio>3</id_criterio>"+
  158 + " <erros_criterio>1</erros_criterio>"+
  159 + " <itens_criterio>0</itens_criterio>"+
  160 + " </criterio>"+
  161 + " <total_erros>72</total_erros>"+
  162 + " </recomendacao>"+
  163 + " <recomendacao>"+
  164 + " <id_recomendacao>2</id_recomendacao>"+
  165 + " <criterio>"+
  166 + " <id_criterio>3</id_criterio>"+
  167 + " <erros_criterio>0</erros_criterio>"+
  168 + " <itens_criterio>0</itens_criterio>"+
  169 + " </criterio>"+
  170 + " <criterio>"+
  171 + " <id_criterio>2</id_criterio>"+
  172 + " <erros_criterio>0</erros_criterio>"+
  173 + " <itens_criterio>0</itens_criterio>"+
  174 + " </criterio>"+
  175 + " <criterio>"+
  176 + " <id_criterio>1</id_criterio>"+
  177 + " <erros_criterio>1</erros_criterio>"+
  178 + " <itens_criterio>0</itens_criterio>"+
  179 + " </criterio>"+
  180 + " <total_erros>1</total_erros>"+
  181 + " </recomendacao>"+
  182 + " <qtde_linhas>1000</qtde_linhas>"+
  183 + "</relatorio_de_avaliacao>";
  184 +
90 185 }
... ...
Desenvolvimento/Codificacao/e-Selo/src/main/java/br/com/eselo/model/Criterio.java
... ... @@ -55,7 +55,7 @@ public class Criterio {
55 55 @ForeignKey(name = "fk_sel_criterio_sel_recomendacao")
56 56 private Recomendacao recomendacao;
57 57  
58   - @OneToMany(mappedBy = "criterio", targetEntity = br.com.eselo.model.Faixa.class, fetch = FetchType.LAZY, cascade = CascadeType.ALL)
  58 + @OneToMany(mappedBy = "criterio", targetEntity = br.com.eselo.model.Faixa.class, fetch = FetchType.EAGER, cascade = CascadeType.ALL)
59 59 @OrderBy("faixaInicio desc, faixaFim desc")
60 60 private List<Faixa> faixas;
61 61  
... ...
Desenvolvimento/Codificacao/e-Selo/src/test/java/teste/LeitorXMLTest.java
... ... @@ -23,22 +23,7 @@ public class LeitorXMLTest {
23 23  
24 24 public static String exemploAvaliacao(){
25 25 System.err.println(new Date());
26   - String input = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>"+
27   - "<relatorio_de_avaliacao>"+
28   - " <url>www.teste.com.br</url>"+
29   - " <data>Sun Jun 29 11:17:22 GMT-03:00 2014</data>"+
30   - " <recomendacao>"+
31   - " <id_recomendacao>1</id_recomendacao>"+
32   - " <criterio>"+
33   - " <id_criterio>1</id_criterio>"+
34   - " <erros_criterio>13</erros_criterio>"+
35   - " <itens_criterio>100</itens_criterio>"+
36   - " </criterio>"+
37   - " <total_erros>12</total_erros>"+
38   - " <total_avisos>10</total_avisos>"+
39   - " </recomendacao>"+
40   - " <qtde_linhas>1000</qtde_linhas>"+
41   - "</relatorio_de_avaliacao>";
  26 + String input = RelatorioAvaliacao.TESTEXML;
42 27  
43 28 RelatorioAvaliacao ar = new LeitorXML().lerAvaliacaoXML(input);
44 29 System.out.println("Saída em XML:");
... ...
Desenvolvimento/Codificacao/e-Selo/src/test/java/teste/RelatorioAvaliacaoTest.java
... ... @@ -29,7 +29,7 @@ public class RelatorioAvaliacaoTest {
29 29 criterioAvaliavel.setIdCriterio(1l);
30 30 criterioAvaliavel.setQtdeErros(13l);
31 31 criterioAvaliavel.setQtdeItens(100l);
32   - recomendacaoAvaliavel.setCriterio(criterioAvaliavel);
  32 + recomendacaoAvaliavel.addCriterio(criterioAvaliavel);
33 33  
34 34 resultadoAvaliacao.addRecomendacao(recomendacaoAvaliavel);
35 35  
... ...
Desenvolvimento/Codificacao/e-Selo/src/test/java/teste/WebChecker.java
... ... @@ -111,26 +111,115 @@ public class WebChecker {
111 111 }
112 112  
113 113  
  114 + @SuppressWarnings("unused")
114 115 public static void main(String ...arg){
115   - String s = new Date().toString();
116   - System.out.println(s);
  116 + String local = "http://localhost:18080/e-Selo/calcular-nota";
  117 + String remoto = "https://sistemas-treinamento.ifbaiano.edu.br/eselo/calcular-nota";
117 118  
118   - WebChecker pagina = WebChecker.from("http://localhost:18080/eselo/calcular-nota").withPostRequest()
119   - //WebChecker pagina = WebChecker.from("https://sistemas-treinamento.ifbaiano.edu.br/eselo/calcular-nota").withPostRequest()
  119 + WebChecker pagina = WebChecker.from(local).withPostRequest()
120 120  
121   - .addParam("avaliationReport.date", s)
122   - .addParam("avaliationReport.url", "http://www.globo.com.br")
123   - .addParam("avaliationReport.recomendacao[0].identificador", "1")
124   - .addParam("avaliationReport.recomendacao[0].totalErros", "10")
125   - .addParam("avaliationReport.recomendacao[0].totalAvisos", "5")
126   - .addParam("avaliationReport.recomendacao[0].criterio.identificador","1")
127   - .addParam("avaliationReport.recomendacao[0].criterio.qtdeErros","13")
128   - .addParam("avaliationReport.recomendacao[0].criterio.qtdeItens","120")
129   - .addParam("avaliationReport.recomendacao[1].identificador", "2")
130   - .addParam("avaliationReport.recomendacao[1].totalErros", "3")
131   - .addParam("avaliationReport.recomendacao[1].totalAvisos", "6")
132   - .execute();
  121 + //Relatorio de Avaliacao
  122 + .addParam("relatorioAvaliacao.date", new Date().toString())
  123 + .addParam("relatorioAvaliacao.url", "www.teste.com.br")
  124 + .addParam("relatorioAvaliacao.qtdeLinhas", "1000")
  125 +
  126 + //Recomendacao
  127 + .addParam("relatorioAvaliacao.recomendacoes[0].idRecomendacao", "1")
  128 +
  129 + //Critério
  130 + .addParam("relatorioAvaliacao.recomendacoes[0].criterios[0].idCriterio","1")
  131 + .addParam("relatorioAvaliacao.recomendacoes[0].criterios[0].qtdeErros","15")
  132 + .addParam("relatorioAvaliacao.recomendacoes[0].criterios[0].qtdeItens","1000")
  133 +
  134 + //Critério
  135 + .addParam("relatorioAvaliacao.recomendacoes[0].criterios[1].idCriterio","2")
  136 + .addParam("relatorioAvaliacao.recomendacoes[0].criterios[1].qtdeErros","53")
  137 + .addParam("relatorioAvaliacao.recomendacoes[0].criterios[1].qtdeItens","1000")
  138 +
  139 + //Critério
  140 + .addParam("relatorioAvaliacao.recomendacoes[0].criterios[2].idCriterio","3")
  141 + .addParam("relatorioAvaliacao.recomendacoes[0].criterios[2].qtdeErros","1")
  142 + .addParam("relatorioAvaliacao.recomendacoes[0].criterios[2].qtdeItens","0")
  143 +
  144 + //Critério
  145 + .addParam("relatorioAvaliacao.recomendacoes[0].criterios[3].idCriterio","4")
  146 + .addParam("relatorioAvaliacao.recomendacoes[0].criterios[3].qtdeErros","0")
  147 + .addParam("relatorioAvaliacao.recomendacoes[0].criterios[3].qtdeItens","0")
  148 +
  149 + //Critério
  150 + .addParam("relatorioAvaliacao.recomendacoes[0].criterios[4].idCriterio","5")
  151 + .addParam("relatorioAvaliacao.recomendacoes[0].criterios[4].qtdeErros","1")
  152 + .addParam("relatorioAvaliacao.recomendacoes[0].criterios[4].qtdeItens","0")
  153 +
  154 + //Critério
  155 + .addParam("relatorioAvaliacao.recomendacoes[0].criterios[5].idCriterio","6")
  156 + .addParam("relatorioAvaliacao.recomendacoes[0].criterios[5].qtdeErros","1")
  157 + .addParam("relatorioAvaliacao.recomendacoes[0].criterios[5].qtdeItens","0")
  158 +
  159 + .addParam("relatorioAvaliacao.recomendacoes[0].totalErros","72")
  160 +
  161 + //Recomendacao
  162 + .addParam("relatorioAvaliacao.recomendacoes[1].idRecomendacao", "2")
  163 +
  164 + //Critério
  165 + .addParam("relatorioAvaliacao.recomendacoes[1].criterios[0].idCriterio","1")
  166 + .addParam("relatorioAvaliacao.recomendacoes[1].criterios[0].qtdeErros","1")
  167 + .addParam("relatorioAvaliacao.recomendacoes[1].criterios[0].qtdeItens","0")
  168 +
  169 + //Critério
  170 + .addParam("relatorioAvaliacao.recomendacoes[1].criterios[1].idCriterio","2")
  171 + .addParam("relatorioAvaliacao.recomendacoes[1].criterios[1].qtdeErros","0")
  172 + .addParam("relatorioAvaliacao.recomendacoes[1].criterios[1].qtdeItens","0")
133 173  
  174 + //Critério
  175 + .addParam("relatorioAvaliacao.recomendacoes[1].criterios[2].idCriterio","3")
  176 + .addParam("relatorioAvaliacao.recomendacoes[1].criterios[2].qtdeErros","0")
  177 + .addParam("relatorioAvaliacao.recomendacoes[1].criterios[2].qtdeItens","0")
  178 +
  179 + .addParam("relatorioAvaliacao.recomendacoes[1].totalErros","1")
  180 +
  181 +
  182 +
  183 +
  184 +
  185 + //Recomendacao
  186 + .addParam("relatorioAvaliacao.recomendacoes[2].idRecomendacao", "3")
  187 +
  188 + //Critério
  189 + .addParam("relatorioAvaliacao.recomendacoes[2].criterios[0].idCriterio","1")
  190 + .addParam("relatorioAvaliacao.recomendacoes[2].criterios[0].qtdeErros","0")
  191 + .addParam("relatorioAvaliacao.recomendacoes[2].criterios[0].qtdeItens","0")
  192 +
  193 + //Critério
  194 + .addParam("relatorioAvaliacao.recomendacoes[2].criterios[1].idCriterio","2")
  195 + .addParam("relatorioAvaliacao.recomendacoes[2].criterios[1].qtdeErros","1")
  196 + .addParam("relatorioAvaliacao.recomendacoes[2].criterios[1].qtdeItens","0")
  197 +
  198 + //Critério
  199 + .addParam("relatorioAvaliacao.recomendacoes[2].criterios[2].idCriterio","3")
  200 + .addParam("relatorioAvaliacao.recomendacoes[2].criterios[2].qtdeErros","0")
  201 + .addParam("relatorioAvaliacao.recomendacoes[2].criterios[2].qtdeItens","0")
  202 +
  203 + //Critério
  204 + .addParam("relatorioAvaliacao.recomendacoes[2].criterios[3].idCriterio","4")
  205 + .addParam("relatorioAvaliacao.recomendacoes[2].criterios[3].qtdeErros","0")
  206 + .addParam("relatorioAvaliacao.recomendacoes[2].criterios[3].qtdeItens","0")
  207 +
  208 + //Critério
  209 + .addParam("relatorioAvaliacao.recomendacoes[2].criterios[4].idCriterio","5")
  210 + .addParam("relatorioAvaliacao.recomendacoes[2].criterios[4].qtdeErros","1")
  211 + .addParam("relatorioAvaliacao.recomendacoes[2].criterios[4].qtdeItens","0")
  212 +
  213 + //Critério
  214 + .addParam("relatorioAvaliacao.recomendacoes[2].criterios[5].idCriterio","7")
  215 + .addParam("relatorioAvaliacao.recomendacoes[2].criterios[5].qtdeErros","1")
  216 + .addParam("relatorioAvaliacao.recomendacoes[2].criterios[5].qtdeItens","0")
  217 +
  218 + .addParam("relatorioAvaliacao.recomendacoes[2].totalErros","3")
  219 +
  220 + .execute();
  221 +
  222 + System.out.println("Resultado esperado: 47,33%");
134 223 System.out.println(pagina.getContent());
135 224  
136 225 }
... ...