package controleur; import Metier.Armoire; import Metier.ArmoireService; import Metier.Etagere; import Metier.EtagereService; import Metier.StructureBibliotheque; import Metier.StructureBibliothequeService; import java.io.IOException; import java.util.ArrayList; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; public class AddArmoire extends HttpServlet { public static final String VUE_GESTION_ARMOIRE = "/privateAcces/Armoire.jsp"; public static final String VUE_EDITION_ETAGERE = "/privateAcces/EditEtagere.jsp"; public static final String CHAMP_NOM = "nom"; public static final String CHAMP_NBETAGERE = "nbEtagere"; public static final String CHAMP_STRUCTURE = "structure"; public static final String ATT_RESULTAT = "resultat"; private String nom = ""; private int nbEtagere; private StructureBibliotheque structureBibliotheque; StructureBibliothequeService structureBibliothequeService; protected void processRequest(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { } @Override protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { this.nom = request.getParameter(this.CHAMP_NOM); this.nbEtagere = Integer.parseInt(request.getParameter(this.CHAMP_NBETAGERE)); this.structureBibliothequeService = Metier.MetierFactory.getStructureService(); this.structureBibliotheque = structureBibliothequeService.getByNom(request.getParameter(CHAMP_STRUCTURE)); request.setAttribute("nbEtagere", this.nbEtagere); this.getServletContext().getRequestDispatcher(this.VUE_EDITION_ETAGERE).forward( request, response ); } @Override protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { Armoire armoire = new Armoire(this.nom); ArrayList<Etagere> listEtagere = new ArrayList<>(); EtagereService etagereService = Metier.MetierFactory.getEtagereService(); for(int i=1; i<this.nbEtagere+1; i++){ Etagere etagere = new Etagere(Integer.parseInt(request.getParameter("profondeur"+i)), Integer.parseInt(request.getParameter("hauteur"+i))); etagere.setNumero(i); etagere.setNbLivreMax(Integer.parseInt(request.getParameter("nbLivreEtagere"+i))); etagereService.add(etagere); listEtagere.add(etagere); } armoire.setEtageres(listEtagere); ArmoireService armoireService = Metier.MetierFactory.getArmoireService(); armoireService.add(armoire); ArrayList<Metier.Armoire> listArmoires = this.structureBibliotheque.getArmoires(); if(listArmoires == null) { listArmoires = new ArrayList<>(); } listArmoires.add(armoire); this.structureBibliotheque.setArmoires(listArmoires); this.structureBibliothequeService.update(this.structureBibliotheque); String resultat = "<div class=\"alert alert-success alert-dismissable\">\n" + " <button type=\"button\" class=\"close\" data-dismiss=\"alert\" aria-hidden=\"true\">×</button>\n" + " L'armoire \"<strong>" + armoire.getCharArmoire() + "</strong>\" à été ajoutée\n" + "</div>"; request.setAttribute(this.ATT_RESULTAT, resultat); this.getServletContext().getRequestDispatcher(this.VUE_GESTION_ARMOIRE).forward( request, response ); } @Override public String getServletInfo() { return "Short description"; }// </editor-fold> }