/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package filters;
import java.io.IOException;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession;
import beans.Offre;
import dao.DAOFactory;
import dao.OffreDao;
import static filters.PrechargementFilter.ATT_SESSION_OFF;
import static filters.PrechargementFilter.CONF_DAO_FACTORY;
public class PrechargementFilter implements Filter {
public static final String CONF_DAO_FACTORY = "daofactory";
// public static final String ATT_SESSION_EMP = "employeurs";
public static final String ATT_SESSION_OFF = "offres";
// public static final String ATT_SESSION_CPT_OFF = "cpt_offres";
//private EmployeurDao employeurDao;
private OffreDao offreDao;
public void init( FilterConfig config ) throws ServletException {
/* Récupération d'une instance de nos DAO Client et Commande
this.employeurDao = ( (DAOFactory) config.getServletContext().getAttribute( CONF_DAO_FACTORY ) ).getEmployeurDao();*/
this.offreDao = ( (DAOFactory) config.getServletContext().getAttribute( CONF_DAO_FACTORY ) ).getOffreDao();
}
public void doFilter( ServletRequest req, ServletResponse res, FilterChain chain ) throws IOException,
ServletException {
/* Cast de l'objet request */
HttpServletRequest request = (HttpServletRequest) req;
/* Récupération de la session depuis la requête */
HttpSession session = request.getSession();
/*
* Si la map des clients n'existe pas en session, alors l'utilisateur se
* connecte pour la première fois et nous devons précharger en session
* les infos contenues dans la BDD.
*/
/* if ( session.getAttribute( ATT_SESSION_EMP ) == null ) {
/*
* Récupération de la liste des clients existants, et enregistrement
* en session
List<Employeur> listeEmployeurs = employeurDao.lister();
Map<Long, Employeur> mapEmployeurs = new HashMap<Long, Employeur>();
for ( Employeur employeur : listeEmployeurs ) {
mapEmployeurs.put( employeur.getId(), employeur );
}
session.setAttribute( ATT_SESSION_EMP, mapEmployeurs );
}
if ( session.getAttribute( ATT_SESSION_OFF ) == null ) {
int aa =offreDao.compter();
System.out.println("le second enreg:" +aa);
session.setAttribute( ATT_SESSION_OFF, aa );
}*/
if ( session.getAttribute( ATT_SESSION_OFF ) == null ) {
/*
* Récupération de la liste des clients existants, et enregistrement
* en session
*/
List<Offre> listeOffres = offreDao.lister();
Map<Long, Offre> mapOffres = new HashMap<Long, Offre>();
for ( Offre offre : listeOffres ) {
mapOffres.put( offre.getId(), offre );
}
session.setAttribute( ATT_SESSION_OFF, mapOffres );
}
/* Pour terminer, poursuite de la requête en cours */
chain.doFilter( request, res );
}
public void destroy() {
}
}
Partager