Package servlets

Source Code of servlets.ServletSearch

/*
* 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 = "ServletSearch", urlPatterns = {"/ServletSearch"})
public class ServletSearch extends HttpServlet {
    String forwardTo = "";
    String message = "";

    int code = 1;
   
    @EJB
    private GestionnaireMorceaux gestionnaireMorceaux;
    @EJB
    private GestionnaireUtilisateurs gestionnaireUtilisateurs;
    /**
     * 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("recherche")) {
            Collection<Morceau> liste;
            String search = request.getParameter("champ_recherche");
            String typeRecherche = request.getParameter("typeRecherche");
            if(typeRecherche.equals("rechercheMorceau")) {
                liste = gestionnaireMorceaux.rechercheParMorceau(search, nbpagi);
                sizeListe = gestionnaireMorceaux.countRechercheParMorceau(search);
                request.setAttribute("listeMorceaux", liste);
                forwardTo = "index.jsp?action=recherche&champ_recherche="+search+"&nbpagination="+nbpagi;
                code = 0;
                message = "";
            } else if(typeRecherche.equals("rechercheArtiste")) {
                liste = gestionnaireMorceaux.rechercheParArtiste(search, nbpagi);
                sizeListe = gestionnaireMorceaux.countRechercheParArtiste(search);
                request.setAttribute("listeMorceaux", liste);
                forwardTo = "index.jsp?action=recherche&champ_recherche="+search+"&nbpagination="+nbpagi;
                code = 0;
                message = "";
            } else if(typeRecherche.equals("rechercheGenre")) {
                liste = gestionnaireMorceaux.rechercheParGenre(search, nbpagi);
                sizeListe = gestionnaireMorceaux.countRechercheParGenre(search);
                request.setAttribute("listeMorceaux", liste);
                forwardTo = "index.jsp?action=recherche&champ_recherche="+search+"&nbpagination="+nbpagi;
                code = 0;
                message = "";
            } else if(typeRecherche.equals("rechercheInstrument")) {
                liste = gestionnaireMorceaux.rechercheParInstrument(search, nbpagi);
                sizeListe = gestionnaireMorceaux.countRechercheParInstrument(search);
                request.setAttribute("listeMorceaux", liste);
                forwardTo = "index.jsp?action=recherche&champ_recherche="+search+"&nbpagination="+nbpagi;;
                code = 0;
                message = "";
            }
        }
       
        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);
        System.out.println(sizeListe);

        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>

}
TOP

Related Classes of servlets.ServletSearch

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.