Adicionado classificação do log conforme exemplo
[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         Long tipoLog = new Long(request.getParameter("tipoLog"));\r
54         UtilitarioSql util = new UtilitarioSql();\r
55         PrintWriter out = response.getWriter();\r
56         // alteracao solicitado mosmmann \r
57         //response.setContentType("text/html;charset=UTF-8");\r
58         /*\r
59          * \r
60          * 1 Iniciar simulador\r
61          * 2 Caso \r
62          * 3 Ficha do paciente \r
63          * 4 Sinais / Sintomas \r
64          * 5 Exames complementares \r
65          * 6 Diagnóstico \r
66          * 7 Tratamento \r
67          * 8 Auxílio pedagógico \r
68          * 9 Intervenção do Mediador \r
69          * \r
70          * \r
71          */\r
72         \r
73         \r
74         \r
75         response.setContentType( "text/xml" );\r
76         response.setHeader( "Cache-Control", "no-cache" );\r
77         out.println( "<xml>" );\r
78         \r
79         \r
80         EntityManagerFactory emf = Persistence.createEntityManagerFactory("simdecsPU");\r
81         EntityManager em = emf.createEntityManager();\r
82         em.getTransaction().begin();\r
83         Log lg =new Log();\r
84         lg.setDatalog(util.converteDataUtilToSql(dt));        \r
85         lg.setDescricaolog(request.getParameter("log"));\r
86         lg.setIdTipolog(tipoLog);\r
87         lg.setHoralog(dt);\r
88         lg.setUsuid(idLong);\r
89         em.persist(lg);\r
90         em.getTransaction().commit();\r
91         \r
92         RespostaMediador resp;\r
93 \r
94         try {\r
95                 em.getTransaction().begin();\r
96                 resp = (RespostaMediador) em.createQuery("select resposta from RespostaMediador as resposta where resposta.idUsuario=:id and resposta.dataResposta is null" )\r
97                                                                                 .setParameter("id", idLong)\r
98                                                                                 //.setParameter("data",dtNull )\r
99                                                                                 .getSingleResult();\r
100                 if(resp.getId()>0)\r
101                 {\r
102                     out.println( "<id>" + String.valueOf(resp.getId()) + "</id>" );\r
103                     out.println("<resposta>" + resp.getNome() + "</resposta>");\r
104                     out.println("<arquivo>" + resp.getEndArquivo() + "</arquivo>");\r
105                     resp.setDataResposta(util.converteDataUtilToSql(dt));\r
106                 }\r
107                 else \r
108                 {\r
109                     out.println( "<id>0</id>" );\r
110                     out.println("<resposta></resposta>");\r
111                     out.println("<arquivo></arquivo>");\r
112                 }\r
113                 \r
114 //                out.println("OK "+ user.getId());\r
115 //                out.close();\r
116         } catch (NoResultException ne) {\r
117             \r
118 //              request.setAttribute("id","0");         \r
119 //              out.println("Usuario ou senha Inválido ");\r
120                 out.println( "<id>" + "0" + "</id>" );\r
121                 \r
122         } finally {         \r
123             em.persist(lg);\r
124             em.getTransaction().commit();\r
125             out.println( "</xml>" );\r
126             out.close();\r
127         }\r
128         \r
129 \r
130     }\r
131 \r
132     // <editor-fold defaultstate="collapsed" desc="HttpServlet methods. Click on the + sign on the left to edit the code.">\r
133     /**\r
134      * Handles the HTTP\r
135      * <code>GET</code> method.\r
136      *\r
137      * @param request servlet request\r
138      * @param response servlet response\r
139      * @throws ServletException if a servlet-specific error occurs\r
140      * @throws IOException if an I/O error occurs\r
141      */\r
142 \r
143 \r
144     /**\r
145      * Handles the HTTP\r
146      * <code>POST</code> method.\r
147      *\r
148      * @param request servlet request\r
149      * @param response servlet response\r
150      * @throws ServletException if a servlet-specific error occurs\r
151      * @throws IOException if an I/O error occurs\r
152      */\r
153     @Override\r
154     protected void doPost(HttpServletRequest request, HttpServletResponse response)\r
155             throws ServletException, IOException {\r
156         try {\r
157             processRequest(request, response);\r
158         } catch (ParseException ex) {\r
159             Logger.getLogger(MetodoParaGravarLog.class.getName()).log(Level.SEVERE, null, ex);\r
160         }\r
161     }\r
162 \r
163     /**\r
164      * Returns a short description of the servlet.\r
165      *\r
166      * @return a String containing servlet description\r
167      */\r
168     @Override\r
169     public String getServletInfo() {\r
170         return "Short description";\r
171     }// </editor-fold>\r
172 }\r