source: ether_eccad/trunk/ECCAD_INTERFACE/WEB-INF/src/org/medias/eccad/presentation/bean/ExtractBean.java

Last change on this file was 70, checked in by cbipsl, 14 years ago

maj eccad V3.2

  • Property svn:executable set to *
File size: 6.2 KB
RevLine 
[68]1package org.medias.eccad.presentation.bean;
2
3import java.io.IOException;
4
[70]5import javax.faces.application.FacesMessage;
6import javax.faces.component.UIComponent;
7import javax.faces.component.UIInput;
[68]8import javax.faces.context.FacesContext;
9import javax.faces.event.ActionEvent;
[70]10import javax.faces.validator.ValidatorException;
[68]11import javax.servlet.http.HttpSession;
12
13
14import org.apache.xmlrpc.XmlRpcException;
15import org.medias.eccad.helpers.LoggerPerso;
16import org.medias.eccad.metier.extracteur.CritereExtractBean;
17import org.medias.eccad.metier.extracteur.Extract;
18import org.medias.eccad.modele.Grille;
19import org.medias.eccad.modele.Parametre;
20import org.medias.eccad.modele.Produit;
[70]21import org.medias.eccad.modele.Rcp;
22import org.medias.eccad.modele.Secteur;
[68]23
24
25/**
26 * 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)
27 * @author pinaud
28 *
29 */
30public class ExtractBean extends AbstractVueBean{
31        public CritereExtractBean critere;
32        public int nbrGrille;
[70]33        public int nbrAlt;
[68]34        public Produit produit;
35        public Parametre param;
[70]36        public Secteur secteur;
37        public Rcp rcp;
[68]38       
39        public ExtractBean() throws DeconnectionException {
40                controleSession();
[70]41
[68]42                CritereBean critereBean = (CritereBean)((HttpSession)FacesContext.getCurrentInstance().getExternalContext().getSession(false)).getAttribute("critereBean");
43                SessionBean sessionbean = (SessionBean)((HttpSession)FacesContext.getCurrentInstance().getExternalContext().getSession(false)).getAttribute("sessionBean");
[70]44                critereBean.majGrille(null);
[68]45                produit = critereBean.getSmp().getProduitById(critereBean.getProduit().intValue());
46                param = critereBean.getSmp().getParametreById(critereBean.getParametre().intValue());
[70]47                secteur = critereBean.getSmp().getSecteurById(critereBean.getSector().intValue());
48                rcp = critereBean.getSmp().getRcpById(critereBean.getRcp().intValue());
[68]49               
50                critere = new CritereExtractBean();
51                critere.setDateDebut(critereBean.getBegDate());
52                critere.setDateFin(critereBean.getEndDate());
53                critere.setLatMax(Double.toString(critereBean.getNorthbc()));
54                critere.setLatMin(Double.toString(critereBean.getSouthbc()));
55                critere.setLonMax(Double.toString(critereBean.getEastbc()));
56                critere.setLonMin(Double.toString(critereBean.getWestbc()));
57                critere.setParametre(critereBean.getParametre().toString());
58                critere.setProduit(critereBean.getProduit().toString());
[70]59                critere.setSecteur(critereBean.getSector().toString());
60                critere.setRcp(critereBean.getRcp().toString());
[68]61                critere.setDataFileFormat("1");
62                critere.setDataFileCompress("0");
63                critere.setDataFileCompressActiv("0");
64                critere.setSeparator("tab");
65                critere.setAbsent("min_float");
66               
67                critere.setMailUser(sessionbean.getEmail());
[70]68                nbrGrille = (critereBean.getListe_grille()==null?0:critereBean.getListe_grille().size());
69                nbrAlt = (critereBean.getListe_alt()==null?0:critereBean.getListe_alt().size());
70                        //critereBean.getSmp().getListGrille(critereBean.getProduit(),critereBean.getParametre(),
71                        //      (critereBean.getSector()==null?0:critereBean.getSector().longValue()),
72                        //      (critereBean.getRcp()==null?0:critereBean.getRcp().longValue()),
73                        //      critere.getDateDebut(), critere.getDateFin(),critereBean.getProduitbean(),critereBean.getAlt()).size();
[68]74        }
75       
76        public void extractVisualise(ActionEvent event) {
77                CritereBean critereBean = (CritereBean)((HttpSession)FacesContext.getCurrentInstance().getExternalContext().getSession(false)).getAttribute("critereBean");
78                CarteBean carteBean = (CarteBean)((HttpSession)FacesContext.getCurrentInstance().getExternalContext().getSession(false)).getAttribute("carteBean");
79                Long idgrille = critereBean.getGrille();
80                Grille grille = critereBean.getSmp().getGrilleById(idgrille);
81               
82                if (grille == null)
83                        throw new DeconnectionException();
84               
85                critere.setLatMax(carteBean.getNorthbc().getValue().toString());
86                critere.setLatMin(carteBean.getSouthbc().getValue().toString());
87                critere.setLonMax(carteBean.getEastbc().getValue().toString());
88                critere.setLonMin(carteBean.getWestbc().getValue().toString());
89               
90                nbrGrille = 1;
91               
92                critere.setDateDebut(grille.getDate().toString());
93                critere.setDateFin(grille.getDate().toString());
94        }
95       
96        public void extraction(ActionEvent event) {
97                LoggerPerso.log(ExtractBean.class, LoggerPerso.INFO, "demande d'extraction :: " + critere.getMailUser());
98                Extract extracteur = new Extract();
99                try {
100                        extracteur.lanceExtract(critere);
101                } catch (IOException e) {
102                        // TODO Auto-generated catch block
103                        e.printStackTrace();
104                } catch (XmlRpcException e) {
105                        // TODO Auto-generated catch block
106                        e.printStackTrace();
107                }
108        }
109       
[70]110        /**
111         * Valide la requête d'extraction
112         */
113        public void validateRequest(FacesContext contexte, UIComponent composant, Object objet) throws ValidatorException {
114                boolean estValide = true;
115               
116                if ((contexte == null) || (composant == null)) {
117                        throw new NullPointerException("composant ou contexte null");
118                }
119               
120                if (!(composant instanceof UIInput))
121                        return;
122               
123                FacesMessage errMsg = null;
124               
125                if ( produit.getNom().equals("Region_IPCC") || produit.getNom().equals("GPW3_Country") ||
126                                (produit.getNom().equals("IPCC") && 
127                                (secteur.getIdentifiant() == 0 || secteur.getNom().equals("Aviation"))) ) {
128                        estValide = false;
129                        errMsg = new FacesMessage("Sorry, this request is not available yet. Please try later.");
130                }
131
132                if (!estValide)
133                        throw new ValidatorException(errMsg);
134        }
135       
[68]136        public CritereExtractBean getCritere() {
137                return critere;
138        }
139
140        public void setCritere(CritereExtractBean critere) {
141                this.critere = critere;
142        }
143
144        public int getNbrGrille() {
145                return nbrGrille;
146        }
147
148        public void setNbrGrille(int nbrGrille) {
149                this.nbrGrille = nbrGrille;
150        }
151
152        public Parametre getParam() {
153                return param;
154        }
155
156        public void setParam(Parametre param) {
157                this.param = param;
158        }
159
160        public Produit getProduit() {
161                return produit;
162        }
163
164        public void setProduit(Produit produit) {
165                this.produit = produit;
166        }
[70]167
168        public Secteur getSecteur() {
169                return secteur;
170        }
171
172        public void setSecteur(Secteur secteur) {
173                this.secteur = secteur;
174        }
175
176        public Rcp getRcp() {
177                return rcp;
178        }
179
180        public void setRcp(Rcp rcp) {
181                this.rcp = rcp;
182        }
183
184        public int getNbrAlt() {
185                return nbrAlt;
186        }
187
188        public void setNbrAlt(int nbrAlt) {
189                this.nbrAlt = nbrAlt;
190        }
[68]191}
Note: See TracBrowser for help on using the repository browser.