Commit 8e45acded7a2770956c880feffd9caa5fc783000

Authored by gibransodre
1 parent e2cc875a
Exists in master

Correções e método para voltar e para gerar código hash

WebContent/WEB-INF/jsp/formularioOrgao/formularioOrgao.jsp
... ... @@ -6,7 +6,7 @@
6 6 <t:baseLayout>
7 7 <jsp:body>
8 8  
9   - <!-- <div>
  9 + <div>
10 10 <c:if test="${not empty mensagemValidacaoCamposOrgao}">
11 11 <c:forEach items="${mensagemValidacaoCamposOrgao}" var="error">
12 12 <div class="alinName"><a id="mensagemErroCampoVazio_${error.campo}" href="#${error.campo}">${error.mensagem}</a></div>
... ... @@ -15,7 +15,7 @@
15 15 </c:if>
16 16 </div>
17 17  
18   - -->
  18 +
19 19  
20 20 <div class="funcionalidades">
21 21 <ul class="breadcrumb">
... ...
WebContent/WEB-INF/jsp/index/formulario.jsp
... ... @@ -62,7 +62,11 @@
62 62  
63 63 <label for="espacoReclamacao">3) Com relação a pergunta anterior, caso tenha respondido "Sim", mencione abaixo quando e por quem houve a reclamação e qual foi a reclamação:</label><br>
64 64 <input type="hidden" name="hEspacoReclamacao" value="9" />
65   - <textarea name="espacoReclamacao" id="espacoReclamacao" rows="8" cols="100" maxlength="800">${espacoReclamacao}</textarea>
  65 + <textarea name="espacoReclamacao" id="espacoReclamacao" rows="8" cols="100" maxlength="800">
  66 + <c:if test="${espacoReclamacao != null}">
  67 + ${espacoReclamacao}
  68 + </c:if>
  69 + </textarea>
66 70 <br><br>
67 71  
68 72 <label for="perguntaEstimulo" class="obrigatorio">4) O Órgão tem estimulado seus servidores e parceiros a realizarem capacitações sobre acessibilidade em ambientes digitais?</label>
... ... @@ -140,7 +144,12 @@
140 144 <label for="justificativaRequisito">7) Com relação à pergunta anterior, caso tenha respondido "Sim, observamos os requisitos de outros modelos que não os especificados acima", então mencione abaixo estes modelos:</label>
141 145 <input type="hidden" name="hJustificativaRequisito" value="13" />
142 146 <textarea name="justificativaRequisito"
143   - id="justificativaRequisito" rows="8" cols="100" maxlength="600">${justificativaRequisito}</textarea>
  147 + id="justificativaRequisito" rows="8" cols="100" maxlength="600">
  148 + <c:if test="${justificativaRequisito != null}">
  149 + ${justificativaRequisito}
  150 + </c:if>
  151 + </textarea>
  152 +
144 153  
145 154 <br><br>
146 155  
... ... @@ -368,10 +377,14 @@
368 377 </fieldset>
369 378 <br>
370 379  
371   - <label for="outroAvaliador">12) Com relação à pergunta anterior, caso tenha respondido "Outros", mencione abaixo quais são estas ferramentas:</label>
  380 + <label for="outroAvaliador">12) Com relação à pergunta anterior, caso tenha respondido "Outro(s)", mencione abaixo quais são estas ferramentas:</label>
372 381 <input type="hidden" name="hOutroAvaliador" value="18" />
373 382 <textarea name="outroAvaliador" id="outroAvaliador" rows="8"
374   - cols="100" maxlength="600">${outroAvaliador}</textarea>
  383 + cols="100" maxlength="600">
  384 + <c:if test="${outroAvaliador != null}">
  385 + ${outroAvaliador}
  386 + </c:if>
  387 + </textarea>
375 388 <br><br>
376 389  
377 390 <fieldset class="pergunta">
... ... @@ -597,13 +610,21 @@
597 610  
598 611 <label for="justificativaAssistiva">19) Com relação à pergunta anterior: caso tenha respondido "Outro(s)" mencione abaixo quais são estas tecnologias:</label>
599 612 <input type="hidden" name="hJustificativaAssistiva" value="25" />
600   - <textarea name="justificativaAssistiva" id="justificativaAssistiva" rows="8" cols="100" maxlength="600">${justificativaAssistiva}</textarea>
  613 + <textarea name="justificativaAssistiva" id="justificativaAssistiva" rows="8" cols="100" maxlength="600">
  614 + <c:if test="${justificativaAssistiva != null}">
  615 + ${justificativaAssistiva}
  616 + </c:if>
  617 + </textarea>
601 618  
602 619 <br><br>
603 620  
604 621 <label for="dificuldadePrazo" class="obrigatorio">20) Mencione abaixo as dificuldades para o atendimento do prazo previsto na legislação para o estabelecimento da acessibilidade digital, caso o órgao esteja enfrentando estas dificuldades:</label>
605 622 <input type="hidden" name="hDificuldadePrazo" value="26" />
606   - <textarea name="dificuldadePrazo" id="dificuldadePrazo" rows="8" cols="100" maxlength="600" required>${dificuldadePrazo}</textarea><br><br>
  623 + <textarea name="dificuldadePrazo" id="dificuldadePrazo" rows="8" cols="100" maxlength="600" required>
  624 + <c:if test="${dificuldadePrazo != null}">
  625 + ${dificuldadePrazo}
  626 + </c:if>
  627 + </textarea><br><br>
