ImplementaĆ§Ć£o dos registros de Log de eventos!
[simdecs2.git] / src / java / org / ufcspa / simdecs / comunicacao / MetodoConfiancaInicial.java
index 712159f..4840141 100644 (file)
  */
 package org.ufcspa.simdecs.comunicacao;
 
-import java.io.IOException;
 import java.io.PrintWriter;
 import java.util.Date;
 import javax.persistence.EntityManager;
-import javax.servlet.ServletException;
-import javax.servlet.http.HttpServlet;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
 import org.ufcspa.simdecs.entities.Log;
 import org.ufcspa.simdecs.entities.SessaoUsuario;
 import org.ufcspa.simdecs.entities.TipoEventoLog;
-import org.ufcspa.simdecs.util.DbUtil;
 
 /**
  *
  * @author maroni
  */
-public class MetodoConfiancaInicial extends HttpServlet {
+public class MetodoConfiancaInicial extends BaseComunicacao {
 
-    /**
-     * Processes requests for both HTTP
-     * <code>GET</code> and
-     * <code>POST</code> methods.
-     *
-     * @param request servlet request
-     * @param response servlet response
-     * @throws ServletException if a servlet-specific error occurs
-     * @throws IOException if an I/O error occurs
-     */
-    protected void processRequest(HttpServletRequest request, HttpServletResponse response)
-            throws ServletException, IOException {
+    @Override
+    protected void executaServico(EntityManager em, HttpServletRequest request, HttpServletResponse response, PrintWriter out) throws Exception {
         response.setContentType("text/html;charset=UTF-8");
-        PrintWriter out = response.getWriter();
-        try {
-            response.setContentType( "text/xml" );
-            response.setHeader( "Cache-Control", "no-cache" );
+        response.setContentType("text/xml");
+        response.setHeader("Cache-Control", "no-cache");
 
-            EntityManager em = DbUtil.getInstance().getEntityManager();
-            long     pIdSessao  = Long.parseLong(request.getParameter("idsessao"));
-            String   pNivel     = request.getParameter("nivelconfianca");
-            String   nivelConfianca;
-            
-            if (pNivel.toLowerCase().equals("baixo"))
-                nivelConfianca = Log.CONFIANCA_BAIXA;
-            else if(pNivel.toLowerCase().equals("medio"))
-                nivelConfianca = Log.CONFIANCA_MEDIA;
-            else if(pNivel.toLowerCase().equals("alto"))
-                nivelConfianca = Log.CONFIANCA_ALTA;
-            else
-                return;
+        long pIdSessao = Long.parseLong(request.getParameter("idsessao"));
+        String pNivel = request.getParameter("nivelconfianca");
+        String nivelConfianca;
 
+        if (pNivel.toLowerCase().equals("baixo")) {
+            nivelConfianca = Log.CONFIANCA_BAIXA;
+        } else if (pNivel.toLowerCase().equals("medio")) {
+            nivelConfianca = Log.CONFIANCA_MEDIA;
+        } else if (pNivel.toLowerCase().equals("alto")) {
+            nivelConfianca = Log.CONFIANCA_ALTA;
+        } else {
+            return;
+        }
 
-            // Registra Log
-            SessaoUsuario sessaoUsuario = em.find(SessaoUsuario.class, pIdSessao);
-            if (sessaoUsuario == null)
-                return;
-            
-            // Logo inicio do caso
-            if (!em.getTransaction().isActive())
-                em.getTransaction().begin();
 
-            Log log = new Log();
-            log.setTipo(em.find(TipoEventoLog.class, TipoEventoLog.CONFIANCA_INICIAL));            
-            log.setConfianca(nivelConfianca);
-            log.setCaso(sessaoUsuario.getCaso());
-            log.setData(new Date());
-            log.setSessaoUsuario(sessaoUsuario);
-            
-            em.persist(log);            
-            em.getTransaction().commit();
-            
-            out.println( "<xml>" );
+        // Registra Log
+        SessaoUsuario sessaoUsuario = em.find(SessaoUsuario.class, pIdSessao);
+        if (sessaoUsuario == null) {
+            return;
+        }
 
-            out.println("   <nivel_confianca registrado=\"sim\" />");
-            out.println("   <resposta_acao_mediador acao=\"nao\" />");
-            
-            out.println( "</xml>" );
-        } finally {
-            out.close();
+        // Logo inicio do caso
+        if (!em.getTransaction().isActive()) {
+            em.getTransaction().begin();
         }
-    }
 
-    // <editor-fold defaultstate="collapsed" desc="HttpServlet methods. Click on the + sign on the left to edit the code.">
-    /**
-     * Handles the HTTP
-     * <code>GET</code> method.
-     *
-     * @param request servlet request
-     * @param response servlet response
-     * @throws ServletException if a servlet-specific error occurs
-     * @throws IOException if an I/O error occurs
-     */
-    @Override
-    protected void doGet(HttpServletRequest request, HttpServletResponse response)
-            throws ServletException, IOException {
-        processRequest(request, response);
-    }
+        Log log = new Log();
+        log.setTipo(em.find(TipoEventoLog.class, TipoEventoLog.CONFIANCA_INICIAL));
+        log.setConfianca(nivelConfianca);
+        log.setCaso(sessaoUsuario.getCaso());
+        log.setData(new Date());
+        log.setSessaoUsuario(sessaoUsuario);
 
-    /**
-     * Handles the HTTP
-     * <code>POST</code> method.
-     *
-     * @param request servlet request
-     * @param response servlet response
-     * @throws ServletException if a servlet-specific error occurs
-     * @throws IOException if an I/O error occurs
-     */
-    @Override
-    protected void doPost(HttpServletRequest request, HttpServletResponse response)
-            throws ServletException, IOException {
-        processRequest(request, response);
-    }
+        em.persist(log);
+        em.getTransaction().commit();
 
-    /**
-     * Returns a short description of the servlet.
-     *
-     * @return a String containing servlet description
-     */
-    @Override
-    public String getServletInfo() {
-        return "Short description";
-    }// </editor-fold>
+        out.println("<xml>");
+
+        out.println("   <nivel_confianca registrado=\"sim\" />");
+        out.println("   <resposta_acao_mediador acao=\"sim\" problema=\"PROBLEMA: " + this.getClass() + "\" mensagem=\"MENSAGEM:" + this.getClass() + "\" />");
+//            out.println("   <resposta_acao_mediador acao=\"nao\" />");
+
+        out.println("</xml>");
+    }
 }