package org.medias.eccad.presentation.bean; import java.io.IOException; import javax.faces.context.FacesContext; import javax.faces.event.ActionEvent; import javax.servlet.http.HttpSession; import org.apache.xmlrpc.XmlRpcException; import org.medias.eccad.helpers.LoggerPerso; import org.medias.eccad.metier.extracteur.CritereExtractBean; import org.medias.eccad.metier.extracteur.Extract; import org.medias.eccad.modele.Grille; import org.medias.eccad.modele.RequeteFacteurEmission; import org.medias.eccad.presentation.bean.emission.EmissionBean; public class ExtractEmiBean extends AbstractVueBean{ /** * Nota : durée de vie : request (pour appeler à chaque fois le constructeur ^^, sinon mettre une fonction d'init appelées par la page précédante) * @author pinaud * */ public CritereExtractBean critere; RequeteFacteurEmission requeteBean; public ExtractEmiBean() throws DeconnectionException { controleSession(); //CritereBean critereBean = (CritereBean)((HttpSession)FacesContext.getCurrentInstance().getExternalContext().getSession(false)).getAttribute("critereBean"); EmissionBean emiBean = (EmissionBean) ((HttpSession)FacesContext.getCurrentInstance().getExternalContext().getSession(false)).getAttribute("emissionBean"); requeteBean = emiBean.getRequete(); SessionBean sessionbean = (SessionBean)((HttpSession)FacesContext.getCurrentInstance().getExternalContext().getSession(false)).getAttribute("sessionBean"); critere = new CritereExtractBean(); critere.setDataFileFormat("1"); critere.setDataFileCompress("0"); critere.setDataFileCompressActiv("0"); critere.setSeparator("tab"); critere.setAbsent("min_float"); critere.setMailUser(sessionbean.getEmail()); } public void extractVisualise(ActionEvent event) { CritereBean critereBean = (CritereBean)((HttpSession)FacesContext.getCurrentInstance().getExternalContext().getSession(false)).getAttribute("critereBean"); CarteBean carteBean = (CarteBean)((HttpSession)FacesContext.getCurrentInstance().getExternalContext().getSession(false)).getAttribute("carteBean"); Long idgrille = critereBean.getGrille(); Grille grille = critereBean.getSmp().getGrilleById(idgrille); if (grille == null) throw new DeconnectionException(); critere.setLatMax(carteBean.getNorthbc().getValue().toString()); critere.setLatMin(carteBean.getSouthbc().getValue().toString()); critere.setLonMax(carteBean.getEastbc().getValue().toString()); critere.setLonMin(carteBean.getWestbc().getValue().toString()); critere.setDateDebut(grille.getDate().toString()); critere.setDateFin(grille.getDate().toString()); } public void extraction(ActionEvent event) { LoggerPerso.log(ExtractBean.class, LoggerPerso.INFO, "demande d'extraction :: " + critere.getMailUser()); Extract extracteur = new Extract(); try { extracteur.lanceExtract(requeteBean.toXml(), critere); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (XmlRpcException e) { // TODO Auto-generated catch block e.printStackTrace(); } } public CritereExtractBean getCritere() { return critere; } public void setCritere(CritereExtractBean critere) { this.critere = critere; } }