607 628  
608 629 <div><h3>Leis, Documentos e Sítios referenciados neste formulário:</h3>
609 630 <ul>
... ... @@ -622,7 +643,7 @@
622 643  
623 644  
624 645 <div id="botao">
625   - <a class="button" id="voltarF" href="${pageContext.request.contextPath}/formularioOrgao">Voltar</a>
  646 +
626 647 <input type="submit" class="button" id="enviar" name="executar" value="Enviar">
627 648 </div>
628 649  
... ... @@ -637,6 +658,14 @@
637 658 <input type="hidden" id="hEmailNovo" name="hEmailNovo" value="${hEmail}" />
638 659  
639 660 </form>
  661 + <form method="post" action="${pageContext.request.contextPath}/formularioOrgao">
  662 + <input type="hidden" id="valorHash" name="valorHash" value="${valorHash}"/>
  663 +
  664 + <div id="botaoVoltar">
  665 + <input type="submit" class="button" id="voltarF" name="executar" value="Voltar">
  666 +
  667 + </div>
  668 + </form>
640 669  
641 670 </div>
642 671 </jsp:body>
... ...
WebContent/WEB-INF/jsp/questionario/questionario.jsp 0 → 100644
... ... @@ -0,0 +1,32 @@
  1 +<%@page contentType="text/html" pageEncoding="UTF-8"%>
  2 +<%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
  3 +<%@taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions"%>
  4 +<!DOCTYPE html>
  5 +<html lang=pt-br>
  6 +
  7 +<head>
  8 +<title>Relatório Circunstanciado de Acessibilidade Digital</title>
  9 +</head>
  10 +<body>
  11 +
  12 +
  13 +<form action="${pageContext.request.contextPath}/salvar-questionario" method="post" enctype="multipart/form-data">
  14 +
  15 +<fieldset>
  16 +<legend>Questionário</legend>
  17 +
  18 +<label for="noOrgao">Órgão: </label>
  19 +<input type="text" id="noOrgao" name="noOrgao"><br><br>
  20 +<label for="emailDestinoOrgao">Email: </label>
  21 +<input type="text" id="emailDestinoOrgao" name="emailDestinoOrgao"><br><br>
  22 +<label for="dtInicioQuestionario">Início: </label>
  23 +<input type="date" id="dtInicioQuestionario" name="dtInicioQuestionario"><br><br>
  24 +<label for="dtFimQuestionario">Fim: </label>
  25 +<input type="date" id="dtFimQuestionario" name="dtFimQuestionario"><br><br>
  26 +<label for="file">Arquivo: </label>
  27 +<input type="file" id="file" name="file"><br><br>
  28 +<input type="submit" value="Salvar">
  29 +</fieldset>
  30 +</form>
  31 +</body>
  32 +</html>
0 33 \ No newline at end of file
... ...
WebContent/WEB-INF/lib/commons-email-1.4-javadoc.jar 0 → 100644
No preview for this file type
WebContent/WEB-INF/lib/commons-email-1.4.jar 0 → 100644
No preview for this file type
WebContent/WEB-INF/mail.properties
... ... @@ -5,4 +5,5 @@ prop.email.port = 25
5 5 prop.email.authuser = ""
6 6 prop.email.authpass = ""
7 7 prop.email.auth = false
8   -prop.email.to = govbr@planejamento.gov.br
9 8 \ No newline at end of file
  9 +prop.email.to = ""
  10 +prop.email.from = govbr@planejamento.gov.br
