package org.medias.eccad.presentation.bean.emission; import java.util.LinkedList; import java.util.List; import javax.faces.event.ValueChangeEvent; import javax.faces.model.SelectItem; import org.medias.eccad.metier.ServiceMetier; import org.medias.eccad.metier.traducteur.TraducteurVisuMultiplan; import org.medias.eccad.modele.Grille; import org.medias.eccad.modele.Produit; import org.medias.eccad.presentation.bean.AbstractVueBean; public class LandcoverBean extends AbstractVueBean { private ProduitBean landproduit; private List liste_classe; private List liste_vegetation; private EmissionBean emissionbean; private List selectedClass; private String message; public LandcoverBean(EmissionBean emission) { controleSession(); landproduit = new ProduitBean(); this.emissionbean = emission; message = new String(); // LoggerPerso.log(LandcoverBean.class, LoggerPerso.DEBUG, "constructeur landcover"); } public void init(Long id_facteur) { List liste_temp = emissionbean.getService().getListLand(id_facteur); List liste_select = new LinkedList(); // LoggerPerso.log(FacteurEmissionBean.class, LoggerPerso.DEBUG, "init class landcover " + liste_temp); for (Produit prod : liste_temp) { liste_select.add(new SelectItem(Long.toString(prod.getIdentifiant()), prod.getNom())); } landproduit.setListe_item(liste_select); if (liste_select.size() != 0) { landproduit.setId_item(Long.parseLong((String)liste_select.get(0).getValue())); landproduit.setHeader_item(liste_temp.get(0).getHeader()); landproduit.setName_item(liste_temp.get(0).getNom()); } if (landproduit.getItemUI() != null) landproduit.getItemUI().setValue(Long.toString(landproduit.getId_item())); initClass(landproduit.getId_item()); } public void majLandCover(ValueChangeEvent event) { Produit prod = new ServiceMetier().getProduitById(((Long) event.getNewValue()).intValue()); landproduit.setId_item(prod.getIdentifiant()); landproduit.setHeader_item(prod.getHeader()); landproduit.setName_item(prod.getNom()); initClass(prod.getIdentifiant()); } private void initClass(Long id_produit) { List liste_temp = emissionbean.getService().getClassEmission(id_produit); liste_classe = new TraducteurVisuMultiplan().getListGrille(liste_temp, null, null); selectedClass = new LinkedList(); liste_vegetation = new LinkedList(); for (SelectItem item : liste_classe) { liste_vegetation.add(new ClasseBean((Long)item.getValue(), item.getLabel().toLowerCase())); item.setValue(item.getValue().toString()); } } public List getListeIdVegetationClasse() { List listeId = new LinkedList(); for (ClasseBean classe : liste_vegetation) { if (classe.isSelected()) listeId.add(classe.getId()); } // LoggerPerso.log(FacteurEmissionBean.class, LoggerPerso.DEBUG, "get class landcover > " + listeId.size() + " :: " + listeId); return listeId; } public String process() { return "page_em_burnt"; } public List getListe_classe() { return liste_classe; } public void setListe_classe(List liste_classe) { this.liste_classe = liste_classe; } public ProduitBean getLandproduit() { return landproduit; } public void setLandproduit(ProduitBean landproduit) { this.landproduit = landproduit; } public List getSelectedClass() { selectedClass = new LinkedList(); for (ClasseBean classe : liste_vegetation) { if (classe.isSelected()) selectedClass.add(classe.getNom().toLowerCase()); } return selectedClass; } public void setSelectedClass(List selectedClass) { this.selectedClass = selectedClass; } public List getListe_vegetation() { return liste_vegetation; } public void setListe_vegetation(List liste_vegetation) { this.liste_vegetation = liste_vegetation; } public String getMessage() { return message; } public void setMessage(String message) { this.message = message; } }