Rev 244 | Rev 268 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | RSS feed
package org.tela_botanica.client;import java.util.Iterator;import java.util.List;import org.tela_botanica.client.interfaces.Rafraichissable;import org.tela_botanica.client.modeles.PersonneListe;import org.tela_botanica.client.modeles.PersonnesAsyncDao;import org.tela_botanica.client.modeles.ProjetsListe;import org.tela_botanica.client.modeles.ProjetsListeAsyncDao;import org.tela_botanica.client.modeles.Publication;import org.tela_botanica.client.modeles.PublicationListe;import org.tela_botanica.client.modeles.PublicationListeAsyncDao;import org.tela_botanica.client.modeles.Structure;import org.tela_botanica.client.modeles.StructureAPersonne;import org.tela_botanica.client.modeles.StructureAPersonneAsyncDao;import org.tela_botanica.client.modeles.StructureAPersonneListe;import org.tela_botanica.client.modeles.StructureAsyncDao;import org.tela_botanica.client.modeles.StructureConservation;import org.tela_botanica.client.modeles.StructureListe;import org.tela_botanica.client.modeles.StructureValorisation;import org.tela_botanica.client.modeles.Utilisateur;import org.tela_botanica.client.modeles.UtilisateurAsyncDao;import org.tela_botanica.client.modeles.ValeurListe;import org.tela_botanica.client.modeles.ValeurListeAsyncDao;import com.extjs.gxt.ui.client.Registry;import com.google.gwt.core.client.GWT;import com.google.gwt.user.client.Window;// TODO : le transformer en SINGLETONpublic class Modele implements Rafraichissable {public Modele() {Registry.register(RegistreId.MODELE, this);}public void rafraichir(Object nouvelleDonnees) {if (nouvelleDonnees instanceof StructureListe) {((Mediateur) Registry.get(RegistreId.MEDIATEUR)).afficherListeStructures((StructureListe) nouvelleDonnees);} else if (nouvelleDonnees instanceof Utilisateur) {((Mediateur) Registry.get(RegistreId.MEDIATEUR)).mettreAJourEtatIdentification((Utilisateur) nouvelleDonnees);} else if (nouvelleDonnees instanceof ValeurListe) {((Mediateur) Registry.get(RegistreId.MEDIATEUR)).afficherListeValeurs((ValeurListe) nouvelleDonnees);} else if (nouvelleDonnees instanceof PublicationListe) {((Mediateur) Registry.get(RegistreId.MEDIATEUR)).afficherListePublication((PublicationListe) nouvelleDonnees);} else if (nouvelleDonnees instanceof PersonneListe) {((Mediateur) Registry.get(RegistreId.MEDIATEUR)).afficherListePersonnes((PersonneListe) nouvelleDonnees);} else if (nouvelleDonnees instanceof ProjetsListe) {((Mediateur) Registry.get(RegistreId.MEDIATEUR)).afficherListeProjets((ProjetsListe) nouvelleDonnees);}}//+----------------------------------------------------------------------------------------------------------------+// GESTION DES VALEURS ET LISTES//+----------------------------------------------------------------------------------------------------------------+public void obtenirListeValeurs(Integer id) {ValeurListeAsyncDao lsDao = new ValeurListeAsyncDao(this);lsDao.obtenirListe(id);}//+----------------------------------------------------------------------------------------------------------------+// GESTION DES UTILISATEURS//+----------------------------------------------------------------------------------------------------------------+// pour obtenir la liste de personne et la fournir à des éléments spécifiquespublic void obtenirListePersonnes(Rafraichissable r) {// Lance le service JREST associé au personne via la class PersonneListeAsyncDAOPersonnesAsyncDao plDao = new PersonnesAsyncDao(r);plDao.obtenirListePersonnes();}public void connecterUtilisateur(String login, String mdp) {Utilisateur utilisateur = (Utilisateur) Registry.get(RegistreId.UTILISATEUR);utilisateur.setLogin(login);utilisateur.setMotDePasse(mdp);UtilisateurAsyncDao uDao = new UtilisateurAsyncDao(this);uDao.connecterUtilisateur();}public void deconnecterUtilisateur() {UtilisateurAsyncDao uDao = new UtilisateurAsyncDao(this);uDao.deconnecterUtilisateur();}//+----------------------------------------------------------------------------------------------------------------+// GESTION DES STRUCTURES//+----------------------------------------------------------------------------------------------------------------+public void obtenirListeStructures(Rafraichissable r, String utilisateurId, String projetId) {StructureAsyncDao sDao = new StructureAsyncDao();sDao.selectionner(r, utilisateurId, projetId,"");}public void selectionnerStructure(Rafraichissable r, String idUtilisateur, String projetId, String idStr, String idRole) {// Gestion des données des tables coel_structure, coel_structure_conservation et coel_structure_valorisationStructureAsyncDao sDao = new StructureAsyncDao();sDao.selectionner(r, idUtilisateur, projetId, idStr);// Gestion des données de la table coel_structure_a_personne// TODO : créer une méthode séparée pour les données structure_a_personneif (idStr != null && idRole != null) {StructureAPersonneAsyncDao sapDao = new StructureAPersonneAsyncDao();sapDao.selectionner(r, idUtilisateur, idStr, idRole);}}public void selectionnerStructures(String idUtilisateur, String projetId) {Rafraichissable r = this;String idStr = null;String idRole = null;selectionnerStructure(r, idUtilisateur, projetId, idStr, idRole);}/** Lance la creation d'une Structure* @param vue la vue demandant a être rafraichie* @param structure les données de la structure*/public void ajouterStructure(Rafraichissable vue, String idUtilisateur, Structure structure) {StructureAsyncDao structureDao = new StructureAsyncDao();structureDao.ajouter(vue, idUtilisateur, structure);}public void supprimerStructure(Rafraichissable vue, String idUtilisateur, String idStr) {StructureAsyncDao structureDao = new StructureAsyncDao();structureDao.supprimer(vue, idUtilisateur, idStr);}public void modifierStructure(Rafraichissable vue, String utilisateurId, Structure structure, StructureConservation conservation, StructureValorisation valorisation) {StructureAsyncDao structureDao = new StructureAsyncDao();structureDao.modifier(vue, utilisateurId, structure, conservation, valorisation);}public void modifierStructureAPersonne(Rafraichissable vue, String utilisateurId, StructureAPersonne personnel) {StructureAPersonneAsyncDao structureAPersonneDao = new StructureAPersonneAsyncDao();structureAPersonneDao.modifier(vue, utilisateurId, personnel);}public void ajouterStructureAPersonne(Rafraichissable vue, String utilisateurId, String structureId, StructureAPersonne personnel) {StructureAPersonneAsyncDao structureAPersonneDao = new StructureAPersonneAsyncDao();structureAPersonneDao.ajouter(vue, utilisateurId, structureId, personnel);}public void supprimerStructureAPersonne(Rafraichissable vue, String utilisateurId, String personnelId) {StructureAPersonneAsyncDao structureAPersonneDao = new StructureAPersonneAsyncDao();structureAPersonneDao.supprimer(vue, utilisateurId, personnelId);}//+----------------------------------------------------------------------------------------------------------------+// GESTION DES PROJETS//+----------------------------------------------------------------------------------------------------------------+public void obtenirListeProjets () {ProjetsListeAsyncDao projetsDao = new ProjetsListeAsyncDao(this);projetsDao.obtenirListeProjets();}public void supprimerPersonne(Rafraichissable vue, String utilisateurId,String idStr) {PersonnesAsyncDao personneDao = new PersonnesAsyncDao(vue);personneDao.supprimer(vue, utilisateurId, idStr);}//+----------------------------------------------------------------------------------------------------------------+// GESTION DES PERSONNES//+----------------------------------------------------------------------------------------------------------------+public void obtenirListePersonnes() {// Lance le service JREST associé au personne via la class PersonneListeAsyncDAOPersonnesAsyncDao plDao = new PersonnesAsyncDao(this);plDao.obtenirListePersonnes();}public void selectionnerPersonne(Rafraichissable vue, String personneId, String projetId, String nomComplet) {PersonnesAsyncDao pDao = new PersonnesAsyncDao(vue);pDao.selectionner(personneId, projetId, nomComplet);}//+----------------------------------------------------------------------------------------------------------------+// GESTION DES PUBLICATIONS//+----------------------------------------------------------------------------------------------------------------+public void obtenirListePublications() {PublicationListeAsyncDao lsDao = new PublicationListeAsyncDao(this);lsDao.obtenirListePublication();}public void modifierPublication(String utilisateurId, Publication publi) {PublicationListeAsyncDao pDao = new PublicationListeAsyncDao(this);pDao.modifierPublication(this, utilisateurId, publi);}public void ajouterPublication(String utilisateurId, Publication publi) {PublicationListeAsyncDao pDao = new PublicationListeAsyncDao(this);pDao.ajouterPublication(this, utilisateurId, publi);}public void supprimerPublication(String utilisateurId,List<Publication> publicationListe) {String idPubs = "";for(Iterator<Publication> it = publicationListe.iterator(); it.hasNext();) {Publication pub = it.next();idPubs += pub.getId();if(it.hasNext()) {idPubs += ",";}}PublicationListeAsyncDao pDao = new PublicationListeAsyncDao(this);pDao.supprimerPublication(this, utilisateurId, idPubs);}}