2 * To change this template, choose Tools | Templates
3 * and open the template in the editor.
5 package org.ufcspa.simdecs.comunicacao;
7 import java.io.PrintWriter;
10 import javax.persistence.EntityManager;
11 import javax.servlet.http.HttpServletRequest;
12 import javax.servlet.http.HttpServletResponse;
13 import org.ufcspa.simdecs.entities.Log;
14 import org.ufcspa.simdecs.entities.Paciente;
15 import org.ufcspa.simdecs.entities.SessaoUsuario;
16 import org.ufcspa.simdecs.entities.TipoEventoLog;
17 import org.ufcspa.simdecs.mediador.NegociacaoPedagogica;
23 public class MetodoFimCaso extends BaseComunicacao {
26 protected void executaServico(EntityManager em, HttpServletRequest request, HttpServletResponse response, PrintWriter out) throws Exception {
27 response.setContentType("text/html;charset=UTF-8");
28 response.setContentType("text/xml");
29 response.setHeader("Cache-Control", "no-cache");
31 long pIdSessao = Long.parseLong(request.getParameter("idsessao"));
34 SessaoUsuario sessaoUsuario = em.find(SessaoUsuario.class, pIdSessao);
35 if (sessaoUsuario == null) {
39 if (!em.getTransaction().isActive()) {
40 em.getTransaction().begin();
44 log.setTipo(em.find(TipoEventoLog.class, TipoEventoLog.FIM_CASO));
45 log.setCaso(sessaoUsuario.getCaso());
46 log.setData(new Date());
47 log.setSessaoUsuario(sessaoUsuario);
50 em.getTransaction().commit();
54 List<Paciente> pacientes = em.createQuery("From Paciente where caso.id=:pIdCaso")
55 .setParameter("pIdCaso", sessaoUsuario.getCaso().getId())
58 out.print(" <resposta_final_mediador mensagem=\"");
60 for(Paciente paciente : pacientes) {
61 NegociacaoPedagogica negociacao = new NegociacaoPedagogica(pIdSessao, paciente);
62 out.println(negociacao.getMensagemFinal());
66 out.println(" <execucao sucesso=\"sim\" />" );
67 out.println("</xml>");