| 1 | /*\r |
| 2 | * To change this template, choose Tools | Templates\r |
| 3 | * and open the template in the editor.\r |
| 4 | */\r |
| 5 | package org.ufcspa.simdecs.comunicacao;\r |
| 6 | \r |
| 7 | \r |
| 8 | import java.io.IOException;\r |
| 9 | import java.io.PrintWriter;\r |
| 10 | import java.text.ParseException;\r |
| 11 | import java.text.SimpleDateFormat;\r |
| 12 | import java.util.Date;\r |
| 13 | import java.util.logging.Level;\r |
| 14 | import java.util.logging.Logger;\r |
| 15 | import javax.persistence.EntityManager;\r |
| 16 | import javax.persistence.EntityManagerFactory;\r |
| 17 | import javax.persistence.NoResultException;\r |
| 18 | import javax.persistence.Persistence;\r |
| 19 | import javax.servlet.ServletException;\r |
| 20 | import javax.servlet.http.HttpServlet;\r |
| 21 | import javax.servlet.http.HttpServletRequest;\r |
| 22 | import javax.servlet.http.HttpServletResponse;\r |
| 23 | import javax.servlet.http.HttpSession;\r |
| 24 | import org.ufcspa.simdecs.entidade.Log;\r |
| 25 | import org.ufcspa.simdecs.entidade.RespostaMediador;\r |
| 26 | import org.ufcspa.simdecs.entidade.Usuario;\r |
| 27 | import org.ufcspa.simdecs.util.UtilitarioSql;\r |
| 28 | \r |
| 29 | /**\r |
| 30 | *\r |
| 31 | * @author pbarros\r |
| 32 | */\r |
| 33 | public class MetodoParaGravarLog extends HttpServlet {\r |
| 34 | \r |
| 35 | /**\r |
| 36 | * Processes requests for both HTTP\r |
| 37 | * <code>GET</code> and\r |
| 38 | * <code>POST</code> methods.\r |
| 39 | *\r |
| 40 | * @param request servlet request\r |
| 41 | * @param response servlet response\r |
| 42 | * @throws ServletException if a servlet-specific error occurs\r |
| 43 | * @throws IOException if an I/O error occurs\r |
| 44 | */\r |
| 45 | \r |
| 46 | protected void processRequest(HttpServletRequest request, HttpServletResponse response)\r |
| 47 | throws ServletException, IOException, ParseException {\r |
| 48 | HttpSession session = request.getSession(true);\r |
| 49 | session.getId();\r |
| 50 | \r |
| 51 | Date dt = new Date();\r |
| 52 | Long idLong = new Long(request.getParameter("id"));\r |
| 53 | UtilitarioSql util = new UtilitarioSql();\r |
| 54 | PrintWriter out = response.getWriter();\r |
| 55 | // alteracao solicitado mosmmann \r |
| 56 | //response.setContentType("text/html;charset=UTF-8");\r |
| 57 | \r |
| 58 | response.setContentType( "text/xml" );\r |
| 59 | response.setHeader( "Cache-Control", "no-cache" );\r |
| 60 | out.println( "<xml>" );\r |
| 61 | \r |
| 62 | \r |
| 63 | EntityManagerFactory emf = Persistence.createEntityManagerFactory("simdecsPU");\r |
| 64 | EntityManager em = emf.createEntityManager();\r |
| 65 | em.getTransaction().begin();\r |
| 66 | Log lg =new Log();\r |
| 67 | lg.setDatalog(util.converteDataUtilToSql(dt)); \r |
| 68 | lg.setDescricaolog(request.getParameter("log"));\r |
| 69 | lg.setHoralog(dt);\r |
| 70 | lg.setUsuid(idLong);\r |
| 71 | em.persist(lg);\r |
| 72 | em.getTransaction().commit();\r |
| 73 | \r |
| 74 | RespostaMediador resp;\r |
| 75 | \r |
| 76 | try {\r |
| 77 | em.getTransaction().begin();\r |
| 78 | resp = (RespostaMediador) em.createQuery("select resposta from RespostaMediador as resposta where resposta.idUsuario=:id and resposta.dataResposta is null" )\r |
| 79 | .setParameter("id", idLong)\r |
| 80 | //.setParameter("data",dtNull )\r |
| 81 | .getSingleResult();\r |
| 82 | if(resp.getId()>0)\r |
| 83 | {\r |
| 84 | out.println( "<id>" + String.valueOf(resp.getId()) + "</id>" );\r |
| 85 | out.println("<resposta>" + resp.getNome() + "</resposta>");\r |
| 86 | out.println("<arquivo>" + resp.getEndArquivo() + "</arquivo>");\r |
| 87 | resp.setDataResposta(util.converteDataUtilToSql(dt));\r |
| 88 | }\r |
| 89 | else \r |
| 90 | {\r |
| 91 | out.println( "<id>0</id>" );\r |
| 92 | out.println("<resposta></resposta>");\r |
| 93 | out.println("<arquivo></arquivo>");\r |
| 94 | }\r |
| 95 | \r |
| 96 | // out.println("OK "+ user.getId());\r |
| 97 | // out.close();\r |
| 98 | } catch (NoResultException ne) {\r |
| 99 | \r |
| 100 | // request.setAttribute("id","0"); \r |
| 101 | // out.println("Usuario ou senha Inválido ");\r |
| 102 | out.println( "<id>" + "0" + "</id>" );\r |
| 103 | \r |
| 104 | } finally { \r |
| 105 | em.persist(lg);\r |
| 106 | em.getTransaction().commit();\r |
| 107 | out.println( "</xml>" );\r |
| 108 | out.close();\r |
| 109 | }\r |
| 110 | \r |
| 111 | \r |
| 112 | }\r |
| 113 | \r |
| 114 | // <editor-fold defaultstate="collapsed" desc="HttpServlet methods. Click on the + sign on the left to edit the code.">\r |
| 115 | /**\r |
| 116 | * Handles the HTTP\r |
| 117 | * <code>GET</code> method.\r |
| 118 | *\r |
| 119 | * @param request servlet request\r |
| 120 | * @param response servlet response\r |
| 121 | * @throws ServletException if a servlet-specific error occurs\r |
| 122 | * @throws IOException if an I/O error occurs\r |
| 123 | */\r |
| 124 | \r |
| 125 | \r |
| 126 | /**\r |
| 127 | * Handles the HTTP\r |
| 128 | * <code>POST</code> method.\r |
| 129 | *\r |
| 130 | * @param request servlet request\r |
| 131 | * @param response servlet response\r |
| 132 | * @throws ServletException if a servlet-specific error occurs\r |
| 133 | * @throws IOException if an I/O error occurs\r |
| 134 | */\r |
| 135 | @Override\r |
| 136 | protected void doPost(HttpServletRequest request, HttpServletResponse response)\r |
| 137 | throws ServletException, IOException {\r |
| 138 | try {\r |
| 139 | processRequest(request, response);\r |
| 140 | } catch (ParseException ex) {\r |
| 141 | Logger.getLogger(MetodoParaGravarLog.class.getName()).log(Level.SEVERE, null, ex);\r |
| 142 | }\r |
| 143 | }\r |
| 144 | \r |
| 145 | /**\r |
| 146 | * Returns a short description of the servlet.\r |
| 147 | *\r |
| 148 | * @return a String containing servlet description\r |
| 149 | */\r |
| 150 | @Override\r |
| 151 | public String getServletInfo() {\r |
| 152 | return "Short description";\r |
| 153 | }// </editor-fold>\r |
| 154 | }\r |