10 11 \ No newline at end of file
... ...
src/br/com/controller/QuestionarioController.java 0 → 100644
... ... @@ -0,0 +1,118 @@
  1 +package br.com.controller;
  2 +
  3 +import java.io.BufferedReader;
  4 +import java.io.InputStreamReader;
  5 +
  6 +import javax.servlet.ServletContext;
  7 +
  8 +import br.com.model.utilities.Email;
  9 +import br.com.model.utilities.StringHelper;
  10 +import br.com.caelum.vraptor.Path;
  11 +import br.com.caelum.vraptor.Resource;
  12 +import br.com.caelum.vraptor.Result;
  13 +import br.com.caelum.vraptor.Validator;
  14 +import br.com.caelum.vraptor.interceptor.multipart.UploadedFile;
  15 +import br.com.caelum.vraptor.ioc.spring.VRaptorRequestHolder;
  16 +import br.com.dao.QuestionarioDao;
  17 +import br.com.model.entity.Contato;
  18 +import br.com.model.entity.EnvioEmailSemAutenticacao;
  19 +import br.com.model.entity.Questionario;
  20 +import br.com.util.DateUtil;
  21 +
  22 +@Resource
  23 +public class QuestionarioController {
  24 +
  25 + private Result result;
  26 + private Validator validator;
  27 + private ServletContext application;
  28 +
  29 + public QuestionarioController(Result result, Validator validator, ServletContext application) {
  30 +
  31 + this.result = result;
  32 + this.validator = validator;
  33 + this.application = application;
  34 +
  35 + }
  36 +
  37 + @Path("/questionario")
  38 + public void questionario() {
  39 +
  40 + }
  41 +
  42 + @Path("/salvar-questionario")
  43 + public void questionarioSalvar(String emailDestinoOrgao, UploadedFile file,
  44 + String dtInicioQuestionario, String dtFimQuestionario, String noOrgao) {
  45 +
  46 + String codigoHash = noOrgao + DateUtil.dataHoraAtual().toString().replace("/", "").replace(" ", "").replace(":", "");
  47 +
  48 + Questionario questionario = new Questionario();
  49 + // BufferedReader reader = new BufferedReader(new InputStreamReader(file.getFile()));
  50 +
  51 + questionario.setDtInicioQuestionario(dtInicioQuestionario);
  52 + questionario.setDtFimQuestionario(dtFimQuestionario);
  53 + questionario.setEmailDestinoOrgao(emailDestinoOrgao);
  54 + questionario.setHashAutenticacao(codigoHash);
  55 + questionario.setNoOrgao(noOrgao);
  56 +
  57 + QuestionarioDao questionarioDao = new QuestionarioDao();
  58 +
  59 + if (questionarioDao.salvarQuestionario(file.getFile(), questionario)) {
  60 + Contato contato = new Contato();
  61 + contato.setEmail(emailDestinoOrgao);
  62 + contato.setAssunto("assunto");
  63 + contato.setMensagem("Código Hash:" + codigoHash);
  64 + contato.setNome("nome");
  65 +
  66 + enviarHashPorEmail(contato);
  67 +
  68 + }
  69 + }
  70 +
  71 +
  72 + private String gerarCodigoHash() {
  73 + String codigoHash = "";
  74 +
  75 + return codigoHash;
  76 + }
  77 +
  78 + private void enviarHashPorEmail(Contato contato) {
  79 + boolean emailEnviado = false;
  80 +
  81 +
  82 + String respSendEmail;
  83 +
  84 + Email email = new Email(this.application.getRealPath("") + "/WEB-INF/mail.properties");
  85 +
  86 + EnvioEmailSemAutenticacao envioEmailSemAutenticacao =
  87 + new EnvioEmailSemAutenticacao(email.getHost(), Integer.toString(email.getPort()));
  88 +
  89 + respSendEmail =
  90 + envioEmailSemAutenticacao.sendMail(email.getFrom(), contato.getEmail(),
  91 + StringHelper.convertFromUTF8(contato.getAssunto()),
  92 + StringHelper.convertFromUTF8(contato.getMensagem()), email.getAuth(),
  93 + email.getAuthUser(), email.getAuthPass());
  94 +
  95 +
  96 + /*
  97 + * String respSendEmail = email.sendEmail("Contato","govbr@planejamento.gov.br",
  98 + * contato.getNome(),contato.getEmail(),StringHelper.convertFromUTF8(contato.getAssunto()),
  99 + * StringHelper.convertFromUTF8(contato.getMensagem()), true);
  100 + */
  101 +
  102 + if (respSendEmail.equals("")) {
  103 + result.include("mensagem", "Mensagem enviada com Sucesso");
  104 + result.include("status", "success");
  105 +
  106 + } else {
  107 + result.include("mensagem", "Não foi possível enviar a mensagem! Ocorreu o problema: "
  108 + + respSendEmail);
  109 + result.include("status", "error");
  110 + }
  111 +
  112 + // this.result.redirectTo(ContatoController.class).index();
  113 +
  114 +
  115 +
  116 + }
  117 +
  118 +}
... ...
src/br/com/controller/formularioOrgaoController.java
... ... @@ -3,10 +3,13 @@ package br.com.controller;
3 3 import java.util.ArrayList;
4 4 import java.util.List;
5 5  
  6 +
6 7 import br.com.caelum.vraptor.Path;
  8 +import br.com.caelum.vraptor.Post;
7 9 import br.com.caelum.vraptor.Resource;
8 10 import br.com.caelum.vraptor.Result;
9 11 import br.com.caelum.vraptor.Validator;
  12 +import br.com.caelum.vraptor.ioc.spring.VRaptorRequestHolder;
10 13 import br.com.caelum.vraptor.validator.ValidationMessage;
11 14 import br.com.dao.HashDao;
12 15 import br.com.dao.RespostaQuestionarioDao;
... ... @@ -31,6 +34,7 @@ public class formularioOrgaoController {
31 34 this.validator = validator;
32 35 }
33 36  
  37 +
