/*
* Universidade Federal de Alagoas
* Author: Vinnicyus Gracindo
* Version: 1.00
* Data: 01/07/2010
*/
package PackServlet;
import PackDAO.QuestaoDAO;
import PackDAO.RespostaDAO;
import PackQuestao.Questao;
import PackResposta.RespostaAberta;
import PackTratamento.Tratamento;
import java.io.IOException;
import java.sql.SQLException;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
/**
*
* @author Vinnicyus
* @author Assis
* Editado o cadastro em 17/07/10
* Adcionado validações e cadastro de resposta
*/
public class CadQuestaoAberta extends HttpServlet {
public void doGet (HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException {
HttpSession sessao = request.getSession(true);
boolean a, b, c;
String enunciado = request.getParameter("enunciado");
String nome_professor = (String)sessao.getAttribute("nome");
String resposta = request.getParameter("resposta");
String up_imagem[] = new String[5];
up_imagem[0] = request.getParameter("imagem");
String up_doc[] = new String[5];
up_doc[0] = request.getParameter("documento");
String tags[] = new String[1];
tags[0] = (String)request.getParameter("tags");
String disciplina[] = new String[1];
disciplina[0] = (String)request.getParameter("disciplina");
//Integer grau = Integer.parseInt(request.getParameter("grau_dificuldade").toString());
String grau = request.getParameter("grau_dificuldade");
//Questao questao = new Questao(enunciado, "1", disciplina, grau, nome_professor, tags, up_imagem, up_doc);
a = Tratamento.isValid(enunciado,4);
b = Tratamento.isImagem(up_imagem[0]);
c = Tratamento.isValid(tags[0], 4);
try {
if(a==true && b==true && c==true){
Questao q = new Questao(enunciado,"aberta", disciplina,grau,nome_professor, tags, up_imagem, up_doc);
QuestaoDAO qdao = new QuestaoDAO();
qdao.salvarQuestao(q);
RespostaDAO rdao = new RespostaDAO();
int idResposta = qdao.maxID();
if(up_imagem[0].length()>0)
qdao.salvarImagem(up_imagem, idResposta);
if(up_doc[0].length()>0)
qdao.salvarDocumento(up_doc, idResposta, "aberta");
qdao.salvarTags(tags, idResposta);
qdao.salvarRelacaoQuestaoDisciplina(disciplina, idResposta);
RespostaAberta r = new RespostaAberta(resposta);
rdao.salvarRespostaAberta(r, idResposta);
}
else
if (a==false)
request.setAttribute("Mensagem", "Enunciado deve ter ao menos 5 caracteres");
if (b==false)
request.setAttribute("Mensagem", "O arquivo de imagem não tem formato reconhecido");
if (c== false)
request.setAttribute("Mensagem", "Cadastre tags: aos menos 5 caracteres ");
} catch (SQLException ex) {
Logger.getLogger(CadQuestaoAberta.class.getName()).log(Level.SEVERE, null, ex);
} catch (ClassNotFoundException ex) {
Logger.getLogger(CadQuestaoAberta.class.getName()).log(Level.SEVERE, null, ex);
}
request.setAttribute("Mensagem", "Questão Cadastrada Com sucesso!!!");
request.getRequestDispatcher("/interface/questao/tipo_questao.jsp").forward(request, response);
}
public void doPost(HttpServletRequest p_request, HttpServletResponse p_response) throws IOException, ServletException {
doGet(p_request, p_response);
}
}