package oss.ngocminh.lego.service;
import java.io.IOException;
import java.sql.Connection;
import java.sql.SQLException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import oss.ngocminh.lego.data.Entity;
import oss.ngocminh.lego.persistence.ImageDAO;
import oss.ngocminh.lego.persistence.ProductDAO;
/**
* Servlet implementation class ProductViewController
*/
public class ProductViewController extends AbstractController {
private static final long serialVersionUID = 1L;
private ProductDAO productDAO;
private ImageDAO imageDAO;
/**
* Default constructor.
*/
public ProductViewController() {
}
@Override
public void init() throws ServletException {
productDAO = new ProductDAO();
imageDAO = new ImageDAO();
}
/**
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
*/
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
try {
Connection conn = getConnection();
productDAO.setConnection(conn);
imageDAO.setConnection(conn);
int id = Integer.parseInt(request.getParameter("id"));
Entity product = productDAO.findById(id);
if (product == null) {
renderView("notfound", request, response);
return;
}
request.setAttribute("product", product);
request.setAttribute("images", imageDAO.findByCollection(
product.getInt("imageCollection")));
conn.close();
renderView(request, response);
} catch (NumberFormatException e) {
renderView("notfound", request, response);
} catch (SQLException e) {
throw new ServletException(e);
}
}
}