60 |
jpm |
1 |
package org.tela_botanica.client;
|
|
|
2 |
|
237 |
aurelien |
3 |
import java.util.Iterator;
|
|
|
4 |
import java.util.List;
|
|
|
5 |
|
60 |
jpm |
6 |
import org.tela_botanica.client.interfaces.Rafraichissable;
|
129 |
gduche |
7 |
import org.tela_botanica.client.modeles.PersonneListe;
|
143 |
gduche |
8 |
import org.tela_botanica.client.modeles.PersonnesAsyncDao;
|
|
|
9 |
import org.tela_botanica.client.modeles.ProjetsListe;
|
|
|
10 |
import org.tela_botanica.client.modeles.ProjetsListeAsyncDao;
|
228 |
aurelien |
11 |
import org.tela_botanica.client.modeles.Publication;
|
107 |
aurelien |
12 |
import org.tela_botanica.client.modeles.PublicationListe;
|
|
|
13 |
import org.tela_botanica.client.modeles.PublicationListeAsyncDao;
|
119 |
jpm |
14 |
import org.tela_botanica.client.modeles.Structure;
|
231 |
jp_milcent |
15 |
import org.tela_botanica.client.modeles.StructureAPersonne;
|
209 |
jp_milcent |
16 |
import org.tela_botanica.client.modeles.StructureAPersonneAsyncDao;
|
231 |
jp_milcent |
17 |
import org.tela_botanica.client.modeles.StructureAPersonneListe;
|
119 |
jpm |
18 |
import org.tela_botanica.client.modeles.StructureAsyncDao;
|
188 |
jp_milcent |
19 |
import org.tela_botanica.client.modeles.StructureConservation;
|
69 |
jpm |
20 |
import org.tela_botanica.client.modeles.StructureListe;
|
195 |
jp_milcent |
21 |
import org.tela_botanica.client.modeles.StructureValorisation;
|
64 |
jpm |
22 |
import org.tela_botanica.client.modeles.Utilisateur;
|
69 |
jpm |
23 |
import org.tela_botanica.client.modeles.UtilisateurAsyncDao;
|
91 |
jpm |
24 |
import org.tela_botanica.client.modeles.ValeurListe;
|
|
|
25 |
import org.tela_botanica.client.modeles.ValeurListeAsyncDao;
|
60 |
jpm |
26 |
|
|
|
27 |
import com.extjs.gxt.ui.client.Registry;
|
231 |
jp_milcent |
28 |
import com.google.gwt.core.client.GWT;
|
143 |
gduche |
29 |
import com.google.gwt.user.client.Window;
|
60 |
jpm |
30 |
|
|
|
31 |
// TODO : le transformer en SINGLETON
|
|
|
32 |
public class Modele implements Rafraichissable {
|
|
|
33 |
|
|
|
34 |
public Modele() {
|
|
|
35 |
Registry.register(RegistreId.MODELE, this);
|
|
|
36 |
}
|
|
|
37 |
|
|
|
38 |
public void rafraichir(Object nouvelleDonnees) {
|
69 |
jpm |
39 |
if (nouvelleDonnees instanceof StructureListe) {
|
156 |
jp_milcent |
40 |
((Mediateur) Registry.get(RegistreId.MEDIATEUR)).afficherListeStructures((StructureListe) nouvelleDonnees);
|
64 |
jpm |
41 |
} else if (nouvelleDonnees instanceof Utilisateur) {
|
|
|
42 |
((Mediateur) Registry.get(RegistreId.MEDIATEUR)).mettreAJourEtatIdentification((Utilisateur) nouvelleDonnees);
|
91 |
jpm |
43 |
} else if (nouvelleDonnees instanceof ValeurListe) {
|
|
|
44 |
((Mediateur) Registry.get(RegistreId.MEDIATEUR)).afficherListeValeurs((ValeurListe) nouvelleDonnees);
|
107 |
aurelien |
45 |
} else if (nouvelleDonnees instanceof PublicationListe) {
|
|
|
46 |
((Mediateur) Registry.get(RegistreId.MEDIATEUR)).afficherListePublication((PublicationListe) nouvelleDonnees);
|
137 |
gduche |
47 |
} else if (nouvelleDonnees instanceof PersonneListe) {
|
|
|
48 |
((Mediateur) Registry.get(RegistreId.MEDIATEUR)).afficherListePersonnes((PersonneListe) nouvelleDonnees);
|
143 |
gduche |
49 |
} else if (nouvelleDonnees instanceof ProjetsListe) {
|
|
|
50 |
((Mediateur) Registry.get(RegistreId.MEDIATEUR)).afficherListeProjets((ProjetsListe) nouvelleDonnees);
|
60 |
jpm |
51 |
}
|
|
|
52 |
}
|
|
|
53 |
|
231 |
jp_milcent |
54 |
//+----------------------------------------------------------------------------------------------------------------+
|
|
|
55 |
// GESTION DES VALEURS ET LISTES
|
|
|
56 |
//+----------------------------------------------------------------------------------------------------------------+
|
|
|
57 |
|
91 |
jpm |
58 |
public void obtenirListeValeurs(Integer id) {
|
|
|
59 |
ValeurListeAsyncDao lsDao = new ValeurListeAsyncDao(this);
|
|
|
60 |
lsDao.obtenirListe(id);
|
|
|
61 |
}
|
|
|
62 |
|
231 |
jp_milcent |
63 |
//+----------------------------------------------------------------------------------------------------------------+
|
|
|
64 |
// GESTION DES UTILISATEURS
|
|
|
65 |
//+----------------------------------------------------------------------------------------------------------------+
|
237 |
aurelien |
66 |
|
|
|
67 |
// pour obtenir la liste de personne et la fournir à des éléments spécifiques
|
|
|
68 |
public void obtenirListePersonnes(Rafraichissable r) {
|
|
|
69 |
// Lance le service JREST associé au personne via la class PersonneListeAsyncDAO
|
|
|
70 |
PersonnesAsyncDao plDao = new PersonnesAsyncDao(r);
|
|
|
71 |
plDao.obtenirListePersonnes();
|
|
|
72 |
}
|
129 |
gduche |
73 |
|
65 |
jpm |
74 |
public void connecterUtilisateur(String login, String mdp) {
|
|
|
75 |
Utilisateur utilisateur = (Utilisateur) Registry.get(RegistreId.UTILISATEUR);
|
|
|
76 |
utilisateur.setLogin(login);
|
|
|
77 |
utilisateur.setMotDePasse(mdp);
|
69 |
jpm |
78 |
UtilisateurAsyncDao uDao = new UtilisateurAsyncDao(this);
|
65 |
jpm |
79 |
uDao.connecterUtilisateur();
|
64 |
jpm |
80 |
}
|
|
|
81 |
|
65 |
jpm |
82 |
public void deconnecterUtilisateur() {
|
69 |
jpm |
83 |
UtilisateurAsyncDao uDao = new UtilisateurAsyncDao(this);
|
65 |
jpm |
84 |
uDao.deconnecterUtilisateur();
|
64 |
jpm |
85 |
}
|
231 |
jp_milcent |
86 |
|
|
|
87 |
//+----------------------------------------------------------------------------------------------------------------+
|
|
|
88 |
// GESTION DES STRUCTURES
|
|
|
89 |
//+----------------------------------------------------------------------------------------------------------------+
|
64 |
jpm |
90 |
|
245 |
jp_milcent |
91 |
public void obtenirListeStructures(Rafraichissable r, String utilisateurId, String projetId) {
|
231 |
jp_milcent |
92 |
StructureAsyncDao sDao = new StructureAsyncDao();
|
245 |
jp_milcent |
93 |
sDao.selectionner(r, utilisateurId, projetId,"");
|
107 |
aurelien |
94 |
}
|
231 |
jp_milcent |
95 |
|
245 |
jp_milcent |
96 |
public void selectionnerStructure(Rafraichissable r, String idUtilisateur, String projetId, String idStr, String idRole) {
|
209 |
jp_milcent |
97 |
// Gestion des données des tables coel_structure, coel_structure_conservation et coel_structure_valorisation
|
156 |
jp_milcent |
98 |
StructureAsyncDao sDao = new StructureAsyncDao();
|
245 |
jp_milcent |
99 |
sDao.selectionner(r, idUtilisateur, projetId, idStr);
|
209 |
jp_milcent |
100 |
// Gestion des données de la table coel_structure_a_personne
|
245 |
jp_milcent |
101 |
// TODO : créer une méthode séparée pour les données structure_a_personne
|
209 |
jp_milcent |
102 |
if (idStr != null && idRole != null) {
|
|
|
103 |
StructureAPersonneAsyncDao sapDao = new StructureAPersonneAsyncDao();
|
|
|
104 |
sapDao.selectionner(r, idUtilisateur, idStr, idRole);
|
|
|
105 |
}
|
156 |
jp_milcent |
106 |
}
|
|
|
107 |
|
245 |
jp_milcent |
108 |
public void selectionnerStructures(String idUtilisateur, String projetId) {
|
156 |
jp_milcent |
109 |
Rafraichissable r = this;
|
|
|
110 |
String idStr = null;
|
209 |
jp_milcent |
111 |
String idRole = null;
|
245 |
jp_milcent |
112 |
selectionnerStructure(r, idUtilisateur, projetId, idStr, idRole);
|
156 |
jp_milcent |
113 |
}
|
|
|
114 |
|
119 |
jpm |
115 |
/** Lance la creation d'une Structure
|
156 |
jp_milcent |
116 |
* @param vue la vue demandant a être rafraichie
|
119 |
jpm |
117 |
* @param structure les données de la structure
|
|
|
118 |
*/
|
156 |
jp_milcent |
119 |
public void ajouterStructure(Rafraichissable vue, String idUtilisateur, Structure structure) {
|
119 |
jpm |
120 |
StructureAsyncDao structureDao = new StructureAsyncDao();
|
156 |
jp_milcent |
121 |
structureDao.ajouter(vue, idUtilisateur, structure);
|
119 |
jpm |
122 |
}
|
135 |
jpm |
123 |
|
156 |
jp_milcent |
124 |
public void supprimerStructure(Rafraichissable vue, String idUtilisateur, String idStr) {
|
135 |
jpm |
125 |
StructureAsyncDao structureDao = new StructureAsyncDao();
|
156 |
jp_milcent |
126 |
structureDao.supprimer(vue, idUtilisateur, idStr);
|
135 |
jpm |
127 |
}
|
119 |
jpm |
128 |
|
195 |
jp_milcent |
129 |
public void modifierStructure(Rafraichissable vue, String utilisateurId, Structure structure, StructureConservation conservation, StructureValorisation valorisation) {
|
156 |
jp_milcent |
130 |
StructureAsyncDao structureDao = new StructureAsyncDao();
|
195 |
jp_milcent |
131 |
structureDao.modifier(vue, utilisateurId, structure, conservation, valorisation);
|
156 |
jp_milcent |
132 |
}
|
231 |
jp_milcent |
133 |
|
|
|
134 |
public void modifierStructureAPersonne(Rafraichissable vue, String utilisateurId, StructureAPersonne personnel) {
|
|
|
135 |
StructureAPersonneAsyncDao structureAPersonneDao = new StructureAPersonneAsyncDao();
|
|
|
136 |
structureAPersonneDao.modifier(vue, utilisateurId, personnel);
|
|
|
137 |
}
|
156 |
jp_milcent |
138 |
|
231 |
jp_milcent |
139 |
public void ajouterStructureAPersonne(Rafraichissable vue, String utilisateurId, String structureId, StructureAPersonne personnel) {
|
|
|
140 |
StructureAPersonneAsyncDao structureAPersonneDao = new StructureAPersonneAsyncDao();
|
|
|
141 |
structureAPersonneDao.ajouter(vue, utilisateurId, structureId, personnel);
|
|
|
142 |
}
|
|
|
143 |
|
244 |
jp_milcent |
144 |
public void supprimerStructureAPersonne(Rafraichissable vue, String utilisateurId, String personnelId) {
|
231 |
jp_milcent |
145 |
StructureAPersonneAsyncDao structureAPersonneDao = new StructureAPersonneAsyncDao();
|
244 |
jp_milcent |
146 |
structureAPersonneDao.supprimer(vue, utilisateurId, personnelId);
|
231 |
jp_milcent |
147 |
}
|
|
|
148 |
|
|
|
149 |
//+----------------------------------------------------------------------------------------------------------------+
|
|
|
150 |
// GESTION DES PROJETS
|
|
|
151 |
//+----------------------------------------------------------------------------------------------------------------+
|
|
|
152 |
|
143 |
gduche |
153 |
public void obtenirListeProjets () {
|
|
|
154 |
ProjetsListeAsyncDao projetsDao = new ProjetsListeAsyncDao(this);
|
|
|
155 |
projetsDao.obtenirListeProjets();
|
|
|
156 |
|
|
|
157 |
}
|
224 |
aurelien |
158 |
|
|
|
159 |
public void supprimerPersonne(Rafraichissable vue, String utilisateurId,
|
|
|
160 |
String idStr) {
|
|
|
161 |
PersonnesAsyncDao personneDao = new PersonnesAsyncDao(vue);
|
|
|
162 |
personneDao.supprimer(vue, utilisateurId, idStr);
|
|
|
163 |
|
|
|
164 |
}
|
226 |
aurelien |
165 |
|
231 |
jp_milcent |
166 |
//+----------------------------------------------------------------------------------------------------------------+
|
|
|
167 |
// GESTION DES PERSONNES
|
|
|
168 |
//+----------------------------------------------------------------------------------------------------------------+
|
|
|
169 |
|
|
|
170 |
public void obtenirListePersonnes() {
|
|
|
171 |
// Lance le service JREST associé au personne via la class PersonneListeAsyncDAO
|
|
|
172 |
PersonnesAsyncDao plDao = new PersonnesAsyncDao(this);
|
|
|
173 |
plDao.obtenirListePersonnes();
|
226 |
aurelien |
174 |
}
|
231 |
jp_milcent |
175 |
|
244 |
jp_milcent |
176 |
public void selectionnerPersonne(Rafraichissable vue, String personneId, String projetId, String nomComplet) {
|
|
|
177 |
PersonnesAsyncDao pDao = new PersonnesAsyncDao(vue);
|
|
|
178 |
pDao.selectionner(personneId, projetId, nomComplet);
|
|
|
179 |
}
|
|
|
180 |
|
231 |
jp_milcent |
181 |
//+----------------------------------------------------------------------------------------------------------------+
|
|
|
182 |
// GESTION DES PUBLICATIONS
|
|
|
183 |
//+----------------------------------------------------------------------------------------------------------------+
|
|
|
184 |
|
|
|
185 |
public void obtenirListePublications() {
|
|
|
186 |
PublicationListeAsyncDao lsDao = new PublicationListeAsyncDao(this);
|
|
|
187 |
lsDao.obtenirListePublication();
|
|
|
188 |
}
|
|
|
189 |
|
228 |
aurelien |
190 |
public void modifierPublication(String utilisateurId, Publication publi) {
|
|
|
191 |
PublicationListeAsyncDao pDao = new PublicationListeAsyncDao(this);
|
|
|
192 |
pDao.modifierPublication(this, utilisateurId, publi);
|
|
|
193 |
}
|
|
|
194 |
|
|
|
195 |
public void ajouterPublication(String utilisateurId, Publication publi) {
|
|
|
196 |
PublicationListeAsyncDao pDao = new PublicationListeAsyncDao(this);
|
|
|
197 |
pDao.ajouterPublication(this, utilisateurId, publi);
|
|
|
198 |
}
|
231 |
jp_milcent |
199 |
|
237 |
aurelien |
200 |
public void supprimerPublication(String utilisateurId,
|
|
|
201 |
List<Publication> publicationListe) {
|
|
|
202 |
String idPubs = "";
|
|
|
203 |
for(Iterator<Publication> it = publicationListe.iterator(); it.hasNext();) {
|
|
|
204 |
Publication pub = it.next();
|
|
|
205 |
idPubs += pub.getId();
|
|
|
206 |
if(it.hasNext()) {
|
|
|
207 |
idPubs += ",";
|
|
|
208 |
}
|
|
|
209 |
}
|
|
|
210 |
PublicationListeAsyncDao pDao = new PublicationListeAsyncDao(this);
|
|
|
211 |
pDao.supprimerPublication(this, utilisateurId, idPubs);
|
|
|
212 |
}
|
244 |
jp_milcent |
213 |
|
60 |
jpm |
214 |
}
|