Package controleur

Source Code of controleur.GestionnairePanier

package controleur;

import dao.DAOException;
import javax.servlet.ServletContext;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession;
import org.directwebremoting.WebContext;
import org.directwebremoting.WebContextFactory;
import model.Panier;
import model.Billet;
import model.Epreuve;
import dao.EpreuveDAO;
import dao.IEpreuveDAO;
/**
* Cette classe vient remplacer la Servlet qui servait à ajouter des articles au
* panier. Dans cette version de l'application, la gestion du panier se fait
* en AJAX via DWR. Cette classe GestionnairePanier est donc exposée via DWR
* à la partie cliente.
*
* @author Philippe.Genoud@imag.fr
*/
public class GestionnairePanier {

    private Panier lePanier;

    /**
     * constructeur. L'instanciation de GestionnairePanier est prise en charge
     * par le servlet DWR (voir balise create dans le fichier dwr.xml)
     *   <create creator="new" scope="session" javascript="Panier">
     *       <param name="class" value="control.GestionnairePanier"/>
     </create>
     * C'est DWR qui instancie cette classe (creator="new") et stocke l'objet
     * comme attribut de session (le nom de l'attribut étant "Panier").
     */
    public GestionnairePanier() {

        // création d'un panir vide
        lePanier = new Panier();

        // ajout de ce panier dans la session de l'utilisateur
        // on fait cela pour ne pas avoir à modifier les autres servlets
        // de l'application existante qui se servent de cet attribut.
        WebContext ctx = WebContextFactory.get();
        HttpServletRequest req = ctx.getHttpServletRequest();
        HttpSession session = req.getSession(true);
        session.setAttribute("lePanier", lePanier);
    }

    /**
     * ajoute au panier un produit
     * @param id id du produit
     * @return le panier. De cette façon lorqu'une fonction JavaScript fait un
     * appel distant à la méthode ajouterProduit, sa fonction callback récupère
     * l'objet panier qu'elle peut utiliser pour en afficher le contenu.
     */
    public Panier ajouterEpreuveINDAuPanier(int id) throws DAOException {
        // récupération de la DAO dans le contexte de l'application
        WebContext ctx = WebContextFactory.get();
        ServletContext servletContext = ctx.getServletContext();
        IEpreuveDAO dao = (IEpreuveDAO) servletContext.getAttribute("epreuveDAO");

        // récupération de l'objet produit
        Epreuve ep = dao.getEpreuveInd(id);

        // ajout au panier
        lePanier.ajouter(ep, 1);
        return lePanier;
    }
     public Panier ajouterEpreuveEQAuPanier(int id) throws DAOException {
        // récupération de la DAO dans le contexte de l'application
        WebContext ctx = WebContextFactory.get();
        ServletContext servletContext = ctx.getServletContext();
        IEpreuveDAO dao = (IEpreuveDAO) servletContext.getAttribute("epreuveDAO");

        // récupération de l'objet produit
        Epreuve ep = dao.getEpreuveEQ(id);

        // ajout au panier
        lePanier.ajouter(ep, 1);
        return lePanier;
    }

    /**
     * Retourne le panier
     * @return le panier
     */
    public Panier getPanier() {
        return lePanier;
    }

    /**
     * retire un produit du panier
     * @param id du produit
     * @return le panier. De cette façon lorqu'une fonction JavaScript fait un
     * appel distant à la méthode supprimerProduit, sa fonction callback récupère
     * l'objet panier qu'elle peut utiliser pour en afficher le contenu.
     */
    public Panier supprimerEpreuve(int idBillet) {
        lePanier.supprimer(idBillet);
        return lePanier;
    }
}
TOP

Related Classes of controleur.GestionnairePanier

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.