Commit f0a081a2f8f79955d462cd70dd4ab822fb98d9d7

Authored by magno.oliveira
1 parent 66685600
Exists in master

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

…-4887-91d2-9e3a90c7d55b
Desenvolvimento/Codificacao/e-Selo/src/main/java/br/com/eselo/component/LeitorXML.java 0 → 100644
... ... @@ -0,0 +1,70 @@
  1 +package br.com.eselo.component;
  2 +
  3 +import java.util.ArrayList;
  4 +import java.util.List;
  5 +
  6 +import br.com.eselo.integracao.CriterioAvaliavel;
  7 +import br.com.eselo.integracao.RecomendacaoAvaliavel;
  8 +import br.com.eselo.integracao.RelatorioAvaliacao;
  9 +import br.com.eselo.model.Avaliacao;
  10 +import br.com.eselo.model.Resultado;
  11 +
  12 +import com.google.gson.Gson;
  13 +import com.thoughtworks.xstream.XStream;
  14 +import com.thoughtworks.xstream.io.xml.DomDriver;
  15 +import com.thoughtworks.xstream.io.xml.XmlFriendlyReplacer;
  16 +
  17 +public class LeitorXML {
  18 +
  19 + public RelatorioAvaliacao lerAvaliacaoXML(String fonte){
  20 +
  21 + XStream xstream = new XStream(new DomDriver("UTF-8", new XmlFriendlyReplacer("__", "_")));
  22 +
  23 + xstream.alias("relatorio_de_avaliacao", RelatorioAvaliacao.class);
  24 + xstream.alias("recomendacao", RecomendacaoAvaliavel.class);
  25 + xstream.alias("criterio", CriterioAvaliavel.class);
  26 +
  27 +
  28 + xstream.aliasField("data", RelatorioAvaliacao.class, "date");
  29 + xstream.addImplicitCollection(RelatorioAvaliacao.class, "recomendacoes");
  30 +
  31 + xstream.aliasField("criterio", RecomendacaoAvaliavel.class, "criterio");
  32 + xstream.aliasField("identificador", CriterioAvaliavel.class, "identificador");
  33 + xstream.aliasField("itens_criterio", CriterioAvaliavel.class, "qtdeItens");
  34 + xstream.aliasField("erros_criterio", CriterioAvaliavel.class, "qtdeErros");
  35 +
  36 + xstream.aliasField("identificador", RecomendacaoAvaliavel.class, "identificador");
  37 + xstream.aliasField("total_erros", RecomendacaoAvaliavel.class, "totalErros");
  38 + xstream.aliasField("total_avisos", RecomendacaoAvaliavel.class, "totalAvisos");
  39 + xstream.aliasField("qtde_linhas", RelatorioAvaliacao.class, "qtdeLinhas");
  40 +
  41 + return (RelatorioAvaliacao) xstream.fromXML(fonte);
  42 + }
  43 +
  44 + public List<Resultado> lerResultadosXML(String xml, Avaliacao avaliacao){
  45 + List<RecomendacaoAvaliavel> cps = ((RelatorioAvaliacao)lerAvaliacaoXML(xml)).getRecomendacoes();
  46 + return lerResultadosXML(cps, avaliacao);
  47 + }
  48 +
  49 + public List<Resultado> lerResultadosXML(List<RecomendacaoAvaliavel> recomendacoes, Avaliacao avaliacao){
  50 +
  51 + Resultado r;
  52 + List<Resultado> resultados = new ArrayList<Resultado>();
  53 +
  54 + for(RecomendacaoAvaliavel recomendacaoAvaliavel:recomendacoes){
  55 + r = new Resultado();
  56 + r.setAvaliacao(avaliacao);
  57 + r.setNumDiretriz(recomendacaoAvaliavel.getIdRecomendacao());
  58 + r.setNumAvisos(recomendacaoAvaliavel.getTotalAvisos());
  59 + r.setNumErros(recomendacaoAvaliavel.getTotalErros());
  60 +
  61 + resultados.add(r);
  62 + }
  63 +
  64 + return resultados;
  65 + }
  66 +
  67 + public String toJson(RelatorioAvaliacao ar){
  68 + return new Gson().toJson(ar);
  69 + }
  70 +}
