From 44c7c823e1170f29f8e4a1ced0c9b7e3fe04f654 Mon Sep 17 00:00:00 2001
From: 96409975520 <96409975520@10.209.112.105>
Date: Mon, 6 Mar 2017 16:14:00 -0300
Subject: [PATCH] Mapeamento de novas tabelas e webservice para avaliar uma lista de url's.
---
Desenvolvimento/Codificacao/e-Selo/WebContent/WEB-INF/jsp/painelAcessibilidade/painelAcessibilidade.jsp | 67 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Desenvolvimento/Codificacao/e-Selo/src/main/java/br/com/eselo/component/LeitorXML.java | 15 ++++++++++++---
Desenvolvimento/Codificacao/e-Selo/src/main/java/br/com/eselo/component/WebChecker.java | 141 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Desenvolvimento/Codificacao/e-Selo/src/main/java/br/com/eselo/controller/AvaliacaoController.java | 366 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++------------
Desenvolvimento/Codificacao/e-Selo/src/main/java/br/com/eselo/controller/PainelAcessibilidadeController.java | 34 ++++++++++++++++++++++++++++++++++
Desenvolvimento/Codificacao/e-Selo/src/main/java/br/com/eselo/controller/UsuarioServicoWebController.java | 2 +-
Desenvolvimento/Codificacao/e-Selo/src/main/java/br/com/eselo/dao/AvaliacaoDAO.java | 1 +
Desenvolvimento/Codificacao/e-Selo/src/main/java/br/com/eselo/dao/GenericDAO.java | 1 +
Desenvolvimento/Codificacao/e-Selo/src/main/java/br/com/eselo/dao/ResultadoCriterioDao.java | 59 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Desenvolvimento/Codificacao/e-Selo/src/main/java/br/com/eselo/dao/SitioDAO.java | 26 ++++++++++++++++++++++++++
Desenvolvimento/Codificacao/e-Selo/src/main/java/br/com/eselo/dao/UsuarioServicoWebDAO.java | 11 -----------
Desenvolvimento/Codificacao/e-Selo/src/main/java/br/com/eselo/model/Criterio.java | 12 ++++++++++++
Desenvolvimento/Codificacao/e-Selo/src/main/java/br/com/eselo/model/Dominio.java | 100 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Desenvolvimento/Codificacao/e-Selo/src/main/java/br/com/eselo/model/Esfera.java | 66 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Desenvolvimento/Codificacao/e-Selo/src/main/java/br/com/eselo/model/Grupo.java | 3 +--
Desenvolvimento/Codificacao/e-Selo/src/main/java/br/com/eselo/model/NaturezaJuridica.java | 65 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Desenvolvimento/Codificacao/e-Selo/src/main/java/br/com/eselo/model/Orgao.java | 155 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Desenvolvimento/Codificacao/e-Selo/src/main/java/br/com/eselo/model/Poder.java | 65 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Desenvolvimento/Codificacao/e-Selo/src/main/java/br/com/eselo/model/ResultadoCriterio.java | 33 ++++++++++++++++++++++++---------
Desenvolvimento/Codificacao/e-Selo/src/main/java/br/com/eselo/model/ResultadoRecomendacao.java | 11 +++++++++++
Desenvolvimento/Codificacao/e-Selo/src/main/java/br/com/eselo/model/Sitio.java | 78 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Desenvolvimento/Codificacao/e-Selo/src/main/java/br/com/eselo/model/Url.java | 30 ++++++++++++++++++++++++++++--
Desenvolvimento/Codificacao/e-Selo/src/main/resources/hibernate.cfg.xml | 5 +++--
23 files changed, 1304 insertions(+), 42 deletions(-)
create mode 100644 Desenvolvimento/Codificacao/e-Selo/WebContent/WEB-INF/jsp/painelAcessibilidade/painelAcessibilidade.jsp
create mode 100644 Desenvolvimento/Codificacao/e-Selo/src/main/java/br/com/eselo/component/WebChecker.java
create mode 100644 Desenvolvimento/Codificacao/e-Selo/src/main/java/br/com/eselo/controller/PainelAcessibilidadeController.java
create mode 100644 Desenvolvimento/Codificacao/e-Selo/src/main/java/br/com/eselo/dao/ResultadoCriterioDao.java
create mode 100644 Desenvolvimento/Codificacao/e-Selo/src/main/java/br/com/eselo/dao/SitioDAO.java
create mode 100644 Desenvolvimento/Codificacao/e-Selo/src/main/java/br/com/eselo/model/Dominio.java
create mode 100644 Desenvolvimento/Codificacao/e-Selo/src/main/java/br/com/eselo/model/Esfera.java
create mode 100644 Desenvolvimento/Codificacao/e-Selo/src/main/java/br/com/eselo/model/NaturezaJuridica.java
create mode 100644 Desenvolvimento/Codificacao/e-Selo/src/main/java/br/com/eselo/model/Orgao.java
create mode 100644 Desenvolvimento/Codificacao/e-Selo/src/main/java/br/com/eselo/model/Poder.java
create mode 100644 Desenvolvimento/Codificacao/e-Selo/src/main/java/br/com/eselo/model/Sitio.java
diff --git a/Desenvolvimento/Codificacao/e-Selo/WebContent/WEB-INF/jsp/painelAcessibilidade/painelAcessibilidade.jsp b/Desenvolvimento/Codificacao/e-Selo/WebContent/WEB-INF/jsp/painelAcessibilidade/painelAcessibilidade.jsp
new file mode 100644
index 0000000..7e8719a
--- /dev/null
+++ b/Desenvolvimento/Codificacao/e-Selo/WebContent/WEB-INF/jsp/painelAcessibilidade/painelAcessibilidade.jsp
@@ -0,0 +1,67 @@
+<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
+<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
+<%@ taglib prefix="tiles" uri="http://tiles.apache.org/tags-tiles"%>
+
+
+
+
+
+
+
+
+
+
+ Painel de Acessibilidade Digital do Governo
+
+ " rel="stylesheet">
+
+
+
+
+
+
+ Painel de Acessibilidade Digital do Governo
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Gráfico
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/Desenvolvimento/Codificacao/e-Selo/src/main/java/br/com/eselo/component/LeitorXML.java b/Desenvolvimento/Codificacao/e-Selo/src/main/java/br/com/eselo/component/LeitorXML.java
index e967164..fd97941 100644
--- a/Desenvolvimento/Codificacao/e-Selo/src/main/java/br/com/eselo/component/LeitorXML.java
+++ b/Desenvolvimento/Codificacao/e-Selo/src/main/java/br/com/eselo/component/LeitorXML.java
@@ -5,6 +5,7 @@ import br.com.eselo.integracao.CriterioAvaliado;
import br.com.eselo.integracao.RecomendacaoAvaliada;
import br.com.eselo.integracao.RelatorioAvaliacao;
import br.com.eselo.model.Avaliacao;
+import br.com.eselo.model.Criterio;
import br.com.eselo.model.ResultadoCriterio;
import br.com.eselo.model.ResultadoRecomendacao;
@@ -59,17 +60,25 @@ public class LeitorXML {
recomendacao.setTotalErros(ra.getTotalErros());
recomendacao.setTotalAvisos(ra.getTotalAvisos());
recomendacao.setNumRecomendacao(ra.getIdRecomendacao());
+ recomendacao.setNotaRecomendacao(ra.getNuNota());
recomendacao.setAvaliacao(avaliacao);
+
for(CriterioAvaliado ca:ra.getCriterios()){
ResultadoCriterio criterio = new ResultadoCriterio();
- criterio.setNumCriterio(ca.getIdCriterio());
+ Criterio criterio2 = new Criterio();
+
+ criterio2.setId(ca.getCriterio().getId());
+ criterio2.setNumeroCriterio(ca.getCriterio().getNumeroCriterio());
+
+ //criterio.setNumCriterio(ca.getIdCriterio());
+ criterio.setCriterio(criterio2);
criterio.setNumErros(ca.getQtdeErros());
criterio.setNumItens(ca.getQtdeItens());
+ criterio.setNotaCriterio(ca.getNu_nota());
criterio.setResultadoRecomendacao(recomendacao);
-
-
+
recomendacao.addCriterio(criterio);
}
diff --git a/Desenvolvimento/Codificacao/e-Selo/src/main/java/br/com/eselo/component/WebChecker.java b/Desenvolvimento/Codificacao/e-Selo/src/main/java/br/com/eselo/component/WebChecker.java
new file mode 100644
index 0000000..a1db9c2
--- /dev/null
+++ b/Desenvolvimento/Codificacao/e-Selo/src/main/java/br/com/eselo/component/WebChecker.java
@@ -0,0 +1,141 @@
+package br.com.eselo.component;
+
+
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.List;
+
+import org.apache.commons.httpclient.DefaultHttpMethodRetryHandler;
+import org.apache.commons.httpclient.HttpClient;
+import org.apache.commons.httpclient.HttpException;
+import org.apache.commons.httpclient.HttpMethod;
+import org.apache.commons.httpclient.NameValuePair;
+import org.apache.commons.httpclient.methods.GetMethod;
+import org.apache.commons.httpclient.methods.PostMethod;
+import org.apache.commons.httpclient.params.HttpMethodParams;
+
+
+public class WebChecker {
+
+ private static final String CONTENT_LENGHT = "Content-Length" ;
+ private static final String HTTP_PROTOCOL_ALLOW_CIRCULAR_REDIRECTS = "http.protocol.allow-circular-redirects";
+ private HttpClient client;
+ private HttpMethod method;
+ private String url;
+ private int statusCode;
+ private String content;
+ private String contentLength;
+
+
+ private WebChecker(HttpClient client,String url) {
+ this.client = client;
+ this.url = url;
+ }
+
+ public static WebChecker from(String url) {
+
+ HttpClient client = new HttpClient();
+ client.getParams().setParameter(HttpMethodParams.RETRY_HANDLER, new DefaultHttpMethodRetryHandler(3,false));
+ client.getParams().setParameter(HTTP_PROTOCOL_ALLOW_CIRCULAR_REDIRECTS, true);
+
+ return new WebChecker(client,url);
+ }
+
+ public WebChecker withGetRequest() {
+ this.method = new GetMethod(this.url);
+ //this.method.setRequestHeader("user-agent", "Mozilla/5.0");
+ this.method.setRequestHeader("user-agent", "NewUseAgent/1.0");
+ this.method.setRequestHeader("http.agent", "Jakarta Commons-HttpClient/3.1");
+ this.method.setFollowRedirects(true);
+ return this;
+ }
+
+ public PostParams withPostRequest(){
+
+ return new PostParams(this,new PostMethod(this.url));
+
+ }
+
+ public WebChecker execute() {
+ try {
+
+ this.statusCode = client.executeMethod(this.method);
+ this.content = method.getResponseBodyAsString();
+ this.contentLength = String.valueOf(this.content.getBytes("UTF-8").length);
+
+ } catch (HttpException e) {
+ System.err.println("Fatal protocol violation: " + e.getMessage());
+ e.printStackTrace();
+ } catch (IOException e) {
+ System.err.println("Fatal transport error: " + e.getMessage());
+ e.printStackTrace();
+ } finally {
+
+ method.releaseConnection();
+ }
+ return this;
+
+ }
+
+ public String getContent() { return content; }
+ public int getStatusCode() { return statusCode; }
+ public String getContentLength() { return contentLength; }
+
+ public String getParsedContent() {
+ this.content = this.content.replaceAll("<", "<");
+ this.content = this.content.replaceAll(">", ">");
+ this.content = this.content.replaceAll(" ", " ");
+ return content;
+ }
+
+ private void setMethod(HttpMethod method){
+ this.method = method;
+ }
+ private void setRequestHeader(String key, String value){
+ this.method.setRequestHeader(key,value);
+ }
+ public class PostParams{
+ private List data = new ArrayList();
+ private WebChecker webChecker;
+ private PostMethod post;
+
+ private PostParams(WebChecker webChecker,PostMethod post){
+ this.webChecker = webChecker;
+ this.post = post;
+ }
+
+ public PostParams addParam(String key, String value) {
+ this.data.add(new NameValuePair(key,value));
+ return this;
+ }
+
+ public WebChecker execute(){
+ this.post.setRequestBody(data.toArray(new NameValuePair[data.size()] ));
+ this.webChecker.setMethod(post);
+ this.webChecker.setRequestHeader("user-agent", "Mozilla/5.0");
+ this.webChecker.execute();
+ return webChecker;
+ }
+
+ @SuppressWarnings("deprecation")
+ public WebChecker executeUsuario(String codigoHash){
+ this.post.setRequestBody(codigoHash);
+ this.webChecker.setMethod(post);
+ this.webChecker.setRequestHeader("user-agent", "Mozilla/5.0");
+ this.webChecker.execute();
+ return webChecker;
+ }
+
+
+ }
+
+
+ public static void main(String ...arg){
+
+ String pagina = WebChecker.from("http://www.icmbio.gov.br").withGetRequest().execute().getContent();
+
+ //Checker.from(pagina,"http://www.icmbio.gov.br").with((presentation().recommendation32())).check();
+
+ }
+
+}
diff --git a/Desenvolvimento/Codificacao/e-Selo/src/main/java/br/com/eselo/controller/AvaliacaoController.java b/Desenvolvimento/Codificacao/e-Selo/src/main/java/br/com/eselo/controller/AvaliacaoController.java
index 7d41814..70c4fa8 100644
--- a/Desenvolvimento/Codificacao/e-Selo/src/main/java/br/com/eselo/controller/AvaliacaoController.java
+++ b/Desenvolvimento/Codificacao/e-Selo/src/main/java/br/com/eselo/controller/AvaliacaoController.java
@@ -16,10 +16,15 @@ import java.util.Properties;
import javax.imageio.ImageIO;
import javax.servlet.http.HttpServletRequest;
+import javax.ws.rs.QueryParam;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
+import com.google.gson.Gson;
+import com.google.gson.GsonBuilder;
+
+import br.com.eselo.component.WebChecker;
import br.com.caelum.vraptor.Get;
import br.com.caelum.vraptor.Post;
import br.com.caelum.vraptor.Resource;
@@ -31,7 +36,9 @@ import br.com.eselo.component.Mailer;
import br.com.eselo.component.URLNormalizer;
import br.com.eselo.component.UsuarioWeb;
import br.com.eselo.dao.AvaliacaoDAO;
+import br.com.eselo.dao.CriterioDAO;
import br.com.eselo.dao.ParametroCalculoDAO;
+import br.com.eselo.dao.ResultadoCriterioDao;
import br.com.eselo.dao.UrlDAO;
import br.com.eselo.integracao.CriterioAvaliado;
import br.com.eselo.integracao.RecomendacaoAvaliada;
@@ -41,6 +48,8 @@ import br.com.eselo.model.Avaliacao;
import br.com.eselo.model.Criterio;
import br.com.eselo.model.ParametroCalculo;
import br.com.eselo.model.Recomendacao;
+import br.com.eselo.model.ResultadoCriterio;
+import br.com.eselo.model.ResultadoRecomendacao;
import br.com.eselo.model.Url;
@Resource
@@ -52,6 +61,7 @@ public class AvaliacaoController {
private final UrlDAO daoUrl;
private final ParametroCalculoDAO paramDao;
private final AvaliacaoDAO dao;
+ private final ResultadoCriterioDao daoCriterio;//gibran
private final HttpServletRequest request;
private static final String CAMINHO_SELOS = "eselo.config.avaliacao.caminhoSelos";
@@ -60,10 +70,11 @@ public class AvaliacaoController {
public AvaliacaoController(Result _result, UrlDAO _daoUrl,
ParametroCalculoDAO _paramDao, UsuarioWeb _usuarioWeb,
- Validator _validator, HttpServletRequest _request, AvaliacaoDAO _dao)
+ Validator _validator, HttpServletRequest _request, AvaliacaoDAO _dao, ResultadoCriterioDao _resultadoCriterioDao)//gibran ResultadoCriterioDao _resultadoCriterioDao
throws IOException {
daoUrl = _daoUrl;
dao = _dao;
+ daoCriterio = _resultadoCriterioDao;//gibran
result = _result;
paramDao = _paramDao;
request = _request;
@@ -101,10 +112,197 @@ public class AvaliacaoController {
calcularNota(relatorioAvaliacao);
}
+
+ private void avaliarSalvando(RelatorioAvaliacao relatorioAvaliacao, Url url) {
+
+ List lsResultadoCriterio = new ArrayList();
+
+ lsResultadoCriterio = daoCriterio.listAll();
+
+ List recomendacoesValidas;
+ List recomendacoesAvaliadas;
+ recomendacoesAvaliadas = new ArrayList();
+
+
+ List lsRecomendacaoAvaliada = new ArrayList();
+ List lsCriterioAvaliado = new ArrayList();
+
+ RecomendacaoAvaliada recAvaliada;
+
+ RelatorioAvaliacao relatorioAvaliacaoSalvar;
+
+ double somaPesosRecomendacoes = 0.0;
+ double conformidadeAcessibilidade = 0.0;
+ List recomendacoesCriteriosParaImprimir = new ArrayList();
+ /*
+ * Nota da Avaliação = (somatório da Nota Teste / somatório do peso)
+ * Nota da Avaliação = 2,025 + 2,3 / 3 + 4 Nota da Avaliação = 4,325 / 7
+ * Nota da Avaliação = 0,61785
+ */
+ double notaCriterio = 0.0;
+ double notaRecomendacao = 0.0;
+ double somatorioNotaTeste = 0.0;
+ double somatorioPesosCriterios = 0.0;
+System.out.println(relatorioAvaliacao);
+ /*
+ * Nota da Recomendação = Nota da Avaliação * Peso da Recomendação Nota
+ * da Recomendação = 0,61785 * 3 Nota da Recomendação = 1,8535
+ */
+ double somatorioNotaRecomendacoes = 0.0;
+
+ // obter os resultados
+ recomendacoesAvaliadas = relatorioAvaliacao.getRecomendacoes();
+
+ ParametroCalculo parametroCalculo = paramDao.getLastParametrosCalculoAtivo();
+ if(parametroCalculo != null){
+
+ //foi colocada abaixo (Gibran)
+ //Avaliacao novaAvalicao = salvarAvaliacao(relatorioAvaliacao, parametroCalculo);
+
+ // obter as diretrizes e níveis de conformidade
+ recomendacoesValidas = parametroCalculo.getRecomendacoes();
+
+ // Lendo e Comparando os resultados com o Parametro de Avaliacao
+ for (RecomendacaoAvaliada recomendacaoAvaliada : recomendacoesAvaliadas) {
+ //System.out.println("recomendacaoAvaliada = " + recomendacaoAvaliada.getIdRecomendacao());
+ //System.out.println(recomendacaoAvaliada.getIdRecomendacao());
+ recomendacoesCriteriosParaImprimir.add("recomendacaoAvaliada = " + recomendacaoAvaliada.getIdRecomendacao());
+ recAvaliada = new RecomendacaoAvaliada();
+
+ for (Recomendacao recomendacao : recomendacoesValidas) {
+ if (recomendacaoAvaliada.getIdRecomendacao().equals(
+ recomendacao.getNumeroRecomendacao())) {
+
+
+ for (CriterioAvaliado criterioAvaliado : recomendacaoAvaliada.getCriterios()) {
+ //System.out.println("criterioAvaliado = " + criterioAvaliado.getIdCriterio());
+ recomendacoesCriteriosParaImprimir.add("criterioAvaliado = " + criterioAvaliado.getIdCriterio());
+ notaCriterio = 0.0;
+ Criterio criterioSalvar = new Criterio();
+ for (Criterio criterio : recomendacao.getCriterios()) {
+ criterioSalvar = criterio;
+ if (criterioAvaliado.getIdCriterio().equals(criterio.getNumeroCriterio())) {
+
+
+
+ notaCriterio = criterio.getResultadoTeste(criterioAvaliado);
+ somatorioNotaTeste = notaCriterio + somatorioNotaTeste;
+ somatorioPesosCriterios = criterio.getPeso() + somatorioPesosCriterios;
+ //System.out.println("somatorioNotaTeste = " + somatorioNotaTeste);
+ recomendacoesCriteriosParaImprimir.add("Resultado teste criterio = " + criterio.getResultadoTeste(criterioAvaliado));
+
+ recomendacoesCriteriosParaImprimir.add("Peso do Critério = " + criterio.getPeso());
+ recomendacoesCriteriosParaImprimir.add("somatorioNotaTeste = " + somatorioNotaTeste);
+ //System.out.println("somatorioPesosCriterios = " + somatorioPesosCriterios);
+ recomendacoesCriteriosParaImprimir.add("somatorioPesosCriterios = " + somatorioPesosCriterios);
+
+
+
+
+ //criterioAvaliado.setNu_nota(notaCriterio);
+ //criterioAvaliado.setIdCriterio(criterio.getId());
+ //criterioAvaliado.setCriterio(criterio);
+ //lsCriterioAvaliado.add(criterioAvaliado);
+ break;
+ }
+
+
+ }
+
+ criterioAvaliado.setNu_nota(notaCriterio);
+ criterioAvaliado.setIdCriterio(criterioSalvar.getId());
+ criterioAvaliado.setCriterio(criterioSalvar);
+ lsCriterioAvaliado.add(criterioAvaliado);
+ //criterioAvaliado.setNu_nota(notaCriterio);
+ //lsCriterioAvaliado.add(criterioAvaliado);
+ }
+
+
+
+
+ if(somatorioPesosCriterios > 0){
+
+ notaRecomendacao = (somatorioNotaTeste / somatorioPesosCriterios) * recomendacao.getPeso();
+
+ somaPesosRecomendacoes = somaPesosRecomendacoes + recomendacao.getPeso();
+ //System.out.println("somaPesosRecomendacoes = " + somaPesosRecomendacoes);
+ recomendacoesCriteriosParaImprimir.add("Peso da Recomendação = " + recomendacao.getPeso());
+ recomendacoesCriteriosParaImprimir.add("somaPesosRecomendacoes = " + somaPesosRecomendacoes);
+ somatorioNotaRecomendacoes = notaRecomendacao + somatorioNotaRecomendacoes;
+ //System.out.println("somatorioNotaRecomendacoes = " + somatorioNotaRecomendacoes);
+ recomendacoesCriteriosParaImprimir.add("somatorioNotaRecomendacoes = " + somatorioNotaRecomendacoes);
+
+
+ recAvaliada.setIdRecomendacao(recomendacaoAvaliada.getIdRecomendacao());
+ recAvaliada.setCriterios(lsCriterioAvaliado);
+ recAvaliada.setNuNota(notaRecomendacao);
+ recAvaliada.setTotalAvisos(recomendacaoAvaliada.getTotalAvisos());
+ recAvaliada.setTotalErros(recomendacaoAvaliada.getTotalErros());
+
+ lsRecomendacaoAvaliada.add(recAvaliada);
+ lsCriterioAvaliado = new ArrayList();
+ }
+ somatorioNotaTeste = 0.0;
+ somatorioPesosCriterios = 0.0;
+ break;
+ }
+ }
+
+
+
+ }
+
+
+ /*
+ * Calculo da Conformidade Acessibilidade Conformidade Acessibilidade =
+ * somatório das notas das recomendações (NR) / somatório dos pesos das
+ * recomendações (PR) Conformidade Acessibilidade = NR1 + NR2 + NR3 +
+ * NR22 / PR1 + PR2 + PR3 + PR22 Conformidade Acessibilidade = 1,10625 +
+ * 0,5 + 0,8 + 1,8535 / 3 + 1 + 2 + 3 Conformidade Acessibilidade =
+ * 4,25975 / 9 Conformidade Acessibilidade = 0,4733 ==> 47,33 %
+ */
+ conformidadeAcessibilidade = 100 * (somatorioNotaRecomendacoes / somaPesosRecomendacoes);
+
+ conformidadeAcessibilidade = (double) new Double(conformidadeAcessibilidade * 100).intValue() / 100;
+
+ //System.out.println("conformidadeAcessibilidade = " + conformidadeAcessibilidade);
+ recomendacoesCriteriosParaImprimir.add("conformidadeAcessibilidade = " + conformidadeAcessibilidade);
+
+ for (String string : recomendacoesCriteriosParaImprimir) {
+ System.out.println(string);
+ }
+
+ relatorioAvaliacao.setRecomendacoes(lsRecomendacaoAvaliada);
+
+ Avaliacao novaAvalicao = salvarAvaliacao(relatorioAvaliacao, parametroCalculo);
+
+ novaAvalicao.setNota(conformidadeAcessibilidade);
+ dao.update(novaAvalicao);
+ }
- private Double avaliar(RelatorioAvaliacao relatorioAvaliacao, Url url) {
+ gerarSelo(url, conformidadeAcessibilidade);
+
+
+}
+
+ private Double avaliar(RelatorioAvaliacao relatorioAvaliacao, Url url, boolean salvarAvaliacao) {
+
+ List lsResultadoCriterio = new ArrayList();
+
+ lsResultadoCriterio = daoCriterio.listAll();
+
List recomendacoesValidas;
List recomendacoesAvaliadas;
+ recomendacoesAvaliadas = new ArrayList();
+
+
+ List lsRecomendacaoAvaliada = new ArrayList();
+ List lsCriterioAvaliado = new ArrayList();
+
+ RecomendacaoAvaliada recAvaliada;
+
+ RelatorioAvaliacao relatorioAvaliacaoSalvar;
+
double somaPesosRecomendacoes = 0.0;
double conformidadeAcessibilidade = 0.0;
List recomendacoesCriteriosParaImprimir = new ArrayList();
@@ -113,6 +311,8 @@ public class AvaliacaoController {
* Nota da Avaliação = 2,025 + 2,3 / 3 + 4 Nota da Avaliação = 4,325 / 7
* Nota da Avaliação = 0,61785
*/
+ double notaCriterio = 0.0;
+ double notaRecomendacao = 0.0;
double somatorioNotaTeste = 0.0;
double somatorioPesosCriterios = 0.0;
System.out.println(relatorioAvaliacao);
@@ -127,7 +327,9 @@ System.out.println(relatorioAvaliacao);
ParametroCalculo parametroCalculo = paramDao.getLastParametrosCalculoAtivo();
if(parametroCalculo != null){
- Avaliacao novaAvalicao = salvarAvaliacao(relatorioAvaliacao, parametroCalculo);
+
+ //foi colocada abaixo (Gibran)
+ //Avaliacao novaAvalicao = salvarAvaliacao(relatorioAvaliacao, parametroCalculo);
// obter as diretrizes e níveis de conformidade
recomendacoesValidas = parametroCalculo.getRecomendacoes();
@@ -137,44 +339,89 @@ System.out.println(relatorioAvaliacao);
//System.out.println("recomendacaoAvaliada = " + recomendacaoAvaliada.getIdRecomendacao());
//System.out.println(recomendacaoAvaliada.getIdRecomendacao());
recomendacoesCriteriosParaImprimir.add("recomendacaoAvaliada = " + recomendacaoAvaliada.getIdRecomendacao());
+ recAvaliada = new RecomendacaoAvaliada();
+
for (Recomendacao recomendacao : recomendacoesValidas) {
if (recomendacaoAvaliada.getIdRecomendacao().equals(
recomendacao.getNumeroRecomendacao())) {
+
for (CriterioAvaliado criterioAvaliado : recomendacaoAvaliada.getCriterios()) {
//System.out.println("criterioAvaliado = " + criterioAvaliado.getIdCriterio());
recomendacoesCriteriosParaImprimir.add("criterioAvaliado = " + criterioAvaliado.getIdCriterio());
+ notaCriterio = 0.0;
+ Criterio criterioSalvar = new Criterio();
for (Criterio criterio : recomendacao.getCriterios()) {
+ criterioSalvar = criterio;
if (criterioAvaliado.getIdCriterio().equals(criterio.getNumeroCriterio())) {
- somatorioNotaTeste = (criterio.getResultadoTeste(criterioAvaliado)) + somatorioNotaTeste;
+
+
+
+ notaCriterio = criterio.getResultadoTeste(criterioAvaliado);
+ somatorioNotaTeste = notaCriterio + somatorioNotaTeste;
somatorioPesosCriterios = criterio.getPeso() + somatorioPesosCriterios;
//System.out.println("somatorioNotaTeste = " + somatorioNotaTeste);
recomendacoesCriteriosParaImprimir.add("Resultado teste criterio = " + criterio.getResultadoTeste(criterioAvaliado));
+
recomendacoesCriteriosParaImprimir.add("Peso do Critério = " + criterio.getPeso());
recomendacoesCriteriosParaImprimir.add("somatorioNotaTeste = " + somatorioNotaTeste);
//System.out.println("somatorioPesosCriterios = " + somatorioPesosCriterios);
recomendacoesCriteriosParaImprimir.add("somatorioPesosCriterios = " + somatorioPesosCriterios);
+
+
+
+
+ //criterioAvaliado.setNu_nota(notaCriterio);
+ //criterioAvaliado.setIdCriterio(criterio.getId());
+ //criterioAvaliado.setCriterio(criterio);
+ //lsCriterioAvaliado.add(criterioAvaliado);
break;
}
+
+
}
+
+ criterioAvaliado.setNu_nota(notaCriterio);
+ criterioAvaliado.setIdCriterio(criterioSalvar.getId());
+ criterioAvaliado.setCriterio(criterioSalvar);
+ lsCriterioAvaliado.add(criterioAvaliado);
+ //criterioAvaliado.setNu_nota(notaCriterio);
+ //lsCriterioAvaliado.add(criterioAvaliado);
}
-
+
+
+
if(somatorioPesosCriterios > 0){
+ notaRecomendacao = (somatorioNotaTeste / somatorioPesosCriterios) * recomendacao.getPeso();
+
somaPesosRecomendacoes = somaPesosRecomendacoes + recomendacao.getPeso();
//System.out.println("somaPesosRecomendacoes = " + somaPesosRecomendacoes);
recomendacoesCriteriosParaImprimir.add("Peso da Recomendação = " + recomendacao.getPeso());
recomendacoesCriteriosParaImprimir.add("somaPesosRecomendacoes = " + somaPesosRecomendacoes);
- somatorioNotaRecomendacoes = ((somatorioNotaTeste / somatorioPesosCriterios) * recomendacao.getPeso()) + somatorioNotaRecomendacoes;
+ somatorioNotaRecomendacoes = notaRecomendacao + somatorioNotaRecomendacoes;
//System.out.println("somatorioNotaRecomendacoes = " + somatorioNotaRecomendacoes);
recomendacoesCriteriosParaImprimir.add("somatorioNotaRecomendacoes = " + somatorioNotaRecomendacoes);
+
+
+ recAvaliada.setIdRecomendacao(recomendacaoAvaliada.getIdRecomendacao());
+ recAvaliada.setCriterios(lsCriterioAvaliado);
+ recAvaliada.setNuNota(notaRecomendacao);
+ recAvaliada.setTotalAvisos(recomendacaoAvaliada.getTotalAvisos());
+ recAvaliada.setTotalErros(recomendacaoAvaliada.getTotalErros());
+
+ lsRecomendacaoAvaliada.add(recAvaliada);
+ lsCriterioAvaliado = new ArrayList();
}
somatorioNotaTeste = 0.0;
somatorioPesosCriterios = 0.0;
break;
}
}
+
+
+
}
@@ -196,14 +443,91 @@ System.out.println(relatorioAvaliacao);
for (String string : recomendacoesCriteriosParaImprimir) {
System.out.println(string);
}
- novaAvalicao.setNota(conformidadeAcessibilidade);
- dao.update(novaAvalicao);
+
+ relatorioAvaliacao.setRecomendacoes(lsRecomendacaoAvaliada);
+ if(salvarAvaliacao)
+ {
+ Avaliacao novaAvalicao = salvarAvaliacao(relatorioAvaliacao, parametroCalculo);
+
+ novaAvalicao.setNota(conformidadeAcessibilidade);
+ dao.update(novaAvalicao);
+ }
+
}
gerarSelo(url, conformidadeAcessibilidade);
return conformidadeAcessibilidade;
}
+
+ /**
+ * Função REST que executa uma avaliação e devolve seu resultado no formato
+ * JSON
+ *
+ * @param relatorioAvaliacao
+ */
+ @Post("/calcular-nota-salvando-avaliacao")
+ public void calcularNotaSalvandoAvaliacao(RelatorioAvaliacao relatorioAvaliacao) {
+ //System.out.println(relatorioAvaliacao);
+ ResultadoAvaliacao resultadoAvaliacao = new ResultadoAvaliacao();
+ String observacao = "Foi impossivel realizar a avaliação.";
+
+
+ ParametroCalculo parametroCalculo = paramDao.getLastParametrosCalculoAtivo();
+ if(parametroCalculo != null){
+ String fullContextPath = request.getScheme() + "://"
+ + request.getServerName() + ":" + request.getServerPort()
+ + request.getContextPath();
+
+ if (relatorioAvaliacao.getRecomendacoes()!=null
+ && relatorioAvaliacao.getRecomendacoes().size() > 0
+ && relatorioAvaliacao.getDate() != null
+ && relatorioAvaliacao.getUrl() != null) {
+ try {
+ relatorioAvaliacao.setUrl(URLNormalizer
+ .normalize(relatorioAvaliacao.getUrl()));
+ } catch (MalformedURLException e) {
+ e.printStackTrace();
+ }
+ Url url = daoUrl.getStringUrl(relatorioAvaliacao.getUrl());
+
+ if (url == null) {
+ url = new Url();
+ url.setUrl(relatorioAvaliacao.getUrl());
+ //daoUrl.save(url);
+ }
+
+ resultadoAvaliacao.setPath(fullContextPath + "/"
+ + properties.getProperty(CAMINHO_SELOS) + "/"
+ + url.getId().toString() + "/selo.png");
+
+ resultadoAvaliacao.setUrl(url.getUrl());
+ resultadoAvaliacao.setDataSolicitacao(relatorioAvaliacao.getDate());
+
+ double nota = avaliar(relatorioAvaliacao, url, true);
+ if (nota > 0) {
+ resultadoAvaliacao.setNota(nota);
+ observacao = "Avaliação realizada com sucesso!";
+ } else {
+ resultadoAvaliacao.setNota(null);
+ }
+ } else {
+ resultadoAvaliacao.setNota(null);
+ resultadoAvaliacao.setUrl(relatorioAvaliacao.getUrl());
+ resultadoAvaliacao.setDataSolicitacao(relatorioAvaliacao.getDate());
+ }
+
+ }else{
+ observacao = "Não existe parâmetros de cálculo ativo. Foi impossivel realizar a avaliação.";
+ }
+
+ resultadoAvaliacao.setDataSolicitacao(relatorioAvaliacao.getDate());
+ resultadoAvaliacao.setDataResultado(new Date());
+ resultadoAvaliacao.setObservacoes(observacao);
+
+ result.use(Results.json()).withoutRoot().from(resultadoAvaliacao)
+ .serialize();
+ }
/**
* Função REST que executa uma avaliação e devolve seu resultado no formato
@@ -217,6 +541,7 @@ System.out.println(relatorioAvaliacao);
ResultadoAvaliacao resultadoAvaliacao = new ResultadoAvaliacao();
String observacao = "Foi impossivel realizar a avaliação.";
+
ParametroCalculo parametroCalculo = paramDao.getLastParametrosCalculoAtivo();
if(parametroCalculo != null){
String fullContextPath = request.getScheme() + "://"
@@ -238,7 +563,7 @@ System.out.println(relatorioAvaliacao);
if (url == null) {
url = new Url();
url.setUrl(relatorioAvaliacao.getUrl());
- daoUrl.save(url);
+ //daoUrl.save(url);
}
resultadoAvaliacao.setPath(fullContextPath + "/"
@@ -248,7 +573,7 @@ System.out.println(relatorioAvaliacao);
resultadoAvaliacao.setUrl(url.getUrl());
resultadoAvaliacao.setDataSolicitacao(relatorioAvaliacao.getDate());
- double nota = avaliar(relatorioAvaliacao, url);
+ double nota = avaliar(relatorioAvaliacao, url, false);
if (nota > 0) {
resultadoAvaliacao.setNota(nota);
observacao = "Avaliação realizada com sucesso!";
@@ -285,7 +610,7 @@ System.out.println(relatorioAvaliacao);
Avaliacao avaliacao = new Avaliacao();
avaliacao.setDataAvaliacao(relatorioAvaliacao.getDate());
avaliacao.setParametroCalculo(parametroCalculo);
- avaliacao.setQtdeLinhas(relatorioAvaliacao.getQtdeLinhas());
+ avaliacao.setQtdeLinhas(relatorioAvaliacao.getQtdeLinhas());
avaliacao.setNota(0.0);
Url url = daoUrl.getStringUrl(relatorioAvaliacao.getUrl());
@@ -293,7 +618,7 @@ System.out.println(relatorioAvaliacao);
if (url == null) {
url = new Url();
url.setUrl(relatorioAvaliacao.getUrl());
- daoUrl.save(url);
+ //daoUrl.save(url);
}
avaliacao.setUrl(url);
@@ -350,5 +675,22 @@ System.out.println(relatorioAvaliacao);
ex.printStackTrace();
}
}
+
+ //chama um serviço no ases para avaliar a url
+ @Get("/avaliar-url")
+ @Post("/avaliar-url")
+ public void avaliarUrl(@QueryParam("url") String url) {
+
+ WebChecker.PostParams postParams =
+ WebChecker.from("http://localhost:18080/ases/servico-avaliacao-acessibilidade-salvando").withPostRequest();
+ postParams.addParam("url", url);
+ Gson g = new GsonBuilder().create();
+
+ Boolean urlAvaliada = g.fromJson(postParams.execute().getContent(), Boolean.class);
+
+ result.use(Results.xml()).from(urlAvaliada).recursive().serialize();
+ }
+
+
}
diff --git a/Desenvolvimento/Codificacao/e-Selo/src/main/java/br/com/eselo/controller/PainelAcessibilidadeController.java b/Desenvolvimento/Codificacao/e-Selo/src/main/java/br/com/eselo/controller/PainelAcessibilidadeController.java
new file mode 100644
index 0000000..66a198c
--- /dev/null
+++ b/Desenvolvimento/Codificacao/e-Selo/src/main/java/br/com/eselo/controller/PainelAcessibilidadeController.java
@@ -0,0 +1,34 @@
+package br.com.eselo.controller;
+
+
+import br.com.caelum.vraptor.Get;
+import br.com.caelum.vraptor.Post;
+import br.com.caelum.vraptor.Resource;
+import br.com.caelum.vraptor.Result;
+import br.com.caelum.vraptor.Validator;
+
+@Resource
+public class PainelAcessibilidadeController {
+
+ private Result result;
+ private Validator validator;
+
+ public PainelAcessibilidadeController(Result result, Validator validator){
+ this.result = result;
+ this.validator = validator;
+ }
+
+ @Get("/painelAcessibilidade")
+ public void painelAcessibilidade() {
+ String teste = "";
+ }
+
+
+ @Post("/painelAcessibilidade")
+ public void painelAcessibilidade(String idOrgao) {
+
+ String teste = "";
+ //this.validator = validate.getMessage();
+ //this.validator.onErrorUsePageOf(this).painelAcessibilidade();
+ }
+}
diff --git a/Desenvolvimento/Codificacao/e-Selo/src/main/java/br/com/eselo/controller/UsuarioServicoWebController.java b/Desenvolvimento/Codificacao/e-Selo/src/main/java/br/com/eselo/controller/UsuarioServicoWebController.java
index 51b201f..088c306 100644
--- a/Desenvolvimento/Codificacao/e-Selo/src/main/java/br/com/eselo/controller/UsuarioServicoWebController.java
+++ b/Desenvolvimento/Codificacao/e-Selo/src/main/java/br/com/eselo/controller/UsuarioServicoWebController.java
@@ -23,7 +23,7 @@ public class UsuarioServicoWebController {
}
-
+
//@Path("/existe_usuario_servico_web")
@Post("/existe_usuario_servico_web")
public void existeUsuarioServicoWeb(String codigoHash) {
diff --git a/Desenvolvimento/Codificacao/e-Selo/src/main/java/br/com/eselo/dao/AvaliacaoDAO.java b/Desenvolvimento/Codificacao/e-Selo/src/main/java/br/com/eselo/dao/AvaliacaoDAO.java
index 02793a8..56ee3e5 100644
--- a/Desenvolvimento/Codificacao/e-Selo/src/main/java/br/com/eselo/dao/AvaliacaoDAO.java
+++ b/Desenvolvimento/Codificacao/e-Selo/src/main/java/br/com/eselo/dao/AvaliacaoDAO.java
@@ -55,5 +55,6 @@ public class AvaliacaoDAO extends GenericDAO {
.list();
return encontrado.size() > 0;
}
+
}
diff --git a/Desenvolvimento/Codificacao/e-Selo/src/main/java/br/com/eselo/dao/GenericDAO.java b/Desenvolvimento/Codificacao/e-Selo/src/main/java/br/com/eselo/dao/GenericDAO.java
index 1a8f6a9..5625c1a 100644
--- a/Desenvolvimento/Codificacao/e-Selo/src/main/java/br/com/eselo/dao/GenericDAO.java
+++ b/Desenvolvimento/Codificacao/e-Selo/src/main/java/br/com/eselo/dao/GenericDAO.java
@@ -71,6 +71,7 @@ public abstract class GenericDAO {
this.session.flush();
} catch (HibernateException e) {
logger.debug(e.getMessage());
+ System.out.println(e.getMessage());
throw e;
}
}
diff --git a/Desenvolvimento/Codificacao/e-Selo/src/main/java/br/com/eselo/dao/ResultadoCriterioDao.java b/Desenvolvimento/Codificacao/e-Selo/src/main/java/br/com/eselo/dao/ResultadoCriterioDao.java
new file mode 100644
index 0000000..96e96bf
--- /dev/null
+++ b/Desenvolvimento/Codificacao/e-Selo/src/main/java/br/com/eselo/dao/ResultadoCriterioDao.java
@@ -0,0 +1,59 @@
+package br.com.eselo.dao;
+
+import java.util.List;
+
+import org.hibernate.Session;
+import org.hibernate.criterion.Order;
+
+import br.com.caelum.vraptor.ioc.Component;
+import br.com.eselo.model.ResultadoCriterio;
+
+@Component
+public class ResultadoCriterioDao extends GenericDAO {
+
+ public ResultadoCriterioDao(Session _session) {
+ super(_session);
+ }
+
+
+ @SuppressWarnings("unchecked")
+ public List listAllCriterio() {
+ return getSession().createCriteria(getPersistentClass())
+ .addOrder(Order.asc("id")).list();
+ }
+
+}
+
+/*
+package br.com.eselo.dao;
+
+import java.util.List;
+
+import org.hibernate.Session;
+import org.hibernate.criterion.Order;
+import org.hibernate.criterion.Restrictions;
+
+import br.com.caelum.vraptor.ioc.Component;
+import br.com.eselo.model.ResultadoRecomendacao;
+
+@Component
+public class ResultadoDao extends GenericDAO {
+
+ public ResultadoDao(Session _session) {
+ super(_session);
+ }
+
+ @SuppressWarnings("unchecked")
+ public List listAll() {
+ return getSession().createCriteria(getPersistentClass())
+ .addOrder(Order.asc("id")).list();
+ }
+
+ @SuppressWarnings("unchecked")
+ public List listResultado(Long idAvaliacao) {
+ return getSession().createCriteria(getPersistentClass())
+ .add(Restrictions.eq("avaliacao.id", idAvaliacao))
+ .addOrder(Order.asc("id")).list();
+ }
+
+}*/
diff --git a/Desenvolvimento/Codificacao/e-Selo/src/main/java/br/com/eselo/dao/SitioDAO.java b/Desenvolvimento/Codificacao/e-Selo/src/main/java/br/com/eselo/dao/SitioDAO.java
new file mode 100644
index 0000000..50ee0ab
--- /dev/null
+++ b/Desenvolvimento/Codificacao/e-Selo/src/main/java/br/com/eselo/dao/SitioDAO.java
@@ -0,0 +1,26 @@
+package br.com.eselo.dao;
+
+import org.hibernate.Session;
+import org.hibernate.criterion.Restrictions;
+
+import br.com.eselo.model.Sitio;
+
+public class SitioDAO extends GenericDAO{
+
+ public SitioDAO(Session _session) {
+ super(_session);
+ }
+
+ public Sitio existeUsuarioServicoWeb(String sitio) {
+ return (Sitio) getSession().createCriteria(getPersistentClass())
+ .add(Restrictions.eq("sitio", sitio))
+ .uniqueResult();
+ }
+
+ public Sitio existeUsuarioServicoWeb(Integer id) {
+ return (Sitio) getSession().createCriteria(getPersistentClass())
+ .add(Restrictions.eq("id_sitio", id))
+ .uniqueResult();
+ }
+
+}
diff --git a/Desenvolvimento/Codificacao/e-Selo/src/main/java/br/com/eselo/dao/UsuarioServicoWebDAO.java b/Desenvolvimento/Codificacao/e-Selo/src/main/java/br/com/eselo/dao/UsuarioServicoWebDAO.java
index f78aa89..cdec30c 100644
--- a/Desenvolvimento/Codificacao/e-Selo/src/main/java/br/com/eselo/dao/UsuarioServicoWebDAO.java
+++ b/Desenvolvimento/Codificacao/e-Selo/src/main/java/br/com/eselo/dao/UsuarioServicoWebDAO.java
@@ -19,17 +19,6 @@ public class UsuarioServicoWebDAO extends GenericDAO {
.add(Restrictions.eq("codigoHash", codigoHash))
.add(Restrictions.eq("usuarioAtivo", true))
.uniqueResult();
-
- /*UsuarioServicoWeb encontrado =
- (UsuarioServicoWeb) getSession().createCriteria(getPersistentClass())
- .add(Restrictions.eq("hash_code", codigoHash))
- .add(Restrictions.eq("usuario_ativo", true))
- .uniqueResult();
- if(encontrado != null)
- {
- usuarioAutorizado = true;
- }*/
-
}
}
diff --git a/Desenvolvimento/Codificacao/e-Selo/src/main/java/br/com/eselo/model/Criterio.java b/Desenvolvimento/Codificacao/e-Selo/src/main/java/br/com/eselo/model/Criterio.java
index 3c8d250..a0d2a73 100644
--- a/Desenvolvimento/Codificacao/e-Selo/src/main/java/br/com/eselo/model/Criterio.java
+++ b/Desenvolvimento/Codificacao/e-Selo/src/main/java/br/com/eselo/model/Criterio.java
@@ -46,6 +46,10 @@ public class Criterio {
@Column(name = "nu_criterio", nullable = false)
private Long numeroCriterio;
+ @OneToMany(mappedBy = "criterio", targetEntity = br.com.eselo.model.ResultadoCriterio.class, fetch = FetchType.LAZY, cascade = CascadeType.ALL)
+ private List resultadoCriterio;
+
+
public Long getNumeroCriterio() {
return numeroCriterio;
}
@@ -54,6 +58,14 @@ public class Criterio {
this.numeroCriterio = numeroCriterio;
}
+ public List getResultadoCriterio() {
+ return resultadoCriterio;
+ }
+
+ public void setResultadoCriterio(List resultadoCriterio) {
+ this.resultadoCriterio = resultadoCriterio;
+ }
+
@ManyToOne(fetch = FetchType.EAGER)
@JoinColumn(name = "id_tipo_teste", columnDefinition = "integer", nullable = false, insertable = true, updatable = true)
@ForeignKey(name = "fk_sel_criterio_sel_tipo_teste")
diff --git a/Desenvolvimento/Codificacao/e-Selo/src/main/java/br/com/eselo/model/Dominio.java b/Desenvolvimento/Codificacao/e-Selo/src/main/java/br/com/eselo/model/Dominio.java
new file mode 100644
index 0000000..a2deda0
--- /dev/null
+++ b/Desenvolvimento/Codificacao/e-Selo/src/main/java/br/com/eselo/model/Dominio.java
@@ -0,0 +1,100 @@
+package br.com.eselo.model;
+
+import java.util.List;
+
+import javax.persistence.CascadeType;
+import javax.persistence.Column;
+import javax.persistence.Entity;
+import javax.persistence.FetchType;
+import javax.persistence.GeneratedValue;
+import javax.persistence.Id;
+import javax.persistence.JoinColumn;
+import javax.persistence.ManyToOne;
+import javax.persistence.OneToMany;
+import javax.persistence.Table;
+import javax.persistence.Transient;
+
+import org.hibernate.annotations.Fetch;
+import org.hibernate.annotations.FetchMode;
+import org.hibernate.annotations.ForeignKey;
+
+@Entity
+@Table(name = "sel_dominios")
+public class Dominio {
+
+ @Id
+ @GeneratedValue
+ @Column(name = "id_dominio", columnDefinition = "serial", unique = true, nullable = false)
+ private Long id;
+
+ @Column(name = "dominio", nullable = false)
+ private String dominio;
+
+ @Column(name = "id_titularidade_registro", nullable = false)
+ private String idTitularidadeRegistro;
+
+ @Column(name = "id_adm_registro", nullable = false)
+ private String idAdmRegistro;
+
+ @Transient
+ @ManyToOne(fetch = FetchType.EAGER)
+ @JoinColumn(name="id_unidade")
+ @ForeignKey(name = "sel_dominios_fkunidade")
+ @Fetch(FetchMode.SELECT)
+ private Orgao orgao;
+
+ @OneToMany(mappedBy = "dominio", targetEntity = br.com.eselo.model.Sitio.class, fetch = FetchType.LAZY, cascade = CascadeType.ALL)
+ private List sitios;
+
+ public Long getId() {
+ return id;
+ }
+
+ public void setId(Long id) {
+ this.id = id;
+ }
+
+ public String getDominio() {
+ return dominio;
+ }
+
+ public void setDominio(String dominio) {
+ this.dominio = dominio;
+ }
+
+ public String getIdTitularidadeRegistro() {
+ return idTitularidadeRegistro;
+ }
+
+ public void setIdTitularidadeRegistro(String idTitularidadeRegistro) {
+ this.idTitularidadeRegistro = idTitularidadeRegistro;
+ }
+
+ public List getSitios() {
+ return sitios;
+ }
+
+ public void setSitios(List sitios) {
+ this.sitios = sitios;
+ }
+
+ public String getIdAdmRegistro() {
+ return idAdmRegistro;
+ }
+
+ public void setIdAdmRegistro(String idAdmRegistro) {
+ this.idAdmRegistro = idAdmRegistro;
+ }
+
+ public Orgao getOrgao() {
+ return orgao;
+ }
+
+ public void setOrgao(Orgao orgao) {
+ this.orgao = orgao;
+ }
+
+
+
+
+}
diff --git a/Desenvolvimento/Codificacao/e-Selo/src/main/java/br/com/eselo/model/Esfera.java b/Desenvolvimento/Codificacao/e-Selo/src/main/java/br/com/eselo/model/Esfera.java
new file mode 100644
index 0000000..8e1bb22
--- /dev/null
+++ b/Desenvolvimento/Codificacao/e-Selo/src/main/java/br/com/eselo/model/Esfera.java
@@ -0,0 +1,66 @@
+package br.com.eselo.model;
+
+import java.util.List;
+
+import javax.persistence.CascadeType;
+import javax.persistence.Column;
+import javax.persistence.Entity;
+import javax.persistence.FetchType;
+import javax.persistence.GeneratedValue;
+import javax.persistence.Id;
+import javax.persistence.OneToMany;
+import javax.persistence.Table;
+
+@Entity
+@Table(name = "sel_esfera")
+public class Esfera {
+
+ @Id
+ @GeneratedValue
+ @Column(name = "id_esfera", columnDefinition = "serial", unique = true, nullable = false)
+ private Long id;
+
+ @Column(name = "ds_esfera", nullable = false)
+ private String dsEsfera;
+
+ @Column(name = "in_ativo", nullable = false)
+ private String inAtivo;
+
+ @OneToMany(mappedBy = "esfera", targetEntity = br.com.eselo.model.Orgao.class, fetch = FetchType.LAZY, cascade = CascadeType.ALL)
+ private List orgaos;
+
+ public Long getId() {
+ return id;
+ }
+
+ public void setId(Long id) {
+ this.id = id;
+ }
+
+ public String getDsEsfera() {
+ return dsEsfera;
+ }
+
+ public void setDsEsfera(String dsEsfera) {
+ this.dsEsfera = dsEsfera;
+ }
+
+ public String getInAtivo() {
+ return inAtivo;
+ }
+
+ public void setInAtivo(String inAtivo) {
+ this.inAtivo = inAtivo;
+ }
+
+ public List getOrgaos() {
+ return orgaos;
+ }
+
+ public void setOrgaos(List orgaos) {
+ this.orgaos = orgaos;
+ }
+
+
+
+}
diff --git a/Desenvolvimento/Codificacao/e-Selo/src/main/java/br/com/eselo/model/Grupo.java b/Desenvolvimento/Codificacao/e-Selo/src/main/java/br/com/eselo/model/Grupo.java
index 56b9888..c00781f 100644
--- a/Desenvolvimento/Codificacao/e-Selo/src/main/java/br/com/eselo/model/Grupo.java
+++ b/Desenvolvimento/Codificacao/e-Selo/src/main/java/br/com/eselo/model/Grupo.java
@@ -23,8 +23,7 @@ import org.hibernate.annotations.ForeignKey;
public class Grupo {
@Id
- @SequenceGenerator(name = "sel_grupo_id_grupo_seq", sequenceName = "sel_grupo_id_grupo_seq")
- @GeneratedValue(strategy = GenerationType.AUTO, generator = "sel_grupo_id_grupo_seq")
+ @GeneratedValue
@Column(name = "id_grupo", columnDefinition = "serial", unique = true, nullable = false)
private Long id;
diff --git a/Desenvolvimento/Codificacao/e-Selo/src/main/java/br/com/eselo/model/NaturezaJuridica.java b/Desenvolvimento/Codificacao/e-Selo/src/main/java/br/com/eselo/model/NaturezaJuridica.java
new file mode 100644
index 0000000..9d52fac
--- /dev/null
+++ b/Desenvolvimento/Codificacao/e-Selo/src/main/java/br/com/eselo/model/NaturezaJuridica.java
@@ -0,0 +1,65 @@
+package br.com.eselo.model;
+
+import java.util.List;
+
+import javax.persistence.CascadeType;
+import javax.persistence.Column;
+import javax.persistence.Entity;
+import javax.persistence.FetchType;
+import javax.persistence.GeneratedValue;
+import javax.persistence.Id;
+import javax.persistence.OneToMany;
+import javax.persistence.Table;
+
+@Entity
+@Table(name = "sel_natureza_juridica")
+public class NaturezaJuridica {
+
+ @Id
+ @GeneratedValue
+ @Column(name = "id_natureza_juridica", columnDefinition = "serial", unique = true, nullable = false)
+ private Long id;
+
+ @Column(name = "ds_natureza_juridica", nullable = false)
+ private String dsNaturezaJuridica;
+
+ @Column(name = "in_ativo", nullable = false)
+ private String inAtivo;
+
+ @OneToMany(mappedBy = "naturezaJuridica", targetEntity = br.com.eselo.model.Orgao.class, fetch = FetchType.LAZY, cascade = CascadeType.ALL)
+ private List orgaos;
+
+ public Long getId() {
+ return id;
+ }
+
+ public void setId(Long id) {
+ this.id = id;
+ }
+
+ public String getDsNaturezaJuridica() {
+ return dsNaturezaJuridica;
+ }
+
+ public void setDsNaturezaJuridica(String dsNaturezaJuridica) {
+ this.dsNaturezaJuridica = dsNaturezaJuridica;
+ }
+
+ public String getInAtivo() {
+ return inAtivo;
+ }
+
+ public void setInAtivo(String inAtivo) {
+ this.inAtivo = inAtivo;
+ }
+
+ public List getOrgaos() {
+ return orgaos;
+ }
+
+ public void setOrgaos(List orgaos) {
+ this.orgaos = orgaos;
+ }
+
+
+}
diff --git a/Desenvolvimento/Codificacao/e-Selo/src/main/java/br/com/eselo/model/Orgao.java b/Desenvolvimento/Codificacao/e-Selo/src/main/java/br/com/eselo/model/Orgao.java
new file mode 100644
index 0000000..b3d1bd2
--- /dev/null
+++ b/Desenvolvimento/Codificacao/e-Selo/src/main/java/br/com/eselo/model/Orgao.java
@@ -0,0 +1,155 @@
+package br.com.eselo.model;
+
+import java.util.List;
+
+import javax.persistence.CascadeType;
+import javax.persistence.Column;
+import javax.persistence.Entity;
+import javax.persistence.FetchType;
+import javax.persistence.GeneratedValue;
+import javax.persistence.Id;
+import javax.persistence.JoinColumn;
+import javax.persistence.ManyToOne;
+import javax.persistence.OneToMany;
+import javax.persistence.Table;
+import javax.persistence.Transient;
+
+import org.hibernate.annotations.Fetch;
+import org.hibernate.annotations.FetchMode;
+import org.hibernate.annotations.ForeignKey;
+
+@Entity
+@Table(name = "sel_orgao")
+public class Orgao {
+
+ @Id
+ @GeneratedValue
+ @Column(name = "id_unidade", columnDefinition = "serial", unique = true, nullable = false)
+ private Long id;
+
+ @Column(name = "nome", nullable = false)
+ private String nomeOrgao;
+
+ @Column(name = "sigla", nullable = false)
+ private String sigla;
+
+ @Column(name = "id_orgao_entidade", nullable = false)
+ private Integer idOrgaoEntidade;
+
+ @Column(name = "id_unidade_pai", nullable = false)
+ private Integer idUnidadePai;
+
+
+ @Transient
+ @ManyToOne(fetch = FetchType.EAGER)
+ @JoinColumn(name="id_esfera")
+ @ForeignKey(name = "sel_esfera_fk")
+ @Fetch(FetchMode.SELECT)
+ private Esfera esfera;
+
+ @Transient
+ @ManyToOne(fetch = FetchType.EAGER)
+ @JoinColumn(name="id_natureza_juridica")
+ @ForeignKey(name = "sel_natureza_juridica_fk")
+ @Fetch(FetchMode.SELECT)
+ private NaturezaJuridica naturezaJuridica;
+
+ @Transient
+ @ManyToOne(fetch = FetchType.EAGER)
+ @JoinColumn(name="id_poder")
+ @ForeignKey(name = "sel_poder_fk")
+ @Fetch(FetchMode.SELECT)
+ private Poder poder;
+
+ @Transient
+ @ManyToOne(fetch = FetchType.EAGER)
+ @JoinColumn(name="id_tipo_unidade")
+ @ForeignKey(name = "sel_tipo_unidade_fk")
+ @Fetch(FetchMode.SELECT)
+ private TipoUnidade tipoUnidade;
+
+ @OneToMany(mappedBy = "orgao", targetEntity = br.com.eselo.model.Dominio.class, fetch = FetchType.LAZY, cascade = CascadeType.ALL)
+ private List dominios;
+
+ public Long getId() {
+ return id;
+ }
+
+ public void setId(Long id) {
+ this.id = id;
+ }
+
+ public String getNomeOrgao() {
+ return nomeOrgao;
+ }
+
+ public void setNomeOrgao(String nomeOrgao) {
+ this.nomeOrgao = nomeOrgao;
+ }
+
+ public String getSigla() {
+ return sigla;
+ }
+
+ public void setSigla(String sigla) {
+ this.sigla = sigla;
+ }
+
+ public List getDominios() {
+ return dominios;
+ }
+
+ public void setDominios(List dominios) {
+ this.dominios = dominios;
+ }
+
+ public Integer getIdOrgaoEntidade() {
+ return idOrgaoEntidade;
+ }
+
+ public void setIdOrgaoEntidade(Integer idOrgaoEntidade) {
+ this.idOrgaoEntidade = idOrgaoEntidade;
+ }
+
+ public Integer getIdUnidadePai() {
+ return idUnidadePai;
+ }
+
+ public void setIdUnidadePai(Integer idUnidadePai) {
+ this.idUnidadePai = idUnidadePai;
+ }
+
+ public Esfera getEsfera() {
+ return esfera;
+ }
+
+ public void setEsfera(Esfera esfera) {
+ this.esfera = esfera;
+ }
+
+ public NaturezaJuridica getNaturezaJuridica() {
+ return naturezaJuridica;
+ }
+
+ public void setNaturezaJuridica(NaturezaJuridica naturezaJuridica) {
+ this.naturezaJuridica = naturezaJuridica;
+ }
+
+ public Poder getPoder() {
+ return poder;
+ }
+
+ public void setPoder(Poder poder) {
+ this.poder = poder;
+ }
+
+ public TipoUnidade getTipoUnidade() {
+ return tipoUnidade;
+ }
+
+ public void setTipoUnidade(TipoUnidade tipoUnidade) {
+ this.tipoUnidade = tipoUnidade;
+ }
+
+
+}
diff --git a/Desenvolvimento/Codificacao/e-Selo/src/main/java/br/com/eselo/model/Poder.java b/Desenvolvimento/Codificacao/e-Selo/src/main/java/br/com/eselo/model/Poder.java
new file mode 100644
index 0000000..0ae89f2
--- /dev/null
+++ b/Desenvolvimento/Codificacao/e-Selo/src/main/java/br/com/eselo/model/Poder.java
@@ -0,0 +1,65 @@
+package br.com.eselo.model;
+
+import java.util.List;
+
+import javax.persistence.CascadeType;
+import javax.persistence.Column;
+import javax.persistence.Entity;
+import javax.persistence.FetchType;
+import javax.persistence.GeneratedValue;
+import javax.persistence.Id;
+import javax.persistence.OneToMany;
+import javax.persistence.Table;
+
+@Entity
+@Table(name = "sel_poder")
+public class Poder {
+
+ @Id
+ @GeneratedValue
+ @Column(name = "id_poder", columnDefinition = "serial", unique = true, nullable = false)
+ private Long id;
+
+ @Column(name = "ds_poder", nullable = false)
+ private String dsPoder;
+
+ @Column(name = "in_ativo", nullable = false)
+ private String inAtivo;
+
+ @OneToMany(mappedBy = "poder", targetEntity = br.com.eselo.model.Orgao.class, fetch = FetchType.LAZY, cascade = CascadeType.ALL)
+ private List orgaos;
+
+ public Long getId() {
+ return id;
+ }
+
+ public void setId(Long id) {
+ this.id = id;
+ }
+
+ public String getDsPoder() {
+ return dsPoder;
+ }
+
+ public void setDsPoder(String dsPoder) {
+ this.dsPoder = dsPoder;
+ }
+
+ public String getInAtivo() {
+ return inAtivo;
+ }
+
+ public void setInAtivo(String inAtivo) {
+ this.inAtivo = inAtivo;
+ }
+
+ public List getOrgaos() {
+ return orgaos;
+ }
+
+ public void setOrgaos(List orgaos) {
+ this.orgaos = orgaos;
+ }
+
+
+}
diff --git a/Desenvolvimento/Codificacao/e-Selo/src/main/java/br/com/eselo/model/ResultadoCriterio.java b/Desenvolvimento/Codificacao/e-Selo/src/main/java/br/com/eselo/model/ResultadoCriterio.java
index 0103734..e7a993b 100644
--- a/Desenvolvimento/Codificacao/e-Selo/src/main/java/br/com/eselo/model/ResultadoCriterio.java
+++ b/Desenvolvimento/Codificacao/e-Selo/src/main/java/br/com/eselo/model/ResultadoCriterio.java
@@ -21,9 +21,12 @@ public class ResultadoCriterio {
@GeneratedValue
@Column(name = "id_resultado_criterio", columnDefinition = "serial", unique = true, nullable = false)
private Long id;
-
- @Column(name = "nu_criterio",nullable = false)
- private Long numCriterio;
+
+ @OneToOne(fetch = FetchType.EAGER)
+ @JoinColumn(name="id_criterio")
+ @ForeignKey(name = "sel_result_crit_id_crit_fk")
+ @Fetch(FetchMode.SELECT)
+ private Criterio criterio;
@Column(name = "nu_erros",nullable = false)
private Long numErros;
@@ -31,6 +34,9 @@ public class ResultadoCriterio {
@Column(name = "nu_itens",nullable = false)
private Long numItens;
+ @Column(name = "nu_nota",nullable = false)
+ private Double notaCriterio;
+
@OneToOne(fetch = FetchType.EAGER)
@JoinColumn(name="id_resultado_rescomendacao", insertable=true, updatable=true)
@ForeignKey(name = "fk_sel_resultado_sel_avaliacao")
@@ -45,16 +51,16 @@ public class ResultadoCriterio {
this.id = id;
}
- public Long getNumCriterio() {
- return numCriterio;
+ public Long getNumErros() {
+ return numErros;
}
- public void setNumCriterio(Long numCriterio) {
- this.numCriterio = numCriterio;
+ public Criterio getCriterio() {
+ return criterio;
}
- public Long getNumErros() {
- return numErros;
+ public void setCriterio(Criterio criterio) {
+ this.criterio = criterio;
}
public void setNumErros(Long numErros) {
@@ -69,6 +75,15 @@ public class ResultadoCriterio {
this.numItens = numItens;
}
+
+ public Double getNotaCriterio() {
+ return notaCriterio;
+ }
+
+ public void setNotaCriterio(Double notaCriterio) {
+ this.notaCriterio = notaCriterio;
+ }
+
public ResultadoRecomendacao getResultadoRecomendacao() {
return resultadoRecomendacao;
}
diff --git a/Desenvolvimento/Codificacao/e-Selo/src/main/java/br/com/eselo/model/ResultadoRecomendacao.java b/Desenvolvimento/Codificacao/e-Selo/src/main/java/br/com/eselo/model/ResultadoRecomendacao.java
index 2c6d8bd..910c47f 100644
--- a/Desenvolvimento/Codificacao/e-Selo/src/main/java/br/com/eselo/model/ResultadoRecomendacao.java
+++ b/Desenvolvimento/Codificacao/e-Selo/src/main/java/br/com/eselo/model/ResultadoRecomendacao.java
@@ -46,6 +46,9 @@ public class ResultadoRecomendacao {
@Column(name = "nu_total_avisos")
private Long totalAvisos;
+ @Column(name = "nu_nota",nullable = false)
+ private Double notaRecomendacao;
+
@OneToMany(mappedBy = "resultadoRecomendacao", targetEntity = br.com.eselo.model.ResultadoCriterio.class, fetch = FetchType.LAZY, cascade = CascadeType.ALL)
private List criterios;
@@ -88,6 +91,14 @@ public class ResultadoRecomendacao {
public void setTotalAvisos(Long totalAvisos) {
this.totalAvisos = totalAvisos;
}
+
+ public Double getNotaRecomendacao() {
+ return notaRecomendacao;
+ }
+
+ public void setNotaRecomendacao(Double notaRecomendacao) {
+ this.notaRecomendacao = notaRecomendacao;
+ }
public List getCriterios() {
return criterios;
diff --git a/Desenvolvimento/Codificacao/e-Selo/src/main/java/br/com/eselo/model/Sitio.java b/Desenvolvimento/Codificacao/e-Selo/src/main/java/br/com/eselo/model/Sitio.java
new file mode 100644
index 0000000..6cf10a1
--- /dev/null
+++ b/Desenvolvimento/Codificacao/e-Selo/src/main/java/br/com/eselo/model/Sitio.java
@@ -0,0 +1,78 @@
+package br.com.eselo.model;
+
+import java.util.List;
+
+import javax.persistence.CascadeType;
+import javax.persistence.Column;
+import javax.persistence.Entity;
+import javax.persistence.FetchType;
+import javax.persistence.GeneratedValue;
+import javax.persistence.Id;
+import javax.persistence.JoinColumn;
+import javax.persistence.ManyToOne;
+import javax.persistence.OneToMany;
+import javax.persistence.Table;
+import javax.persistence.Transient;
+
+import org.hibernate.annotations.Fetch;
+import org.hibernate.annotations.FetchMode;
+import org.hibernate.annotations.ForeignKey;
+
+@Entity
+@Table(name = "sel_sitios")
+public class Sitio {
+
+ @Id
+ @GeneratedValue
+ @Column(name = "id_sitio", columnDefinition = "serial", unique = true, nullable = false)
+ private Long id;
+
+ @Column(name = "sitio", nullable = false)
+ private String sitio;
+
+ @OneToMany(mappedBy = "sitio", targetEntity = br.com.eselo.model.Url.class, fetch = FetchType.EAGER, cascade = CascadeType.ALL)
+ private List urls;
+
+ @Transient
+ @ManyToOne(fetch = FetchType.EAGER)
+ @JoinColumn(name="id_dominio")
+ @ForeignKey(name = "sel_dominios_fksitio")
+ @Fetch(FetchMode.SELECT)
+ private Dominio dominio;
+
+ public Long getId() {
+ return id;
+ }
+
+ public void setId(Long id) {
+ this.id = id;
+ }
+
+ public String getSitio() {
+ return sitio;
+ }
+
+ public void setSitio(String sitio) {
+ this.sitio = sitio;
+ }
+
+ public List getUrls() {
+ return urls;
+ }
+
+ public void setUrls(List urls) {
+ this.urls = urls;
+ }
+
+ public Dominio getDominio() {
+ return dominio;
+ }
+
+ public void setDominio(Dominio dominio) {
+ this.dominio = dominio;
+ }
+
+
+
+
+}
diff --git a/Desenvolvimento/Codificacao/e-Selo/src/main/java/br/com/eselo/model/Url.java b/Desenvolvimento/Codificacao/e-Selo/src/main/java/br/com/eselo/model/Url.java
index 1814b86..4a042af 100644
--- a/Desenvolvimento/Codificacao/e-Selo/src/main/java/br/com/eselo/model/Url.java
+++ b/Desenvolvimento/Codificacao/e-Selo/src/main/java/br/com/eselo/model/Url.java
@@ -2,9 +2,17 @@ package br.com.eselo.model;
import javax.persistence.Column;
import javax.persistence.Entity;
+import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
+import javax.persistence.JoinColumn;
+import javax.persistence.ManyToOne;
import javax.persistence.Table;
+import javax.persistence.Transient;
+
+import org.hibernate.annotations.Fetch;
+import org.hibernate.annotations.FetchMode;
+import org.hibernate.annotations.ForeignKey;
@Entity
@Table(name = "sel_url")
@@ -15,9 +23,16 @@ public class Url {
@Column(name = "id_url", columnDefinition = "serial", unique = true, nullable = false)
private Long id;
- @Column(name = "ds_url", nullable = false)
+ @Column(name = "url", nullable = false)
private String url;
-
+
+ @Transient
+ @ManyToOne(fetch = FetchType.EAGER)
+ @JoinColumn(name="id_sitio")
+ @ForeignKey(name = "fk_sel_url_sel_sitio")
+ @Fetch(FetchMode.SELECT)
+ private Sitio sitio;
+
public Long getId() {
return id;
}
@@ -34,4 +49,15 @@ public class Url {
this.url = url;
}
+ public Sitio getSitio() {
+ return sitio;
+ }
+
+ public void setSitio(Sitio sitio) {
+ this.sitio = sitio;
+ }
+
+
+
+
}
diff --git a/Desenvolvimento/Codificacao/e-Selo/src/main/resources/hibernate.cfg.xml b/Desenvolvimento/Codificacao/e-Selo/src/main/resources/hibernate.cfg.xml
index cf66e4f..37f659e 100644
--- a/Desenvolvimento/Codificacao/e-Selo/src/main/resources/hibernate.cfg.xml
+++ b/Desenvolvimento/Codificacao/e-Selo/src/main/resources/hibernate.cfg.xml
@@ -10,7 +10,7 @@
jdbc:postgresql://localhost:5432/eselo
org.postgresql.Driver
postgres
- 90206290187
+ postgres
utf8
utf8
true
@@ -21,6 +21,7 @@
org.hibernate.cache.HashtableCacheProvider
+
@@ -30,7 +31,7 @@
-
+
--
libgit2 0.21.2