34 38 @Path("/formularioOrgao")
35 39 public void formularioOrgao(String valorHash) {
36 40  
... ... @@ -51,6 +55,9 @@ public class formularioOrgaoController {
51 55  
52 56 if (questionario.getDtInicioQuestionario() != null && !valorHash.equalsIgnoreCase("")) {
53 57  
  58 + VRaptorRequestHolder.currentRequest().getServletContext()
  59 + .setAttribute("valorHash", valorHash);
  60 +
54 61 result.include("questionario", questionario);
55 62 RespostaQuestionarioDao respostaQuestionarioDao = new RespostaQuestionarioDao();
56 63  
... ...
src/br/com/controller/indexController.java
... ... @@ -129,7 +129,9 @@ public class indexController {
129 129 result.include("hTelefone", hTelefone);
130 130 result.include("email", email);
131 131 result.include("hEmail", hEmail);
132   -
  132 + VRaptorRequestHolder.currentRequest().getServletContext()
  133 + .setAttribute("valorHash", questionario.getHashAutenticacao());
  134 +
133 135 // Cria lista das amostragens
134 136 amostragemSiteQuestionario = new AmostragemSiteQuestionario();
135 137 List<AmostragemSiteQuestionario> lsAmostragemSiteQuestionario =
... ... @@ -393,7 +395,9 @@ public class indexController {
393 395 }
394 396  
395 397 if (lsAmostragemSiteQuestionario.size() > 0) {
396   - result.include("lsAmostragemSiteQuestionario", lsAmostragemSiteQuestionario);
  398 + VRaptorRequestHolder.currentRequest().getServletContext()
  399 + .setAttribute("lsAmostragemSiteQuestionario", lsAmostragemSiteQuestionario);
  400 + //result.include("lsAmostragemSiteQuestionario", lsAmostragemSiteQuestionario);
397 401  
398 402 // Fim cria lista das amostragens
399 403  
... ... @@ -582,6 +586,14 @@ public class indexController {
582 586  
583 587 if (this.mensagemValidacaoCampos.size() > 0) {
584 588 result.include("mensagemValidacaoCampos", mensagemValidacaoCampos);
  589 + List<AmostragemSiteQuestionario> lsAmostragemSiteQuestionario = new ArrayList<AmostragemSiteQuestionario>();
  590 +
  591 + lsAmostragemSiteQuestionario = (List<AmostragemSiteQuestionario>) VRaptorRequestHolder.currentRequest().getServletContext()
  592 + .getAttribute("lsAmostragemSiteQuestionario");
  593 +
  594 + VRaptorRequestHolder.currentRequest().getServletContext()
  595 + .setAttribute("lsAmostragemSiteQuestionario", lsAmostragemSiteQuestionario);
  596 +
585 597 this.validator.add(new ValidationMessage("", ""));
586 598 this.validator.onErrorUsePageOf(indexController.class).formulario(hNoPessoa, noPessoa,
587 599 hCargoNovo, cargoNovo, hTelefoneNovo, telefoneNovo, hEmailNovo, emailNovo, ases_hAmbiente1, hAmbiente1,
... ... @@ -594,6 +606,7 @@ public class indexController {
594 606 ases_hPagina44, hPagina44, ases_hAmbiente5, hAmbiente5, ases_hPagina51, hPagina51,
595 607 ases_hPagina52, hPagina52, ases_hPagina53, hPagina53, ases_hPagina54, hPagina54,
596 608 idQuestionario);
  609 +
597 610 } else {
598 611  
599 612 List<RespostaQuestionario> lsRespostaQuestionario = new ArrayList<RespostaQuestionario>();
... ...
src/br/com/dao/QuestionarioDao.java
1 1 package br.com.dao;
2 2  
  3 +import java.io.File;
  4 +import java.io.FileInputStream;
  5 +import java.io.FileNotFoundException;
  6 +import java.io.InputStream;
  7 +import java.security.NoSuchAlgorithmException;
3 8 import java.sql.Connection;
  9 +import java.sql.PreparedStatement;
4 10 import java.sql.ResultSet;
5 11 import java.sql.SQLException;
6 12 import java.sql.Statement;
  13 +import java.text.ParseException;
  14 +import java.util.Date;
  15 +
  16 +import br.com.caelum.vraptor.interceptor.multipart.UploadedFile;
  17 +import br.com.model.entity.Questionario;
  18 +import br.com.util.DateUtil;
  19 +import br.com.util.GeradorCodigoHash;
7 20  
8 21 public class QuestionarioDao {
9   -
10   -
  22 +
  23 +
11 24 public ResultSet retornarQuestionario(int idQuestionario) {
12 25  
13 26 StringBuffer sql = new StringBuffer();
... ... @@ -20,8 +33,8 @@ public class QuestionarioDao {
20 33  
21 34 estado.execute(sql.toString());
22 35 sql.append(" SELECT id_questionario, dt_inicio_questionario, dt_fim_questionario, no_orgao, hash_autenticacao, questionario_respondido ");
23   - sql.append(" FROM public.questionario where id_questionario = "+ idQuestionario +";");
24   -
  36 + sql.append(" FROM public.questionario where id_questionario = " + idQuestionario + ";");
  37 +
25 38 rset = estado.executeQuery(sql.toString());
26 39  
27 40 return rset;
... ... @@ -29,7 +42,7 @@ public class QuestionarioDao {
29 42 e.printStackTrace();
30 43 return null;
31 44  
32   - }finally {
  45 + } finally {
33 46 if (con != null) {
34 47 try {
35 48 con.close();
... ... @@ -40,4 +53,77 @@ public class QuestionarioDao {
40 53 }
41 54  
42 55 }
  56 +
  57 + public boolean salvarQuestionario(InputStream file, Questionario questionario) {
  58 +
  59 + //File file = new File(caminhoArquivo);
  60 +
  61 + Connection con = null;
  62 + con = Conexao.conecta();
  63 + int resultado = 0;
  64 + StringBuffer sql;
  65 +
  66 + boolean salvoComSucesso = false;
  67 +
  68 + try {
  69 +
  70 + String hashAutenticacao = GeradorCodigoHash.gerarHash(questionario.getHashAutenticacao());
  71 +
  72 + // FileInputStream fileIn = new FileInputStream(file);
  73 + Date dtInicioQuestionario = DateUtil.dataFormatada(questionario.getDtInicioQuestionario());
  74 + Date dtFimQuestionario = DateUtil.dataFormatada(questionario.getDtFimQuestionario());
  75 + java.sql.Date sqlDtInicioQuestionario = new java.sql.Date(dtInicioQuestionario.getTime());
  76 + java.sql.Date sqlDtFimQuestionario = new java.sql.Date(dtFimQuestionario.getTime());
  77 +
  78 + if (con != null) {
  79 +
  80 + sql = new StringBuffer();
  81 + sql.append(" INSERT INTO public.questionario( ");
  82 + sql.append(" dt_inicio_questionario, dt_fim_questionario, ");
  83 + sql.append(" no_orgao, hash_autenticacao, questionario_respondido, email_destino_orgao, ");
  84 + sql.append(" arquivo_oficio_autorizacao) ");
  85 + sql.append(" VALUES (?, ?, ?, ?, ?, ?, ?); ");
  86 +
  87 + // cria statement para executar a query
  88 + PreparedStatement estado = con.prepareStatement(sql.toString());
  89 + estado.setDate(1, sqlDtInicioQuestionario);
  90 + estado.setDate(2, sqlDtFimQuestionario);
  91 + estado.setString(3, questionario.getNoOrgao());
  92 + estado.setString(4, hashAutenticacao);
  93 + estado.setBoolean(5, false);
  94 + estado.setString(6, questionario.getEmailDestinoOrgao());
  95 + estado.setBinaryStream(7, file);
  96 +
  97 + resultado = estado.executeUpdate();
  98 +
  99 + if (resultado == 0) {
  100 + salvoComSucesso = false;
  101 + } else {
  102 +
  103 + salvoComSucesso = true;
  104 + }
  105 + }
  106 +
  107 + return salvoComSucesso;
  108 +
  109 + } catch (SQLException e) {
  110 + e.printStackTrace();
  111 + return salvoComSucesso;
  112 + } catch (ParseException e) {
  113 + e.printStackTrace();
  114 + return salvoComSucesso;
  115 + } catch (NoSuchAlgorithmException e) {
  116 + e.printStackTrace();
  117 + return salvoComSucesso;
  118 + } finally {
  119 + if (con != null) {
  120 + try {
  121 + con.close();
  122 + } catch (SQLException e) {
  123 + e.printStackTrace();
  124 + }
  125 + }
  126 + }
  127 + }
  128 +
43 129 }
... ...
src/br/com/model/entity/Questionario.java
1 1 package br.com.model.entity;
2 2  
3   -import java.sql.Date;
4 3 import java.sql.ResultSet;
5 4  
6   -import br.com.dao.PerguntaDao;
  5 +import br.com.caelum.vraptor.interceptor.multipart.UploadedFile;
7 6 import br.com.dao.QuestionarioDao;
8 7  
9 8 public class Questionario {
... ... @@ -14,6 +13,8 @@ public class Questionario {
14 13 private String noOrgao;
15 14 private String hashAutenticacao;
16 15 private boolean questionario_respondido;
  16 + private String emailDestinoOrgao;
  17 + private UploadedFile arquivoOficioAutorizacao;
17 18  
18 19  
19 20 public Questionario() {
... ... @@ -88,6 +89,22 @@ public class Questionario {
88 89 this.questionario_respondido = questionario_respondido;
89 90 }
90 91  
91   -
  92 + public String getEmailDestinoOrgao() {
  93 + return emailDestinoOrgao;
  94 + }
  95 +
  96 + public void setEmailDestinoOrgao(String emailDestinoOrgao) {
  97 + this.emailDestinoOrgao = emailDestinoOrgao;
  98 + }
  99 +
  100 + public UploadedFile getArquivoOficioAutorizacao() {
  101 + return arquivoOficioAutorizacao;
  102 + }
  103 +
  104 + public void setArquivoOficioAutorizacao(UploadedFile arquivoOficioAutorizacao) {
  105 + this.arquivoOficioAutorizacao = arquivoOficioAutorizacao;
  106 + }
  107 +
  108 +
92 109  
93 110 }
... ...
src/br/com/model/utilities/Email.java
... ... @@ -26,6 +26,7 @@ public class Email {
26 26 @Getter private String auth;
27 27 @Getter private int port;
28 28 @Getter private String to;
  29 + @Getter private String from;
29 30  
30 31 private MultiPartEmail email;
31 32 private EmailAttachment anexo;
... ... @@ -42,6 +43,7 @@ public class Email {
42 43 this.authPass = prop.getProperty("prop.email.authpass");
43 44 this.auth = prop.getProperty("prop.email.auth");
44 45 this.to = prop.getProperty("prop.email.to");
  46 + this.from = prop.getProperty("prop.email.from");
45 47  
46 48 } catch (IOException e) {
47 49 // TODO Auto-generated catch block
... ... @@ -75,7 +77,7 @@ public class Email {
75 77 * @throws EmailException
76 78 * @throws MalformedURLException
77 79 * @return String*/
78   - public String sendEmail( String nomeDestinatario, String emailDestinatario, String nomeRemetente, String emailRemetente, String assunto, String mensagem, boolean isHtml) throws EmailException {
  80 + public String sendEmail2( String nomeDestinatario, String emailDestinatario, String nomeRemetente, String emailRemetente, String assunto, String mensagem, boolean isHtml) throws EmailException {
79 81  
80 82 this.email.setHostName(this.host); // o servidor SMTP para envio do e-mail
81 83 this.email.addTo(emailDestinatario, nomeDestinatario); //destinat�rio
... ...
src/br/com/util/DateUtil.java
1 1 package br.com.util;
2 2  
3 3 import java.text.DateFormat;
  4 +import java.text.ParseException;
4 5 import java.text.SimpleDateFormat;
5 6 import java.util.Date;
6 7  
... ... @@ -10,5 +11,11 @@ public class DateUtil {
10 11 DateFormat dateFormat = new SimpleDateFormat("dd/MM/yyyy HH:mm:ss");
11 12 return dateFormat.format(new Date());
12 13 }
  14 +
  15 + public static Date dataFormatada(String data) throws ParseException {
  16 + DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
  17 + Date dataFormatada = dateFormat.parse(data);
  18 + return dataFormatada;
  19 +}
13 20  
14 21 }
... ...
src/br/com/util/GeradorCodigoHash.java 0 → 100644
... ... @@ -0,0 +1,27 @@
  1 +package br.com.util;
  2 +
  3 +import java.security.MessageDigest;
  4 +import java.security.NoSuchAlgorithmException;
  5 +
  6 +
  7 +public class GeradorCodigoHash {
  8 +
  9 + public static String gerarHash(String codigoAcesso) throws NoSuchAlgorithmException {
  10 +
  11 + MessageDigest md = MessageDigest.getInstance("SHA-1");
  12 + md.update(codigoAcesso.getBytes());
  13 + return stringHexa(md.digest());
  14 +
  15 + }
  16 +
  17 + private static String stringHexa(byte[] bytes) {
  18 + StringBuilder s = new StringBuilder();
  19 + for (int i = 0; i < bytes.length; i++) {
  20 + int parteAlta = ((bytes[i] >> 4) & 0xf) << 4;
  21 + int parteBaixa = bytes[i] & 0xf;
  22 + if (parteAlta == 0) s.append('0');
  23 + s.append(Integer.toHexString(parteAlta | parteBaixa));
  24 + }
  25 + return s.toString();
  26 + }
  27 +}
... ...
src/br/com/util/ManagerProperties.java 0 → 100644
... ... @@ -0,0 +1,14 @@
  1 +package br.com.util;
  2 +
  3 +import java.io.FileInputStream;
  4 +import java.io.IOException;
  5 +import java.util.Properties;
  6 +
  7 +public class ManagerProperties {
  8 + public Properties getProp(String path) throws IOException {
  9 + Properties props = new Properties();
  10 + FileInputStream file = new FileInputStream(path);
  11 + props.load(file);
  12 + return props;
  13 +}
  14 +}
... ...
src/br/com/util/Validacao.java
... ... @@ -403,21 +403,30 @@ public class Validacao {
403 403 if (formulario.getPerguntaAcessibilidade() == null) {
404 404 validacao = new Validacao();
405 405 validacao.campo = "perguntaAcessibilidade";
406   - validacao.mensagem = "A pergunta de numero '1' precisa ser respondida!";
  406 + validacao.mensagem = "A pergunta de número '1' precisa ser respondida!";
407 407 mensagens.add(validacao);
408 408 }
409 409  
410 410 if (formulario.getReclamacao() == null) {
411 411 validacao = new Validacao();
412 412 validacao.campo = "reclamacao";
413   - validacao.mensagem = "A pergunta de numero '2' precisa ser respondida!";
  413 + validacao.mensagem = "A pergunta de número '2' precisa ser respondida!";
414 414 mensagens.add(validacao);
415 415 }
416 416 if (formulario.getReclamacao() != null && formulario.getReclamacao().equalsIgnoreCase("2")) {
417 417 if (formulario.getEspacoReclamacao() == null) {
418 418 validacao = new Validacao();
419 419 validacao.campo = "espacoReclamacao";
420   - validacao.mensagem = "A pergunta de numero '3' precisa ser respondida!";
  420 + validacao.mensagem = "A pergunta de número '3' precisa ser respondida!";
  421 + mensagens.add(validacao);
  422 +
  423 + }
  424 + }
  425 + if (formulario.getReclamacao() != null && formulario.getReclamacao().equalsIgnoreCase("3")) {
  426 + if (formulario.getEspacoReclamacao() != null && formulario.getEspacoReclamacao() != " ") {
  427 + validacao = new Validacao();
  428 + validacao.campo = "espacoReclamacao";
  429 + validacao.mensagem = "A pergunta de número '3' somente poderá ser respondida, caso não tenha escolhido 'não' na questão '2'!";
421 430 mensagens.add(validacao);
422 431  
423 432 }
... ... @@ -427,7 +436,7 @@ public class Validacao {
427 436 if (formulario.getPerguntaEstimulo() == null) {
428 437 validacao = new Validacao();
429 438 validacao.campo = "perguntaEstimulo";
430   - validacao.mensagem = "A pergunta de numero '4' precisa ser respondida!";
  439 + validacao.mensagem = "A pergunta de número '4' precisa ser respondida!";
431 440 mensagens.add(validacao);
432 441  
433 442 }
... ... @@ -437,25 +446,45 @@ public class Validacao {
437 446 if (formulario.getCurso().length == 0) {
438 447 validacao = new Validacao();
439 448 validacao.campo = "curso";
440   - validacao.mensagem = "A pergunta de numero '5' precisa ser respondida!";
  449 + validacao.mensagem = "A pergunta de número '5' precisa ser respondida!";
  450 + mensagens.add(validacao);
  451 + }
  452 + }
  453 + if (formulario.getPerguntaEstimulo() != null
  454 + && formulario.getPerguntaEstimulo().equalsIgnoreCase("5") || formulario.getPerguntaEstimulo().equalsIgnoreCase("6")) {
  455 + if (formulario.getCurso().length > 0) {
  456 + validacao = new Validacao();
  457 + validacao.campo = "curso";
  458 + validacao.mensagem = "A pergunta de número '5' somente poderá ser respondida, caso tenha escolhido 'sim' na questão '4'!";
441 459 mensagens.add(validacao);
442 460 }
443 461 }
444 462  
445   - if (formulario.getRequisito().equalsIgnoreCase("11")) {
  463 + if (formulario.getRequisito().equalsIgnoreCase("13")) {
446 464 if (formulario.getJustificativaRequisito() == null) {
447 465 validacao = new Validacao();
448 466 validacao.campo = "justificativaRequisito";
449   - validacao.mensagem = "A pergunta de numero '7' precisa ser respondida!";
  467 + validacao.mensagem = "A pergunta de número '7' precisa ser respondida!";
  468 + mensagens.add(validacao);
  469 +
  470 + }
  471 + }else
  472 + {
  473 + if (formulario.getJustificativaRequisito() != null && formulario.getJustificativaRequisito() != " ") {
  474 + validacao = new Validacao();
  475 + validacao.campo = "justificativaRequisito";
  476 + validacao.mensagem = "A pergunta de número '7' somente poderá ser respondida, caso tenha escolhido 'Sim, observamos os requisitos de outros modelos que não os especificados acima' na questão '6'!";
450 477 mensagens.add(validacao);
451 478  
452 479 }
453 480 }
  481 +
  482 +
454 483  
455 484 if (formulario.getPerguntaValidacao() == null) {
456 485 validacao = new Validacao();
457 486 validacao.campo = "perguntaValidacao";
458   - validacao.mensagem = "A pergunta de numero '9' precisa ser respondida!";
  487 + validacao.mensagem = "A pergunta de número '9' precisa ser respondida!";
459 488 mensagens.add(validacao);
460 489  
461 490 }
... ... @@ -465,17 +494,26 @@ public class Validacao {
465 494 if (formulario.getSimValidacao() == null || formulario.getSimValidacao().length == 0) {
466 495 validacao = new Validacao();
467 496 validacao.campo = "simValidacao";
468   - validacao.mensagem = "A pergunta de numero '10' precisa ser respondida!";
  497 + validacao.mensagem = "A pergunta de número '10' precisa ser respondida!";
469 498 mensagens.add(validacao);
470 499  
471 500 }
472 501 }
  502 + if (formulario.getPerguntaValidacao() != null
  503 + && !formulario.getPerguntaValidacao().equalsIgnoreCase("2")) {
  504 + if (formulario.getSimValidacao().length > 0) {
  505 + validacao = new Validacao();
  506 + validacao.campo = "simValidacao";
  507 + validacao.mensagem = "A pergunta de número '10' somente poderá ser respondida, caso tenha escolhido 'sim' na questão '9'!";
  508 + mensagens.add(validacao);
473 509  
  510 + }
  511 + }
474 512 if (formulario.getFerramentaValidacao() == null
475 513 || formulario.getFerramentaValidacao().length == 0) {
476 514 validacao = new Validacao();
477 515 validacao.campo = "ferramentaValidacao";
478   - validacao.mensagem = "A pergunta de numero '11' precisa ser respondida!";
  516 + validacao.mensagem = "A pergunta de número '11' precisa ser respondida!";
479 517 mensagens.add(validacao);
480 518  
481 519 }
... ... @@ -488,17 +526,41 @@ public class Validacao {
488 526 if (formulario.getOutroAvaliador() == null) {
489 527 validacao = new Validacao();
490 528 validacao.campo = "outroAvaliador";
491   - validacao.mensagem = "A pergunta de numero '12' precisa ser respondida!";
  529 + validacao.mensagem = "A pergunta de número '12' precisa ser respondida!";
492 530 mensagens.add(validacao);
493 531  
494 532 }
495 533 }
496 534 }
497 535 }
  536 +
  537 + if (formulario.getFerramentaValidacao() != null
  538 + && formulario.getFerramentaValidacao().length > 0) {
  539 + boolean responderQuestao12 = false;
  540 +
  541 + for (String ferramentaValidacao : formulario.getFerramentaValidacao()) {
  542 + if (ferramentaValidacao.equalsIgnoreCase("34")) {
  543 + responderQuestao12 = true;
  544 + }
  545 +
  546 + }
  547 + if(responderQuestao12 == false)
  548 + {
  549 + if (formulario.getOutroAvaliador() != null && formulario.getOutroAvaliador() != " ") {
  550 + validacao = new Validacao();
  551 + validacao.campo = "outroAvaliador";
  552 + validacao.mensagem = "A pergunta de número '12' somente poderá ser respondida, caso tenha escolhido 'Outro(s)' na questão '11'!";
  553 + mensagens.add(validacao);
  554 +
  555 + }
  556 + }
  557 + }
  558 +
  559 +
498 560 if (formulario.getNivelWcag() == null) {
499 561 validacao = new Validacao();
500 562 validacao.campo = "nivelWcag";
501   - validacao.mensagem = "A pergunta de numero '14' precisa ser respondida!";
  563 + validacao.mensagem = "A pergunta de número '14' precisa ser respondida!";
502 564 mensagens.add(validacao);
503 565  
504 566 }
... ... @@ -506,7 +568,7 @@ public class Validacao {
506 568 if (formulario.getDeficiencias() == null || formulario.getDeficiencias().length == 0) {
507 569 validacao = new Validacao();
508 570 validacao.campo = "deficiencias";
509   - validacao.mensagem = "A pergunta de numero '16' precisa ser respondida!";
  571 + validacao.mensagem = "A pergunta de número '16' precisa ser respondida!";
510 572 mensagens.add(validacao);
511 573  
512 574 }
... ... @@ -514,7 +576,7 @@ public class Validacao {
514 576 if (formulario.getFuncionalidade() == null) {
515 577 validacao = new Validacao();
516 578 validacao.campo = "funcionalidade";
517   - validacao.mensagem = "A pergunta de numero '17' precisa ser respondida!";
  579 + validacao.mensagem = "A pergunta de número '17' precisa ser respondida!";
518 580 mensagens.add(validacao);
519 581  
520 582 }
... ... @@ -522,7 +584,7 @@ public class Validacao {
522 584 if (formulario.getAssistiva() == null || formulario.getAssistiva().length == 0) {
523 585 validacao = new Validacao();
524 586 validacao.campo = "assistiva";
525   - validacao.mensagem = "A pergunta de numero '18' precisa ser respondida!";
  587 + validacao.mensagem = "A pergunta de número '18' precisa ser respondida!";
526 588 mensagens.add(validacao);
527 589  
528 590 }
... ... @@ -534,18 +596,43 @@ public class Validacao {
534 596 if (formulario.getJustificativaAssistiva() == null) {
535 597 validacao = new Validacao();
536 598 validacao.campo = "justificativaAssistiva";
537   - validacao.mensagem = "A pergunta de numero '19' precisa ser respondida!";
  599 + validacao.mensagem = "A pergunta de número '19' precisa ser respondida!";
538 600 mensagens.add(validacao);
539 601 }
540 602 }
541 603 }
542 604 }
543 605  
  606 + if (formulario.getAssistiva() != null
  607 + && formulario.getAssistiva().length > 0) {
  608 + boolean responderQuestao19 = false;
  609 +
  610 + for (String assistiva : formulario.getAssistiva()) {
  611 + if (assistiva.equalsIgnoreCase("34")) {
  612 + responderQuestao19 = true;
  613 + }
  614 +
  615 + }
  616 + if(responderQuestao19 == false)
  617 + {
  618 + if (formulario.getJustificativaAssistiva() != null && formulario.getJustificativaAssistiva() != " ") {
  619 + validacao = new Validacao();
  620 + validacao.campo = "justificativaAssistiva";
  621 + validacao.mensagem = "A pergunta de número '19' somente poderá ser respondida, caso tenha escolhido 'Outro(s)' na questão '18'!";
  622 + mensagens.add(validacao);
  623 +
  624 + }
  625 + }
  626 + }
  627 +
  628 +
  629 +
  630 +
544 631  
545 632 if (formulario.getDificuldadePrazo() == null) {
546 633 validacao = new Validacao();
547 634 validacao.campo = "dificuldadePrazo";
548   - validacao.mensagem = "A pergunta de numero '20' precisa ser respondida!";
  635 + validacao.mensagem = "A pergunta de número '20' precisa ser respondida!";
549 636 mensagens.add(validacao);
550 637  
551 638 }
... ...