... ...
Desenvolvimento/Codificacao/e-Selo/src/main/java/br/com/eselo/conexaoAsesWeb/Criterio.java
... ... @@ -1,36 +0,0 @@
1   -package br.com.eselo.conexaoAsesWeb;
2   -
3   -public class Criterio {
4   -
5   - private Long idCriterio;
6   - private Long qtdeErros;
7   - private Long qtdeItens;
8   -
9   -
10   - public Long getQtdeErros() {
11   - return qtdeErros;
12   - }
13   -
14   - public void setQtdeErros(Long qtdeErros) {
15   - this.qtdeErros = qtdeErros;
16   - }
17   -
18   - public Long getQtdeItens() {
19   - return qtdeItens;
20   - }
21   -
22   - public void setQtdeItens(Long qtdeItens) {
23   - this.qtdeItens = qtdeItens;
24   - }
25   -
26   -
27   - public Long getIdCriterio() {
28   - return idCriterio;
29   - }
30   -
31   -
32   - public void setIdCriterio(Long idCriterio) {
33   - this.idCriterio = idCriterio;
34   - }
35   -
36   -}
Desenvolvimento/Codificacao/e-Selo/src/main/java/br/com/eselo/conexaoAsesWeb/LeitorXML.java
... ... @@ -1,67 +0,0 @@
1   -package br.com.eselo.conexaoAsesWeb;
2   -
3   -import java.util.ArrayList;
4   -import java.util.List;
5   -
6   -import br.com.eselo.model.Avaliacao;
7   -import br.com.eselo.model.Resultado;
8   -
9   -import com.google.gson.Gson;
10   -import com.thoughtworks.xstream.XStream;
11   -import com.thoughtworks.xstream.io.xml.DomDriver;
12   -import com.thoughtworks.xstream.io.xml.XmlFriendlyReplacer;
13   -
14   -public class LeitorXML {
15   -
16   - public RelatorioAvaliacao lerAvaliacaoXML(String fonte){
17   -
18   - XStream xstream = new XStream(new DomDriver("UTF-8", new XmlFriendlyReplacer("__", "_")));
19   -
20   - xstream.alias("relatorio_de_avaliacao", RelatorioAvaliacao.class);
21   - xstream.alias("recomendacao", Recomendacao.class);
22   - xstream.alias("criterio", Criterio.class);
23   -
24   -
25   - xstream.aliasField("data", RelatorioAvaliacao.class, "date");
26   - xstream.addImplicitCollection(RelatorioAvaliacao.class, "recomendacoes");
27   -
28   - xstream.aliasField("criterio", Recomendacao.class, "criterio");
29   - xstream.aliasField("identificador", Criterio.class, "identificador");
30   - xstream.aliasField("itens_criterio", Criterio.class, "qtdeItens");
31   - xstream.aliasField("erros_criterio", Criterio.class, "qtdeErros");
32   -
33   - xstream.aliasField("identificador", Recomendacao.class, "identificador");
34   - xstream.aliasField("total_erros", Recomendacao.class, "totalErros");
35   - xstream.aliasField("total_avisos", Recomendacao.class, "totalAvisos");
36   - xstream.aliasField("qtde_linhas", RelatorioAvaliacao.class, "qtdeLinhas");
37   -
38   - return (RelatorioAvaliacao) xstream.fromXML(fonte);
39   - }
40   -
41   - public List<Resultado> lerResultadosXML(String xml, Avaliacao avaliacao){
42   - List<Recomendacao> cps = ((RelatorioAvaliacao)lerAvaliacaoXML(xml)).getRecomendacoes();
43   - return lerResultadosXML(cps, avaliacao);
44   - }
45   -
46   - public List<Resultado> lerResultadosXML(List<Recomendacao> recomendacoes, Avaliacao avaliacao){
47   -
48   - Resultado r;
49   - List<Resultado> resultados = new ArrayList<Resultado>();
50   -
51   - for(Recomendacao recomendacao:recomendacoes){
52   - r = new Resultado();
53   - r.setAvaliacao(avaliacao);
54   - r.setNumDiretriz(recomendacao.getIdRecomendacao());
55   - r.setNumAvisos(recomendacao.getTotalAvisos());
56   - r.setNumErros(recomendacao.getTotalErros());
57   -
58   - resultados.add(r);
59   - }
60   -
61   - return resultados;
62   - }
63   -
64   - public String toJson(RelatorioAvaliacao ar){
65   - return new Gson().toJson(ar);
66   - }
67   -}
Desenvolvimento/Codificacao/e-Selo/src/main/java/br/com/eselo/conexaoAsesWeb/Recomendacao.java
... ... @@ -1,47 +0,0 @@
1   -package br.com.eselo.conexaoAsesWeb;
2   -
3   -public class Recomendacao {
4   -
5   - private Long idRecomendacao;
6   - private Criterio criterio;
7   - private Long totalErros;
8   - private Long totalAvisos;
9   -
10   - public Recomendacao() {
11   - this.criterio = new Criterio();
12   - }
13   -
14   - public Criterio getCriterio() {
15   - return criterio;
16   - }
17   -
18   - public void setCriterio(Criterio criterio) {
19   - this.criterio = criterio;
20   - }
21   -
22   - public Long getTotalErros() {
23   - return totalErros;
24   - }
25   -
26   - public void setTotalErros(Long totalErros) {
27   - this.totalErros = totalErros;
28   - }
29   -
30   - public Long getTotalAvisos() {
31   - return totalAvisos;
32   - }
33   -
34   - public void setTotalAvisos(Long totalAvisos) {
35   - this.totalAvisos = totalAvisos;
36   - }
37   -
38   - public Long getIdRecomendacao() {
39   - return idRecomendacao;
40   - }
41   -
42   - public void setIdRecomendacao(Long idRecomendacao) {
43   - this.idRecomendacao = idRecomendacao;
44   - }
45   -
46   -
47   -}
Desenvolvimento/Codificacao/e-Selo/src/main/java/br/com/eselo/conexaoAsesWeb/RelatorioAvaliacao.java
... ... @@ -1,86 +0,0 @@
1   -package br.com.eselo.conexaoAsesWeb;
2   -
3   -import java.util.ArrayList;
4   -import java.util.Date;
5   -import java.util.List;
6   -
7   -import com.thoughtworks.xstream.XStream;
8   -import com.thoughtworks.xstream.io.xml.DomDriver;
9   -import com.thoughtworks.xstream.io.xml.XmlFriendlyReplacer;
10   -
11   -public class RelatorioAvaliacao {
12   -
13   - private String url;
14   - private Date date;
15   - private List<Recomendacao> recomendacoes;
16   - private Long qtdeLinhas;
17   -
18   - public RelatorioAvaliacao() {
19   - this.recomendacoes = new ArrayList<Recomendacao>();
20   - }
21   -
22   -
23   - public String getUrl() {
24   - return url;
25   - }
26   -
27   - public void setUrl(String url) {
28   - this.url = url;
29   - }
30   -
31   - public Date getDate() {
32   - return date;
33   - }
34   -
35   - public void setDate(Date date) {
36   - this.date = date;
37   - }
38   -
39   - public List<Recomendacao> getRecomendacoes() {
40   - return recomendacoes;
41   - }
42   -
43   - public void setRecomendacoes(List<Recomendacao> recomendacoes) {
44   - this.recomendacoes = recomendacoes;
45   - }
46   -
47   - public void addRecomendacao(Recomendacao recomendacao) {
48   - this.recomendacoes.add(recomendacao);
49   - }
50   -
51   - public Long getQtdeLinhas() {
52   - return qtdeLinhas;
53   - }
54   -
55   -
56   - public void setQtdeLinhas(Long qtdeLinhas) {
57   - this.qtdeLinhas = qtdeLinhas;
58   - }
59   -
60   - @Override
61   - public String toString() {
62   - XStream xstream = new XStream(new DomDriver("UTF-8", new XmlFriendlyReplacer("__", "_")));
63   -
64   - xstream.alias("relatorio_de_avaliacao", RelatorioAvaliacao.class);
65   - xstream.alias("recomendacao", Recomendacao.class);
66   - xstream.alias("criterio", Criterio.class);
67   -
68   -
69   - xstream.aliasField("data", RelatorioAvaliacao.class, "date");
70   - xstream.addImplicitCollection(RelatorioAvaliacao.class, "recomendacoes");
71   -
72   - xstream.aliasField("criterio", Recomendacao.class, "criterio");
73   - xstream.aliasField("id_criterio", Criterio.class, "idCriterio");
74   - xstream.aliasField("itens_criterio", Criterio.class, "qtdeItens");
75   - xstream.aliasField("erros_criterio", Criterio.class, "qtdeErros");
76   -
77   - xstream.aliasField("id_recomendacao", Recomendacao.class, "idRecomendacao");
78   - xstream.aliasField("total_erros", Recomendacao.class, "totalErros");
79   - xstream.aliasField("total_avisos", Recomendacao.class, "totalAvisos");
80   - xstream.aliasField("qtde_linhas", RelatorioAvaliacao.class, "qtdeLinhas");
81   -
82   -
83   - return "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n"+xstream.toXML(this);
84   -
85   - }
86   -}
Desenvolvimento/Codificacao/e-Selo/src/main/java/br/com/eselo/conexaoAsesWeb/Result.java
... ... @@ -1,31 +0,0 @@
1   -package br.com.eselo.conexaoAsesWeb;
2   -
3   -import java.util.ArrayList;
4   -import java.util.Date;
5   -import java.util.List;
6   -
7   -public class Result{
8   -
9   - private String url;
10   - private Date date;
11   -
12   - private List<Recomendacao> checkPoints;
13   -
14   - public Result(){
15   - this.checkPoints = new ArrayList<Recomendacao>();
16   - //this.date = new GregorianCalendar();
17   - }
18   -
19   - public void addCheckPoint(Recomendacao checkPoint) { this.checkPoints.add(checkPoint) ; }
20   -
21   - public String getUrl() { return url; }
22   -
23   - public void setUrl(String url) { this.url = url; }
24   -
25   - public Date getDate() { return date; }
26   -
27   - public void setDate(Date date) { this.date = date; }
28   -
29   - public List<Recomendacao> getCheckPoints() { return checkPoints; }
30   -
31   -}
Desenvolvimento/Codificacao/e-Selo/src/main/java/br/com/eselo/conexaoAsesWeb/ResultadoAvaliacao.java
... ... @@ -1,63 +0,0 @@
1   -package br.com.eselo.conexaoAsesWeb;
2   -
3   -import java.util.Date;
4   -
5   -import com.thoughtworks.xstream.XStream;
6   -import com.thoughtworks.xstream.io.xml.DomDriver;
7   -import com.thoughtworks.xstream.io.xml.XmlFriendlyReplacer;
8   -
9   -public class ResultadoAvaliacao {
10   -
11   - private String url;
12   - private Date data;
13   - private Double nota;
14   - private String observacoes;
15   -
16   - public String getUrl() {
17   - return url;
18   - }
19   -
20   - public void setUrl(String url) {
21   - this.url = url;
22   - }
23   -
24   - public Date getData() {
25   - return data;
26   - }
27   -
28   - public void setData(Date data) {
29   - this.data = data;
30   - }
31   -
32   - public Double getNota() {
33   - return nota;
34   - }
35   -
36   - public void setNota(Double nota) {
37   - this.nota = nota;
38   - }
39   -
40   - public String getObservacoes() {
41   - return observacoes;
42   - }
43   -
44   - public void setObservacoes(String observacoes) {
45   - this.observacoes = observacoes;
46   - }
47   -
48   - @Override
49   - public String toString() {
50   - XStream xstream = new XStream(new DomDriver("UTF-8", new XmlFriendlyReplacer("__", "_")));
51   -
52   - xstream.alias("resultado_da_avaliacao", ResultadoAvaliacao.class);
53   - xstream.aliasField("url", ResultadoAvaliacao.class, "url");
54   - xstream.aliasField("data", ResultadoAvaliacao.class, "data");
55   - xstream.aliasField("nota", ResultadoAvaliacao.class, "nota");
56   - xstream.aliasField("observacoes", ResultadoAvaliacao.class, "observacoes");
57   -
58   - return "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n"+xstream.toXML(this);
59   -
60   - }
61   -
62   -
63   -}
Desenvolvimento/Codificacao/e-Selo/src/main/java/br/com/eselo/controller/TiposTesteController.java 0 → 100644
... ... @@ -0,0 +1,143 @@
  1 +package br.com.eselo.controller;
  2 +
  3 +import java.util.List;
  4 +
  5 +import br.com.caelum.vraptor.Get;
  6 +import br.com.caelum.vraptor.Path;
  7 +import br.com.caelum.vraptor.Post;
  8 +import br.com.caelum.vraptor.Put;
  9 +import br.com.caelum.vraptor.Resource;
  10 +import br.com.caelum.vraptor.Result;
  11 +import br.com.caelum.vraptor.Validator;
  12 +import br.com.caelum.vraptor.validator.ValidationMessage;
  13 +import br.com.eselo.annotations.Restrito;
  14 +import br.com.eselo.component.Messages;
  15 +import br.com.eselo.dao.TipoTesteDAO;
  16 +import br.com.eselo.model.TipoTeste;
  17 +
  18 +@Resource
  19 +public class TiposTesteController {
  20 +
  21 + private final TipoTesteDAO dao;
  22 + private final Result result;
  23 + private final Validator validator;
  24 +
  25 + public TiposTesteController(TipoTesteDAO _dao, Result _result,
  26 + Validator _validator) {
  27 + dao = _dao;
  28 + result = _result;
  29 + validator = _validator;
  30 + }
  31 +
  32 + @Get("/tiposTeste")
  33 + @Restrito(descricao = "TIPOS_TESTELISTA")
  34 + public List<TipoTeste> lista() {
  35 + return dao.listAll();
  36 + }
  37 +
  38 + @Restrito(descricao = "TIPOS_TESTE_ADICIONAR")
  39 + public void form() {
  40 + }
  41 +
  42 + @Get("/tiposTeste/{id}")
  43 + @Restrito(descricao = "TIPOS_TESTE_ATUALIZAR")
  44 + public TipoTeste form(Long id) {
  45 + TipoTeste tipoTeste = dao.load(id);
  46 +
  47 + /*
  48 + if (!tipoTeste.getRecomendacoes().isEmpty()) {
  49 + result.include("mensagem",
  50 + Messages.getString("tipo_recomendacao.validacao.edit"));
  51 + result.redirectTo(TiposTesteController.class).lista();
  52 + }
  53 + */
  54 +
  55 + return tipoTeste;
  56 + }
  57 +
  58 + @Post("/tiposTeste")
  59 + @Restrito(descricao = "TIPOS_TESTE_ADICIONAR")
  60 + public void adicionar(TipoTeste tipoTeste) {
  61 + validarTipoConformidade(tipoTeste);
  62 +
  63 + validator.onErrorUsePageOf(TiposTesteController.class).form();
  64 +
  65 + dao.save(tipoTeste);
  66 +
  67 + result.include("mensagem",
  68 + Messages.getString("tipo_recomendacao.mensagem.salva"));
  69 + result.redirectTo(TiposTesteController.class).lista();
  70 + }
  71 +
  72 + @Put("/tiposTeste")
  73 + @Restrito(descricao = "TIPOS_TESTE_ATUALIZAR")
  74 + public void atualizar(TipoTeste tipoTeste) {
  75 + TipoTeste tipoTesteCadastrada = dao.load(tipoTeste.getId());
  76 +
  77 + validarTipoConformidade(tipoTeste);
  78 +
  79 + validator.onErrorUsePageOf(TiposTesteController.class).form(
  80 + tipoTeste.getId());
  81 +
  82 + tipoTesteCadastrada.setDescricao(tipoTeste.getDescricao());
  83 + //tipoTesteCadastrada.setMaximoConformidade(tipoTeste.getMaximoConformidade());
  84 +
  85 + dao.saveOrUpdate(tipoTesteCadastrada);
  86 +
  87 + result.include("mensagem",
  88 + Messages.getString("tipo_recomendacao.mensagem.alterada"));
  89 + result.redirectTo(TiposTesteController.class).lista();
  90 + }
  91 +
  92 + @Path("/tiposTeste/delete/{id}")
  93 + @Restrito(descricao = "TIPOS_TESTE_EXCLUIR")
  94 + public void excluir(Long id) {
  95 +
  96 + /*
  97 +
  98 + TipoTeste tipoTeste = dao.load(id);
  99 +
  100 + if (!tipoTeste.getRecomendacoes().isEmpty()) {
  101 + validator.add(new ValidationMessage(Messages
  102 + .getString("tipo_recomendacao.validacao.remove"),
  103 + "tipoRecomendacao.recomendacoes"));
  104 + }
  105 + */
  106 + validator.onErrorForwardTo(TiposTesteController.class).lista();
  107 +
  108 + dao.remove(id);
  109 +
  110 + result.include("mensagem", "Tipo de Recomendação excluído com sucesso.");
  111 + result.redirectTo(TiposTesteController.class).lista();
  112 + }
  113 +
  114 + private void validarTipoConformidade(TipoTeste tipoTeste) {
  115 + if (tipoTeste.getDescricao() == null) {
  116 + validator.add(new ValidationMessage(Messages
  117 + .getString("tipo_recomendacao.validacao.descricao"),
  118 + "tipoRecomendacao.descricao"));
  119 + } else if (dao.existeTipo(tipoTeste)) {
  120 + Long id = dao.getIdByDescricao(tipoTeste.getDescricao());
  121 +
  122 + if ((tipoTeste.getId() == null && id != null)
  123 + || (tipoTeste.getId() != null && tipoTeste.getId() == id)) {
  124 + validator
  125 + .add(new ValidationMessage(
  126 + Messages.getString("tipo_recomendacao.validacao.descricao.unique"),
  127 + "tipoRecomendacao.descricao"));
  128 + }
  129 + }
  130 + /*
  131 + else if (tipoTeste.getMaximoConformidade() == null) {
  132 + validator.add(new ValidationMessage(Messages
  133 + .getString("tipo_recomendacao.validacao.maximo"),
  134 + "tipoRecomendacao.maximoConformidade"));
  135 + } else if (tipoTeste.getMaximoConformidade() <= 0) {
  136 + validator.add(new ValidationMessage(Messages
  137 + .getString("tipo_recomendacao.validacao.maximo.min"),
  138 + "tipoRecomendacao.maximoConformidade"));
  139 + }
  140 + */
  141 + }
  142 +
  143 +}
