/*
* Copyright (C) 2014 Thibaut Comte
*
* This is for your eyes only!
* Destroy after reading!
*/
package servlets;
import java.io.IOException;
import java.util.Collection;
import javax.ejb.EJB;
import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import morceaux.gestionnaires.GestionnaireMorceaux;
import morceaux.modele.Morceau;
import utilisateurs.gestionnaires.GestionnaireUtilisateurs;
import utilisateurs.modele.Utilisateur;
/**
*
* @author Thibaut
*/
@WebServlet(name = "ServletMorceaux", urlPatterns = {"/ServletMorceaux"})
public class ServletMorceaux extends HttpServlet {
@EJB
private GestionnaireMorceaux gestionnaireMorceaux;
@EJB
private GestionnaireUtilisateurs gestionnaireUtilisateurs;
String forwardTo = "";
String message = "";
int code = 1;
/**
* Processes requests for both HTTP <code>GET</code> and <code>POST</code>
* 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 {
String action = request.getParameter("action");
String nbpagination = request.getParameter("nbpagination");
int nbpagi = 0;
if (nbpagination != null) {
nbpagi = Integer.parseInt(nbpagination);
}
int sizeListe = 0;
HttpSession session = request.getSession(true);
String conneclogin = session.getAttribute("login") == null ? "fail" : session.getAttribute("login").toString();
Utilisateur user = gestionnaireUtilisateurs.getUserByLogin(conneclogin);
request.setAttribute("utilisateur", user);
if (action.equals("listeMorceaux")) {
Collection<Morceau> liste = gestionnaireMorceaux.getAllMorceaux(nbpagi);
request.setAttribute("listeMorceaux", liste);
sizeListe = gestionnaireMorceaux.countMorceaux();
code = 0;
forwardTo = "index.jsp?action=listeMorceaux";
message = "";
//Liste de tout les morceaux pour un artiste donné
}
setPagination(request, nbpagi, sizeListe);
RequestDispatcher dp = request.getRequestDispatcher(forwardTo + "&message=" + message + "&code=" + code);
dp.forward(request, response);
}
private int setPagination(HttpServletRequest request, int nbpagi, int sizeListe) {
if (nbpagi == 0) {
request.setAttribute("pagBefore", 0);
} else {
request.setAttribute("pagBefore", nbpagi - 1);
}
request.setAttribute("pagAfter", nbpagi + 1);
int nbPages = (int) sizeListe / 10;
request.setAttribute("nbPages", nbPages);
return nbpagi;
}
// <editor-fold defaultstate="collapsed" desc="HttpServlet methods. Click on the + sign on the left to edit the code.">
/**
* Handles the HTTP <code>GET</code> 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 <code>POST</code> 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";
}// </editor-fold>
}