Commit e6ec147c7aae90cfc009bc02bfa89ff8abc95acb
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
Showing
10 changed files
with
282 additions
and
117 deletions
Show diff stats
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<Date> { |
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 | } | ... | ... |