Commit 318fa6b733bb3f487addf0bb9f3fdf537f387d8e

Authored by magno.oliveira
1 parent 72404893
Exists in master

Ajustes na avaliação e nas recomendações

git-svn-id: https://svn.bento.ifrs.edu.br/default/ASES/e-selo@9772 c2178572-b5ca-4887-91d2-9e3a90c7d55b
Desenvolvimento/Codificacao/e-Selo/src/main/java/br/com/eselo/controller/AvaliacaoController.java
... ... @@ -79,40 +79,29 @@ public class AvaliacaoController {
79 79 }
80 80  
81 81 @Get("/avaliar/{url}")
82   - public ResultadoAvaliacao resultado(String url) {
  82 + public void resultado(String url) {
83 83 String xml;
84 84 // Obtendo um xml de teste
85 85 if (url.equals("www.teste.com.br")) {
86 86 xml = RelatorioAvaliacao.TESTEXML;
87 87 } else {
88   - xml = new RelatorioAvaliacao().toString();
  88 + RelatorioAvaliacao ra = new RelatorioAvaliacao();
  89 + ra.setUrl(url);
  90 + ra.setDate(new Date());
  91 + xml = ra.toString();
89 92 }
90 93  
91 94 // Receber o xml
92   - RelatorioAvaliacao relatorioAvaliacao = new LeitorXML()
93   - .lerAvaliacaoXML(xml);
94   -
  95 + RelatorioAvaliacao relatorioAvaliacao = new LeitorXML().lerAvaliacaoXML(xml);
  96 +/*
95 97 Url modelUrl = daoUrl.getStringUrl(relatorioAvaliacao.getUrl());
96 98 if (modelUrl == null) {
97 99 modelUrl = new Url();
98 100 modelUrl.setUrl(relatorioAvaliacao.getUrl());
99 101 daoUrl.save(modelUrl);
100 102 }
101   -
102   - // Avaliar
103   - String mensagem = "Avaliação realizada com sucesso. [Nota "
104   - + avaliar(relatorioAvaliacao, modelUrl) + "]";
105   - result.include("mensagem", mensagem);
106   - // result.include("nomeUrl", relatorioAvaliacao.getUrl());
107   - // result.include("dataAval", relatorioAvaliacao.getDate());
108   -
109   - // teste
110   - result.include("recomendacoesList",
111   - relatorioAvaliacao.getRecomendacoes());
112   - result.include("dataAval", new Date().toString());
113   - result.include("nomeUrl", url);
114   -
115   - return new ResultadoAvaliacao();
  103 + */
  104 + calcularNota(relatorioAvaliacao);
116 105 }
117 106  
118 107 private Double avaliar(RelatorioAvaliacao relatorioAvaliacao, Url url) {
... ... @@ -164,8 +153,10 @@ public class AvaliacaoController {
164 153 }
165 154 somaPesosRecomendacoes = somaPesosRecomendacoes
166 155 + recomendacao.getPeso();
167   - somatorioNotaRecomendacoes = ((somatorioNotaTeste / somatorioPesosCriterios) * recomendacao
168   - .getPeso()) + somatorioNotaRecomendacoes;
  156 +
  157 + if(somatorioPesosCriterios>0){
  158 + somatorioNotaRecomendacoes = ((somatorioNotaTeste / somatorioPesosCriterios) * recomendacao.getPeso()) + somatorioNotaRecomendacoes;
  159 + }
169 160 somatorioNotaTeste = 0.0;
170 161 somatorioPesosCriterios = 0.0;
171 162 break;
... ... @@ -206,7 +197,8 @@ public class AvaliacaoController {
206 197 + request.getServerName() + ":" + request.getServerPort()
207 198 + request.getContextPath();
208 199  
209   - if (relatorioAvaliacao.getRecomendacoes().size() > 0
  200 + if (relatorioAvaliacao.getRecomendacoes()!=null
  201 + && relatorioAvaliacao.getRecomendacoes().size() > 0
210 202 && relatorioAvaliacao.getDate() != null
211 203 && relatorioAvaliacao.getUrl() != null) {
212 204 try {
... ...
Desenvolvimento/Codificacao/e-Selo/src/main/java/br/com/eselo/dao/AvaliacaoDAO.java
... ... @@ -1,76 +0,0 @@
1   -package br.com.eselo.dao;
2   -
3   -import java.util.ArrayList;
4   -import java.util.List;
5   -
6   -import org.hibernate.Session;
7   -import org.hibernate.criterion.Order;
8   -import org.hibernate.criterion.Projections;
9   -import org.hibernate.criterion.Restrictions;
10   -
11   -import br.com.caelum.vraptor.ioc.Component;
12   -import br.com.eselo.model.Avaliacao;
13   -import br.com.eselo.model.ParametroCalculo;
14   -import br.com.eselo.model.Url;
15   -
16   -@Component
17   -public class AvaliacaoDAO extends GenericDAO<Avaliacao> {
18   -
19   - public AvaliacaoDAO(Session _session) {
20   - super(_session);
21   - }
22   -
23   - @SuppressWarnings("unchecked")
24   - public List<Avaliacao> listAll(int regIni, int regFim) {
25   - return getSession().createCriteria(getPersistentClass())
26   - .addOrder(Order.desc("dataAvaliacao")).list();
27   - }
28   -
29   - public List<Avaliacao> listUsuario(Long idUsuario) {
30   - List<Avaliacao> avaliacaoList = this.listAll();
31   -
32   - List<Avaliacao> resultado = new ArrayList<Avaliacao>();
33   - for (Avaliacao aval : avaliacaoList) {
34   - resultado.add(aval);
35   - }
36   -
37   - return resultado;
38   - }
39   -
40   - public List<Avaliacao> listFiltro(String nUrl, Long idUsuario) {
41   - List<Avaliacao> avaliacaoList = this.listAll();
42   -
43   - List<Avaliacao> resultado = new ArrayList<Avaliacao>(0);
44   - for (Avaliacao aval : avaliacaoList) {
45   - resultado.add(aval);
46   - }
47   - return resultado;
48   - }
49   -
50   - public Avaliacao getAvaliacao(Long idAval) {
51   - return (Avaliacao) getSession().createCriteria(getPersistentClass())
52   - .add(Restrictions.eq("id", idAval)).uniqueResult();
53   -
54   - }
55   -
56   - public Long getAvaliacaoByURL(Url url) {
57   - return (Long) getSession().createCriteria(getPersistentClass())
58   - .add(Restrictions.eq("idUrl", url))
59   - .setProjection(Projections.max("id")).uniqueResult();
60   - }
61   -
62   - public int numLinhas() {
63   - return (Integer) session.createCriteria(Avaliacao.class)
64   - .setProjection(Projections.rowCount()).uniqueResult();
65   - }
66   -
67   - public boolean existeAvaliacao(ParametroCalculo parametroCalculo) {
68   - @SuppressWarnings("unchecked")
69   - List<Avaliacao> encontrado = getSession()
70   - .createCriteria(getPersistentClass())
71   - .add(Restrictions.eq("parametroAvaliacao", parametroCalculo))
72   - .list();
73   - return encontrado.size() > 0;
74   - }
75   -
76   -}
Desenvolvimento/Codificacao/e-Selo/src/main/java/br/com/eselo/dao/ResultadoDAO.java
... ... @@ -1,32 +0,0 @@
1   -package br.com.eselo.dao;
2   -
3   -import java.util.List;
4   -
5   -import org.hibernate.Session;
6   -import org.hibernate.criterion.Order;
7   -import org.hibernate.criterion.Restrictions;
8   -
9   -import br.com.caelum.vraptor.ioc.Component;
10   -import br.com.eselo.model.Resultado;
11   -
12   -@Component
13   -public class ResultadoDAO extends GenericDAO<Resultado> {
14   -
15   - public ResultadoDAO(Session _session) {
16   - super(_session);
17   - }
18   -
19   - @SuppressWarnings("unchecked")
20   - public List<Resultado> listAll() {
21   - return getSession().createCriteria(getPersistentClass())
22   - .addOrder(Order.asc("id")).list();
23   - }
24   -
25   - @SuppressWarnings("unchecked")
26   - public List<Resultado> listResultado(Long idAvaliacao) {
27   - return getSession().createCriteria(getPersistentClass())
28   - .add(Restrictions.eq("avaliacao.id", idAvaliacao))
29   - .addOrder(Order.asc("id")).list();
30   - }
31   -
32   -}
Desenvolvimento/Codificacao/e-Selo/src/main/java/br/com/eselo/model/Avaliacao.java
... ... @@ -1,73 +0,0 @@
1   -package br.com.eselo.model;
2   -
3   -import java.util.Date;
4   -
5   -import javax.persistence.Column;
6   -import javax.persistence.Entity;
7   -import javax.persistence.FetchType;
8   -import javax.persistence.GeneratedValue;
9   -import javax.persistence.Id;
10   -import javax.persistence.JoinColumn;
11   -import javax.persistence.ManyToOne;
12   -import javax.persistence.Table;
13   -import javax.persistence.Temporal;
14   -import javax.persistence.TemporalType;
15   -
16   -import org.hibernate.annotations.ForeignKey;
17   -
18   -@Entity
19   -@Table(name = "sel_avaliacao")
20   -public class Avaliacao {
21   -
22   - @Id
23   - @GeneratedValue
24   - @Column(name = "id_avaliacao", columnDefinition = "serial", unique = true, nullable = false)
25   - private Long id;
26   -
27   - @ManyToOne(fetch = FetchType.LAZY)
28   - @JoinColumn(name = "id_parametro_avaliacao")
29   - @ForeignKey(name = "fk_sel_avaliacao_sel_parametro_avaliacao")
30   - private ParametroCalculo parametroCalculo;
31   -
32   - @ManyToOne(fetch = FetchType.LAZY)
33   - @JoinColumn(name="id_url", insertable=true, updatable=true)
34   - @ForeignKey(name = "fk_sel_avaliacao_sel_url")
35   - private Url url;
36   -
37   - @Column(name = "ts_avaliacao", columnDefinition = "timestamp without time zone", nullable = false)
38   - @Temporal(TemporalType.TIMESTAMP)
39   - private Date dataAvaliacao;
40   -
41   - public Long getId() {
42   - return id;
43   - }
44   -
45   - public void setId(Long id) {
46   - this.id = id;
47   - }
48   -
49   - public ParametroCalculo getParametroAvaliacao() {
50   - return parametroCalculo;
51   - }
52   -
53   - public void setParametroAvaliacao(ParametroCalculo parametroCalculo) {
54   - this.parametroCalculo = parametroCalculo;
55   - }
56   -
57   - public Url getUrl() {
58   - return url;
59   - }
60   -
61   - public void setUrl(Url url) {
62   - this.url = url;
63   - }
64   -
65   - public Date getDataAvaliacao() {
66   - return dataAvaliacao;
67   - }
68   -
69   - public void setDataAvaliacao(Date dataAvaliacao) {
70   - this.dataAvaliacao = dataAvaliacao;
71   - }
72   -
73   -}
Desenvolvimento/Codificacao/e-Selo/src/main/java/br/com/eselo/model/Recomendacao.java
... ... @@ -13,12 +13,9 @@ import javax.persistence.Id;
13 13 import javax.persistence.JoinColumn;
14 14 import javax.persistence.ManyToOne;
15 15 import javax.persistence.OneToMany;
16   -import javax.persistence.OneToOne;
17 16 import javax.persistence.SequenceGenerator;
18 17 import javax.persistence.Table;
19 18  
20   -import org.hibernate.annotations.Fetch;
21   -import org.hibernate.annotations.FetchMode;
22 19 import org.hibernate.annotations.ForeignKey;
23 20  
24 21 @Entity
... ...
Desenvolvimento/Codificacao/e-Selo/src/main/java/br/com/eselo/model/Resultado.java
... ... @@ -1,87 +0,0 @@
1   -package br.com.eselo.model;
2   -
3   -import javax.persistence.Column;
4   -import javax.persistence.Entity;
5   -import javax.persistence.FetchType;
6   -import javax.persistence.GeneratedValue;
7   -import javax.persistence.Id;
8   -import javax.persistence.JoinColumn;
9   -import javax.persistence.ManyToOne;
10   -import javax.persistence.OneToOne;
11   -import javax.persistence.Table;
12   -
13   -import org.hibernate.annotations.Fetch;
14   -import org.hibernate.annotations.FetchMode;
15   -import org.hibernate.annotations.ForeignKey;
16   -
17   -@Entity
18   -@Table(name = "sel_resultado")
19   -public class Resultado {
20   -
21   - @Id
22   - @GeneratedValue
23   - @Column(name = "id_resultado", columnDefinition = "serial", unique = true, nullable = false)
24   - private Long id;
25   -
26   - @OneToOne(fetch = FetchType.LAZY)
27   - @JoinColumn(name="id_avaliacao", insertable=true, updatable=true)
28   - @ForeignKey(name = "fk_sel_resultado_sel_avaliacao")
29   - @Fetch(FetchMode.SELECT)
30   - private Avaliacao avaliacao;
31   -
32   - @ManyToOne(fetch = FetchType.LAZY)
33   - @JoinColumn(name = "id_criterio")
34   - @ForeignKey(name = "fk_sel_resultado_sel_criterio")
35   - @Fetch(FetchMode.SELECT)
36   - private Criterio criterio;
37   -
38   - @Column(name = "nu_erros", nullable = false)
39   - private Long numErros;
40   -
41   - @Column(name = "nu_Itens", nullable = false)
42   - private Long numItens;
43   -
44   - public Long getId() {
45   - return id;
46   - }
47   -
48   - public void setId(Long id) {
49   - this.id = id;
50   - }
51   -
52   - public Avaliacao getAvaliacao() {
53   - return avaliacao;
54   - }
55   -
56   - public void setAvaliacao(Avaliacao avaliacao) {
57   - this.avaliacao = avaliacao;
58   - }
59   -
60   - public Criterio getCriterio() {
61   - return criterio;
62   - }
63   -
64   - public void setCriterio(Criterio criterio) {
65   - this.criterio = criterio;
66   - }
67   -
68   - public Long getNumErros() {
69   - return numErros;
70   - }
71   -
72   - public void setNumErros(Long numErros) {
73   - this.numErros = numErros;
74   - }
75   -
76   - public Long getNumItens() {
77   - return numItens;
78   - }
79   -
80   - public void setNumItens(Long numItens) {
81   - this.numItens = numItens;
82   - }
83   -
84   - public double getPercentualErros(){
85   - return numErros/numItens;
86   - }
87   -}