211677c084777d4fce5524310432bb32c68a92c8
[simdecs.git] / src / java / org / ufcspa / simdecs / comunicacao / MetodoParaGravarLog.java
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.comunicacao.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