... ...
Desenvolvimento/Codificacao/e-Selo/src/main/java/br/com/eselo/dao/TipoTesteDAO.java 0 → 100644
... ... @@ -0,0 +1,43 @@
  1 +package br.com.eselo.dao;
  2 +
  3 +import java.util.List;
  4 +
  5 +import org.hibernate.HibernateException;
  6 +import org.hibernate.Session;
  7 +import org.hibernate.criterion.Order;
  8 +import org.hibernate.criterion.Restrictions;
  9 +
  10 +import br.com.caelum.vraptor.ioc.Component;
  11 +import br.com.eselo.model.TipoTeste;
  12 +
  13 +@Component
  14 +public class TipoTesteDAO extends GenericDAO<TipoTeste> {
  15 +
  16 + public TipoTesteDAO(Session _session) {
  17 + super(_session);
  18 + }
  19 +
  20 + @SuppressWarnings("unchecked")
  21 + public List<TipoTeste> listAll() throws HibernateException {
  22 + return getSession().createCriteria(this.getPersistentClass())
  23 + .addOrder(Order.asc("descricao")).list();
  24 + }
  25 +
  26 + public boolean existeTipo(TipoTeste tipoTeste) {
  27 + TipoTeste encontrado = (TipoTeste) getSession()
  28 + .createCriteria(getPersistentClass())
  29 + .add(Restrictions.eq("descricao", tipoTeste.getDescricao())).uniqueResult();
  30 + return encontrado != null;
  31 + }
  32 +
  33 + public Long getIdByDescricao(String descricao) {
  34 + TipoTeste encontrado = (TipoTeste) getSession()
  35 + .createCriteria(getPersistentClass())
  36 + .add(Restrictions.eq("descricao", descricao)).uniqueResult();
  37 + if (encontrado != null) {
  38 + return encontrado.getId();
  39 + }
  40 + return null;
  41 + }
  42 +
  43 +}
... ...