Rev 107 | Rev 135 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | RSS feed
package org.tela_botanica.client;
import org.tela_botanica.client.interfaces.Rafraichissable;
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.StructureAsyncDao;
import org.tela_botanica.client.modeles.StructureListe;
import org.tela_botanica.client.modeles.StructureListeAsyncDao;
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;
// TODO : le transformer en SINGLETON
public 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)).afficherListeInstitutions((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);
}
}
public void obtenirListeValeurs(Integer id) {
ValeurListeAsyncDao lsDao = new ValeurListeAsyncDao(this);
lsDao.obtenirListe(id);
}
public void obtenirListeInstitutions() {
StructureListeAsyncDao lsDao = new StructureListeAsyncDao(this);
lsDao.obtenirListeInstitution();
}
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();
}
public void obtenirListePublications() {
PublicationListeAsyncDao lsDao = new PublicationListeAsyncDao(this);
lsDao.obtenirListePublication();
}
/** Lance la creation d'une Structure
* @param r la vue demandant a être rafraichie
* @param structure les données de la structure
*/
public void ajouterStructure(Rafraichissable r, Structure structure) {
StructureAsyncDao structureDao = new StructureAsyncDao();
Mediateur mediateur = (Mediateur) Registry.get(RegistreId.MEDIATEUR);
structureDao.ajouter(r, mediateur.getUtilisateurId(), structure);
}
}