Alterado para devolver XML conforma solicitação
[simdecs.git] / src / java / org / ufcspa / simdecs / comunicacao / MetodoSelecionaJogo.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 import java.io.IOException;\r
8 import java.io.PrintWriter;\r
9 import java.util.List;\r
10 import javax.persistence.EntityManager;\r
11 import javax.persistence.EntityManagerFactory;\r
12 import javax.persistence.Persistence;\r
13 import javax.servlet.ServletException;\r
14 import javax.servlet.http.HttpServlet;\r
15 import javax.servlet.http.HttpServletRequest;\r
16 import javax.servlet.http.HttpServletResponse;\r
17 import org.ufcspa.simdecs.entidade.ArquivoCaso;\r
18 \r
19 /**\r
20  *\r
21  * @author pbarros\r
22  */\r
23 public class MetodoSelecionaJogo extends HttpServlet {\r
24 \r
25     /**\r
26      * Processes requests for both HTTP\r
27      * <code>GET</code> and\r
28      * <code>POST</code> methods.\r
29      *\r
30      * @param request servlet request\r
31      * @param response servlet response\r
32      * @throws ServletException if a servlet-specific error occurs\r
33      * @throws IOException if an I/O error occurs\r
34      */\r
35     protected void processRequest(HttpServletRequest request, HttpServletResponse response)\r
36             throws ServletException, IOException {\r
37         \r
38         PrintWriter out = response.getWriter();\r
39         // alteracao solicitado mosmmann \r
40         //response.setContentType("text/html;charset=UTF-8");\r
41         \r
42         response.setContentType( "text/xml" );\r
43         response.setHeader( "Cache-Control", "no-cache" );\r
44         ///para devolver arquivo anexo\r
45         //response.addHeader("Content-Disposition", "attachment; filename="+ "teste");\r
46       \r
47         \r
48         EntityManagerFactory emf = Persistence.createEntityManagerFactory("simdecsPU");\r
49         EntityManager em = emf.createEntityManager();\r
50         \r
51         out.println( "<xml>" );\r
52         \r
53         \r
54         List<ArquivoCaso> arquivos;\r
55         try {\r
56             \r
57             if(request.getParameter("Tipo").trim().equals("Medicina"))\r
58             {\r
59                 arquivos =  em.createQuery("select arq from ArquivoCaso as arq ").getResultList();\r
60                 if(arquivos.isEmpty())\r
61                 {\r
62                     out.println( "<game>" );\r
63                     out.println( "<titulo>" + "Nenhuma rede disponível" + "</titulo>" );\r
64                     out.println( "<descricao>" + "Nenhuma rede disponível" + "</descricao>" );\r
65                     out.println( "<id>" + "0" + "</id>" );\r
66                     out.println( "</game>" );\r
67                 }\r
68                 else\r
69                 {\r
70                     StringBuffer arqBuffer = new StringBuffer();\r
71                     for (ArquivoCaso arq : arquivos ) {  \r
72                     //List selecionavel = new ArrayList();\r
73                         \r
74                         out.println( "<game>" );\r
75                         out.println( "<titulo>" + arq.getNome() + "</titulo>" );\r
76                         out.println( "<descricao>" + arq.getNome() + "</descricao>" );\r
77                         out.println( "<id>" + String.valueOf(arq.getId()) + "</id>" );\r
78                         out.println( "</game>" );\r
79                     }\r
80                     //request.setAttribute("rede", arqBuffer);\r
81                     //out.println(arqBuffer.toString());\r
82                     \r
83                     \r
84                 }\r
85             }\r
86             else\r
87             {\r
88                 out.println( "<rede>" + "Tipo Inválido" + "</rede>" );\r
89                 out.println( "<idRede>" + "0" + "</idRede>" );\r
90                 \r
91             }\r
92         } finally {         \r
93             out.println( "</xml>" );\r
94             out.close();\r
95         }\r
96     }\r
97 \r
98     // <editor-fold defaultstate="collapsed" desc="HttpServlet methods. Click on the + sign on the left to edit the code.">\r
99     /**\r
100      * Handles the HTTP\r
101      * <code>GET</code> method.\r
102      *\r
103      * @param request servlet request\r
104      * @param response servlet response\r
105      * @throws ServletException if a servlet-specific error occurs\r
106      * @throws IOException if an I/O error occurs\r
107      */\r
108     @Override\r
109     protected void doGet(HttpServletRequest request, HttpServletResponse response)\r
110             throws ServletException, IOException {\r
111         processRequest(request, response);\r
112         \r
113         \r
114         \r
115         \r
116     }\r
117 \r
118     /**\r
119      * Handles the HTTP\r
120      * <code>POST</code> method.\r
121      *\r
122      * @param request servlet request\r
123      * @param response servlet response\r
124      * @throws ServletException if a servlet-specific error occurs\r
125      * @throws IOException if an I/O error occurs\r
126      */\r
127     @Override\r
128     protected void doPost(HttpServletRequest request, HttpServletResponse response)\r
129             throws ServletException, IOException {\r
130         processRequest(request, response);\r
131     }\r
132 \r
133     /**\r
134      * Returns a short description of the servlet.\r
135      *\r
136      * @return a String containing servlet description\r
137      */\r
138     @Override\r
139     public String getServletInfo() {\r
140         return "Short description";\r
141     }// </editor-fold>\r
142 }\r