Alterado para devolver XML conforma solicitação
[simdecs.git] / src / java / org / ufcspa / simdecs / comunicacao / MetodoSelecionaCaso.java
CommitLineData
2aa05c72 1/*\r
2 * To change this template, choose Tools | Templates\r
3 * and open the template in the editor.\r
4 */\r
5package org.ufcspa.simdecs.comunicacao;\r
6\r
7import java.io.BufferedInputStream;\r
8import java.io.IOException;\r
9import java.io.PrintWriter;\r
10import java.net.MalformedURLException;\r
11import java.net.URL;\r
12import java.net.URLConnection;\r
13import javax.persistence.EntityManager;\r
14import javax.persistence.EntityManagerFactory;\r
15import javax.persistence.Persistence;\r
16import javax.servlet.ServletException;\r
17import javax.servlet.http.HttpServlet;\r
18import javax.servlet.http.HttpServletRequest;\r
19import javax.servlet.http.HttpServletResponse;\r
20import org.ufcspa.simdecs.entidade.ArquivoCaso;\r
21\r
22/**\r
23 *\r
24 * @author pbarros\r
25 */\r
26public class MetodoSelecionaCaso extends HttpServlet {\r
27\r
28 /**\r
29 * Processes requests for both HTTP\r
30 * <code>GET</code> and\r
31 * <code>POST</code> methods.\r
32 *\r
33 * @param request servlet request\r
34 * @param response servlet response\r
35 * @throws ServletException if a servlet-specific error occurs\r
36 * @throws IOException if an I/O error occurs\r
37 */\r
38 protected void processRequest(HttpServletRequest request, HttpServletResponse response)\r
39 throws ServletException, IOException {\r
40 response.setContentType("text/html;charset=UTF-8");\r
41 PrintWriter out = response.getWriter();\r
42 //String file ;\r
43\r
44 EntityManagerFactory emf = Persistence.createEntityManagerFactory("simdecsPU");\r
45 EntityManager em = emf.createEntityManager();\r
46 \r
47 URL url = null;\r
48 URLConnection urlConn = null;\r
49 BufferedInputStream buf = null;\r
50 ArquivoCaso arquivo;\r
51 Integer idCaso = Integer.valueOf(request.getParameter("idArquivoCaso"));\r
52 \r
53// out.print(request.getParameter("idArquivoCaso"));\r
54 try {\r
55 \r
56 arquivo = (ArquivoCaso) em.createQuery("select arq from ArquivoCaso as arq where arq.id ="+idCaso)\r
57 //.setParameter("idC",idCaso)\r
58 .getSingleResult();\r
59// out.println(arquivo.getEndArquivo());\r
60 url = getServletContext().getResource(arquivo.getEndArquivo());\r
61 //set response header\r
62 response.setContentType("text/xml");\r
63 urlConn = url.openConnection();\r
64 //establish connection with URL presenting web.xml\r
65 urlConn.connect();\r
66 buf = new BufferedInputStream(urlConn.getInputStream());\r
67 int readBytes = 0;\r
68 while ((readBytes = buf.read()) != -1)\r
69 out.write(readBytes);\r
70 } catch (MalformedURLException mue) {\r
71 throw new ServletException(mue.getMessage());\r
72 } catch (IOException ioe) {\r
73 throw new ServletException(ioe.getMessage());\r
74 } finally { \r
75 out.close();\r
76 buf.close();\r
77 }\r
78 }\r
79\r
80 // <editor-fold defaultstate="collapsed" desc="HttpServlet methods. Click on the + sign on the left to edit the code.">\r
81 /**\r
82 * Handles the HTTP\r
83 * <code>GET</code> method.\r
84 *\r
85 * @param request servlet request\r
86 * @param response servlet response\r
87 * @throws ServletException if a servlet-specific error occurs\r
88 * @throws IOException if an I/O error occurs\r
89 */\r
90 @Override\r
91 protected void doGet(HttpServletRequest request, HttpServletResponse response)\r
92 throws ServletException, IOException {\r
93 processRequest(request, response);\r
94 }\r
95\r
96 /**\r
97 * Handles the HTTP\r
98 * <code>POST</code> method.\r
99 *\r
100 * @param request servlet request\r
101 * @param response servlet response\r
102 * @throws ServletException if a servlet-specific error occurs\r
103 * @throws IOException if an I/O error occurs\r
104 */\r
105 @Override\r
106 protected void doPost(HttpServletRequest request, HttpServletResponse response)\r
107 throws ServletException, IOException {\r
108 processRequest(request, response);\r
109 }\r
110\r
111 /**\r
112 * Returns a short description of the servlet.\r
113 *\r
114 * @return a String containing servlet description\r
115 */\r
116 @Override\r
117 public String getServletInfo() {\r
118 return "Short description";\r
119 }// </editor-fold>\r
120}\r