/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package org.ufcspa.simdecs.comunicacao;
import java.io.BufferedInputStream;
import java.io.IOException;
import java.io.PrintWriter;
import java.net.MalformedURLException;
import java.net.URL;
import java.net.URLConnection;
import javax.persistence.EntityManager;
import javax.persistence.EntityManagerFactory;
import javax.persistence.Persistence;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.ufcspa.simdecs.entidade.ArquivoCaso;
/**
*
* @author pbarros
*/
public class MetodoSelecionaCaso extends HttpServlet {
/**
* Processes requests for both HTTP
* GET
and
* POST
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 {
response.setContentType("text/html;charset=UTF-8");
PrintWriter out = response.getWriter();
//String file ;
EntityManagerFactory emf = Persistence.createEntityManagerFactory("simdecsPU");
EntityManager em = emf.createEntityManager();
URL url = null;
URLConnection urlConn = null;
BufferedInputStream buf = null;
ArquivoCaso arquivo;
Integer idCaso = Integer.valueOf(request.getParameter("idArquivoCaso"));
// out.print(request.getParameter("idArquivoCaso"));
try {
arquivo = (ArquivoCaso) em.createQuery("select arq from ArquivoCaso as arq where arq.id ="+idCaso)
//.setParameter("idC",idCaso)
.getSingleResult();
// out.println(arquivo.getEndArquivo());
url = getServletContext().getResource(arquivo.getEndArquivo());
//set response header
response.setContentType("text/xml");
urlConn = url.openConnection();
//establish connection with URL presenting web.xml
urlConn.connect();
buf = new BufferedInputStream(urlConn.getInputStream());
int readBytes = 0;
while ((readBytes = buf.read()) != -1)
out.write(readBytes);
} catch (MalformedURLException mue) {
throw new ServletException(mue.getMessage());
} catch (IOException ioe) {
throw new ServletException(ioe.getMessage());
} finally {
out.close();
buf.close();
}
}
//
/**
* Handles the HTTP
* GET
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);
}
/**
* Handles the HTTP
* POST
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);
}
/**
* Returns a short description of the servlet.
*
* @return a String containing servlet description
*/
@Override
public String getServletInfo() {
return "Short description";
}//
}