Subversion Repositories eFlore/Applications.coel

Rev

Rev 1442 | Rev 1457 | Go to most recent revision | Only display areas with differences | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 1442 Rev 1450
1
package org.tela_botanica.client;
1
package org.tela_botanica.client;
2
 
2
 
3
import java.util.HashMap;
3
import java.util.HashMap;
4
import java.util.Iterator;
4
import java.util.Iterator;
5
import java.util.List;
5
import java.util.List;
6
 
6
 
7
import org.tela_botanica.client.composants.AideFenetre;
7
import org.tela_botanica.client.composants.AideFenetre;
8
import org.tela_botanica.client.composants.IdentificationFenetre;
8
import org.tela_botanica.client.composants.IdentificationFenetre;
9
import org.tela_botanica.client.composants.InfoLogger;
9
import org.tela_botanica.client.composants.InfoLogger;
10
import org.tela_botanica.client.composants.LicenceFenetre;
10
import org.tela_botanica.client.composants.LicenceFenetre;
11
import org.tela_botanica.client.composants.AproposFenetre;
11
import org.tela_botanica.client.composants.AproposFenetre;
12
import org.tela_botanica.client.configuration.APropos;
12
import org.tela_botanica.client.configuration.APropos;
13
import org.tela_botanica.client.configuration.Configuration;
13
import org.tela_botanica.client.configuration.Configuration;
14
import org.tela_botanica.client.i18n.Constantes;
14
import org.tela_botanica.client.i18n.Constantes;
15
import org.tela_botanica.client.i18n.ErrorMessages;
15
import org.tela_botanica.client.i18n.ErrorMessages;
16
import org.tela_botanica.client.interfaces.Rafraichissable;
16
import org.tela_botanica.client.interfaces.Rafraichissable;
17
import org.tela_botanica.client.modeles.Information;
17
import org.tela_botanica.client.modeles.Information;
18
import org.tela_botanica.client.modeles.MenuApplicationId;
18
import org.tela_botanica.client.modeles.MenuApplicationId;
19
import org.tela_botanica.client.modeles.Utilisateur;
19
import org.tela_botanica.client.modeles.Utilisateur;
20
import org.tela_botanica.client.modeles.Valeur;
20
import org.tela_botanica.client.modeles.Valeur;
21
import org.tela_botanica.client.modeles.ValeurListe;
21
import org.tela_botanica.client.modeles.ValeurListe;
22
import org.tela_botanica.client.modeles.collection.Collection;
22
import org.tela_botanica.client.modeles.collection.Collection;
23
import org.tela_botanica.client.modeles.collection.CollectionACommentaire;
23
import org.tela_botanica.client.modeles.collection.CollectionACommentaire;
24
import org.tela_botanica.client.modeles.collection.CollectionACommentaireAsyncDao;
24
import org.tela_botanica.client.modeles.collection.CollectionACommentaireAsyncDao;
25
import org.tela_botanica.client.modeles.collection.CollectionACommentaireListe;
25
import org.tela_botanica.client.modeles.collection.CollectionACommentaireListe;
26
import org.tela_botanica.client.modeles.collection.CollectionAPersonne;
26
import org.tela_botanica.client.modeles.collection.CollectionAPersonne;
27
import org.tela_botanica.client.modeles.collection.CollectionAPersonneListe;
27
import org.tela_botanica.client.modeles.collection.CollectionAPersonneListe;
28
import org.tela_botanica.client.modeles.collection.CollectionAPublication;
28
import org.tela_botanica.client.modeles.collection.CollectionAPublication;
29
import org.tela_botanica.client.modeles.collection.CollectionAPublicationListe;
29
import org.tela_botanica.client.modeles.collection.CollectionAPublicationListe;
30
import org.tela_botanica.client.modeles.collection.CollectionListe;
30
import org.tela_botanica.client.modeles.collection.CollectionListe;
31
import org.tela_botanica.client.modeles.collection.UniteRangement;
31
import org.tela_botanica.client.modeles.collection.UniteRangement;
32
import org.tela_botanica.client.modeles.commentaire.Commentaire;
32
import org.tela_botanica.client.modeles.commentaire.Commentaire;
33
import org.tela_botanica.client.modeles.commentaire.CommentaireListe;
33
import org.tela_botanica.client.modeles.commentaire.CommentaireListe;
34
import org.tela_botanica.client.modeles.personne.Personne;
34
import org.tela_botanica.client.modeles.personne.Personne;
35
import org.tela_botanica.client.modeles.personne.PersonneListe;
35
import org.tela_botanica.client.modeles.personne.PersonneListe;
36
import org.tela_botanica.client.modeles.projet.Projet;
36
import org.tela_botanica.client.modeles.projet.Projet;
37
import org.tela_botanica.client.modeles.projet.ProjetListe;
37
import org.tela_botanica.client.modeles.projet.ProjetListe;
38
import org.tela_botanica.client.modeles.publication.Publication;
38
import org.tela_botanica.client.modeles.publication.Publication;
39
import org.tela_botanica.client.modeles.publication.PublicationAPersonne;
39
import org.tela_botanica.client.modeles.publication.PublicationAPersonne;
40
import org.tela_botanica.client.modeles.publication.PublicationAPersonneListe;
40
import org.tela_botanica.client.modeles.publication.PublicationAPersonneListe;
41
import org.tela_botanica.client.modeles.publication.PublicationListe;
41
import org.tela_botanica.client.modeles.publication.PublicationListe;
42
import org.tela_botanica.client.modeles.structure.Structure;
42
import org.tela_botanica.client.modeles.structure.Structure;
43
import org.tela_botanica.client.modeles.structure.StructureAPersonne;
43
import org.tela_botanica.client.modeles.structure.StructureAPersonne;
44
import org.tela_botanica.client.modeles.structure.StructureAPersonneListe;
44
import org.tela_botanica.client.modeles.structure.StructureAPersonneListe;
45
import org.tela_botanica.client.modeles.structure.StructureConservation;
45
import org.tela_botanica.client.modeles.structure.StructureConservation;
46
import org.tela_botanica.client.modeles.structure.StructureListe;
46
import org.tela_botanica.client.modeles.structure.StructureListe;
47
import org.tela_botanica.client.modeles.structure.StructureValorisation;
47
import org.tela_botanica.client.modeles.structure.StructureValorisation;
48
import org.tela_botanica.client.synchronisation.Sequenceur;
48
import org.tela_botanica.client.synchronisation.Sequenceur;
49
import org.tela_botanica.client.util.Debug;
49
import org.tela_botanica.client.util.Debug;
50
import org.tela_botanica.client.vues.ContenuVue;
50
import org.tela_botanica.client.vues.ContenuVue;
51
import org.tela_botanica.client.vues.EnteteVue;
51
import org.tela_botanica.client.vues.EnteteVue;
52
import org.tela_botanica.client.vues.Formulaire;
52
import org.tela_botanica.client.vues.Formulaire;
53
import org.tela_botanica.client.vues.FenetreJournal;
53
import org.tela_botanica.client.vues.FenetreJournal;
54
import org.tela_botanica.client.vues.NavigationVue;
54
import org.tela_botanica.client.vues.NavigationVue;
55
import org.tela_botanica.client.vues.PopupChargement;
55
import org.tela_botanica.client.vues.PopupChargement;
56
import org.tela_botanica.client.vues.StatutVue;
56
import org.tela_botanica.client.vues.StatutVue;
57
import org.tela_botanica.client.vues.MenuVue;
57
import org.tela_botanica.client.vues.MenuVue;
58
import org.tela_botanica.client.vues.accueil.AccueilVue;
58
import org.tela_botanica.client.vues.accueil.AccueilVue;
59
import org.tela_botanica.client.vues.collection.CollectionForm;
59
import org.tela_botanica.client.vues.collection.CollectionForm;
60
import org.tela_botanica.client.vues.collection.CollectionListeVue;
60
import org.tela_botanica.client.vues.collection.CollectionListeVue;
61
import org.tela_botanica.client.vues.collection.CollectionVue;
61
import org.tela_botanica.client.vues.collection.CollectionVue;
62
import org.tela_botanica.client.vues.commentaire.CommentaireForm;
62
import org.tela_botanica.client.vues.commentaire.CommentaireForm;
63
import org.tela_botanica.client.vues.commentaire.CommentaireVue;
63
import org.tela_botanica.client.vues.commentaire.CommentaireVue;
64
import org.tela_botanica.client.vues.personne.PersonneForm;
64
import org.tela_botanica.client.vues.personne.PersonneForm;
65
import org.tela_botanica.client.vues.personne.PersonneVue;
65
import org.tela_botanica.client.vues.personne.PersonneVue;
66
import org.tela_botanica.client.vues.projet.ProjetForm;
66
import org.tela_botanica.client.vues.projet.ProjetForm;
67
import org.tela_botanica.client.vues.projet.ProjetVue;
67
import org.tela_botanica.client.vues.projet.ProjetVue;
68
import org.tela_botanica.client.vues.publication.PublicationForm;
68
import org.tela_botanica.client.vues.publication.PublicationForm;
69
import org.tela_botanica.client.vues.publication.PublicationVue;
69
import org.tela_botanica.client.vues.publication.PublicationVue;
70
import org.tela_botanica.client.vues.structure.StructureForm;
70
import org.tela_botanica.client.vues.structure.StructureForm;
71
import org.tela_botanica.client.vues.structure.StructureVue;
71
import org.tela_botanica.client.vues.structure.StructureVue;
72
 
72
 
73
import com.extjs.gxt.ui.client.Registry;
73
import com.extjs.gxt.ui.client.Registry;
74
import com.extjs.gxt.ui.client.Style.LayoutRegion;
74
import com.extjs.gxt.ui.client.Style.LayoutRegion;
75
import com.extjs.gxt.ui.client.data.DataProxy;
75
import com.extjs.gxt.ui.client.data.DataProxy;
76
import com.extjs.gxt.ui.client.event.Listener;
76
import com.extjs.gxt.ui.client.event.Listener;
77
import com.extjs.gxt.ui.client.event.MessageBoxEvent;
77
import com.extjs.gxt.ui.client.event.MessageBoxEvent;
78
import com.extjs.gxt.ui.client.util.Margins;
78
import com.extjs.gxt.ui.client.util.Margins;
79
import com.extjs.gxt.ui.client.widget.Component;
79
import com.extjs.gxt.ui.client.widget.Component;
80
import com.extjs.gxt.ui.client.widget.Dialog;
80
import com.extjs.gxt.ui.client.widget.Dialog;
81
import com.extjs.gxt.ui.client.widget.Info;
81
import com.extjs.gxt.ui.client.widget.Info;
82
import com.extjs.gxt.ui.client.widget.MessageBox;
82
import com.extjs.gxt.ui.client.widget.MessageBox;
83
import com.extjs.gxt.ui.client.widget.Viewport;
83
import com.extjs.gxt.ui.client.widget.Viewport;
84
import com.extjs.gxt.ui.client.widget.button.Button;
84
import com.extjs.gxt.ui.client.widget.button.Button;
85
import com.extjs.gxt.ui.client.widget.layout.BorderLayout;
85
import com.extjs.gxt.ui.client.widget.layout.BorderLayout;
86
import com.extjs.gxt.ui.client.widget.layout.BorderLayoutData;
86
import com.extjs.gxt.ui.client.widget.layout.BorderLayoutData;
87
import com.gargoylesoftware.htmlunit.AlertHandler;
87
import com.gargoylesoftware.htmlunit.AlertHandler;
88
import com.google.gwt.core.client.GWT;
88
import com.google.gwt.core.client.GWT;
89
import com.google.gwt.i18n.client.Dictionary;
89
import com.google.gwt.i18n.client.Dictionary;
90
import com.google.gwt.user.client.Window;
90
import com.google.gwt.user.client.Window;
91
import com.google.gwt.user.client.ui.RootPanel;
91
import com.google.gwt.user.client.ui.RootPanel;
92
 
92
 
93
public class Mediateur implements Rafraichissable {
93
public class Mediateur implements Rafraichissable {
94
	
94
	
95
	private Viewport viewport;
95
	private Viewport viewport;
96
	private Modele modele = null;
96
	private Modele modele = null;
97
	public static final Constantes i18nC = getI18nConstante();
97
	public static final Constantes i18nC = getI18nConstante();
98
	public static final ErrorMessages i18nM = getI18nMessage();
98
	public static final ErrorMessages i18nM = getI18nMessage();
99
	public static final boolean DEBUG = true;
99
	public static final boolean DEBUG = true;
-
 
100
	public static final boolean DEBUG_CHARGEMENT = false;
100
	
101
	
101
	private EnteteVue panneauNord = null;
102
	private EnteteVue panneauNord = null;
102
	private NavigationVue panneauOuest = null;
103
	private NavigationVue panneauOuest = null;
103
	private ContenuVue panneauCentre = null;
104
	private ContenuVue panneauCentre = null;
104
	private StatutVue panneauSud = null;
105
	private StatutVue panneauSud = null;
105
	private FenetreJournal fenetreJournal = null;
106
	private FenetreJournal fenetreJournal = null;
106
	
107
	
107
	private HashMap<Object, Integer> fileDAttenteChargement = null;
108
	private HashMap<Object, Integer> fileDAttenteChargement = null;
108
	
109
	
109
	private IdentificationFenetre fenetreIdentification = null;
110
	private IdentificationFenetre fenetreIdentification = null;
110
	private int nbElements = Integer.valueOf(((Dictionary) Dictionary.getDictionary("configuration")).get("nbElementsPage"));
111
	private int nbElements = Integer.valueOf(((Dictionary) Dictionary.getDictionary("configuration")).get("nbElementsPage"));
-
 
112
	
-
 
113
	private Sequenceur sequenceur = null;
111
	
114
	
112
	public Mediateur() {
115
	public Mediateur() {
113
		// Enregistrement du Médiateur dans le Registre
116
		// Enregistrement du Médiateur dans le Registre
114
		Registry.register(RegistreId.MEDIATEUR, this);
117
		Registry.register(RegistreId.MEDIATEUR, this);
115
 
118
 
116
		//Initialisation du Registre
119
		//Initialisation du Registre
117
		initialiserRegistre();
120
		initialiserRegistre();
118
		
121
		
119
		// Création du Modèle qui s'enregistre lui même dans le Registre
122
		// Création du Modèle qui s'enregistre lui même dans le Registre
120
		modele = new Modele();
123
		modele = new Modele();
-
 
124
		
-
 
125
		// Séquenceur (local au médiateur)
-
 
126
		sequenceur = new Sequenceur();
121
 
127
 
122
		// Création du Viewport qui contient la disposition globale de l'application
128
		// Création du Viewport qui contient la disposition globale de l'application
123
		viewport = new Viewport();
129
		viewport = new Viewport();
124
		viewport.setLayout(new BorderLayout());
130
		viewport.setLayout(new BorderLayout());
125
 
131
 
126
		// Création des différents panneaux
132
		// Création des différents panneaux
127
	    creerPanneauNord();
133
	    creerPanneauNord();
128
	    creerPanneauOuest();
134
	    creerPanneauOuest();
129
	    creerPanneauCentral();
135
	    creerPanneauCentral();
130
	    creerPanneauSud();
136
	    creerPanneauSud();
131
	    fenetreJournal = new FenetreJournal(this);
137
	    fenetreJournal = new FenetreJournal(this);
132
		
138
		
133
		// Connection de l'utilisateur
139
		// Connection de l'utilisateur
134
		connecterUtilisateur(null, null);
140
		connecterUtilisateur(null, null);
135
		
141
		
136
		// Creer la table qui gère le panneau de chargement/déchargement
142
		// Creer la table qui gère le panneau de chargement/déchargement
137
		fileDAttenteChargement = new HashMap<Object, Integer>();
143
		fileDAttenteChargement = new HashMap<Object, Integer>();
138
		
144
		
139
		// Retour à GWT du Viewport une fois constuit
145
		// Retour à GWT du Viewport une fois constuit
140
		RootPanel.get().add(viewport);
146
		RootPanel.get().add(viewport);
141
	}
147
	}
142
	
148
	
143
	//+----------------------------------------------------------------------------------------------------------------+
149
	//+----------------------------------------------------------------------------------------------------------------+
144
	//												GESTION de l'I18N et du REGISTRE
150
	//												GESTION de l'I18N et du REGISTRE
145
	//+----------------------------------------------------------------------------------------------------------------+
151
	//+----------------------------------------------------------------------------------------------------------------+
146
	protected static Constantes getI18nConstante() {
152
	protected static Constantes getI18nConstante() {
147
		return GWT.create(Constantes.class);
153
		return GWT.create(Constantes.class);
148
	}
154
	}
149
	
155
	
150
	protected static ErrorMessages getI18nMessage() {
156
	protected static ErrorMessages getI18nMessage() {
151
		return GWT.create(ErrorMessages.class);
157
		return GWT.create(ErrorMessages.class);
152
	}
158
	}
153
	
159
	
154
	protected void initialiserRegistre() {
160
	protected void initialiserRegistre() {
155
		APropos apropos = new APropos();
161
		APropos apropos = new APropos();
156
		
162
		
157
		Registry.register(RegistreId.APPLI_NOM, apropos.getAppliNom());
163
		Registry.register(RegistreId.APPLI_NOM, apropos.getAppliNom());
158
		Registry.register(RegistreId.APPLI_CODE, apropos.getAppliCode());
164
		Registry.register(RegistreId.APPLI_CODE, apropos.getAppliCode());
159
		Registry.register(RegistreId.APPLI_VERSION, apropos.getAppliVersionCode());
165
		Registry.register(RegistreId.APPLI_VERSION, apropos.getAppliVersionCode());
160
		Registry.register(RegistreId.APPLI_VERSION_NOM, apropos.getAppliVersionNom());
166
		Registry.register(RegistreId.APPLI_VERSION_NOM, apropos.getAppliVersionNom());
161
		
167
		
162
		Registry.register(RegistreId.APPLI_DEVELOPPEURS, apropos.getDeveloppeurs());
168
		Registry.register(RegistreId.APPLI_DEVELOPPEURS, apropos.getDeveloppeurs());
163
		Registry.register(RegistreId.APPLI_TRADUCTEURS, apropos.getTraducteurs());
169
		Registry.register(RegistreId.APPLI_TRADUCTEURS, apropos.getTraducteurs());
164
		Registry.register(RegistreId.APPLI_TESTEURS, apropos.getTesteurs());
170
		Registry.register(RegistreId.APPLI_TESTEURS, apropos.getTesteurs());
165
		Registry.register(RegistreId.APPLI_LICENCE, apropos.getLicence());
171
		Registry.register(RegistreId.APPLI_LICENCE, apropos.getLicence());
166
		
172
		
167
		Registry.register(RegistreId.APPLI_REVISION, apropos.getRevisionGlobale());
173
		Registry.register(RegistreId.APPLI_REVISION, apropos.getRevisionGlobale());
168
		Registry.register(RegistreId.JREST_REVISION, apropos.getRevisionGlobaleJrest());
174
		Registry.register(RegistreId.JREST_REVISION, apropos.getRevisionGlobaleJrest());
169
		Registry.register(RegistreId.APPLI_COMPILATION_JAVA_VERSION, apropos.getVersionJavaCompilation());
175
		Registry.register(RegistreId.APPLI_COMPILATION_JAVA_VERSION, apropos.getVersionJavaCompilation());
170
		Registry.register(RegistreId.APPLI_COMPILATION_DATE_HEURE, apropos.getDateHeureCompilation());
176
		Registry.register(RegistreId.APPLI_COMPILATION_DATE_HEURE, apropos.getDateHeureCompilation());
171
 
177
 
172
		Registry.register(RegistreId.CONFIG, new Configuration());
178
		Registry.register(RegistreId.CONFIG, new Configuration());
173
		Registry.register(RegistreId.POPUP_CHARGEMENT, new PopupChargement(this));
179
		Registry.register(RegistreId.POPUP_CHARGEMENT, new PopupChargement(this));
174
		Registry.register(RegistreId.UTILISATEUR_COURANT, new Utilisateur());
180
		Registry.register(RegistreId.UTILISATEUR_COURANT, new Utilisateur());
175
		Registry.register(RegistreId.PROJET_COURANT, new Projet());
181
		Registry.register(RegistreId.PROJET_COURANT, new Projet());
176
	}
182
	}
177
	
183
	
178
	//+----------------------------------------------------------------------------------------------------------------+
184
	//+----------------------------------------------------------------------------------------------------------------+
179
	//												GESTION des PANNEAUX PRINCIPAUX
185
	//												GESTION des PANNEAUX PRINCIPAUX
180
	//+----------------------------------------------------------------------------------------------------------------+
186
	//+----------------------------------------------------------------------------------------------------------------+
181
	
187
	
182
	private void creerPanneauNord() {
188
	private void creerPanneauNord() {
183
		panneauNord = new EnteteVue(this);
189
		panneauNord = new EnteteVue(this);
184
		
190
		
185
		BorderLayoutData regionNord = new BorderLayoutData(LayoutRegion.NORTH, 100);  
191
		BorderLayoutData regionNord = new BorderLayoutData(LayoutRegion.NORTH, 100);  
186
		regionNord.setCollapsible(true);
192
		regionNord.setCollapsible(true);
187
		regionNord.setFloatable(true);
193
		regionNord.setFloatable(true);
188
		regionNord.setSplit(false);
194
		regionNord.setSplit(false);
189
		regionNord.setMargins(new Margins(5, 5, 0, 5));
195
		regionNord.setMargins(new Margins(5, 5, 0, 5));
190
		
196
		
191
		viewport.add(panneauNord, regionNord);
197
		viewport.add(panneauNord, regionNord);
192
	}
198
	}
193
	
199
	
194
	private void creerPanneauOuest() {
200
	private void creerPanneauOuest() {
195
		panneauOuest = new NavigationVue(this); 
201
		panneauOuest = new NavigationVue(this); 
196
		
202
		
197
		BorderLayoutData regionOuest = new BorderLayoutData(LayoutRegion.WEST, 241);  
203
		BorderLayoutData regionOuest = new BorderLayoutData(LayoutRegion.WEST, 241);  
198
		regionOuest.setSplit(true);
204
		regionOuest.setSplit(true);
199
		regionOuest.setCollapsible(true);  
205
		regionOuest.setCollapsible(true);  
200
		regionOuest.setMargins(new Margins(5));
206
		regionOuest.setMargins(new Margins(5));
201
 
207
 
202
		viewport.add(panneauOuest, regionOuest);
208
		viewport.add(panneauOuest, regionOuest);
203
	}
209
	}
204
	
210
	
205
	public String getFiltreProjet() {
211
	public String getFiltreProjet() {
206
		return panneauOuest.getFiltre().getProjet();
212
		return panneauOuest.getFiltre().getProjet();
207
	}
213
	}
208
 
214
 
209
	private void creerPanneauCentral() {
215
	private void creerPanneauCentral() {
210
		panneauCentre = new ContenuVue(this);
216
		panneauCentre = new ContenuVue(this);
211
 
217
 
212
		BorderLayoutData regionCentre = new BorderLayoutData(LayoutRegion.CENTER);  
218
		BorderLayoutData regionCentre = new BorderLayoutData(LayoutRegion.CENTER);  
213
		regionCentre.setMargins(new Margins(5, 5, 5, 0));
219
		regionCentre.setMargins(new Margins(5, 5, 5, 0));
214
 
220
 
215
		viewport.add(panneauCentre, regionCentre);
221
		viewport.add(panneauCentre, regionCentre);
216
	}
222
	}
217
	
223
	
218
	private void creerPanneauSud() {
224
	private void creerPanneauSud() {
219
		panneauSud = new StatutVue();
225
		panneauSud = new StatutVue();
220
		
226
		
221
		BorderLayoutData regionSud = new BorderLayoutData(LayoutRegion.SOUTH, 20); 
227
		BorderLayoutData regionSud = new BorderLayoutData(LayoutRegion.SOUTH, 20); 
222
		regionSud.setCollapsible(true);
228
		regionSud.setCollapsible(true);
223
		regionSud.setFloatable(true);
229
		regionSud.setFloatable(true);
224
		regionSud.setSplit(false);
230
		regionSud.setSplit(false);
225
		regionSud.setMargins(new Margins(0));
231
		regionSud.setMargins(new Margins(0));
226
		
232
		
227
		viewport.add(panneauSud, regionSud);
233
		viewport.add(panneauSud, regionSud);
228
	}
234
	}
229
 
235
 
230
	public void actualiserPanneauCentral() {
236
	public void actualiserPanneauCentral() {
231
		panneauCentre.layout();
237
		panneauCentre.layout();
232
	}
238
	}
233
	
239
	
234
	public Rafraichissable obtenirFenetreJournal()	{
240
	public Rafraichissable obtenirFenetreJournal()	{
235
		return this.fenetreJournal;
241
		return this.fenetreJournal;
236
	}
242
	}
237
	
243
	
238
	public void ouvrirFenetreJournal()	{
244
	public void ouvrirFenetreJournal()	{
239
		fenetreJournal.show();
245
		fenetreJournal.show();
240
	}
246
	}
241
	
247
	
242
	public StatutVue obtenirPanneauSud()	{
248
	public StatutVue obtenirPanneauSud()	{
243
		return this.panneauSud;
249
		return this.panneauSud;
244
	}
250
	}
245
	
251
	
246
	//+----------------------------------------------------------------------------------------------------------------+
252
	//+----------------------------------------------------------------------------------------------------------------+
247
	//												GESTION du MENU
253
	//												GESTION du MENU
248
	//+----------------------------------------------------------------------------------------------------------------+
254
	//+----------------------------------------------------------------------------------------------------------------+
249
	
255
	
250
	public void clicMenu(String codeMenuClique) {
256
	public void clicMenu(String codeMenuClique) {
251
 
257
 
252
		panneauOuest.getMenu().selectionMenu(codeMenuClique);
258
		panneauOuest.getMenu().selectionMenu(codeMenuClique);
253
		
259
		
254
		if (codeMenuClique.equals(MenuApplicationId.ACCUEIL)) {		
260
		if (codeMenuClique.equals(MenuApplicationId.ACCUEIL)) {		
255
			afficherAccueil();
261
			afficherAccueil();
256
		} else if (codeMenuClique.equals(MenuApplicationId.PROJET)) {
262
		} else if (codeMenuClique.equals(MenuApplicationId.PROJET)) {
257
			selectionnerProjet(panneauCentre, null, null, false, null);
263
			selectionnerProjet(panneauCentre, null, null, false, null);
258
		} else if (codeMenuClique.equals(MenuApplicationId.STRUCTURE)) {
264
		} else if (codeMenuClique.equals(MenuApplicationId.STRUCTURE)) {
259
			selectionnerStructure(panneauCentre, null, null);
265
			selectionnerStructure(panneauCentre, null, null);
260
		} else if (codeMenuClique.equals(MenuApplicationId.COLLECTION)) { 
266
		} else if (codeMenuClique.equals(MenuApplicationId.COLLECTION)) { 
261
			selectionnerCollection(panneauCentre, null, null, null);
267
			selectionnerCollection(panneauCentre, null, null, null);
262
		} else if (codeMenuClique.equals(MenuApplicationId.PERSONNE)) { 
268
		} else if (codeMenuClique.equals(MenuApplicationId.PERSONNE)) { 
263
			selectionnerPersonne(panneauCentre, null, getProjetId(), null);
269
			selectionnerPersonne(panneauCentre, null, getProjetId(), null);
264
		} else if (codeMenuClique.equals(MenuApplicationId.PUBLICATION)) {
270
		} else if (codeMenuClique.equals(MenuApplicationId.PUBLICATION)) {
265
			selectionnerPublication(panneauCentre, null, null);
271
			selectionnerPublication(panneauCentre, null, null);
266
		} else if (codeMenuClique.equals(MenuApplicationId.COMMENTAIRE)) {
272
		} else if (codeMenuClique.equals(MenuApplicationId.COMMENTAIRE)) {
267
			selectionnerCommentaire(panneauCentre, null, null);
273
			selectionnerCommentaire(panneauCentre, null, null);
268
		} else {
274
		} else {
269
			GWT.log(i18nM.nonImplemente(codeMenuClique), null);
275
			GWT.log(i18nM.nonImplemente(codeMenuClique), null);
270
		}
276
		}
271
 
277
 
272
		panneauCentre.layout();
278
		panneauCentre.layout();
273
	}
279
	}
274
	
280
	
275
	public void activerChargement(Object caller, String message) {
281
	public void activerChargement(Object caller, String message) {
276
		if (fileDAttenteChargement.get(caller) == null) fileDAttenteChargement.put(caller, 1);
282
		if (fileDAttenteChargement.get(caller) == null) fileDAttenteChargement.put(caller, 1);
277
		else fileDAttenteChargement.put(caller, fileDAttenteChargement.get(caller)+1);
283
		else fileDAttenteChargement.put(caller, fileDAttenteChargement.get(caller)+1);
278
		activerChargement(message);
284
		activerChargement(message);
279
	}
285
	}
280
	
286
	
281
	private void activerChargement(String message) {
287
	private void activerChargement(String message) {
-
 
288
		if (DEBUG_CHARGEMENT) System.out.println("[CHARGEMENT] ActiverChargement");
-
 
289
		if (DEBUG_CHARGEMENT) debugFileAttente();
282
		afficherPopinChargement();
290
		afficherPopinChargement();
283
		panneauCentre.disable();
291
		panneauCentre.disable();
284
		panneauSud.showBusy(i18nC.chargement()+" "+message);
292
		panneauSud.showBusy(i18nC.chargement()+" "+message);
285
	}
293
	}
286
	
294
	
287
	public void desactiverChargement(Object caller) {
295
	public void desactiverChargement(Object caller) {
-
 
296
		if (fileDAttenteChargement.get(caller) == null) {
288
		if (fileDAttenteChargement.get(caller) == null) Debug.log("Problème : l'objet "+caller+" essaie de désactiver le chargement alors qu'il ne l'a pas initié.");
297
			if (DEBUG_CHARGEMENT) System.out.println("[CHARGEMENT] Problème : l'objet "+caller+" essaie de désactiver le chargement alors qu'il ne l'a pas initié.");
-
 
298
		}
289
		else fileDAttenteChargement.put(caller, fileDAttenteChargement.get(caller)-1);
299
		else fileDAttenteChargement.put(caller, fileDAttenteChargement.get(caller)-1);
290
		
300
		
291
		if (!chargementsEnCours()) desactiverChargement();
301
		if (!chargementsEnCours()) desactiverChargement();
292
	}
302
	}
293
	
303
	
294
	private void desactiverChargement() {
304
	private void desactiverChargement() {
-
 
305
		if (DEBUG_CHARGEMENT) System.out.println("[CHARGEMENT] Désactiver Chargement");
-
 
306
		if (DEBUG_CHARGEMENT) debugFileAttente();
295
		masquerPopinChargement();
307
		masquerPopinChargement();
296
		panneauCentre.enable();
308
		panneauCentre.enable();
297
		panneauSud.clear();
309
		panneauSud.clear();
298
	}
310
	}
299
	
311
	
300
	private boolean chargementsEnCours() {
312
	private boolean chargementsEnCours() {
301
		boolean chargementEnCours = false;
313
		boolean chargementEnCours = false;
302
		Iterator<Object> it = fileDAttenteChargement.keySet().iterator();
314
		Iterator<Object> it = fileDAttenteChargement.keySet().iterator();
303
		while (it.hasNext() && !chargementEnCours) {
315
		while (it.hasNext() && !chargementEnCours) {
304
			chargementEnCours = (fileDAttenteChargement.get(it.next()) > 0);
316
			chargementEnCours = (fileDAttenteChargement.get(it.next()) > 0);
305
		}
317
		}
306
		return chargementEnCours;
318
		return chargementEnCours;
307
	}
319
	}
308
	
320
	
309
	private void debugFileAttente() {
321
	private void debugFileAttente() {
-
 
322
		System.out.println("[CHARGEMENT]--< StackTrace >------------------------------------------------------");
-
 
323
		if (fileDAttenteChargement.size() == 0) System.out.println("(Empty)");
310
		Iterator<Object> it = fileDAttenteChargement.keySet().iterator();
324
		Iterator<Object> it = fileDAttenteChargement.keySet().iterator();
311
		while (it.hasNext()) {
325
		while (it.hasNext()) {
312
			Object o = it.next();
326
			Object o = it.next();
313
			Debug.log("==> ["+o+"] = "+fileDAttenteChargement.get(o));
327
			System.out.println("  ==> ["+o+"] = "+fileDAttenteChargement.get(o));
314
		}
328
		}
315
	}
329
	}
316
		
330
		
317
	//+----------------------------------------------------------------------------------------------------------------+
331
	//+----------------------------------------------------------------------------------------------------------------+
318
	//												GESTION DES FENÊTRES
332
	//												GESTION DES FENÊTRES
319
	//+----------------------------------------------------------------------------------------------------------------+
333
	//+----------------------------------------------------------------------------------------------------------------+
320
 
334
 
321
	public void ouvrirAide() {
335
	public void ouvrirAide() {
322
		AideFenetre aideFenetre = new AideFenetre();
336
		AideFenetre aideFenetre = new AideFenetre();
323
		aideFenetre.show();
337
		aideFenetre.show();
324
		// FIXME : apparament le fade In/Fade Out pose problème sur les navigateurs...
338
		// FIXME : apparament le fade In/Fade Out pose problème sur les navigateurs...
325
		//aideFenetre.el().fadeIn(FxConfig.NONE);
339
		//aideFenetre.el().fadeIn(FxConfig.NONE);
326
	}
340
	}
327
 
341
 
328
	public void ouvrirParametres() {
342
	public void ouvrirParametres() {
329
		AproposFenetre parametresFenetre = new AproposFenetre();
343
		AproposFenetre parametresFenetre = new AproposFenetre();
330
		parametresFenetre.show();
344
		parametresFenetre.show();
331
	}
345
	}
332
 
346
 
333
	public void ouvrirIdentification() {
347
	public void ouvrirIdentification() {
334
		fenetreIdentification = new IdentificationFenetre(this);
348
		fenetreIdentification = new IdentificationFenetre(this);
335
		fenetreIdentification.show();
349
		fenetreIdentification.show();
336
	}
350
	}
337
 
351
 
338
	public void ouvrirUrlExterne(String id) {
352
	public void ouvrirUrlExterne(String id) {
339
		if (id.equals(ComposantId.MENU_CEL)) {
353
		if (id.equals(ComposantId.MENU_CEL)) {
340
			Window.open(((Configuration) Registry.get(RegistreId.CONFIG)).getUrl("cel"), "Carnet en ligne", "");
354
			Window.open(((Configuration) Registry.get(RegistreId.CONFIG)).getUrl("cel"), "Carnet en ligne", "");
341
		} else if (id.equals(ComposantId.MENU_BEL)) {
355
		} else if (id.equals(ComposantId.MENU_BEL)) {
342
			Window.open(((Configuration) Registry.get(RegistreId.CONFIG)).getUrl("cel"), "Biblio en ligne", "");
356
			Window.open(((Configuration) Registry.get(RegistreId.CONFIG)).getUrl("cel"), "Biblio en ligne", "");
343
		} else if (id.equals(ComposantId.MENU_BOGUE)) {
357
		} else if (id.equals(ComposantId.MENU_BOGUE)) {
344
			Window.open(((Configuration) Registry.get(RegistreId.CONFIG)).getUrl("bogue"), "Bogue", "");
358
			Window.open(((Configuration) Registry.get(RegistreId.CONFIG)).getUrl("bogue"), "Bogue", "");
345
		} else if (id.equals(ComposantId.MENU_COMMENTAIRE)) {
359
		} else if (id.equals(ComposantId.MENU_COMMENTAIRE)) {
346
			Window.open(((Configuration) Registry.get(RegistreId.CONFIG)).getUrl("commentaire"), "Commentaire", "");
360
			Window.open(((Configuration) Registry.get(RegistreId.CONFIG)).getUrl("commentaire"), "Commentaire", "");
347
		}
361
		}
348
	}
362
	}
349
 
363
 
350
	public void afficherFenetreLicence(IdentificationFenetre vue)	{
364
	public void afficherFenetreLicence(IdentificationFenetre vue)	{
351
		LicenceFenetre lf = new LicenceFenetre(vue);
365
		LicenceFenetre lf = new LicenceFenetre(vue);
352
	}
366
	}
353
	
367
	
354
	public void accepterLicence(Rafraichissable vue)	{
368
	public void accepterLicence(Rafraichissable vue)	{
355
		modele.accepterLicence(vue);		
369
		modele.accepterLicence(vue);		
356
	}
370
	}
357
	//+----------------------------------------------------------------------------------------------------------------+
371
	//+----------------------------------------------------------------------------------------------------------------+
358
	//												GESTION de l'UTILISATEUR et de l'IDENTIFICATION
372
	//												GESTION de l'UTILISATEUR et de l'IDENTIFICATION
359
	//+----------------------------------------------------------------------------------------------------------------+
373
	//+----------------------------------------------------------------------------------------------------------------+
360
	/**
374
	/**
361
	 * Retourne l'identifiant de l'utilisateur courrant de l'application.
375
	 * Retourne l'identifiant de l'utilisateur courrant de l'application.
362
	 */
376
	 */
363
	public String getUtilisateurId() {
377
	public String getUtilisateurId() {
364
		String id = null;
378
		String id = null;
365
		Utilisateur utilisateurCourant = (Utilisateur) Registry.get(RegistreId.UTILISATEUR_COURANT);
379
		Utilisateur utilisateurCourant = (Utilisateur) Registry.get(RegistreId.UTILISATEUR_COURANT);
366
		if (!utilisateurCourant.getId().equals("")) {
380
		if (!utilisateurCourant.getId().equals("")) {
367
			id = utilisateurCourant.getId();
381
			id = utilisateurCourant.getId();
368
		}
382
		}
369
		return id;
383
		return id;
370
	}
384
	}
371
	
385
	
372
	public Utilisateur getUtilisateur() {
386
	public Utilisateur getUtilisateur() {
373
		Utilisateur utilisateurCourant = (Utilisateur) Registry.get(RegistreId.UTILISATEUR_COURANT);
387
		Utilisateur utilisateurCourant = (Utilisateur) Registry.get(RegistreId.UTILISATEUR_COURANT);
374
		return utilisateurCourant;
388
		return utilisateurCourant;
375
	}
389
	}
376
	
390
	
377
	public void connecterUtilisateur(String login, String mdp) {
391
	public void connecterUtilisateur(String login, String mdp) {
378
		modele.connecterUtilisateur(this, login, mdp);
392
		modele.connecterUtilisateur(this, login, mdp);
379
	}
393
	}
380
	
394
	
381
	public void deconnecterUtilisateur() {
395
	public void deconnecterUtilisateur() {
382
		modele.deconnecterUtilisateur(this);
396
		modele.deconnecterUtilisateur(this);
383
	}
397
	}
384
	
398
	
385
	public void repandreEtatIdentification(Utilisateur utilisateur) {
399
	public void repandreEtatIdentification(Utilisateur utilisateur) {
386
		// Mise à jour du registre
400
		// Mise à jour du registre
387
		Registry.register(RegistreId.UTILISATEUR_COURANT, utilisateur);
401
		Registry.register(RegistreId.UTILISATEUR_COURANT, utilisateur);
388
		// Propagation de l'information de mise à jour de l'utilisateur
402
		// Propagation de l'information de mise à jour de l'utilisateur
389
		repandreInfoMiseAJourUtilisateur();
403
		repandreInfoMiseAJourUtilisateur();
390
	}
404
	}
391
	
405
	
392
	public void repandreInfoMiseAJourUtilisateur() {
406
	public void repandreInfoMiseAJourUtilisateur() {
393
		// Création de l'information de mise à jour de l'utilisateur
407
		// Création de l'information de mise à jour de l'utilisateur
394
		Information info = new Information("maj_utilisateur");
408
		Information info = new Information("maj_utilisateur");
395
 
409
 
396
		// Rafraichissement de la fenêtre d'Identification
410
		// Rafraichissement de la fenêtre d'Identification
397
		if (fenetreIdentification != null && fenetreIdentification.isVisible()) {
411
		if (fenetreIdentification != null && fenetreIdentification.isVisible()) {
398
			fenetreIdentification.rafraichir(info);
412
			fenetreIdentification.rafraichir(info);
399
		}
413
		}
400
		
414
		
401
		// Rafraichissement du panneau Nord
415
		// Rafraichissement du panneau Nord
402
		panneauNord.rafraichir(info);
416
		panneauNord.rafraichir(info);
403
		
417
		
404
		// Rafraichissement du panneau Centre
418
		// Rafraichissement du panneau Centre
405
		if (panneauCentre != null) {
419
		if (panneauCentre != null) {
406
			panneauCentre.rafraichir(info);
420
			panneauCentre.rafraichir(info);
407
		}
421
		}
408
	}
422
	}
409
 
423
 
410
	public void modifierUtilisateur()	{
424
	public void modifierUtilisateur()	{
411
		Utilisateur utilisateurCourant = (Utilisateur) Registry.get(RegistreId.UTILISATEUR_COURANT);
425
		Utilisateur utilisateurCourant = (Utilisateur) Registry.get(RegistreId.UTILISATEUR_COURANT);
412
		panneauNord.rafraichir(utilisateurCourant);
426
		panneauNord.rafraichir(utilisateurCourant);
413
		modele.modifierUtilisateur(this, utilisateurCourant);
427
		modele.modifierUtilisateur(this, utilisateurCourant);
414
	}
428
	}
415
 
429
 
416
	//+----------------------------------------------------------------------------------------------------------------+
430
	//+----------------------------------------------------------------------------------------------------------------+
417
	//												GESTION DES VALEURS ET LISTES
431
	//												GESTION DES VALEURS ET LISTES
418
	//+----------------------------------------------------------------------------------------------------------------+
432
	//+----------------------------------------------------------------------------------------------------------------+
419
 
433
 
420
	/** Cette méthode est un "wrapper" **/
434
	/** Cette méthode est un "wrapper" **/
421
	public void obtenirListeValeurEtRafraichir(Rafraichissable vueARafraichir, String listeId, Sequenceur sequenceur)	{
435
	public void obtenirListeValeurEtRafraichir(Rafraichissable vueARafraichir, String listeId, Sequenceur sequenceur)	{
422
		obtenirListeValeurEtRafraichir(vueARafraichir, ((Configuration) Registry.get(RegistreId.CONFIG)).getListeId(listeId), sequenceur);
436
		obtenirListeValeurEtRafraichir(vueARafraichir, ((Configuration) Registry.get(RegistreId.CONFIG)).getListeId(listeId), sequenceur);
423
	}
437
	}
424
 
438
 
425
	public void obtenirListeValeurEtRafraichir(Rafraichissable vueARafraichir, int listeId, Sequenceur sequenceur)	{
439
	public void obtenirListeValeurEtRafraichir(Rafraichissable vueARafraichir, int listeId, Sequenceur sequenceur)	{
426
		if (Mediateur.DEBUG) System.out.println("MEDIATEUR - selectionner  ValeurListe");
440
		if (Mediateur.DEBUG) System.out.println("MEDIATEUR - selectionner  ValeurListe");
427
		Integer numeroSequence = null;
441
		Integer numeroSequence = null;
428
		if (sequenceur != null)	{
442
		if (sequenceur != null)	{
429
			numeroSequence = sequenceur.lancerRequeteSynchrone(vueARafraichir);
443
			numeroSequence = sequenceur.lancerRequeteSynchrone(vueARafraichir);
430
			vueARafraichir = sequenceur;
444
			vueARafraichir = sequenceur;
431
		}
445
		}
432
		modele.obtenirListeValeurs(vueARafraichir, listeId, numeroSequence);
446
		modele.obtenirListeValeurs(vueARafraichir, listeId, numeroSequence);
433
	}
447
	}
434
 
448
 
435
	public void obtenirListeValeurEtRafraichir(Rafraichissable vueARafraichir, String nomListe, boolean pagination, String recherche, int start, int nbElements, Sequenceur sequenceur)	{
449
	public void obtenirListeValeurEtRafraichir(Rafraichissable vueARafraichir, String nomListe, boolean pagination, String recherche, int start, int nbElements, Sequenceur sequenceur)	{
436
		if (Mediateur.DEBUG) System.out.println("MEDIATEUR - selectionner  ValeurListe");
450
		if (Mediateur.DEBUG) System.out.println("MEDIATEUR - selectionner  ValeurListe");
437
		Integer numeroSequence = null;
451
		Integer numeroSequence = null;
438
		if (sequenceur != null)	{
452
		if (sequenceur != null)	{
439
			numeroSequence = sequenceur.lancerRequeteSynchrone(vueARafraichir);
453
			numeroSequence = sequenceur.lancerRequeteSynchrone(vueARafraichir);
440
			vueARafraichir = sequenceur;
454
			vueARafraichir = sequenceur;
441
		}
455
		}
442
		modele.obtenirListeValeurs(vueARafraichir, ((Configuration) Registry.get(RegistreId.CONFIG)).getListeId(nomListe), pagination, recherche, start, nbElements, numeroSequence);
456
		modele.obtenirListeValeurs(vueARafraichir, ((Configuration) Registry.get(RegistreId.CONFIG)).getListeId(nomListe), pagination, recherche, start, nbElements, numeroSequence);
443
	}
457
	}
444
 
458
 
445
	public void obtenirValeurEtRafraichir(Rafraichissable vueARafraichir, String listeId, String identifiantValeur, Sequenceur sequenceur)	{
459
	public void obtenirValeurEtRafraichir(Rafraichissable vueARafraichir, String listeId, String identifiantValeur, Sequenceur sequenceur)	{
446
		if (Mediateur.DEBUG) System.out.println("MEDIATEUR - selectionner  ValeurListe");
460
		if (Mediateur.DEBUG) System.out.println("MEDIATEUR - selectionner  ValeurListe");
447
		Integer numeroSequence = null;
461
		Integer numeroSequence = null;
448
		if (sequenceur != null)	{
462
		if (sequenceur != null)	{
449
			numeroSequence = sequenceur.lancerRequeteSynchrone(vueARafraichir);
463
			numeroSequence = sequenceur.lancerRequeteSynchrone(vueARafraichir);
450
			vueARafraichir = sequenceur;
464
			vueARafraichir = sequenceur;
451
		}
465
		}
452
		modele.obtenirValeur(vueARafraichir, "identifiant", ((Configuration) Registry.get(RegistreId.CONFIG)).getListeId(listeId), identifiantValeur, numeroSequence);
466
		modele.obtenirValeur(vueARafraichir, "identifiant", ((Configuration) Registry.get(RegistreId.CONFIG)).getListeId(listeId), identifiantValeur, numeroSequence);
453
	}
467
	}
454
 
468
 
455
	public void obtenirListeRegionsEtRafraichir(Rafraichissable vueARafraichir, String strListeId, String strPays)	{
469
	public void obtenirListeRegionsEtRafraichir(Rafraichissable vueARafraichir, String strListeId, String strPays)	{
456
		if (Mediateur.DEBUG) System.out.println("MEDIATEUR - selectionner  obtenirListeRegions");
470
		if (Mediateur.DEBUG) System.out.println("MEDIATEUR - selectionner  obtenirListeRegions");
457
		modele.obtenirListeRegion(vueARafraichir, ((Configuration) Registry.get(RegistreId.CONFIG)).getListeId(strListeId), strPays+".__");
471
		modele.obtenirListeRegion(vueARafraichir, ((Configuration) Registry.get(RegistreId.CONFIG)).getListeId(strListeId), strPays+".__");
458
	}
472
	}
459
 
473
 
460
	//+----------------------------------------------------------------------------------------------------------------+
474
	//+----------------------------------------------------------------------------------------------------------------+
461
	//												GESTION des APPLETS de l'ACCUEIL
475
	//												GESTION des APPLETS de l'ACCUEIL
462
	//+----------------------------------------------------------------------------------------------------------------+
476
	//+----------------------------------------------------------------------------------------------------------------+
463
	
477
	
464
	public void afficherAccueil() {
478
	public void afficherAccueil() {
465
		if (!(panneauCentre.getContenu() instanceof AccueilVue)) {				
479
		if (!(panneauCentre.getContenu() instanceof AccueilVue)) {				
466
			panneauCentre.removeAll();
480
			panneauCentre.removeAll();
467
			panneauCentre.add(new AccueilVue(this));
481
			panneauCentre.add(new AccueilVue(this));
468
		}
482
		}
469
		else {
483
		else {
470
			desactiverChargement();
484
			desactiverChargement();
471
		}
485
		}
472
	}
486
	}
473
	
487
	
474
	//+----------------------------------------------------------------------------------------------------------------+
488
	//+----------------------------------------------------------------------------------------------------------------+
475
	//												GESTION des PROJETS
489
	//												GESTION des PROJETS
476
	//+----------------------------------------------------------------------------------------------------------------+
490
	//+----------------------------------------------------------------------------------------------------------------+
477
	
491
	
478
	public void afficherFormProjet(String projetId) {
492
	public void afficherFormProjet(String projetId) {
479
		panneauCentre.removeAll();
493
		panneauCentre.removeAll();
480
		ProjetForm projetForm = new ProjetForm(this, projetId);
494
		ProjetForm projetForm = new ProjetForm(this, projetId);
481
		panneauCentre.add(projetForm);
495
		panneauCentre.add(projetForm);
482
		
496
		
483
		panneauCentre.layout();
497
		panneauCentre.layout();
484
	}
498
	}
485
	
499
	
486
	public void afficherListeProjets(ProjetListe projetsACharger)	{
500
	public void afficherListeProjets(ProjetListe projetsACharger)	{
487
		if (!(panneauCentre.getContenu() instanceof ProjetVue))	{
501
		if (!(panneauCentre.getContenu() instanceof ProjetVue))	{
488
			panneauCentre.removeAll();
502
			panneauCentre.removeAll();
489
			panneauCentre.add(new ProjetVue(this));
503
			panneauCentre.add(new ProjetVue(this));
490
			panneauCentre.setId(ComposantId.PANNEAU_PROJET_LISTE);
504
			panneauCentre.setId(ComposantId.PANNEAU_PROJET_LISTE);
491
			panneauCentre.layout();
505
			panneauCentre.layout();
492
		}	
506
		}	
493
		
507
		
494
		panneauCentre.getContenu().rafraichir(projetsACharger);
508
		panneauCentre.getContenu().rafraichir(projetsACharger);
495
		mettreFiltreAJour(projetsACharger);
509
		mettreFiltreAJour(projetsACharger);
496
	}
510
	}
497
	
511
	
498
	public void mettreFiltreAJour(ProjetListe projetsACharger) {
512
	public void mettreFiltreAJour(ProjetListe projetsACharger) {
499
		panneauOuest.getFiltre().rafraichir(projetsACharger);	
513
		panneauOuest.getFiltre().rafraichir(projetsACharger);	
500
	}
514
	}
501
	
515
	
502
	public void mettreFiltreAJour(List<Projet> projetsACharger) {
516
	public void mettreFiltreAJour(List<Projet> projetsACharger) {
503
		panneauOuest.getFiltre().rafraichir(projetsACharger);	
517
		panneauOuest.getFiltre().rafraichir(projetsACharger);	
504
	}
518
	}
505
	
519
	
506
	public void clicListeProjet(Projet projet) {
520
	public void clicListeProjet(Projet projet) {
507
		panneauCentre.getContenu().rafraichir(projet);
521
		panneauCentre.getContenu().rafraichir(projet);
508
	}
522
	}
509
 
523
 
510
	public void clicSupprimerProjet(final List<Projet> projetListe) {
524
	public void clicSupprimerProjet(final List<Projet> projetListe) {
511
		if (projetListe.size() <= 0) {
525
		if (projetListe.size() <= 0) {
512
			MessageBox.alert("Attention", "Vous devez sélectionner un projet", null); 
526
			MessageBox.alert("Attention", "Vous devez sélectionner un projet", null); 
513
		} else {
527
		} else {
514
			String message = "Voulez-vous vraiment supprimer ces projets ?";
528
			String message = "Voulez-vous vraiment supprimer ces projets ?";
515
			if (projetListe.size() == 1) {
529
			if (projetListe.size() == 1) {
516
				message = "Voulez-vous vraiment supprimer ce projet ?";
530
				message = "Voulez-vous vraiment supprimer ce projet ?";
517
			}
531
			}
518
			
532
			
519
			final Listener<MessageBoxEvent> listenerSuppression = new Listener<MessageBoxEvent>() { 
533
			final Listener<MessageBoxEvent> listenerSuppression = new Listener<MessageBoxEvent>() { 
520
				public void handleEvent(MessageBoxEvent ce) {  
534
				public void handleEvent(MessageBoxEvent ce) {  
521
					Dialog dialog = (Dialog) ce.getComponent();
535
					Dialog dialog = (Dialog) ce.getComponent();
522
				    Button btn = ce.getButtonClicked();  
536
				    Button btn = ce.getButtonClicked();  
523
				    	   
537
				    	   
524
				    if (btn.getText().equals(dialog.yesText)) {
538
				    if (btn.getText().equals(dialog.yesText)) {
525
				    	modele.supprimerProjet(panneauCentre.getContenu(), projetListe);  
539
				    	modele.supprimerProjet(panneauCentre.getContenu(), projetListe);  
526
				    }
540
				    }
527
				}
541
				}
528
			};
542
			};
529
				     
543
				     
530
			MessageBox.confirm("Supprimer un projet", message, listenerSuppression);
544
			MessageBox.confirm("Supprimer un projet", message, listenerSuppression);
531
		}
545
		}
532
		
546
		
533
	}
547
	}
534
 
548
 
535
	public void clicModifierProjet(List<Projet> projetsSelectionnes) {
549
	public void clicModifierProjet(List<Projet> projetsSelectionnes) {
536
		if (projetsSelectionnes.size() == 0) {
550
		if (projetsSelectionnes.size() == 0) {
537
			InfoLogger.display("Information", "Veuillez sélectionner un projet.");
551
			InfoLogger.display("Information", "Veuillez sélectionner un projet.");
538
		} else if (projetsSelectionnes.size() > 1) {
552
		} else if (projetsSelectionnes.size() > 1) {
539
			InfoLogger.display("Information", "Veuillez sélectionner un seul projet à la fois.");
553
			InfoLogger.display("Information", "Veuillez sélectionner un seul projet à la fois.");
540
		} else if (projetsSelectionnes.size() == 1) {
554
		} else if (projetsSelectionnes.size() == 1) {
541
			afficherFormProjet(projetsSelectionnes.get(0).getId());
555
			afficherFormProjet(projetsSelectionnes.get(0).getId());
542
		} else {
556
		} else {
543
			InfoLogger.display("Erreur", "Une erreur est survenue dans la méthode clicModifierProjet() du Médiateur.");
557
			InfoLogger.display("Erreur", "Une erreur est survenue dans la méthode clicModifierProjet() du Médiateur.");
544
		}
558
		}
545
	}
559
	}
546
 
560
 
547
	public void clicAjouterProjet() {
561
	public void clicAjouterProjet() {
548
		afficherFormProjet(null);
562
		afficherFormProjet(null);
549
	}
563
	}
550
 
564
 
551
	/****************************************************************************************************
565
	/****************************************************************************************************
552
	/** selectionnerProjet(Rafraichissable vueARafraichir, String recherche, int start, int nbElements)
566
	/** selectionnerProjet(Rafraichissable vueARafraichir, String recherche, int start, int nbElements)
553
	/****************************************************************************************************
567
	/****************************************************************************************************
554
	 * Action :
568
	 * Action :
555
	 * --------
569
	 * --------
556
	 * -	Récupère un nombre défini de projets en s'aidant du nom partiel ou complet du projet. 
570
	 * -	Récupère un nombre défini de projets en s'aidant du nom partiel ou complet du projet. 
557
	 * 
571
	 * 
558
	 * Description des paramètres :
572
	 * Description des paramètres :
559
	 * ----------------------------
573
	 * ----------------------------
560
	 *  -	'vueARafraichir' référence l'objet à mettre à jour après réception des données.
574
	 *  -	'vueARafraichir' référence l'objet à mettre à jour après réception des données.
561
	 *  -	'recherche' est une chaîne de caractères représentant tout ou partie du nom d'un projet.
575
	 *  -	'recherche' est une chaîne de caractères représentant tout ou partie du nom d'un projet.
562
	 *  		Si la chaîne est vide, alors tous les projets sont recherchés.
576
	 *  		Si la chaîne est vide, alors tous les projets sont recherchés.
563
	 *  -	'start' et 'nbElements' sont les paramètres indispensables à la pagination. 'start'
577
	 *  -	'start' et 'nbElements' sont les paramètres indispensables à la pagination. 'start'
564
	 *  		est le paramètre qui décrit le numéro du tuple de départ et 'nbElements' le nombre
578
	 *  		est le paramètre qui décrit le numéro du tuple de départ et 'nbElements' le nombre
565
	 *  		d'éléments à collecter.
579
	 *  		d'éléments à collecter.
566
	 *  
580
	 *  
567
	 * Préconditions :
581
	 * Préconditions :
568
	 * ---------------
582
	 * ---------------
569
	 *  -	'vueARafraichir' doit être non NULL et référencer un objet implémentant l'interface
583
	 *  -	'vueARafraichir' doit être non NULL et référencer un objet implémentant l'interface
570
	 *  		'Rafraichissable'
584
	 *  		'Rafraichissable'
571
	 *  -	'recherche' doit être non NULL.
585
	 *  -	'recherche' doit être non NULL.
572
	 *  -	'start' doit être supérieur ou égal à zéro. 'nbElements' doit être supérieur à zéro.
586
	 *  -	'start' doit être supérieur ou égal à zéro. 'nbElements' doit être supérieur à zéro.
573
	 *  
587
	 *  
574
	 *****************************************************************************************************/
588
	 *****************************************************************************************************/
575
	public void selectionnerProjet(Rafraichissable vueARafraichir, String recherche, int start, int nbElements, Sequenceur sequenceur) {
589
	public void selectionnerProjet(Rafraichissable vueARafraichir, String recherche, int start, int nbElements, Sequenceur sequenceur) {
576
		if (Mediateur.DEBUG) System.out.println("MEDIATEUR - selectionner  Projet");
590
		if (Mediateur.DEBUG) System.out.println("MEDIATEUR - selectionner  Projet");
577
		Integer numeroSequence = null;
591
		Integer numeroSequence = null;
578
		if (sequenceur != null)	{
592
		if (sequenceur != null)	{
579
			numeroSequence = sequenceur.lancerRequeteSynchrone(vueARafraichir);
593
			numeroSequence = sequenceur.lancerRequeteSynchrone(vueARafraichir);
580
			vueARafraichir = sequenceur;
594
			vueARafraichir = sequenceur;
581
		}
595
		}
582
		modele.selectionnerProjet(vueARafraichir, recherche, start, nbElements, numeroSequence);
596
		modele.selectionnerProjet(vueARafraichir, recherche, start, nbElements, numeroSequence);
583
	}
597
	}
584
	
598
	
585
	/** Cette méthode est un "wrapper" **/
599
	/** Cette méthode est un "wrapper" **/
586
	public void selectionnerProjet(Rafraichissable vueARafraichir, String projetId, String formatRetour, boolean paginationProgressive, Sequenceur sequenceur) {
600
	public void selectionnerProjet(Rafraichissable vueARafraichir, String projetId, String formatRetour, boolean paginationProgressive, Sequenceur sequenceur) {
587
		selectionnerProjet(vueARafraichir, projetId, null, 0, this.nbElements, formatRetour, paginationProgressive, sequenceur);
601
		selectionnerProjet(vueARafraichir, projetId, null, 0, this.nbElements, formatRetour, paginationProgressive, sequenceur);
588
	}
602
	}
589
	
603
	
590
	public void selectionnerProjet(Rafraichissable vueARafraichir, String projetId, String nom, int start, int nbElements, String formatRetour, boolean paginationProgressive, Sequenceur sequenceur) {
604
	public void selectionnerProjet(Rafraichissable vueARafraichir, String projetId, String nom, int start, int nbElements, String formatRetour, boolean paginationProgressive, Sequenceur sequenceur) {
591
		if (Mediateur.DEBUG) System.out.println("MEDIATEUR - selectionner  Projet");
605
		if (Mediateur.DEBUG) System.out.println("MEDIATEUR - selectionner  Projet");
592
		Integer numeroSequence = null;
606
		Integer numeroSequence = null;
593
		if (sequenceur != null)	{
607
		if (sequenceur != null)	{
594
			numeroSequence = sequenceur.lancerRequeteSynchrone(vueARafraichir);
608
			numeroSequence = sequenceur.lancerRequeteSynchrone(vueARafraichir);
595
			vueARafraichir = sequenceur;
609
			vueARafraichir = sequenceur;
596
		}
610
		}
597
		modele.selectionnerProjet(vueARafraichir, projetId, nom, start, nbElements, formatRetour, paginationProgressive, numeroSequence);
611
		modele.selectionnerProjet(vueARafraichir, projetId, nom, start, nbElements, formatRetour, paginationProgressive, numeroSequence);
598
	}
612
	}
599
 
613
 
600
	/** AJOUTER **/
614
	/** AJOUTER **/
601
	public void ajouterProjet(Rafraichissable vueARafraichir, Projet projetCollecte) {
615
	public void ajouterProjet(Rafraichissable vueARafraichir, Projet projetCollecte) {
602
		modele.ajouterProjet(vueARafraichir, projetCollecte);
616
		modele.ajouterProjet(vueARafraichir, projetCollecte);
603
	}
617
	}
604
 
618
 
605
	/** MODIFIER **/
619
	/** MODIFIER **/
606
	public void modifierProjet(Rafraichissable vueARafraichir, Projet projetCollecte) {
620
	public void modifierProjet(Rafraichissable vueARafraichir, Projet projetCollecte) {
607
		modele.modifierProjet(vueARafraichir, projetCollecte);	
621
		modele.modifierProjet(vueARafraichir, projetCollecte);	
608
	}
622
	}
609
	
623
	
610
	//+----------------------------------------------------------------------------------------------------------------+
624
	//+----------------------------------------------------------------------------------------------------------------+
611
	// SELECTION : projet
625
	// SELECTION : projet
612
	/**
626
	/**
613
	 * Retourne l'identifiant du projet courrant de l'application.
627
	 * Retourne l'identifiant du projet courrant de l'application.
614
	 */
628
	 */
615
	public String getProjetId() {
629
	public String getProjetId() {
616
		String id = null;
630
		String id = null;
617
		Projet projetCourant = (Projet) Registry.get(RegistreId.PROJET_COURANT);
631
		Projet projetCourant = (Projet) Registry.get(RegistreId.PROJET_COURANT);
618
		if (projetCourant != null && !projetCourant.getId().equals("")) {
632
		if (projetCourant != null && !projetCourant.getId().equals("")) {
619
			id = projetCourant.getId();
633
			id = projetCourant.getId();
620
		}
634
		}
621
		return id;
635
		return id;
622
	}
636
	}
623
		
637
		
624
	public void selectionnerProjetCourant(Projet projetSelectionne) {
638
	public void selectionnerProjetCourant(Projet projetSelectionne) {
625
		Registry.register(RegistreId.PROJET_COURANT, projetSelectionne);
639
		Registry.register(RegistreId.PROJET_COURANT, projetSelectionne);
626
		if (panneauCentre.getContenu() instanceof AccueilVue)	{
640
		if (panneauCentre.getContenu() instanceof AccueilVue)	{
627
			desactiverChargement();
641
			desactiverChargement();
628
		} else if (panneauCentre.getContenu() instanceof ProjetVue)	{
642
		} else if (panneauCentre.getContenu() instanceof ProjetVue)	{
629
			selectionnerProjet(panneauCentre.getContenu(), null, null, false, null);
643
			selectionnerProjet(panneauCentre.getContenu(), null, null, false, null);
630
		} else if (panneauCentre.getContenu() instanceof StructureVue)	{
644
		} else if (panneauCentre.getContenu() instanceof StructureVue)	{
631
			selectionnerStructure(panneauCentre.getContenu(), null, null);
645
			selectionnerStructure(panneauCentre.getContenu(), null, null);
632
		} else if (panneauCentre.getContenu() instanceof CollectionVue)	{
646
		} else if (panneauCentre.getContenu() instanceof CollectionVue)	{
633
			selectionnerCollection(panneauCentre.getContenu(), null, null, null);
647
			selectionnerCollection(panneauCentre.getContenu(), null, null, null);
634
		} else if (panneauCentre.getContenu() instanceof PersonneVue) {
648
		} else if (panneauCentre.getContenu() instanceof PersonneVue) {
635
			selectionnerPersonne(panneauCentre.getContenu(), null, getProjetId(), null);
649
			selectionnerPersonne(panneauCentre.getContenu(), null, getProjetId(), null);
636
		} else if (panneauCentre.getContenu() instanceof PublicationVue) {
650
		} else if (panneauCentre.getContenu() instanceof PublicationVue) {
637
			selectionnerPublication(panneauCentre.getContenu(), null, null);
651
			selectionnerPublication(panneauCentre.getContenu(), null, null);
638
		} else if (panneauCentre.getContenu() instanceof CommentaireVue) {
652
		} else if (panneauCentre.getContenu() instanceof CommentaireVue) {
639
			selectionnerCommentaire(panneauCentre.getContenu(), null, null);
653
			selectionnerCommentaire(panneauCentre.getContenu(), null, null);
640
		}
654
		}
641
	}
655
	}
642
	
656
	
643
	
657
	
644
	//+----------------------------------------------------------------------------------------------------------------+
658
	//+----------------------------------------------------------------------------------------------------------------+
645
	//												GESTION DES STRUCTURES
659
	//												GESTION DES STRUCTURES
646
	//+----------------------------------------------------------------------------------------------------------------+
660
	//+----------------------------------------------------------------------------------------------------------------+
647
 
661
 
648
	public void afficherListeStructures(StructureListe structuresACharger) {
662
	public void afficherListeStructures(StructureListe structuresACharger) {
649
		if (!(panneauCentre.getContenu() instanceof StructureVue))	{	
663
		if (!(panneauCentre.getContenu() instanceof StructureVue))	{	
650
			panneauCentre.removeAll();
664
			panneauCentre.removeAll();
651
			panneauCentre.add(new StructureVue(this));
665
			panneauCentre.add(new StructureVue(this));
652
		}
666
		}
653
		panneauCentre.getContenu().rafraichir(structuresACharger);
667
		panneauCentre.getContenu().rafraichir(structuresACharger);
654
	}
668
	}
655
	
669
	
656
	public void afficherFormStructure(String structureId) {
670
	public void afficherFormStructure(String structureId) {
657
		String mode = Formulaire.MODE_AJOUTER;
671
		String mode = Formulaire.MODE_AJOUTER;
658
		if (structureId != null) {
672
		if (structureId != null) {
659
			mode = Formulaire.MODE_MODIFIER;
673
			mode = Formulaire.MODE_MODIFIER;
660
		}
674
		}
661
		
675
		
662
		panneauCentre.removeAll();
676
		panneauCentre.removeAll();
663
		Sequenceur sequenceur = new Sequenceur();
677
		Sequenceur sequenceur = new Sequenceur();
664
		StructureForm structureForm = new StructureForm(this, mode, sequenceur);
678
		StructureForm structureForm = new StructureForm(this, mode, sequenceur);
665
		panneauCentre.add(structureForm);
679
		panneauCentre.add(structureForm);
666
		
680
		
667
		if (mode.equals(Formulaire.MODE_MODIFIER)) {
681
		if (mode.equals(Formulaire.MODE_MODIFIER)) {
668
			selectionnerStructure(structureForm, structureId, sequenceur);
682
			selectionnerStructure(structureForm, structureId, sequenceur);
669
			selectionnerStructureAPersonne(structureForm, structureId, StructureAPersonne.ROLE_EQUIPE, sequenceur);
683
			selectionnerStructureAPersonne(structureForm, structureId, StructureAPersonne.ROLE_EQUIPE, sequenceur);
670
		}
684
		}
671
		
685
		
672
		panneauCentre.layout();
686
		panneauCentre.layout();
673
	}
687
	}
674
	
688
	
675
	public void clicListeStructure(Structure structure) {
689
	public void clicListeStructure(Structure structure) {
676
		panneauCentre.getContenu().rafraichir(structure);
690
		panneauCentre.getContenu().rafraichir(structure);
677
		if (structure != null && structure.getPersonnel() == null) {
691
		if (structure != null && structure.getPersonnel() == null) {
678
			selectionnerStructureAPersonne(panneauCentre.getContenu(), structure.getId(), StructureAPersonne.ROLE_EQUIPE, null);
692
			selectionnerStructureAPersonne(panneauCentre.getContenu(), structure.getId(), StructureAPersonne.ROLE_EQUIPE, null);
679
		}
693
		}
680
	}
694
	}
681
 
695
 
682
	public void clicAjouterStructure() {
696
	public void clicAjouterStructure() {
683
		afficherFormStructure(null);
697
		afficherFormStructure(null);
684
	}
698
	}
685
	
699
	
686
	public void clicModifierStructure(List<Structure> structureSelection) {
700
	public void clicModifierStructure(List<Structure> structureSelection) {
687
		if (structureSelection.size() == 0) {
701
		if (structureSelection.size() == 0) {
688
			InfoLogger.display("Information", "Veuillez sélectionner une structure.");
702
			InfoLogger.display("Information", "Veuillez sélectionner une structure.");
689
		} else if (structureSelection.size() > 1) {
703
		} else if (structureSelection.size() > 1) {
690
			InfoLogger.display("Information", "Veuillez sélectionner une seule structure à la fois.");
704
			InfoLogger.display("Information", "Veuillez sélectionner une seule structure à la fois.");
691
		} else if (structureSelection.size() == 1) {
705
		} else if (structureSelection.size() == 1) {
692
			afficherFormStructure(structureSelection.get(0).getId());
706
			afficherFormStructure(structureSelection.get(0).getId());
693
		} else {
707
		} else {
694
			InfoLogger.display("Erreur", "Une erreur est survenue dans la méthode clicModifierStructure() du Médiateur.");
708
			InfoLogger.display("Erreur", "Une erreur est survenue dans la méthode clicModifierStructure() du Médiateur.");
695
		}
709
		}
696
	}
710
	}
697
	
711
	
698
	public void clicSupprimerStructure(final Rafraichissable vue, final List<Structure> structureSelection) {
712
	public void clicSupprimerStructure(final Rafraichissable vue, final List<Structure> structureSelection) {
699
		if (structureSelection.size() == 0) {
713
		if (structureSelection.size() == 0) {
700
			InfoLogger.display("Information", "Veuillez sélectionner une structure.");
714
			InfoLogger.display("Information", "Veuillez sélectionner une structure.");
701
		} else if(structureSelection.size() > 0) {
715
		} else if(structureSelection.size() > 0) {
702
			String titre = "Supprimer des structures";
716
			String titre = "Supprimer des structures";
703
			String message = "Êtes vous sur de vouloir supprimer les structures sélectionnées ?";
717
			String message = "Êtes vous sur de vouloir supprimer les structures sélectionnées ?";
704
			if (structureSelection.size() == 1) {
718
			if (structureSelection.size() == 1) {
705
				titre = "Supprimer une structure";
719
				titre = "Supprimer une structure";
706
				message = "Êtes vous sur de vouloir supprimer la structure sélectionnée ?";
720
				message = "Êtes vous sur de vouloir supprimer la structure sélectionnée ?";
707
			}
721
			}
708
			
722
			
709
			final Listener<MessageBoxEvent> suppressionEcouteur = new Listener<MessageBoxEvent>() { 
723
			final Listener<MessageBoxEvent> suppressionEcouteur = new Listener<MessageBoxEvent>() { 
710
				public void handleEvent(MessageBoxEvent ce) {  
724
				public void handleEvent(MessageBoxEvent ce) {  
711
					Dialog dialog = (Dialog) ce.getComponent();
725
					Dialog dialog = (Dialog) ce.getComponent();
712
					Button btn = ce.getButtonClicked();  
726
					Button btn = ce.getButtonClicked();  
713
 
727
 
714
					if (btn.getText().equals(dialog.yesText))	{
728
					if (btn.getText().equals(dialog.yesText))	{
715
						String idStr = "" ;
729
						String idStr = "" ;
716
						for(int i = 0 ; i < structureSelection.size() ; i++) {
730
						for(int i = 0 ; i < structureSelection.size() ; i++) {
717
							idStr += structureSelection.get(i).getId()+","; 
731
							idStr += structureSelection.get(i).getId()+","; 
718
						}
732
						}
719
						supprimerStructure(vue, idStr);
733
						supprimerStructure(vue, idStr);
720
					}
734
					}
721
				}
735
				}
722
			};
736
			};
723
			
737
			
724
			MessageBox.confirm(titre, message, suppressionEcouteur);
738
			MessageBox.confirm(titre, message, suppressionEcouteur);
725
		} else {
739
		} else {
726
			InfoLogger.display("Erreur", "Une erreur est survenue dans la méthode clicSupprimerStructure() du Médiateur.");
740
			InfoLogger.display("Erreur", "Une erreur est survenue dans la méthode clicSupprimerStructure() du Médiateur.");
727
		}
741
		}
728
	}
742
	}
729
 
743
 
730
	/****************************************************************************************************
744
	/****************************************************************************************************
731
	/** selectionnerStructure(Rafraichissable vueARafraichir, String recherche, int start, int nbElements)
745
	/** selectionnerStructure(Rafraichissable vueARafraichir, String recherche, int start, int nbElements)
732
	/****************************************************************************************************
746
	/****************************************************************************************************
733
	 * Action :
747
	 * Action :
734
	 * --------
748
	 * --------
735
	 * -	Récupère un nombre défini de structures en s'aidant du nom partiel ou complet de la structure. 
749
	 * -	Récupère un nombre défini de structures en s'aidant du nom partiel ou complet de la structure. 
736
	 * 
750
	 * 
737
	 * Description des paramètres :
751
	 * Description des paramètres :
738
	 * ----------------------------
752
	 * ----------------------------
739
	 *  -	'vueARafraichir' référence l'objet à mettre à jour après réception des données.
753
	 *  -	'vueARafraichir' référence l'objet à mettre à jour après réception des données.
740
	 *  -	'recherche' est une chaîne de caractères représentant tout ou partie du nom d'une structure.
754
	 *  -	'recherche' est une chaîne de caractères représentant tout ou partie du nom d'une structure.
741
	 *  		Si la chaîne est vide, alors toutes les structures sont recherchées.
755
	 *  		Si la chaîne est vide, alors toutes les structures sont recherchées.
742
	 *  -	'start' et 'nbElements' sont les paramètres indispensables à la pagination. 'start'
756
	 *  -	'start' et 'nbElements' sont les paramètres indispensables à la pagination. 'start'
743
	 *  		est le paramètre qui décrit le numéro du tuple de départ et 'nbElements' le nombre
757
	 *  		est le paramètre qui décrit le numéro du tuple de départ et 'nbElements' le nombre
744
	 *  		d'éléments à collecter.
758
	 *  		d'éléments à collecter.
745
	 *  
759
	 *  
746
	 * Préconditions :
760
	 * Préconditions :
747
	 * ---------------
761
	 * ---------------
748
	 *  -	'vueARafraichir' doit être non NULL et référencer un objet implémentant l'interface
762
	 *  -	'vueARafraichir' doit être non NULL et référencer un objet implémentant l'interface
749
	 *  		'Rafraichissable'
763
	 *  		'Rafraichissable'
750
	 *  -	'recherche' doit être non NULL.
764
	 *  -	'recherche' doit être non NULL.
751
	 *  -	'start' doit être supérieur ou égal à zéro. 'nbElements' doit être supérieur à zéro.
765
	 *  -	'start' doit être supérieur ou égal à zéro. 'nbElements' doit être supérieur à zéro.
752
	 *  
766
	 *  
753
	 *****************************************************************************************************/
767
	 *****************************************************************************************************/
754
	public void selectionnerStructure(Rafraichissable vueARafraichir, String recherche, int start, int nbElements, Sequenceur sequenceur) {
768
	public void selectionnerStructure(Rafraichissable vueARafraichir, String recherche, int start, int nbElements, Sequenceur sequenceur) {
755
		if (Mediateur.DEBUG) System.out.println("MEDIATEUR - selectionner  Structure");
769
		if (Mediateur.DEBUG) System.out.println("MEDIATEUR - selectionner  Structure");
756
		Integer seqId = null;
770
		Integer seqId = null;
757
		if (sequenceur!=null)	{
771
		if (sequenceur!=null)	{
758
			seqId = sequenceur.lancerRequeteSynchrone(vueARafraichir);
772
			seqId = sequenceur.lancerRequeteSynchrone(vueARafraichir);
759
			vueARafraichir = sequenceur;
773
			vueARafraichir = sequenceur;
760
		}		
774
		}		
761
		modele.selectionnerStructure(vueARafraichir, recherche, start, nbElements, seqId);
775
		modele.selectionnerStructure(vueARafraichir, recherche, start, nbElements, seqId);
762
	}	
776
	}	
763
	
777
	
764
	public void selectionnerStructure(Rafraichissable vueARafraichir, String structureId, Sequenceur sequenceur) {
778
	public void selectionnerStructure(Rafraichissable vueARafraichir, String structureId, Sequenceur sequenceur) {
765
		if (Mediateur.DEBUG) System.out.println("MEDIATEUR - selectionner  Structure");
779
		if (Mediateur.DEBUG) System.out.println("MEDIATEUR - selectionner  Structure");
766
		Integer seqId = null;
780
		Integer seqId = null;
767
		if (sequenceur!=null)	{
781
		if (sequenceur!=null)	{
768
			seqId = sequenceur.lancerRequeteSynchrone(vueARafraichir);
782
			seqId = sequenceur.lancerRequeteSynchrone(vueARafraichir);
769
			vueARafraichir = sequenceur;
783
			vueARafraichir = sequenceur;
770
		}
784
		}
771
		modele.selectionnerStructure(vueARafraichir, getProjetId(), structureId, null, 0, nbElements, seqId);
785
		modele.selectionnerStructure(vueARafraichir, getProjetId(), structureId, null, 0, nbElements, seqId);
772
	}
786
	}
773
	
787
	
774
	public void selectionnerStructure(Rafraichissable vueARafraichir, String structureId, String projetId, String nom, int start, int nbElements, Sequenceur sequenceur)	{
788
	public void selectionnerStructure(Rafraichissable vueARafraichir, String structureId, String projetId, String nom, int start, int nbElements, Sequenceur sequenceur)	{
775
		if (Mediateur.DEBUG) System.out.println("MEDIATEUR - selectionner  Structure");
789
		if (Mediateur.DEBUG) System.out.println("MEDIATEUR - selectionner  Structure");
776
		Integer seqId = null;
790
		Integer seqId = null;
777
		if (sequenceur!=null)	{
791
		if (sequenceur!=null)	{
778
			seqId = sequenceur.lancerRequeteSynchrone(vueARafraichir);
792
			seqId = sequenceur.lancerRequeteSynchrone(vueARafraichir);
779
			vueARafraichir = sequenceur;
793
			vueARafraichir = sequenceur;
780
		}
794
		}
781
		modele.selectionnerStructure(vueARafraichir, getProjetId(), structureId, nom, start, nbElements, seqId);
795
		modele.selectionnerStructure(vueARafraichir, getProjetId(), structureId, nom, start, nbElements, seqId);
782
	}
796
	}
783
	
797
	
784
	public void selectionnerStructureParProjet(Rafraichissable vueARafraichir, String projetId, Sequenceur sequenceur) {
798
	public void selectionnerStructureParProjet(Rafraichissable vueARafraichir, String projetId, Sequenceur sequenceur) {
785
		if (Mediateur.DEBUG) System.out.println("MEDIATEUR - selectionner  Structure");
799
		if (Mediateur.DEBUG) System.out.println("MEDIATEUR - selectionner  Structure");
786
		Integer seqId = null;
800
		Integer seqId = null;
787
		if (sequenceur!=null)	{
801
		if (sequenceur!=null)	{
788
			seqId = sequenceur.lancerRequeteSynchrone(vueARafraichir);
802
			seqId = sequenceur.lancerRequeteSynchrone(vueARafraichir);
789
			vueARafraichir = sequenceur;
803
			vueARafraichir = sequenceur;
790
		}
804
		}
791
		modele.selectionnerStructure(vueARafraichir, projetId, null, null, 0, -1, seqId);
805
		modele.selectionnerStructure(vueARafraichir, projetId, null, null, 0, -1, seqId);
792
	}
806
	}
793
	
807
	
794
	/** AJOUTER **/
808
	/** AJOUTER **/
795
	public void ajouterStructure(Rafraichissable vueARafraichir, Structure structure, StructureConservation conservation, StructureValorisation valorisation) {
809
	public void ajouterStructure(Rafraichissable vueARafraichir, Structure structure, StructureConservation conservation, StructureValorisation valorisation) {
796
		modele.ajouterStructure(vueARafraichir, structure, conservation, valorisation);
810
		modele.ajouterStructure(vueARafraichir, structure, conservation, valorisation);
797
	}
811
	}
798
	
812
	
799
	/** MODIFIER **/
813
	/** MODIFIER **/
800
	public void modifierStructure(Rafraichissable vueARafraichir, String structureId, Structure structure, StructureConservation conservation, StructureValorisation valorisation) {
814
	public void modifierStructure(Rafraichissable vueARafraichir, String structureId, Structure structure, StructureConservation conservation, StructureValorisation valorisation) {
801
		modele.modifierStructure(vueARafraichir, structureId, structure, conservation, valorisation);
815
		modele.modifierStructure(vueARafraichir, structureId, structure, conservation, valorisation);
802
	}
816
	}
803
	
817
	
804
	/** SUPPRIMER **/
818
	/** SUPPRIMER **/
805
	public void supprimerStructure(Rafraichissable vueARafraichir, String IdentifiantsStructureSepareParVirgule) {
819
	public void supprimerStructure(Rafraichissable vueARafraichir, String IdentifiantsStructureSepareParVirgule) {
806
		modele.supprimerStructure(vueARafraichir, IdentifiantsStructureSepareParVirgule);
820
		modele.supprimerStructure(vueARafraichir, IdentifiantsStructureSepareParVirgule);
807
	}
821
	}
808
	
822
	
809
	//+----------------------------------------------------------------------------------------------------------------+
823
	//+----------------------------------------------------------------------------------------------------------------+
810
	// GESTION de la relation STRUCTURE A PERSONNE
824
	// GESTION de la relation STRUCTURE A PERSONNE
811
	public void selectionnerStructureAPersonne(Rafraichissable vueARafraichir, String structureId, String roleId, Sequenceur sequenceur) {
825
	public void selectionnerStructureAPersonne(Rafraichissable vueARafraichir, String structureId, String roleId, Sequenceur sequenceur) {
812
		if (Mediateur.DEBUG) System.out.println("MEDIATEUR - selectionner  StructureAPersonne");
826
		if (Mediateur.DEBUG) System.out.println("MEDIATEUR - selectionner  StructureAPersonne");
813
		Integer seqId = null;
827
		Integer seqId = null;
814
		if (sequenceur!=null)	{
828
		if (sequenceur!=null)	{
815
			seqId = sequenceur.lancerRequeteSynchrone(vueARafraichir);
829
			seqId = sequenceur.lancerRequeteSynchrone(vueARafraichir);
816
			vueARafraichir = sequenceur;
830
			vueARafraichir = sequenceur;
817
		}
831
		}
818
		modele.selectionnerStructureAPersonne(vueARafraichir, structureId, roleId, seqId);
832
		modele.selectionnerStructureAPersonne(vueARafraichir, structureId, roleId, seqId);
819
	}
833
	}
820
	
834
	
821
	/** AJOUTER **/
835
	/** AJOUTER **/
822
	public void ajouterStructureAPersonne(Rafraichissable vueARafraichir, String structureId, StructureAPersonneListe personnelAjoute) {
836
	public void ajouterStructureAPersonne(Rafraichissable vueARafraichir, String structureId, StructureAPersonneListe personnelAjoute) {
823
		if (personnelAjoute != null && personnelAjoute.size() > 0) {
837
		if (personnelAjoute != null && personnelAjoute.size() > 0) {
824
			for (Iterator<String> it = personnelAjoute.keySet().iterator(); it.hasNext();) {
838
			for (Iterator<String> it = personnelAjoute.keySet().iterator(); it.hasNext();) {
825
				modele.ajouterStructureAPersonne(vueARafraichir, structureId, (StructureAPersonne) personnelAjoute.get(it.next()));
839
				modele.ajouterStructureAPersonne(vueARafraichir, structureId, (StructureAPersonne) personnelAjoute.get(it.next()));
826
			}
840
			}
827
		}
841
		}
828
	}
842
	}
829
	
843
	
830
	/** MODIFIER **/
844
	/** MODIFIER **/
831
	public void modifierStructureAPersonne(Rafraichissable vueARafraichir, StructureAPersonneListe personnelModifie) {
845
	public void modifierStructureAPersonne(Rafraichissable vueARafraichir, StructureAPersonneListe personnelModifie) {
832
		if (personnelModifie != null && personnelModifie.size() > 0) {
846
		if (personnelModifie != null && personnelModifie.size() > 0) {
833
			for (Iterator<String> it = personnelModifie.keySet().iterator(); it.hasNext();) {
847
			for (Iterator<String> it = personnelModifie.keySet().iterator(); it.hasNext();) {
834
				modele.modifierStructureAPersonne(vueARafraichir, (StructureAPersonne) personnelModifie.get(it.next()));
848
				modele.modifierStructureAPersonne(vueARafraichir, (StructureAPersonne) personnelModifie.get(it.next()));
835
			}
849
			}
836
		}
850
		}
837
	}
851
	}
838
	
852
	
839
	/** SUPPRIMER **/
853
	/** SUPPRIMER **/
840
	public void supprimerStructureAPersonne(Rafraichissable vueARafraichir, StructureAPersonneListe personnelSupprime) {
854
	public void supprimerStructureAPersonne(Rafraichissable vueARafraichir, StructureAPersonneListe personnelSupprime) {
841
		if (personnelSupprime != null && personnelSupprime.size() > 0) {
855
		if (personnelSupprime != null && personnelSupprime.size() > 0) {
842
			String idStructureAPersonneSepareParVirgule = "" ;
856
			String idStructureAPersonneSepareParVirgule = "" ;
843
			Iterator<String> it = personnelSupprime.keySet().iterator();
857
			Iterator<String> it = personnelSupprime.keySet().iterator();
844
			while (it.hasNext()) {
858
			while (it.hasNext()) {
845
				idStructureAPersonneSepareParVirgule += personnelSupprime.get(it.next()).getId();
859
				idStructureAPersonneSepareParVirgule += personnelSupprime.get(it.next()).getId();
846
				idStructureAPersonneSepareParVirgule += (it.hasNext()) ? "," : "";
860
				idStructureAPersonneSepareParVirgule += (it.hasNext()) ? "," : "";
847
			}
861
			}
848
			supprimerStructureAPersonne(vueARafraichir, idStructureAPersonneSepareParVirgule);
862
			supprimerStructureAPersonne(vueARafraichir, idStructureAPersonneSepareParVirgule);
849
		}
863
		}
850
	}
864
	}
851
	
865
	
852
	public void supprimerStructureAPersonne(Rafraichissable vueARafraichir, String idStructureAPersonneSeparesParVirgule) {
866
	public void supprimerStructureAPersonne(Rafraichissable vueARafraichir, String idStructureAPersonneSeparesParVirgule) {
853
		modele.supprimerStructureAPersonne(vueARafraichir, idStructureAPersonneSeparesParVirgule);
867
		modele.supprimerStructureAPersonne(vueARafraichir, idStructureAPersonneSeparesParVirgule);
854
	}
868
	}
855
	
869
	
856
	public void supprimerStructureAPersonne(final Rafraichissable vueARafraichir, final List<Structure> structuresListe) {
870
	public void supprimerStructureAPersonne(final Rafraichissable vueARafraichir, final List<Structure> structuresListe) {
857
		if (structuresListe.size() != 0) {
871
		if (structuresListe.size() != 0) {
858
			String idStructureSepareParVirgule = "" ;
872
			String idStructureSepareParVirgule = "" ;
859
			Iterator<Structure> it = structuresListe.iterator();
873
			Iterator<Structure> it = structuresListe.iterator();
860
			while (it.hasNext()) {
874
			while (it.hasNext()) {
861
				Structure structure = it.next();
875
				Structure structure = it.next();
862
				idStructureSepareParVirgule += structure.getId();
876
				idStructureSepareParVirgule += structure.getId();
863
				idStructureSepareParVirgule += it.hasNext() ? "," : "";
877
				idStructureSepareParVirgule += it.hasNext() ? "," : "";
864
			}
878
			}
865
			supprimerStructureAPersonne(vueARafraichir, idStructureSepareParVirgule);
879
			supprimerStructureAPersonne(vueARafraichir, idStructureSepareParVirgule);
866
		}
880
		}
867
	}
881
	}
868
	
882
	
869
	//+----------------------------------------------------------------------------------------------------------------+
883
	//+----------------------------------------------------------------------------------------------------------------+
870
	//												GESTION des COLLECTIONS
884
	//												GESTION des COLLECTIONS
871
	//+----------------------------------------------------------------------------------------------------------------+
885
	//+----------------------------------------------------------------------------------------------------------------+
872
	
886
	
873
	public void afficherListeCollections(CollectionListe collectionsACharger) {
887
	public void afficherListeCollections(CollectionListe collectionsACharger) {
874
		if (!(panneauCentre.getContenu() instanceof CollectionVue)) {
888
		if (!(panneauCentre.getContenu() instanceof CollectionVue)) {
875
			panneauCentre.removeAll();
889
			panneauCentre.removeAll();
876
			panneauCentre.add(new CollectionVue(this));
890
			panneauCentre.add(new CollectionVue(this));
877
		}
891
		}
878
		
892
		
879
		panneauCentre.getContenu().rafraichir(collectionsACharger);
893
		panneauCentre.getContenu().rafraichir(collectionsACharger);
880
	}
894
	}
881
	
895
	
882
	public void afficherFormCollection(String collectionId) {
896
	public void afficherFormCollection(String collectionId) {
883
		panneauCentre.removeAll();
897
		panneauCentre.removeAll();
884
		CollectionForm collectionForm = new CollectionForm(this, collectionId);
898
		CollectionForm collectionForm = new CollectionForm(this, collectionId);
885
		panneauCentre.add(collectionForm);
899
		panneauCentre.add(collectionForm);
886
		
900
		
887
		panneauCentre.layout();
901
		panneauCentre.layout();
888
	}
902
	}
889
	
903
	
890
	public void clicListeCollection(Collection collectionCliquee) {
904
	public void clicListeCollection(Collection collectionCliquee) {
891
		panneauCentre.getContenu().rafraichir(collectionCliquee);
905
		panneauCentre.getContenu().rafraichir(collectionCliquee);
892
		if (collectionCliquee != null) {
906
		if (collectionCliquee != null) {
893
			selectionnerCollectionAPersonne(panneauCentre.getContenu(), collectionCliquee.getId(), null, null);
907
			selectionnerCollectionAPersonne(panneauCentre.getContenu(), collectionCliquee.getId(), null, sequenceur);
894
			selectionnerCollectionAPublication(panneauCentre.getContenu(), collectionCliquee.getId(), null);
908
			selectionnerCollectionAPublication(panneauCentre.getContenu(), collectionCliquee.getId(), sequenceur);
895
			selectionnerCollectionACommentaire(panneauCentre.getContenu(), collectionCliquee.getId(), null);
909
			selectionnerCollectionACommentaire(panneauCentre.getContenu(), collectionCliquee.getId(), sequenceur);
896
		} 
910
		} 
897
	}
911
	}
898
	
912
	
899
	public void clicAjouterCollection() {
913
	public void clicAjouterCollection() {
900
		afficherFormCollection(null);
914
		afficherFormCollection(null);
901
	}
915
	}
902
 
916
 
903
	public void clicModifierCollection(List<Collection> selection) {
917
	public void clicModifierCollection(List<Collection> selection) {
904
		if (selection.size() == 0) {
918
		if (selection.size() == 0) {
905
			InfoLogger.display("Information", "Veuillez sélectionner une collection.");
919
			InfoLogger.display("Information", "Veuillez sélectionner une collection.");
906
		} else if (selection.size() > 1) {
920
		} else if (selection.size() > 1) {
907
			InfoLogger.display("Information", "Veuillez sélectionner une seule collection à la fois.");
921
			InfoLogger.display("Information", "Veuillez sélectionner une seule collection à la fois.");
908
		} else if (selection.size() == 1) {
922
		} else if (selection.size() == 1) {
909
			afficherFormCollection(selection.get(0).getId());
923
			afficherFormCollection(selection.get(0).getId());
910
		} else {
924
		} else {
911
			InfoLogger.display("Erreur", "Une erreur est survenue dans la méthode clicModifierCollection() du Médiateur.");
925
			InfoLogger.display("Erreur", "Une erreur est survenue dans la méthode clicModifierCollection() du Médiateur.");
912
		}
926
		}
913
	}
927
	}
914
 
928
 
915
	public void clicSupprimerCollection(CollectionListeVue collectionListeVue, final List<Collection> collectionsASupprimer) {
929
	public void clicSupprimerCollection(CollectionListeVue collectionListeVue, final List<Collection> collectionsASupprimer) {
916
		if (collectionsASupprimer.size() <= 0) {
930
		if (collectionsASupprimer.size() <= 0) {
917
			MessageBox.alert("Attention", "Vous devez sélectionner au moins une collection", null); 
931
			MessageBox.alert("Attention", "Vous devez sélectionner au moins une collection", null); 
918
		} else {
932
		} else {
919
			String message = "Voulez-vous vraiment supprimer ces collections ?";
933
			String message = "Voulez-vous vraiment supprimer ces collections ?";
920
			if (collectionsASupprimer.size() == 1) {
934
			if (collectionsASupprimer.size() == 1) {
921
				message = "Voulez-vous vraiment supprimer cette collection ?";
935
				message = "Voulez-vous vraiment supprimer cette collection ?";
922
			}
936
			}
923
			
937
			
924
			final Listener<MessageBoxEvent> listenerSuppression = new Listener<MessageBoxEvent>() { 
938
			final Listener<MessageBoxEvent> listenerSuppression = new Listener<MessageBoxEvent>() { 
925
				public void handleEvent(MessageBoxEvent ce) {  
939
				public void handleEvent(MessageBoxEvent ce) {  
926
					Dialog dialog = (Dialog) ce.getComponent();
940
					Dialog dialog = (Dialog) ce.getComponent();
927
				    Button btn = ce.getButtonClicked();  
941
				    Button btn = ce.getButtonClicked();  
928
				    	   
942
				    	   
929
				    if (btn.getText().equals(dialog.yesText)) {
943
				    if (btn.getText().equals(dialog.yesText)) {
930
				    	supprimerCollection(panneauCentre.getContenu(), collectionsASupprimer);
944
				    	supprimerCollection(panneauCentre.getContenu(), collectionsASupprimer);
931
				    }
945
				    }
932
				}
946
				}
933
			};
947
			};
934
				     
948
				     
935
			MessageBox.confirm("Supprimer une collection", message, listenerSuppression);
949
			MessageBox.confirm("Supprimer une collection", message, listenerSuppression);
936
		}	
950
		}	
937
	}
951
	}
938
 
952
 
939
	/** Cette méthode est un "wrapper" **/
953
	/** Cette méthode est un "wrapper" **/
940
	public void selectionnerCollection(Rafraichissable vueARafraichir, String collectionId, String nom, Sequenceur sequenceur) {
954
	public void selectionnerCollection(Rafraichissable vueARafraichir, String collectionId, String nom, Sequenceur sequenceur) {
941
		selectionnerCollection(vueARafraichir, collectionId, nom, 0, nbElements, sequenceur);
955
		selectionnerCollection(vueARafraichir, collectionId, nom, 0, nbElements, sequenceur);
942
	}
956
	}
943
	
957
	
944
	public void selectionnerCollection(Rafraichissable vueARafraichir, String collectionId, String nom, int start, int nbElements, Sequenceur sequenceur)	{
958
	public void selectionnerCollection(Rafraichissable vueARafraichir, String collectionId, String nom, int start, int nbElements, Sequenceur sequenceur)	{
945
		if (Mediateur.DEBUG) System.out.println("MEDIATEUR - selectionner  Collection");
959
		if (Mediateur.DEBUG) System.out.println("MEDIATEUR - selectionner  Collection");
946
		Integer seqId = null;
960
		Integer seqId = null;
947
		if (sequenceur!=null)	{
961
		if (sequenceur!=null)	{
948
			seqId = sequenceur.lancerRequeteSynchrone(vueARafraichir);
962
			seqId = sequenceur.lancerRequeteSynchrone(vueARafraichir);
949
			vueARafraichir = sequenceur;
963
			vueARafraichir = sequenceur;
950
		}
964
		}
951
		modele.selectionnerCollection(vueARafraichir, getProjetId(), collectionId, nom, start, nbElements, seqId);
965
		modele.selectionnerCollection(vueARafraichir, getProjetId(), collectionId, nom, start, nbElements, seqId);
952
	}
966
	}
953
	
967
	
954
	public void selectionnerCollectionParProjet(Rafraichissable vueARafraichir, String projetId, Sequenceur sequenceur) {
968
	public void selectionnerCollectionParProjet(Rafraichissable vueARafraichir, String projetId, Sequenceur sequenceur) {
955
		if (Mediateur.DEBUG) System.out.println("MEDIATEUR - selectionner  Collection");
969
		if (Mediateur.DEBUG) System.out.println("MEDIATEUR - selectionner  Collection");
956
		Integer seqId = null;
970
		Integer seqId = null;
957
		if (sequenceur!=null)	{
971
		if (sequenceur!=null)	{
958
			seqId = sequenceur.lancerRequeteSynchrone(vueARafraichir);
972
			seqId = sequenceur.lancerRequeteSynchrone(vueARafraichir);
959
			vueARafraichir = sequenceur;
973
			vueARafraichir = sequenceur;
960
		}
974
		}
961
		modele.selectionnerCollection(vueARafraichir, projetId, null, null, 0, -1, seqId);
975
		modele.selectionnerCollection(vueARafraichir, projetId, null, null, 0, -1, seqId);
962
	}
976
	}
963
	
977
	
964
	/****************************************************************************************************
978
	/****************************************************************************************************
965
	/** selectionnerCollection(Rafraichissable vueARafraichir, String recherche, int start, int nbElements)
979
	/** selectionnerCollection(Rafraichissable vueARafraichir, String recherche, int start, int nbElements)
966
	/****************************************************************************************************
980
	/****************************************************************************************************
967
	 * Action :
981
	 * Action :
968
	 * --------
982
	 * --------
969
	 * -	Récupère un nombre défini de collections en s'aidant du nom partiel ou complet de la collection. 
983
	 * -	Récupère un nombre défini de collections en s'aidant du nom partiel ou complet de la collection. 
970
	 * 
984
	 * 
971
	 * Description des paramètres :
985
	 * Description des paramètres :
972
	 * ----------------------------
986
	 * ----------------------------
973
	 *  -	'vueARafraichir' référence l'objet à mettre à jour après réception des données.
987
	 *  -	'vueARafraichir' référence l'objet à mettre à jour après réception des données.
974
	 *  -	'recherche' est une chaîne de caractères représentant tout ou partie du nom d'une collection.
988
	 *  -	'recherche' est une chaîne de caractères représentant tout ou partie du nom d'une collection.
975
	 *  		Si la chaîne est vide, alors toutes les collections sont recherchées.
989
	 *  		Si la chaîne est vide, alors toutes les collections sont recherchées.
976
	 *  -	'start' et 'nbElements' sont les paramètres indispensables à la pagination. 'start'
990
	 *  -	'start' et 'nbElements' sont les paramètres indispensables à la pagination. 'start'
977
	 *  		est le paramètre qui décrit le numéro du tuple de départ et 'nbElements' le nombre
991
	 *  		est le paramètre qui décrit le numéro du tuple de départ et 'nbElements' le nombre
978
	 *  		d'éléments à collecter.
992
	 *  		d'éléments à collecter.
979
	 *  
993
	 *  
980
	 * Préconditions :
994
	 * Préconditions :
981
	 * ---------------
995
	 * ---------------
982
	 *  -	'vueARafraichir' doit être non NULL et référencer un objet implémentant l'interface
996
	 *  -	'vueARafraichir' doit être non NULL et référencer un objet implémentant l'interface
983
	 *  		'Rafraichissable'
997
	 *  		'Rafraichissable'
984
	 *  -	'recherche' doit être non NULL.
998
	 *  -	'recherche' doit être non NULL.
985
	 *  -	'start' doit être supérieur ou égal à zéro. 'nbElements' doit être supérieur à zéro.
999
	 *  -	'start' doit être supérieur ou égal à zéro. 'nbElements' doit être supérieur à zéro.
986
	 *  
1000
	 *  
987
	 *****************************************************************************************************/
1001
	 *****************************************************************************************************/
988
	public void selectionnerCollection(Rafraichissable vueARafraichir, String recherche, int start, int nbElements, Sequenceur sequenceur)	{
1002
	public void selectionnerCollection(Rafraichissable vueARafraichir, String recherche, int start, int nbElements, Sequenceur sequenceur)	{
989
		if (Mediateur.DEBUG) System.out.println("MEDIATEUR - selectionner  Collection");
1003
		if (Mediateur.DEBUG) System.out.println("MEDIATEUR - selectionner  Collection");
990
		Integer seqId = null;
1004
		Integer seqId = null;
991
		if (sequenceur!=null)	{
1005
		if (sequenceur!=null)	{
992
			seqId = sequenceur.lancerRequeteSynchrone(vueARafraichir);
1006
			seqId = sequenceur.lancerRequeteSynchrone(vueARafraichir);
993
			vueARafraichir = sequenceur;
1007
			vueARafraichir = sequenceur;
994
		}
1008
		}
995
		modele.selectionnerCollection(vueARafraichir, recherche, start, nbElements, seqId);
1009
		modele.selectionnerCollection(vueARafraichir, recherche, start, nbElements, seqId);
996
	}
1010
	}
997
	/*
-
 
998
	public void selectionnerCollection(Rafraichissable vueARafraichir, Integer id, int start, int nbElements, Sequenceur sequenceur)	{
-
 
999
		if (Mediateur.DEBUG) System.out.println("MEDIATEUR - selectionner  Collection");
-
 
1000
		Integer seqId = null;
-
 
1001
		if (sequenceur!=null)	{
-
 
1002
			seqId = sequenceur.lancerRequeteSynchrone(vueARafraichir);
-
 
1003
			vueARafraichir = sequenceur;
-
 
1004
		}
-
 
1005
		modele.selectionnerCollection(vueARafraichir, id, start, nbElements, seqId);
-
 
1006
	}	*/
-
 
1007
	
1011
	
1008
	/** AJOUTER **/
1012
	/** AJOUTER **/
1009
	public void ajouterCollection(Rafraichissable vueARafraichir, Collection collection) {
1013
	public void ajouterCollection(Rafraichissable vueARafraichir, Collection collection) {
1010
		modele.ajouterCollection(vueARafraichir, collection);
1014
		modele.ajouterCollection(vueARafraichir, collection);
1011
	}
1015
	}
1012
	
1016
	
1013
	/** MODIFIER **/
1017
	/** MODIFIER **/
1014
	public void modifierCollection(Rafraichissable vueARafraichir, Collection collection) {
1018
	public void modifierCollection(Rafraichissable vueARafraichir, Collection collection) {
1015
		modele.modifierCollection(vueARafraichir, collection);
1019
		modele.modifierCollection(vueARafraichir, collection);
1016
	}
1020
	}
1017
	
1021
	
1018
	/** SUPPRIMER **/
1022
	/** SUPPRIMER **/
1019
	public void supprimerCollection(Rafraichissable vueARafraichir, List<Collection> collectionsListe) {
1023
	public void supprimerCollection(Rafraichissable vueARafraichir, List<Collection> collectionsListe) {
1020
		if (collectionsListe != null && collectionsListe.size() > 0) {
1024
		if (collectionsListe != null && collectionsListe.size() > 0) {
1021
			String idCollectionSeparesParVirgule = "" ;
1025
			String idCollectionSeparesParVirgule = "" ;
1022
			Iterator<Collection> it = collectionsListe.iterator();
1026
			Iterator<Collection> it = collectionsListe.iterator();
1023
			while (it.hasNext()) {
1027
			while (it.hasNext()) {
1024
				idCollectionSeparesParVirgule += it.next().getId();
1028
				idCollectionSeparesParVirgule += it.next().getId();
1025
				if (it.hasNext()) {
1029
				if (it.hasNext()) {
1026
					idCollectionSeparesParVirgule += ",";
1030
					idCollectionSeparesParVirgule += ",";
1027
				}
1031
				}
1028
			}
1032
			}
1029
			modele.supprimerCollection(vueARafraichir, idCollectionSeparesParVirgule);
1033
			modele.supprimerCollection(vueARafraichir, idCollectionSeparesParVirgule);
1030
			modele.supprimerCollectionAPersonne(vueARafraichir, idCollectionSeparesParVirgule);
1034
			modele.supprimerCollectionAPersonne(vueARafraichir, idCollectionSeparesParVirgule);
1031
			modele.supprimerCollectionAPublication(vueARafraichir, idCollectionSeparesParVirgule);
1035
			modele.supprimerCollectionAPublication(vueARafraichir, idCollectionSeparesParVirgule);
1032
			//modele.supprimerCollectionACommentaire(vueARafraichir, idCollectionSeparesParVirgule);
1036
			//modele.supprimerCollectionACommentaire(vueARafraichir, idCollectionSeparesParVirgule);
1033
		}
1037
		}
1034
		
1038
		
1035
	}
1039
	}
1036
	
1040
	
1037
	//+----------------------------------------------------------------------------------------------------------------+
1041
	//+----------------------------------------------------------------------------------------------------------------+
1038
	// GESTION de la relation COLLECTION A PERSONNE
1042
	// GESTION de la relation COLLECTION A PERSONNE
-
 
1043
	
-
 
1044
	public void selectionnerCollectionAPersonne(Rafraichissable vueARafraichir, String collectionId, String roleId, String recherche, int start, int nbElements, Sequenceur sequenceur)	{
-
 
1045
		if (Mediateur.DEBUG) System.out.println("MEDIATEUR - selectionner  CollectionAPersonne");
-
 
1046
		Integer seqId = null;
-
 
1047
		if (sequenceur!=null)	{
-
 
1048
			seqId = sequenceur.lancerRequeteSynchrone(vueARafraichir);
-
 
1049
			vueARafraichir = sequenceur;
-
 
1050
		}
-
 
1051
		modele.selectionnerCollectionAPersonne(vueARafraichir, collectionId, roleId, recherche, start, nbElements, seqId);
-
 
1052
	}
1039
	
1053
	
1040
	public void selectionnerCollectionAPersonne(Rafraichissable vueARafraichir, String collectionId, String roleId, Sequenceur sequenceur) {
1054
	public void selectionnerCollectionAPersonne(Rafraichissable vueARafraichir, String collectionId, String roleId, Sequenceur sequenceur) {
1041
		if (Mediateur.DEBUG) System.out.println("MEDIATEUR - selectionner  CollectionAPersonne");
1055
		if (Mediateur.DEBUG) System.out.println("MEDIATEUR - selectionner  CollectionAPersonne");
1042
		Integer seqId = null;
1056
		Integer seqId = null;
1043
		if (sequenceur!=null)	{
1057
		if (sequenceur!=null)	{
1044
			seqId = sequenceur.lancerRequeteSynchrone(vueARafraichir);
1058
			seqId = sequenceur.lancerRequeteSynchrone(vueARafraichir);
1045
			vueARafraichir = sequenceur;
1059
			vueARafraichir = sequenceur;
1046
		}
1060
		}
1047
		modele.selectionnerCollectionAPersonne(vueARafraichir, collectionId, roleId, seqId);
1061
		modele.selectionnerCollectionAPersonne(vueARafraichir, collectionId, roleId, seqId);
1048
	}
1062
	}
1049
	
1063
	
1050
	/** AJOUTER **/
1064
	/** AJOUTER **/
1051
	public void ajouterCollectionAPersonne(Rafraichissable vueARafraichir, String collectionId, CollectionAPersonneListe personnesAjoutees) {
1065
	public void ajouterCollectionAPersonne(Rafraichissable vueARafraichir, String collectionId, CollectionAPersonneListe personnesAjoutees) {
1052
		if (personnesAjoutees != null && personnesAjoutees.size() > 0) {
1066
		if (personnesAjoutees != null && personnesAjoutees.size() > 0) {
1053
			for (Iterator<String> it = personnesAjoutees.keySet().iterator(); it.hasNext();) {
1067
			for (Iterator<String> it = personnesAjoutees.keySet().iterator(); it.hasNext();) {
1054
				modele.ajouterCollectionAPersonne(vueARafraichir, collectionId, (CollectionAPersonne) personnesAjoutees.get(it.next()));
1068
				modele.ajouterCollectionAPersonne(vueARafraichir, collectionId, (CollectionAPersonne) personnesAjoutees.get(it.next()));
1055
			}
1069
			}
1056
		}
1070
		}
1057
	}
1071
	}
1058
	
1072
	
1059
	/** MODIFIER **/
1073
	/** MODIFIER **/
1060
	public void modifierCollectionAPersonne(Rafraichissable vueARafraichir, CollectionAPersonneListe personnesModifiees) {
1074
	public void modifierCollectionAPersonne(Rafraichissable vueARafraichir, CollectionAPersonneListe personnesModifiees) {
1061
		if (personnesModifiees != null && personnesModifiees.size() > 0) {
1075
		if (personnesModifiees != null && personnesModifiees.size() > 0) {
1062
			for (Iterator<String> it = personnesModifiees.keySet().iterator(); it.hasNext();) {
1076
			for (Iterator<String> it = personnesModifiees.keySet().iterator(); it.hasNext();) {
1063
				modele.modifierCollectionAPersonne(vueARafraichir, (CollectionAPersonne) personnesModifiees.get(it.next()));
1077
				modele.modifierCollectionAPersonne(vueARafraichir, (CollectionAPersonne) personnesModifiees.get(it.next()));
1064
			}
1078
			}
1065
		}
1079
		}
1066
	}
1080
	}
1067
	
1081
	
1068
	/** SUPPRIMER **/
1082
	/** SUPPRIMER **/
1069
	public void supprimerCollectionAPersonne(Rafraichissable vueARafraichir, CollectionAPersonneListe personnesSupprimees) {
1083
	public void supprimerCollectionAPersonne(Rafraichissable vueARafraichir, CollectionAPersonneListe personnesSupprimees) {
1070
		if (personnesSupprimees != null && personnesSupprimees.size() > 0) {
1084
		if (personnesSupprimees != null && personnesSupprimees.size() > 0) {
1071
			String idCollectionAPersonneSeparesParVirgule = "" ;
1085
			String idCollectionAPersonneSeparesParVirgule = "" ;
1072
			for (Iterator<String> it = personnesSupprimees.keySet().iterator(); it.hasNext();) {
1086
			for (Iterator<String> it = personnesSupprimees.keySet().iterator(); it.hasNext();) {
1073
				idCollectionAPersonneSeparesParVirgule += personnesSupprimees.get(it.next()).getId();
1087
				idCollectionAPersonneSeparesParVirgule += personnesSupprimees.get(it.next()).getId();
1074
				if (it.hasNext()) {
1088
				if (it.hasNext()) {
1075
					idCollectionAPersonneSeparesParVirgule += ",";
1089
					idCollectionAPersonneSeparesParVirgule += ",";
1076
				}
1090
				}
1077
			}
1091
			}
1078
			modele.supprimerCollectionAPersonne(vueARafraichir, idCollectionAPersonneSeparesParVirgule);
1092
			modele.supprimerCollectionAPersonne(vueARafraichir, idCollectionAPersonneSeparesParVirgule);
1079
		}
1093
		}
1080
	}
1094
	}
1081
	
1095
	
1082
	//+----------------------------------------------------------------------------------------------------------------+
1096
	//+----------------------------------------------------------------------------------------------------------------+
1083
	// GESTION de la relation COLLECTION A PUBLICATION
1097
	// GESTION de la relation COLLECTION A PUBLICATION
1084
	
1098
	
1085
	public void selectionnerCollectionAPublication(Rafraichissable vueARafraichir, String collectionId, Sequenceur sequenceur) {
1099
	public void selectionnerCollectionAPublication(Rafraichissable vueARafraichir, String collectionId, Sequenceur sequenceur) {
1086
		if (Mediateur.DEBUG) System.out.println("MEDIATEUR - selectionner  CollectionAPublication");
1100
		if (Mediateur.DEBUG) System.out.println("MEDIATEUR - selectionner  CollectionAPublication");
1087
		Integer seqId = null;
1101
		Integer seqId = null;
1088
		if (sequenceur!=null)	{
1102
		if (sequenceur!=null)	{
1089
			seqId = sequenceur.lancerRequeteSynchrone(vueARafraichir);
1103
			seqId = sequenceur.lancerRequeteSynchrone(vueARafraichir);
1090
			vueARafraichir = sequenceur;
1104
			vueARafraichir = sequenceur;
1091
		}
1105
		}
1092
		modele.selectionnerCollectionAPublication(vueARafraichir, collectionId, seqId);
1106
		modele.selectionnerCollectionAPublication(vueARafraichir, collectionId, seqId);
1093
	}
1107
	}
1094
	
1108
	
1095
	public void ajouterCollectionAPublication(Rafraichissable vueARafraichir, String collectionId, CollectionAPublicationListe publicationsAjoutees) {
1109
	public void ajouterCollectionAPublication(Rafraichissable vueARafraichir, String collectionId, CollectionAPublicationListe publicationsAjoutees) {
1096
		if (publicationsAjoutees != null && publicationsAjoutees.size() > 0) {
1110
		if (publicationsAjoutees != null && publicationsAjoutees.size() > 0) {
1097
			for (Iterator<String> it = publicationsAjoutees.keySet().iterator(); it.hasNext();) {
1111
			for (Iterator<String> it = publicationsAjoutees.keySet().iterator(); it.hasNext();) {
1098
				modele.ajouterCollectionAPublication(vueARafraichir, collectionId, (CollectionAPublication) publicationsAjoutees.get(it.next()));
1112
				modele.ajouterCollectionAPublication(vueARafraichir, collectionId, (CollectionAPublication) publicationsAjoutees.get(it.next()));
1099
			}
1113
			}
1100
		}
1114
		}
1101
	}
1115
	}
1102
	
1116
	
1103
	public void modifierCollectionAPublication(Rafraichissable vueARafraichir, CollectionAPublicationListe publicationsModifiees) {
1117
	public void modifierCollectionAPublication(Rafraichissable vueARafraichir, CollectionAPublicationListe publicationsModifiees) {
1104
		if (publicationsModifiees != null && publicationsModifiees.size() > 0) {
1118
		if (publicationsModifiees != null && publicationsModifiees.size() > 0) {
1105
			for (Iterator<String> it = publicationsModifiees.keySet().iterator(); it.hasNext();) {
1119
			for (Iterator<String> it = publicationsModifiees.keySet().iterator(); it.hasNext();) {
1106
				modele.modifierCollectionAPublication(vueARafraichir, (CollectionAPublication) publicationsModifiees.get(it.next()));
1120
				modele.modifierCollectionAPublication(vueARafraichir, (CollectionAPublication) publicationsModifiees.get(it.next()));
1107
			}
1121
			}
1108
		}
1122
		}
1109
	}
1123
	}
1110
	
1124
	
1111
	public void supprimerCollectionAPublication(Rafraichissable vueARafraichir, CollectionAPublicationListe publicationsSupprimees) {
1125
	public void supprimerCollectionAPublication(Rafraichissable vueARafraichir, CollectionAPublicationListe publicationsSupprimees) {
1112
		if (publicationsSupprimees != null && publicationsSupprimees.size() > 0) {
1126
		if (publicationsSupprimees != null && publicationsSupprimees.size() > 0) {
1113
			String idCollectionAPublicationSeparesParVirgule = "" ;
1127
			String idCollectionAPublicationSeparesParVirgule = "" ;
1114
			for (Iterator<String> it = publicationsSupprimees.keySet().iterator(); it.hasNext();) {
1128
			for (Iterator<String> it = publicationsSupprimees.keySet().iterator(); it.hasNext();) {
1115
				idCollectionAPublicationSeparesParVirgule += publicationsSupprimees.get(it.next()).getId();
1129
				idCollectionAPublicationSeparesParVirgule += publicationsSupprimees.get(it.next()).getId();
1116
				if (it.hasNext()) {
1130
				if (it.hasNext()) {
1117
					idCollectionAPublicationSeparesParVirgule += ",";
1131
					idCollectionAPublicationSeparesParVirgule += ",";
1118
				}
1132
				}
1119
			}
1133
			}
1120
			modele.supprimerCollectionAPublication(vueARafraichir, idCollectionAPublicationSeparesParVirgule);
1134
			modele.supprimerCollectionAPublication(vueARafraichir, idCollectionAPublicationSeparesParVirgule);
1121
		}
1135
		}
1122
	}
1136
	}
1123
 
1137
 
1124
	//+----------------------------------------------------------------------------------------------------------------+
1138
	//+----------------------------------------------------------------------------------------------------------------+
1125
	// GESTION de la relation COLLECTION A COMMENTAIRE
1139
	// GESTION de la relation COLLECTION A COMMENTAIRE
1126
	
1140
	
1127
	public void selectionnerCollectionACommentaire(Rafraichissable vueARafraichir, String collectionId, Sequenceur sequenceur) {
1141
	public void selectionnerCollectionACommentaire(Rafraichissable vueARafraichir, String collectionId, Sequenceur sequenceur) {
1128
		if (Mediateur.DEBUG) System.out.println("MEDIATEUR - selectionner  CollectionACommentaire");
1142
		if (Mediateur.DEBUG) System.out.println("MEDIATEUR - selectionner  CollectionACommentaire");
1129
		Integer seqId = null;
1143
		Integer seqId = null;
1130
		if (sequenceur!=null)	{
1144
		if (sequenceur!=null)	{
1131
			seqId = sequenceur.lancerRequeteSynchrone(vueARafraichir);
1145
			seqId = sequenceur.lancerRequeteSynchrone(vueARafraichir);
1132
			vueARafraichir = sequenceur;
1146
			vueARafraichir = sequenceur;
1133
		}
1147
		}
1134
		modele.selectionnerCollectionACommentaire(vueARafraichir, collectionId, seqId);
1148
		modele.selectionnerCollectionACommentaire(vueARafraichir, collectionId, seqId);
1135
	}
1149
	}
1136
	
1150
	
1137
	/** AJOUTER **/
1151
	/** AJOUTER **/
1138
	public void ajouterCollectionACommentaire(Rafraichissable vueARafraichir, String collectionId, CollectionACommentaireListe commentairesAjoutees) {
1152
	public void ajouterCollectionACommentaire(Rafraichissable vueARafraichir, String collectionId, CollectionACommentaireListe commentairesAjoutees) {
1139
		if (commentairesAjoutees != null && commentairesAjoutees.size() > 0) {
1153
		if (commentairesAjoutees != null && commentairesAjoutees.size() > 0) {
1140
			for (Iterator<String> it = commentairesAjoutees.keySet().iterator(); it.hasNext();) {
1154
			for (Iterator<String> it = commentairesAjoutees.keySet().iterator(); it.hasNext();) {
1141
				modele.ajouterCollectionACommentaire(vueARafraichir, collectionId, (CollectionACommentaire) commentairesAjoutees.get(it.next()));
1155
				modele.ajouterCollectionACommentaire(vueARafraichir, collectionId, (CollectionACommentaire) commentairesAjoutees.get(it.next()));
1142
			}
1156
			}
1143
		}
1157
		}
1144
	}
1158
	}
1145
	
1159
	
1146
	/** MODIFIER **/
1160
	/** MODIFIER **/
1147
	public void modifierCollectionACommentaire(Rafraichissable vueARafraichir, CollectionACommentaireListe commentairesModifiees) {
1161
	public void modifierCollectionACommentaire(Rafraichissable vueARafraichir, CollectionACommentaireListe commentairesModifiees) {
1148
		if (commentairesModifiees != null && commentairesModifiees.size() > 0) {
1162
		if (commentairesModifiees != null && commentairesModifiees.size() > 0) {
1149
			for (Iterator<String> it = commentairesModifiees.keySet().iterator(); it.hasNext();) {
1163
			for (Iterator<String> it = commentairesModifiees.keySet().iterator(); it.hasNext();) {
1150
				modele.modifierCollectionACommentaire(vueARafraichir, (CollectionACommentaire) commentairesModifiees.get(it.next()));
1164
				modele.modifierCollectionACommentaire(vueARafraichir, (CollectionACommentaire) commentairesModifiees.get(it.next()));
1151
			}
1165
			}
1152
		}
1166
		}
1153
	}
1167
	}
1154
	
1168
	
1155
	/** SUPPRIMER **/
1169
	/** SUPPRIMER **/
1156
	public void supprimerCollectionACommentaire(Rafraichissable vueARafraichir, CollectionACommentaireListe commentairesSupprimees) {
1170
	public void supprimerCollectionACommentaire(Rafraichissable vueARafraichir, CollectionACommentaireListe commentairesSupprimees) {
1157
		if (commentairesSupprimees != null && commentairesSupprimees.size() > 0) {
1171
		if (commentairesSupprimees != null && commentairesSupprimees.size() > 0) {
1158
			String idCollectionACommentaireSeparesParVirgule = "" ;
1172
			String idCollectionACommentaireSeparesParVirgule = "" ;
1159
			for (Iterator<String> it = commentairesSupprimees.keySet().iterator(); it.hasNext();) {
1173
			for (Iterator<String> it = commentairesSupprimees.keySet().iterator(); it.hasNext();) {
1160
				idCollectionACommentaireSeparesParVirgule += commentairesSupprimees.get(it.next()).getId();
1174
				idCollectionACommentaireSeparesParVirgule += commentairesSupprimees.get(it.next()).getId();
1161
				if (it.hasNext()) {
1175
				if (it.hasNext()) {
1162
					idCollectionACommentaireSeparesParVirgule += ",";
1176
					idCollectionACommentaireSeparesParVirgule += ",";
1163
				}
1177
				}
1164
			}
1178
			}
1165
			modele.supprimerCollectionACommentaire(vueARafraichir, idCollectionACommentaireSeparesParVirgule, CollectionACommentaireAsyncDao.SUPPRESSION_PAR_COLLECTION);
1179
			modele.supprimerCollectionACommentaire(vueARafraichir, idCollectionACommentaireSeparesParVirgule, CollectionACommentaireAsyncDao.SUPPRESSION_PAR_COLLECTION);
1166
		}
1180
		}
1167
	}
1181
	}
1168
	//+----------------------------------------------------------------------------------------------------------------+
1182
	//+----------------------------------------------------------------------------------------------------------------+
1169
	//												GESTION DES PERSONNES
1183
	//												GESTION DES PERSONNES
1170
	//+----------------------------------------------------------------------------------------------------------------+
1184
	//+----------------------------------------------------------------------------------------------------------------+
1171
 
1185
 
1172
	public void afficherListePersonnes(PersonneListe personnesACharger)	{
1186
	public void afficherListePersonnes(PersonneListe personnesACharger)	{
1173
		if (!(panneauCentre.getContenu() instanceof PersonneVue))	{
1187
		if (!(panneauCentre.getContenu() instanceof PersonneVue))	{
1174
			panneauCentre.removeAll();
1188
			panneauCentre.removeAll();
1175
			panneauCentre.add(new PersonneVue(this));
1189
			panneauCentre.add(new PersonneVue(this));
1176
			panneauCentre.setId(ComposantId.PANNEAU_PERSONNE_LISTES);
1190
			panneauCentre.setId(ComposantId.PANNEAU_PERSONNE_LISTES);
1177
		}	
1191
		}	
1178
		
1192
		
1179
		panneauCentre.getContenu().rafraichir(personnesACharger);
1193
		panneauCentre.getContenu().rafraichir(personnesACharger);
1180
	}
1194
	}
1181
	
1195
	
1182
	public void afficherFormPersonne(String personneId)	{
1196
	public void afficherFormPersonne(String personneId)	{
1183
		panneauCentre.removeAll();
1197
		panneauCentre.removeAll();
1184
		PersonneForm personneForm = new PersonneForm(this, personneId);
1198
		PersonneForm personneForm = new PersonneForm(this, personneId);
1185
		panneauCentre.add(personneForm);
1199
		panneauCentre.add(personneForm);
1186
		
1200
		
1187
		panneauCentre.layout();
1201
		panneauCentre.layout();
1188
	}
1202
	}
1189
 
1203
 
1190
	public void clicListePersonne(Personne personne)	{
1204
	public void clicListePersonne(Personne personne)	{
1191
		panneauCentre.getContenu().rafraichir(personne);
1205
		panneauCentre.getContenu().rafraichir(personne);
1192
	}
1206
	}
1193
 
1207
 
1194
	public void clicAjouterPersonne()	{
1208
	public void clicAjouterPersonne()	{
1195
		afficherFormPersonne(null);
1209
		afficherFormPersonne(null);
1196
	}
1210
	}
1197
	
1211
	
1198
	public void clicModifierPersonne(List<Personne> selection)	{
1212
	public void clicModifierPersonne(List<Personne> selection)	{
1199
		if (selection.size() == 0) {
1213
		if (selection.size() == 0) {
1200
			InfoLogger.display("Information", "Veuillez sélectionner une personne.");
1214
			InfoLogger.display("Information", "Veuillez sélectionner une personne.");
1201
		} else if (selection.size() > 1) {
1215
		} else if (selection.size() > 1) {
1202
			InfoLogger.display("Information", "Veuillez sélectionner une seule personne à la fois.");
1216
			InfoLogger.display("Information", "Veuillez sélectionner une seule personne à la fois.");
1203
		} else if (selection.size() == 1) {
1217
		} else if (selection.size() == 1) {
1204
			afficherFormPersonne(selection.get(0).getId());
1218
			afficherFormPersonne(selection.get(0).getId());
1205
		} else {
1219
		} else {
1206
			InfoLogger.display("Erreur", "Une erreur est survenue dans la méthode clicModifierPersonne() du Médiateur.");
1220
			InfoLogger.display("Erreur", "Une erreur est survenue dans la méthode clicModifierPersonne() du Médiateur.");
1207
		}			
1221
		}			
1208
	}
1222
	}
1209
	
1223
	
1210
	
1224
	
1211
	public void clicSupprimerPersonne(final Rafraichissable vue, final List<Personne> personneSelection) {
1225
	public void clicSupprimerPersonne(final Rafraichissable vue, final List<Personne> personneSelection) {
1212
		//Empecher suppression utilisateur
1226
		//Empecher suppression utilisateur
1213
		for (int i=0; i < personneSelection.size(); i++)	{
1227
		for (int i=0; i < personneSelection.size(); i++)	{
1214
			Personne courante = personneSelection.get(i);
1228
			Personne courante = personneSelection.get(i);
1215
			if (courante.getId().equals(getUtilisateurId()))	{
1229
			if (courante.getId().equals(getUtilisateurId()))	{
1216
				InfoLogger.display("Information", "Vous ne pouvez pas supprimer votre compte");
1230
				InfoLogger.display("Information", "Vous ne pouvez pas supprimer votre compte");
1217
				personneSelection.remove(courante);
1231
				personneSelection.remove(courante);
1218
			}
1232
			}
1219
		}
1233
		}
1220
		
1234
		
1221
		if (personneSelection.size() == 0) {
1235
		if (personneSelection.size() == 0) {
1222
			InfoLogger.display("Information", "Veuillez sélectionner une personne.");
1236
			InfoLogger.display("Information", "Veuillez sélectionner une personne.");
1223
		} else if(personneSelection.size() > 0) {
1237
		} else if(personneSelection.size() > 0) {
1224
			String message = "Êtes vous sur de vouloir supprimer les personnes sélectionnées ?";
1238
			String message = "Êtes vous sur de vouloir supprimer les personnes sélectionnées ?";
1225
			if (personneSelection.size() == 1) {
1239
			if (personneSelection.size() == 1) {
1226
				message = "Êtes vous sur de vouloir supprimer la personne sélectionnée ?";
1240
				message = "Êtes vous sur de vouloir supprimer la personne sélectionnée ?";
1227
			}
1241
			}
1228
			
1242
			
1229
			final Listener<MessageBoxEvent> listenerSuppression = new Listener<MessageBoxEvent>() { 
1243
			final Listener<MessageBoxEvent> listenerSuppression = new Listener<MessageBoxEvent>() { 
1230
				public void handleEvent(MessageBoxEvent ce) {
1244
				public void handleEvent(MessageBoxEvent ce) {
1231
					Dialog dialog = (Dialog) ce.getComponent();
1245
					Dialog dialog = (Dialog) ce.getComponent();
1232
					Button btn = ce.getButtonClicked();
1246
					Button btn = ce.getButtonClicked();
1233
 
1247
 
1234
					if (btn.getText().equals(dialog.yesText)) {
1248
					if (btn.getText().equals(dialog.yesText)) {
1235
						String idPersonneSepareParVirgule = "" ;
1249
						String idPersonneSepareParVirgule = "" ;
1236
						Iterator<Personne> itPersonne = personneSelection.iterator();
1250
						Iterator<Personne> itPersonne = personneSelection.iterator();
1237
						while (itPersonne.hasNext()) {
1251
						while (itPersonne.hasNext()) {
1238
							Personne personneCourante = itPersonne.next();
1252
							Personne personneCourante = itPersonne.next();
1239
							idPersonneSepareParVirgule += personneCourante.getId();
1253
							idPersonneSepareParVirgule += personneCourante.getId();
1240
							idPersonneSepareParVirgule +=",";
1254
							idPersonneSepareParVirgule +=",";
1241
						}
1255
						}
1242
						modele.supprimerPersonne(vue, idPersonneSepareParVirgule);  
1256
						modele.supprimerPersonne(vue, idPersonneSepareParVirgule);  
1243
					}
1257
					}
1244
				}
1258
				}
1245
			};
1259
			};
1246
			
1260
			
1247
			MessageBox.confirm("Supprimer une personne", message, listenerSuppression);
1261
			MessageBox.confirm("Supprimer une personne", message, listenerSuppression);
1248
		} else {
1262
		} else {
1249
			InfoLogger.display("Erreur", "Une erreur est survenue dans la méthode clicSupprimerPersonne() du Médiateur.");
1263
			InfoLogger.display("Erreur", "Une erreur est survenue dans la méthode clicSupprimerPersonne() du Médiateur.");
1250
		}
1264
		}
1251
	}
1265
	}
1252
 
1266
 
1253
	/****************************************************************************************************
1267
	/****************************************************************************************************
1254
	/** selectionnerPersonne(Rafraichissable vueARafraichir, String recherche, int start, int nbElements)
1268
	/** selectionnerPersonne(Rafraichissable vueARafraichir, String recherche, int start, int nbElements)
1255
	/****************************************************************************************************
1269
	/****************************************************************************************************
1256
	 * Action :
1270
	 * Action :
1257
	 * --------
1271
	 * --------
1258
	 * -	Récupère un nombre défini de personnes en s'aidant du nom partiel ou complet de la personne. 
1272
	 * -	Récupère un nombre défini de personnes en s'aidant du nom partiel ou complet de la personne. 
1259
	 * 
1273
	 * 
1260
	 * Description des paramètres :
1274
	 * Description des paramètres :
1261
	 * ----------------------------
1275
	 * ----------------------------
1262
	 *  -	'vueARafraichir' référence l'objet à mettre à jour après réception des données.
1276
	 *  -	'vueARafraichir' référence l'objet à mettre à jour après réception des données.
1263
	 *  -	'recherche' est une chaîne de caractères représentant tout ou partie du nom d'une personne.
1277
	 *  -	'recherche' est une chaîne de caractères représentant tout ou partie du nom d'une personne.
1264
	 *  		Si la chaîne est vide, alors toutes les personnes sont recherchées.
1278
	 *  		Si la chaîne est vide, alors toutes les personnes sont recherchées.
1265
	 *  -	'start' et 'nbElements' sont les paramètres indispensables à la pagination. 'start'
1279
	 *  -	'start' et 'nbElements' sont les paramètres indispensables à la pagination. 'start'
1266
	 *  		est le paramètre qui décrit le numéro du tuple de départ et 'nbElements' le nombre
1280
	 *  		est le paramètre qui décrit le numéro du tuple de départ et 'nbElements' le nombre
1267
	 *  		d'éléments à collecter.
1281
	 *  		d'éléments à collecter.
1268
	 *  
1282
	 *  
1269
	 * Préconditions :
1283
	 * Préconditions :
1270
	 * ---------------
1284
	 * ---------------
1271
	 *  -	'vueARafraichir' doit être non NULL et référencer un objet implémentant l'interface
1285
	 *  -	'vueARafraichir' doit être non NULL et référencer un objet implémentant l'interface
1272
	 *  		'Rafraichissable'
1286
	 *  		'Rafraichissable'
1273
	 *  -	'recherche' doit être non NULL.
1287
	 *  -	'recherche' doit être non NULL.
1274
	 *  -	'start' doit être supérieur ou égal à zéro. 'nbElements' doit être supérieur à zéro.
1288
	 *  -	'start' doit être supérieur ou égal à zéro. 'nbElements' doit être supérieur à zéro.
1275
	 *  
1289
	 *  
1276
	 *****************************************************************************************************/
1290
	 *****************************************************************************************************/
1277
	public void selectionnerPersonne(Rafraichissable vueARafraichir, String recherche, int start, int nbElements, Sequenceur sequenceur) {
1291
	public void selectionnerPersonne(Rafraichissable vueARafraichir, String recherche, int start, int nbElements, Sequenceur sequenceur) {
1278
		if (Mediateur.DEBUG) System.out.println("MEDIATEUR - selectionner  Personne");
1292
		if (Mediateur.DEBUG) System.out.println("MEDIATEUR - selectionner  Personne");
1279
		Integer seqId = null;
1293
		Integer seqId = null;
1280
		if (sequenceur!=null)	{
1294
		if (sequenceur!=null)	{
1281
			seqId = sequenceur.lancerRequeteSynchrone(vueARafraichir);
1295
			seqId = sequenceur.lancerRequeteSynchrone(vueARafraichir);
1282
			vueARafraichir = sequenceur;
1296
			vueARafraichir = sequenceur;
1283
		}
1297
		}
1284
		modele.selectionnerPersonne(vueARafraichir, recherche, start, nbElements, seqId);
1298
		modele.selectionnerPersonne(vueARafraichir, recherche, start, nbElements, seqId);
1285
	}
1299
	}
1286
 
1300
 
1287
	/** Cette méthode est un "wrapper" **/
1301
	/** Cette méthode est un "wrapper" **/
1288
	public void selectionnerPersonne(Rafraichissable vueARafraichir, Personne personne, String projetId, Sequenceur sequenceur)	{
1302
	public void selectionnerPersonne(Rafraichissable vueARafraichir, Personne personne, String projetId, Sequenceur sequenceur)	{
1289
		selectionnerPersonne(vueARafraichir, personne, projetId, 0, nbElements, sequenceur);
1303
		selectionnerPersonne(vueARafraichir, personne, projetId, 0, nbElements, sequenceur);
1290
	}
1304
	}
1291
	
1305
	
1292
	public void selectionnerPersonne(Rafraichissable vueARafraichir, Personne personne, String projetId, int start, int nbElements, Sequenceur sequenceur)	{
1306
	public void selectionnerPersonne(Rafraichissable vueARafraichir, Personne personne, String projetId, int start, int nbElements, Sequenceur sequenceur)	{
1293
		if (Mediateur.DEBUG) System.out.println("MEDIATEUR - selectionner  Personne");
1307
		if (Mediateur.DEBUG) System.out.println("MEDIATEUR - selectionner  Personne");
1294
		Integer seqId = null;
1308
		Integer seqId = null;
1295
		if (sequenceur!=null)	{
1309
		if (sequenceur!=null)	{
1296
			seqId = sequenceur.lancerRequeteSynchrone(vueARafraichir);
1310
			seqId = sequenceur.lancerRequeteSynchrone(vueARafraichir);
1297
			vueARafraichir = sequenceur;
1311
			vueARafraichir = sequenceur;
1298
		}
1312
		}
1299
		String personneId = null;
1313
		String personneId = null;
1300
		String personneNom = null;
1314
		String personneNom = null;
1301
		if (personne != null)	{
1315
		if (personne != null)	{
1302
			personneId = personne.getId();
1316
			personneId = personne.getId();
1303
			personneNom = personne.getNom();
1317
			personneNom = personne.getNom();
1304
		}
1318
		}
1305
		modele.selectionnerPersonne(vueARafraichir, personneId, projetId, personneNom, start, nbElements, seqId);
1319
		modele.selectionnerPersonne(vueARafraichir, personneId, projetId, personneNom, start, nbElements, seqId);
1306
	}
1320
	}
1307
	
1321
	
1308
	public void selectionnerPersonne(Rafraichissable vueARafraichir, String idPersonne, Sequenceur sequenceur)	{
1322
	public void selectionnerPersonne(Rafraichissable vueARafraichir, String idPersonne, Sequenceur sequenceur)	{
1309
		if (Mediateur.DEBUG) System.out.println("MEDIATEUR - selectionner  Personne");
1323
		if (Mediateur.DEBUG) System.out.println("MEDIATEUR - selectionner  Personne");
1310
		Integer seqId = null;
1324
		Integer seqId = null;
1311
		if (sequenceur!=null)	{
1325
		if (sequenceur!=null)	{
1312
			seqId = sequenceur.lancerRequeteSynchrone(vueARafraichir);
1326
			seqId = sequenceur.lancerRequeteSynchrone(vueARafraichir);
1313
			vueARafraichir = sequenceur;
1327
			vueARafraichir = sequenceur;
1314
		}
1328
		}
1315
		modele.selectionnerPersonne(vueARafraichir, idPersonne, null, null, -1, nbElements, seqId);
1329
		modele.selectionnerPersonne(vueARafraichir, idPersonne, null, null, -1, nbElements, seqId);
1316
	}
1330
	}
1317
	
1331
	
1318
	public void selectionnerPersonneParNomComplet(Rafraichissable vueARafraichir, String projetId, String nomComplet, Sequenceur sequenceur) {
1332
	public void selectionnerPersonneParNomComplet(Rafraichissable vueARafraichir, String projetId, String nomComplet, Sequenceur sequenceur) {
1319
		if (Mediateur.DEBUG) System.out.println("MEDIATEUR - selectionner  Personne");
1333
		if (Mediateur.DEBUG) System.out.println("MEDIATEUR - selectionner  Personne");
1320
		Integer seqId = null;
1334
		Integer seqId = null;
1321
		if (sequenceur!=null)	{
1335
		if (sequenceur!=null)	{
1322
			seqId = sequenceur.lancerRequeteSynchrone(vueARafraichir);
1336
			seqId = sequenceur.lancerRequeteSynchrone(vueARafraichir);
1323
			vueARafraichir = sequenceur;
1337
			vueARafraichir = sequenceur;
1324
		}
1338
		}
1325
		modele.selectionnerPersonne(vueARafraichir, null, projetId, nomComplet, 0, -1, seqId);		
1339
		modele.selectionnerPersonne(vueARafraichir, null, projetId, nomComplet, 0, -1, seqId);		
1326
	}
1340
	}
1327
	
1341
	
1328
	public void selectionnerPersonneParProjet(Rafraichissable vueARafraichir, String projetId, Sequenceur sequenceur) {
1342
	public void selectionnerPersonneParProjet(Rafraichissable vueARafraichir, String projetId, Sequenceur sequenceur) {
1329
		if (Mediateur.DEBUG) System.out.println("MEDIATEUR - selectionner  Personne");
1343
		if (Mediateur.DEBUG) System.out.println("MEDIATEUR - selectionner  Personne");
1330
		Integer seqId = null;
1344
		Integer seqId = null;
1331
		if (sequenceur!=null)	{
1345
		if (sequenceur!=null)	{
1332
			seqId = sequenceur.lancerRequeteSynchrone(vueARafraichir);
1346
			seqId = sequenceur.lancerRequeteSynchrone(vueARafraichir);
1333
			vueARafraichir = sequenceur;
1347
			vueARafraichir = sequenceur;
1334
		}
1348
		}
1335
		modele.selectionnerPersonne(vueARafraichir, null, projetId, null, 0, -1, seqId);		
1349
		modele.selectionnerPersonne(vueARafraichir, null, projetId, null, 0, -1, seqId);		
1336
	}
1350
	}
1337
	
1351
	
1338
	/** ENREGISTRER **/
1352
	/** ENREGISTRER **/
1339
	public void enregistrerPersonne(Rafraichissable vue, Personne personne){
1353
	public void enregistrerPersonne(Rafraichissable vue, Personne personne){
1340
		if (personne.getId() != null && !personne.getId().trim().equals("")) {	
1354
		if (personne.getId() != null && !personne.getId().trim().equals("")) {	
1341
			modele.modifierPersonne(vue, personne);
1355
			modele.modifierPersonne(vue, personne);
1342
		}	else {
1356
		}	else {
1343
			modele.ajouterPersonne(vue, personne);
1357
			modele.ajouterPersonne(vue, personne);
1344
		}
1358
		}
1345
	}
1359
	}
1346
	
1360
	
1347
	//+----------------------------------------------------------------------------------------------------------------+
1361
	//+----------------------------------------------------------------------------------------------------------------+
1348
	//												GESTION DES PUBLICATIONS
1362
	//												GESTION DES PUBLICATIONS
1349
	//+----------------------------------------------------------------------------------------------------------------+
1363
	//+----------------------------------------------------------------------------------------------------------------+
1350
 
1364
 
1351
	public void afficherListePublication(PublicationListe nouvelleDonnees) {
1365
	public void afficherListePublication(PublicationListe nouvelleDonnees) {
1352
		if (!(panneauCentre.getContenu() instanceof PublicationVue))	{
1366
		if (!(panneauCentre.getContenu() instanceof PublicationVue))	{
1353
			panneauCentre.removeAll();
1367
			panneauCentre.removeAll();
1354
			panneauCentre.add(new PublicationVue(this));
1368
			panneauCentre.add(new PublicationVue(this));
1355
		}	
1369
		}	
1356
		
1370
		
1357
		panneauCentre.getContenu().rafraichir(nouvelleDonnees);	
1371
		panneauCentre.getContenu().rafraichir(nouvelleDonnees);	
1358
	}
1372
	}
1359
	
1373
	
1360
	public void afficherFormPublication(String publicationId) {
1374
	public void afficherFormPublication(String publicationId) {
1361
		panneauCentre.removeAll();
1375
		panneauCentre.removeAll();
1362
		PublicationForm publicationForm = new PublicationForm(this, publicationId);
1376
		PublicationForm publicationForm = new PublicationForm(this, publicationId);
1363
		panneauCentre.add(publicationForm);
1377
		panneauCentre.add(publicationForm);
1364
		
1378
		
1365
		panneauCentre.layout();
1379
		panneauCentre.layout();
1366
	}
1380
	}
1367
	
1381
	
1368
	public void clicListePublication(Publication publication) {
1382
	public void clicListePublication(Publication publication) {
1369
		if (publication != null) {
1383
		if (publication != null) {
1370
			panneauCentre.getContenu().rafraichir(publication);	
1384
			panneauCentre.getContenu().rafraichir(publication);	
1371
		}
1385
		}
1372
	}
1386
	}
1373
 
1387
 
1374
	public void clicAjouterPublication() {
1388
	public void clicAjouterPublication() {
1375
		afficherFormPublication(null);
1389
		afficherFormPublication(null);
1376
	}
1390
	}
1377
	
1391
	
1378
	public void clicModifierPublication(List<Publication> selection) {
1392
	public void clicModifierPublication(List<Publication> selection) {
1379
		if (selection.size() == 0) {
1393
		if (selection.size() == 0) {
1380
			InfoLogger.display("Information", "Veuillez sélectionner une publication.");
1394
			InfoLogger.display("Information", "Veuillez sélectionner une publication.");
1381
		} else if (selection.size() > 1) {
1395
		} else if (selection.size() > 1) {
1382
			InfoLogger.display("Information", "Veuillez sélectionner une seule publication à la fois.");
1396
			InfoLogger.display("Information", "Veuillez sélectionner une seule publication à la fois.");
1383
		} else if (selection.size() == 1) {
1397
		} else if (selection.size() == 1) {
1384
			afficherFormPublication(selection.get(0).getId());
1398
			afficherFormPublication(selection.get(0).getId());
1385
		} else {
1399
		} else {
1386
			InfoLogger.display("Erreur", "Une erreur est survenue dans la méthode clicModifierPublication() du Médiateur.");
1400
			InfoLogger.display("Erreur", "Une erreur est survenue dans la méthode clicModifierPublication() du Médiateur.");
1387
		}
1401
		}
1388
	}
1402
	}
1389
	
1403
	
1390
	public void clicSupprimerPublication(final List<Publication> publicationListe) {
1404
	public void clicSupprimerPublication(final List<Publication> publicationListe) {
1391
		if (publicationListe.size() <= 0) {
1405
		if (publicationListe.size() <= 0) {
1392
			MessageBox.alert("Attention", "Vous devez sélectionner une publication", null); 
1406
			MessageBox.alert("Attention", "Vous devez sélectionner une publication", null); 
1393
		} else {
1407
		} else {
1394
			String message = "Voulez-vous vraiment supprimer ces publications ?";
1408
			String message = "Voulez-vous vraiment supprimer ces publications ?";
1395
			if (publicationListe.size() == 1) {
1409
			if (publicationListe.size() == 1) {
1396
				message = "Voulez-vous vraiment supprimer cette publication ?";
1410
				message = "Voulez-vous vraiment supprimer cette publication ?";
1397
			}
1411
			}
1398
			
1412
			
1399
			final Listener<MessageBoxEvent> listenerSuppression = new Listener<MessageBoxEvent>() { 
1413
			final Listener<MessageBoxEvent> listenerSuppression = new Listener<MessageBoxEvent>() { 
1400
				public void handleEvent(MessageBoxEvent ce) {  
1414
				public void handleEvent(MessageBoxEvent ce) {  
1401
					Dialog dialog = (Dialog) ce.getComponent();
1415
					Dialog dialog = (Dialog) ce.getComponent();
1402
				    Button btn = ce.getButtonClicked();  
1416
				    Button btn = ce.getButtonClicked();  
1403
				    	   
1417
				    	   
1404
				    if (btn.getText().equals(dialog.yesText)) {
1418
				    if (btn.getText().equals(dialog.yesText)) {
1405
				    	supprimerPublication(panneauCentre.getContenu(), publicationListe);
1419
				    	supprimerPublication(panneauCentre.getContenu(), publicationListe);
1406
				    }
1420
				    }
1407
				}
1421
				}
1408
			};
1422
			};
1409
				     
1423
				     
1410
			MessageBox.confirm("Supprimer une publication", message, listenerSuppression);
1424
			MessageBox.confirm("Supprimer une publication", message, listenerSuppression);
1411
		}
1425
		}
1412
	}
1426
	}
1413
	
1427
	
1414
	/** Cette méthode est un "wrapper" */
1428
	/** Cette méthode est un "wrapper" */
1415
	public void selectionnerPublication(Rafraichissable vueARafraichir, String publicationId, Sequenceur sequenceur) {
1429
	public void selectionnerPublication(Rafraichissable vueARafraichir, String publicationId, Sequenceur sequenceur) {
1416
		selectionnerPublication(vueARafraichir, getProjetId(), publicationId, null, 0, nbElements, sequenceur);
1430
		selectionnerPublication(vueARafraichir, getProjetId(), publicationId, null, 0, nbElements, sequenceur);
1417
	}
1431
	}
1418
	
1432
	
1419
	/** Cette méthode est un "wrapper" */
1433
	/** Cette méthode est un "wrapper" */
1420
	public void selectionnerPublicationParNomComplet(Rafraichissable vueARafraichir, String projetId, String nomComplet) {
1434
	public void selectionnerPublicationParNomComplet(Rafraichissable vueARafraichir, String projetId, String nomComplet) {
1421
		selectionnerPublication(vueARafraichir, projetId, null, nomComplet, 0, nbElements, null);
1435
		selectionnerPublication(vueARafraichir, projetId, null, nomComplet, 0, nbElements, null);
1422
	}
1436
	}
1423
	
1437
	
1424
	public void selectionnerPublication(Rafraichissable vueARafraichir, String projetId, String publicationId, String nomComplet, int pageCourante, int nbElements, Sequenceur sequenceur) {
1438
	public void selectionnerPublication(Rafraichissable vueARafraichir, String projetId, String publicationId, String nomComplet, int pageCourante, int nbElements, Sequenceur sequenceur) {
1425
		if (Mediateur.DEBUG) System.out.println("MEDIATEUR - selectionner  Publication");
1439
		if (Mediateur.DEBUG) System.out.println("MEDIATEUR - selectionner  Publication");
1426
		Integer seqId = null;
1440
		Integer seqId = null;
1427
		if (sequenceur!=null)	{
1441
		if (sequenceur!=null)	{
1428
			seqId = sequenceur.lancerRequeteSynchrone(vueARafraichir);
1442
			seqId = sequenceur.lancerRequeteSynchrone(vueARafraichir);
1429
			vueARafraichir = sequenceur;
1443
			vueARafraichir = sequenceur;
1430
		}
1444
		}
1431
		modele.selectionnerPublication(vueARafraichir, publicationId, projetId, nomComplet, nbElements, pageCourante, seqId);		
1445
		modele.selectionnerPublication(vueARafraichir, publicationId, projetId, nomComplet, nbElements, pageCourante, seqId);		
1432
	}
1446
	}
1433
	
1447
	
1434
	/** AJOUTER **/
1448
	/** AJOUTER **/
1435
	public void ajouterPublication(Rafraichissable vueARafraichir, Publication publication, Integer seqId) {
1449
	public void ajouterPublication(Rafraichissable vueARafraichir, Publication publication, Integer seqId) {
1436
		modele.ajouterPublication(vueARafraichir, publication, seqId);
1450
		modele.ajouterPublication(vueARafraichir, publication, seqId);
1437
	}
1451
	}
1438
	
1452
	
1439
	/** MODIFIER **/
1453
	/** MODIFIER **/
1440
	public void modifierPublication(Rafraichissable vueARafraichir, Publication publication, Integer seqId) {
1454
	public void modifierPublication(Rafraichissable vueARafraichir, Publication publication, Integer seqId) {
1441
		modele.modifierPublication(vueARafraichir, publication, seqId);
1455
		modele.modifierPublication(vueARafraichir, publication, seqId);
1442
	}
1456
	}
1443
	
1457
	
1444
	/** SUPPRIMER **/
1458
	/** SUPPRIMER **/
1445
	public void supprimerPublication(Rafraichissable vueARafraichir, List<Publication> publicationsListe) {
1459
	public void supprimerPublication(Rafraichissable vueARafraichir, List<Publication> publicationsListe) {
1446
		if (publicationsListe != null && publicationsListe.size() > 0) {
1460
		if (publicationsListe != null && publicationsListe.size() > 0) {
1447
			String idPublicationSeparesParVirgule = "" ;
1461
			String idPublicationSeparesParVirgule = "" ;
1448
			Iterator<Publication> it = publicationsListe.iterator();
1462
			Iterator<Publication> it = publicationsListe.iterator();
1449
			while (it.hasNext()) {
1463
			while (it.hasNext()) {
1450
				idPublicationSeparesParVirgule += it.next().getId();
1464
				idPublicationSeparesParVirgule += it.next().getId();
1451
				if (it.hasNext()) {
1465
				if (it.hasNext()) {
1452
					idPublicationSeparesParVirgule += ",";
1466
					idPublicationSeparesParVirgule += ",";
1453
				}
1467
				}
1454
			}
1468
			}
1455
			modele.supprimerPublication(vueARafraichir, idPublicationSeparesParVirgule);
1469
			modele.supprimerPublication(vueARafraichir, idPublicationSeparesParVirgule);
1456
			modele.supprimerPublicationAPersonne(vueARafraichir, idPublicationSeparesParVirgule);
1470
			modele.supprimerPublicationAPersonne(vueARafraichir, idPublicationSeparesParVirgule);
1457
		}
1471
		}
1458
	}
1472
	}
1459
 
1473
 
1460
	public void clicObtenirListeEditeurs(Rafraichissable vueARafraichir) {
1474
	public void clicObtenirListeEditeurs(Rafraichissable vueARafraichir) {
1461
		selectionnerStructureParProjet(vueARafraichir, null, null);
1475
		selectionnerStructureParProjet(vueARafraichir, null, null);
1462
	}
1476
	}
1463
 
1477
 
1464
	public void clicObtenirListeAuteurs(Rafraichissable vueARafraichir) {
1478
	public void clicObtenirListeAuteurs(Rafraichissable vueARafraichir) {
1465
		selectionnerPersonneParProjet(vueARafraichir, null, null);
1479
		selectionnerPersonneParProjet(vueARafraichir, null, null);
1466
	}
1480
	}
1467
	
1481
	
1468
	//+----------------------------------------------------------------------------------------------------------------+
1482
	//+----------------------------------------------------------------------------------------------------------------+
1469
	// GESTION de la relation PUBLICATION A PERSONNE
1483
	// GESTION de la relation PUBLICATION A PERSONNE
1470
 
1484
 
1471
	public void selectionnerPublicationAPersonne(Rafraichissable vueARafraichir, String publicationId, String personnesId, String roleId, Sequenceur sequenceur) {
1485
	public void selectionnerPublicationAPersonne(Rafraichissable vueARafraichir, String publicationId, String personnesId, String roleId, Sequenceur sequenceur) {
1472
		if (Mediateur.DEBUG) System.out.println("MEDIATEUR - selectionner  PublicationAPersonne");
1486
		if (Mediateur.DEBUG) System.out.println("MEDIATEUR - selectionner  PublicationAPersonne");
1473
		Integer seqId = null;
1487
		Integer seqId = null;
1474
		if (sequenceur != null)	{
1488
		if (sequenceur != null)	{
1475
			seqId = sequenceur.lancerRequeteSynchrone(vueARafraichir);
1489
			seqId = sequenceur.lancerRequeteSynchrone(vueARafraichir);
1476
			vueARafraichir = sequenceur;
1490
			vueARafraichir = sequenceur;
1477
		}
1491
		}
1478
		modele.selectionPublicationAPersonne(vueARafraichir, publicationId, personnesId, roleId, seqId);
1492
		modele.selectionPublicationAPersonne(vueARafraichir, publicationId, personnesId, roleId, seqId);
1479
	}
1493
	}
1480
	
1494
	
1481
	public void selectionnerPublicationAPersonne(Rafraichissable vueARafraichir, String publicationId, String personnesId, List<Valeur> roleId, Sequenceur sequenceur) {
1495
	public void selectionnerPublicationAPersonne(Rafraichissable vueARafraichir, String publicationId, String personnesId, List<Valeur> roleId, Sequenceur sequenceur) {
1482
		if (Mediateur.DEBUG) System.out.println("MEDIATEUR - selectionner  PublicationAPersonne");
1496
		if (Mediateur.DEBUG) System.out.println("MEDIATEUR - selectionner  PublicationAPersonne");
1483
		Integer seqId = null;
1497
		Integer seqId = null;
1484
		if (sequenceur != null)	{
1498
		if (sequenceur != null)	{
1485
			seqId = sequenceur.lancerRequeteSynchrone(vueARafraichir);
1499
			seqId = sequenceur.lancerRequeteSynchrone(vueARafraichir);
1486
			vueARafraichir = sequenceur;
1500
			vueARafraichir = sequenceur;
1487
		}
1501
		}
1488
		
1502
		
1489
		String roleIds = "";
1503
		String roleIds = "";
1490
		Iterator<Valeur> itRole = roleId.iterator();
1504
		Iterator<Valeur> itRole = roleId.iterator();
1491
		while (itRole.hasNext())	{
1505
		while (itRole.hasNext())	{
1492
			roleIds+= itRole.next().getId();
1506
			roleIds+= itRole.next().getId();
1493
			if (itRole.hasNext())	{
1507
			if (itRole.hasNext())	{
1494
				roleIds+=",";
1508
				roleIds+=",";
1495
			}
1509
			}
1496
		}
1510
		}
1497
		modele.selectionPublicationAPersonne(vueARafraichir, publicationId, personnesId, roleIds, seqId);
1511
		modele.selectionPublicationAPersonne(vueARafraichir, publicationId, personnesId, roleIds, seqId);
1498
	}
1512
	}
1499
 
1513
 
1500
	/** AJOUTER **/
1514
	/** AJOUTER **/
1501
	// Lier une publication à plusieurs personnes
1515
	// Lier une publication à plusieurs personnes
1502
	public void ajouterPublicationAPersonne(Rafraichissable vueARafraichir, String publicationId, PublicationAPersonneListe personnesAjoutees, String roleId, Integer seqId) {
1516
	public void ajouterPublicationAPersonne(Rafraichissable vueARafraichir, String publicationId, PublicationAPersonneListe personnesAjoutees, String roleId, Integer seqId) {
1503
		if (personnesAjoutees != null && personnesAjoutees.size() > 0) {
1517
		if (personnesAjoutees != null && personnesAjoutees.size() > 0) {
1504
			String idPublicationAPersonneSepareParVirgule = "" ;
1518
			String idPublicationAPersonneSepareParVirgule = "" ;
1505
			String ordreAuteursSepareParVirgule = "";
1519
			String ordreAuteursSepareParVirgule = "";
1506
			for (Iterator<String> it = personnesAjoutees.keySet().iterator(); it.hasNext();) {
1520
			for (Iterator<String> it = personnesAjoutees.keySet().iterator(); it.hasNext();) {
1507
				PublicationAPersonne publi = personnesAjoutees.get(it.next());
1521
				PublicationAPersonne publi = personnesAjoutees.get(it.next());
1508
				idPublicationAPersonneSepareParVirgule += publi.getIdPersonne();
1522
				idPublicationAPersonneSepareParVirgule += publi.getIdPersonne();
1509
				ordreAuteursSepareParVirgule += publi.getOrdreAuteurs();
1523
				ordreAuteursSepareParVirgule += publi.getOrdreAuteurs();
1510
				if (it.hasNext()) {
1524
				if (it.hasNext()) {
1511
					idPublicationAPersonneSepareParVirgule += ",";
1525
					idPublicationAPersonneSepareParVirgule += ",";
1512
					ordreAuteursSepareParVirgule += ",";
1526
					ordreAuteursSepareParVirgule += ",";
1513
				}
1527
				}
1514
			}
1528
			}
1515
			modele.ajouterPublicationAPersonne(vueARafraichir, publicationId, idPublicationAPersonneSepareParVirgule, ordreAuteursSepareParVirgule, roleId, seqId);
1529
			modele.ajouterPublicationAPersonne(vueARafraichir, publicationId, idPublicationAPersonneSepareParVirgule, ordreAuteursSepareParVirgule, roleId, seqId);
1516
		}
1530
		}
1517
	}
1531
	}
1518
	
1532
	
1519
	/** AJOUTER **/
1533
	/** AJOUTER **/
1520
	// Lier plusieurs publication à une personne
1534
	// Lier plusieurs publication à une personne
1521
	public void ajouterPublicationAPersonne(Rafraichissable vueARafraichir, PublicationAPersonneListe listePublications, String personneId, String roleId, Integer seqId) {
1535
	public void ajouterPublicationAPersonne(Rafraichissable vueARafraichir, PublicationAPersonneListe listePublications, String personneId, String roleId, Integer seqId) {
1522
		if (listePublications!=null && listePublications.size()>0)	{
1536
		if (listePublications!=null && listePublications.size()>0)	{
1523
			String idsPubli = "";
1537
			String idsPubli = "";
1524
			String rolesIds = "";
1538
			String rolesIds = "";
1525
			String ordreAuteurs = "";
1539
			String ordreAuteurs = "";
1526
			for (Iterator<String> it = listePublications.keySet().iterator(); it.hasNext();) {
1540
			for (Iterator<String> it = listePublications.keySet().iterator(); it.hasNext();) {
1527
				PublicationAPersonne publiAPersonne = listePublications.get(it.next());
1541
				PublicationAPersonne publiAPersonne = listePublications.get(it.next());
1528
				idsPubli += publiAPersonne.getId();
1542
				idsPubli += publiAPersonne.getId();
1529
				rolesIds += publiAPersonne.getRole();
1543
				rolesIds += publiAPersonne.getRole();
1530
				ordreAuteurs += publiAPersonne.getOrdreAuteurs();
1544
				ordreAuteurs += publiAPersonne.getOrdreAuteurs();
1531
				if (it.hasNext()) {
1545
				if (it.hasNext()) {
1532
					idsPubli += ",";
1546
					idsPubli += ",";
1533
					rolesIds += ",";
1547
					rolesIds += ",";
1534
					ordreAuteurs += ",";
1548
					ordreAuteurs += ",";
1535
				}
1549
				}
1536
			}
1550
			}
1537
			modele.ajouterPublicationAPersonne(vueARafraichir, idsPubli, personneId, ordreAuteurs, rolesIds, seqId);
1551
			modele.ajouterPublicationAPersonne(vueARafraichir, idsPubli, personneId, ordreAuteurs, rolesIds, seqId);
1538
		}
1552
		}
1539
	}
1553
	}
1540
 
1554
 
1541
	/** MODIFIER **/
1555
	/** MODIFIER **/
1542
	public void modifierPublicationAPersonne(Rafraichissable vueARafraichir, String publicationId, PublicationAPersonneListe personnesModifiees, String roleId, Integer seqId) {
1556
	public void modifierPublicationAPersonne(Rafraichissable vueARafraichir, String publicationId, PublicationAPersonneListe personnesModifiees, String roleId, Integer seqId) {
1543
		if (personnesModifiees != null && personnesModifiees.size() > 0) {
1557
		if (personnesModifiees != null && personnesModifiees.size() > 0) {
1544
			String idPublicationAPersonneSepareParVirgule = "" ;
1558
			String idPublicationAPersonneSepareParVirgule = "" ;
1545
			String ordreAuteursSepareParVirgule = "";
1559
			String ordreAuteursSepareParVirgule = "";
1546
			for (Iterator<String> it = personnesModifiees.keySet().iterator(); it.hasNext();) {
1560
			for (Iterator<String> it = personnesModifiees.keySet().iterator(); it.hasNext();) {
1547
				PublicationAPersonne publi = personnesModifiees.get(it.next());
1561
				PublicationAPersonne publi = personnesModifiees.get(it.next());
1548
				idPublicationAPersonneSepareParVirgule += publi.getIdPersonne();
1562
				idPublicationAPersonneSepareParVirgule += publi.getIdPersonne();
1549
				ordreAuteursSepareParVirgule += publi.getOrdreAuteurs();
1563
				ordreAuteursSepareParVirgule += publi.getOrdreAuteurs();
1550
				if (it.hasNext()) {
1564
				if (it.hasNext()) {
1551
					idPublicationAPersonneSepareParVirgule += ",";
1565
					idPublicationAPersonneSepareParVirgule += ",";
1552
					ordreAuteursSepareParVirgule += ",";
1566
					ordreAuteursSepareParVirgule += ",";
1553
				}
1567
				}
1554
			}
1568
			}
1555
			modele.modifierPublicationAPersonne(vueARafraichir, publicationId, idPublicationAPersonneSepareParVirgule, ordreAuteursSepareParVirgule, roleId, seqId);
1569
			modele.modifierPublicationAPersonne(vueARafraichir, publicationId, idPublicationAPersonneSepareParVirgule, ordreAuteursSepareParVirgule, roleId, seqId);
1556
		}
1570
		}
1557
	}
1571
	}
1558
	
1572
	
1559
	/** SUPPRIMER **/
1573
	/** SUPPRIMER **/
1560
	public void supprimerPublicationAPersonne(Rafraichissable vueARafraichir, PublicationAPersonneListe personnesSupprimees) {
1574
	public void supprimerPublicationAPersonne(Rafraichissable vueARafraichir, PublicationAPersonneListe personnesSupprimees) {
1561
		
1575
		
1562
		if (personnesSupprimees != null && personnesSupprimees.size() > 0) {
1576
		if (personnesSupprimees != null && personnesSupprimees.size() > 0) {
1563
			String idPublicationAPersonneSepareParVirgule = "" ;
1577
			String idPublicationAPersonneSepareParVirgule = "" ;
1564
			for (Iterator<String> it = personnesSupprimees.keySet().iterator(); it.hasNext();) {
1578
			for (Iterator<String> it = personnesSupprimees.keySet().iterator(); it.hasNext();) {
1565
				idPublicationAPersonneSepareParVirgule += personnesSupprimees.get(it.next()).getId();
1579
				idPublicationAPersonneSepareParVirgule += personnesSupprimees.get(it.next()).getId();
1566
				if (it.hasNext()) {
1580
				if (it.hasNext()) {
1567
					idPublicationAPersonneSepareParVirgule += ",";
1581
					idPublicationAPersonneSepareParVirgule += ",";
1568
				}
1582
				}
1569
			}
1583
			}
1570
			
1584
			
1571
			modele.supprimerPublicationAPersonne(vueARafraichir, idPublicationAPersonneSepareParVirgule);
1585
			modele.supprimerPublicationAPersonne(vueARafraichir, idPublicationAPersonneSepareParVirgule);
1572
		}	
1586
		}	
1573
	}
1587
	}
1574
	
1588
	
1575
	//+----------------------------------------------------------------------------------------------------------------+
1589
	//+----------------------------------------------------------------------------------------------------------------+
1576
	//												GESTION DES COMMENTAIRES
1590
	//												GESTION DES COMMENTAIRES
1577
	//+----------------------------------------------------------------------------------------------------------------+
1591
	//+----------------------------------------------------------------------------------------------------------------+
1578
 
1592
 
1579
	public void afficherListeCommentaire(CommentaireListe nouvelleDonnees) {
1593
	public void afficherListeCommentaire(CommentaireListe nouvelleDonnees) {
1580
		if (!(panneauCentre.getContenu() instanceof CommentaireVue)) {
1594
		if (!(panneauCentre.getContenu() instanceof CommentaireVue)) {
1581
			panneauCentre.removeAll();
1595
			panneauCentre.removeAll();
1582
			panneauCentre.add(new CommentaireVue(this));
1596
			panneauCentre.add(new CommentaireVue(this));
1583
		}	
1597
		}	
1584
		
1598
		
1585
		panneauCentre.getContenu().rafraichir(nouvelleDonnees);	
1599
		panneauCentre.getContenu().rafraichir(nouvelleDonnees);	
1586
	}
1600
	}
1587
	
1601
	
1588
	public void afficherFormCommentaire(String commentaireId) {
1602
	public void afficherFormCommentaire(String commentaireId) {
1589
		panneauCentre.removeAll();
1603
		panneauCentre.removeAll();
1590
		CommentaireForm commentaireForm = new CommentaireForm(this, commentaireId);
1604
		CommentaireForm commentaireForm = new CommentaireForm(this, commentaireId);
1591
		panneauCentre.add(commentaireForm);
1605
		panneauCentre.add(commentaireForm);
1592
		
1606
		
1593
		panneauCentre.layout();
1607
		panneauCentre.layout();
1594
	}
1608
	}
1595
	
1609
	
1596
	public void clicListeCommentaire(Commentaire commentaire) {
1610
	public void clicListeCommentaire(Commentaire commentaire) {
1597
		if (commentaire != null) {
1611
		if (commentaire != null) {
1598
			panneauCentre.getContenu().rafraichir(commentaire);	
1612
			panneauCentre.getContenu().rafraichir(commentaire);	
1599
		}
1613
		}
1600
	}
1614
	}
1601
 
1615
 
1602
	public void clicAjouterCommentaire() {
1616
	public void clicAjouterCommentaire() {
1603
		afficherFormCommentaire(null);
1617
		afficherFormCommentaire(null);
1604
	}
1618
	}
1605
	
1619
	
1606
	public void clicModifierCommentaire(List<Commentaire> selection) {
1620
	public void clicModifierCommentaire(List<Commentaire> selection) {
1607
		if (selection.size() == 0) {
1621
		if (selection.size() == 0) {
1608
			InfoLogger.display("Information", "Veuillez sélectionner un commentaire.");
1622
			InfoLogger.display("Information", "Veuillez sélectionner un commentaire.");
1609
		} else if (selection.size() > 1) {
1623
		} else if (selection.size() > 1) {
1610
			InfoLogger.display("Information", "Veuillez sélectionner un seul commentaire à la fois.");
1624
			InfoLogger.display("Information", "Veuillez sélectionner un seul commentaire à la fois.");
1611
		} else if (selection.size() == 1) {
1625
		} else if (selection.size() == 1) {
1612
			afficherFormCommentaire(selection.get(0).getId());
1626
			afficherFormCommentaire(selection.get(0).getId());
1613
		} else {
1627
		} else {
1614
			InfoLogger.display("Erreur", "Une erreur est survenue dans la méthode clicModifierCommentaire() du Médiateur.");
1628
			InfoLogger.display("Erreur", "Une erreur est survenue dans la méthode clicModifierCommentaire() du Médiateur.");
1615
		}
1629
		}
1616
	}
1630
	}
1617
	
1631
	
1618
	public void clicSupprimerCommentaire(final List<Commentaire> commentaireListe) {
1632
	public void clicSupprimerCommentaire(final List<Commentaire> commentaireListe) {
1619
		if (commentaireListe.size() <= 0) {
1633
		if (commentaireListe.size() <= 0) {
1620
			MessageBox.alert("Attention", "Vous devez sélectionner un commentaire", null); 
1634
			MessageBox.alert("Attention", "Vous devez sélectionner un commentaire", null); 
1621
		} else {
1635
		} else {
1622
			String message = "Voulez-vous vraiment supprimer ces commentaires ?";
1636
			String message = "Voulez-vous vraiment supprimer ces commentaires ?";
1623
			if (commentaireListe.size() == 1) {
1637
			if (commentaireListe.size() == 1) {
1624
				message = "Voulez-vous vraiment supprimer ce commentaire ?";
1638
				message = "Voulez-vous vraiment supprimer ce commentaire ?";
1625
			}
1639
			}
1626
			
1640
			
1627
			final Listener<MessageBoxEvent> listenerSuppression = new Listener<MessageBoxEvent>() { 
1641
			final Listener<MessageBoxEvent> listenerSuppression = new Listener<MessageBoxEvent>() { 
1628
				public void handleEvent(MessageBoxEvent ce) {  
1642
				public void handleEvent(MessageBoxEvent ce) {  
1629
					Dialog dialog = (Dialog) ce.getComponent();
1643
					Dialog dialog = (Dialog) ce.getComponent();
1630
				    Button btn = ce.getButtonClicked();  
1644
				    Button btn = ce.getButtonClicked();  
1631
				    	   
1645
				    	   
1632
				    if (btn.getText().equals(dialog.yesText)) {
1646
				    if (btn.getText().equals(dialog.yesText)) {
1633
				    	supprimerCommentaire(panneauCentre.getContenu(), commentaireListe);
1647
				    	supprimerCommentaire(panneauCentre.getContenu(), commentaireListe);
1634
				    }
1648
				    }
1635
				}
1649
				}
1636
			};
1650
			};
1637
				     
1651
				     
1638
			MessageBox.confirm("Supprimer un commentaire", message, listenerSuppression);
1652
			MessageBox.confirm("Supprimer un commentaire", message, listenerSuppression);
1639
		}
1653
		}
1640
	}
1654
	}
1641
	
1655
	
1642
	/** Cette méthode est un wrapper **/
1656
	/** Cette méthode est un wrapper **/
1643
	public void selectionnerCommentaire(Rafraichissable vueARafraichir, String commentaireId, Sequenceur sequenceur) {
1657
	public void selectionnerCommentaire(Rafraichissable vueARafraichir, String commentaireId, Sequenceur sequenceur) {
1644
		selectionnerCommentaire(vueARafraichir, commentaireId, null, 0, nbElements, sequenceur);
1658
		selectionnerCommentaire(vueARafraichir, commentaireId, null, 0, nbElements, sequenceur);
1645
	}
1659
	}
1646
	
1660
	
1647
	public void selectionnerCommentaire(Rafraichissable vueARafraichir, String commentaireId, String titre, int pageCourante, int nbElements, Sequenceur sequenceur) {
1661
	public void selectionnerCommentaire(Rafraichissable vueARafraichir, String commentaireId, String titre, int pageCourante, int nbElements, Sequenceur sequenceur) {
1648
		if (Mediateur.DEBUG) System.out.println("MEDIATEUR - selectionner  Commentaire");
1662
		if (Mediateur.DEBUG) System.out.println("MEDIATEUR - selectionner  Commentaire");
1649
		Integer seqId = null;
1663
		Integer seqId = null;
1650
		if (sequenceur != null)	{
1664
		if (sequenceur != null)	{
1651
			seqId = sequenceur.lancerRequeteSynchrone(vueARafraichir);
1665
			seqId = sequenceur.lancerRequeteSynchrone(vueARafraichir);
1652
			vueARafraichir = sequenceur;
1666
			vueARafraichir = sequenceur;
1653
		}
1667
		}
1654
		modele.selectionnerCommentaire(vueARafraichir, commentaireId, getProjetId(), titre, pageCourante, nbElements, seqId);
1668
		modele.selectionnerCommentaire(vueARafraichir, commentaireId, getProjetId(), titre, pageCourante, nbElements, seqId);
1655
	}
1669
	}
1656
	
1670
	
1657
	/** Cette méthode est un wrapper **/
1671
	/** Cette méthode est un wrapper **/
1658
	public void selectionnerCommentaireParTitre(Rafraichissable vueARafraichir, String titre, Sequenceur sequenceur) {
1672
	public void selectionnerCommentaireParTitre(Rafraichissable vueARafraichir, String titre, Sequenceur sequenceur) {
1659
		selectionnerCommentaire(vueARafraichir, null, titre, 0, nbElements, sequenceur);
1673
		selectionnerCommentaire(vueARafraichir, null, titre, 0, nbElements, sequenceur);
1660
	}
1674
	}
1661
	
1675
	
1662
	/** AJOUTER **/
1676
	/** AJOUTER **/
1663
	public void ajouterCommentaire(Rafraichissable vueARafraichir, Commentaire commentaire) {
1677
	public void ajouterCommentaire(Rafraichissable vueARafraichir, Commentaire commentaire) {
1664
		modele.ajouterCommentaire(vueARafraichir, commentaire);
1678
		modele.ajouterCommentaire(vueARafraichir, commentaire);
1665
	}
1679
	}
1666
	
1680
	
1667
	/** MODIFIER **/
1681
	/** MODIFIER **/
1668
	public void modifierCommentaire(Rafraichissable vueARafraichir, Commentaire commentaire) {
1682
	public void modifierCommentaire(Rafraichissable vueARafraichir, Commentaire commentaire) {
1669
		modele.modifierCommentaire(vueARafraichir, commentaire);
1683
		modele.modifierCommentaire(vueARafraichir, commentaire);
1670
	}
1684
	}
1671
	
1685
	
1672
	/** SUPPRIMER **/
1686
	/** SUPPRIMER **/
1673
	public void supprimerCommentaire(Rafraichissable vueARafraichir, List<Commentaire> commentairesListe) {
1687
	public void supprimerCommentaire(Rafraichissable vueARafraichir, List<Commentaire> commentairesListe) {
1674
		if (commentairesListe != null && commentairesListe.size() > 0) {
1688
		if (commentairesListe != null && commentairesListe.size() > 0) {
1675
			String idCommentaireSeparesParVirgule = "" ;
1689
			String idCommentaireSeparesParVirgule = "" ;
1676
			Iterator<Commentaire> it = commentairesListe.iterator();
1690
			Iterator<Commentaire> it = commentairesListe.iterator();
1677
			while (it.hasNext()) {
1691
			while (it.hasNext()) {
1678
				idCommentaireSeparesParVirgule += it.next().getId();
1692
				idCommentaireSeparesParVirgule += it.next().getId();
1679
				if (it.hasNext()) {
1693
				if (it.hasNext()) {
1680
					idCommentaireSeparesParVirgule += ",";
1694
					idCommentaireSeparesParVirgule += ",";
1681
				}
1695
				}
1682
			}
1696
			}
1683
			modele.supprimerCommentaire(vueARafraichir, idCommentaireSeparesParVirgule);
1697
			modele.supprimerCommentaire(vueARafraichir, idCommentaireSeparesParVirgule);
1684
			modele.supprimerCollectionACommentaire(vueARafraichir, idCommentaireSeparesParVirgule, CollectionACommentaireAsyncDao.SUPPRESSION_PAR_COMMENTAIRE);
1698
			modele.supprimerCollectionACommentaire(vueARafraichir, idCommentaireSeparesParVirgule, CollectionACommentaireAsyncDao.SUPPRESSION_PAR_COMMENTAIRE);
1685
		}
1699
		}
1686
	}
1700
	}
1687
	
1701
	
1688
	//+----------------------------------------------------------------------------------------------------------------+
1702
	//+----------------------------------------------------------------------------------------------------------------+
1689
	//												RAFRAICHISSEMENT
1703
	//												RAFRAICHISSEMENT
1690
	//+----------------------------------------------------------------------------------------------------------------+
1704
	//+----------------------------------------------------------------------------------------------------------------+
1691
	
1705
	
1692
	public void rafraichir(Object nouvellesDonnees) {
1706
	public void rafraichir(Object nouvellesDonnees) {
1693
		if (nouvellesDonnees instanceof Utilisateur) {
1707
		if (nouvellesDonnees instanceof Utilisateur) {
1694
			repandreEtatIdentification((Utilisateur) nouvellesDonnees);
1708
			repandreEtatIdentification((Utilisateur) nouvellesDonnees);
1695
		} else if (nouvellesDonnees instanceof Information) {
1709
		} else if (nouvellesDonnees instanceof Information) {
1696
			Information info = (Information) nouvellesDonnees;
1710
			Information info = (Information) nouvellesDonnees;
1697
			if (info.getType().equals("modification_personne")) {
1711
			if (info.getType().equals("modification_personne")) {
1698
				repandreInfoMiseAJourUtilisateur();
1712
				repandreInfoMiseAJourUtilisateur();
1699
			}
1713
			}
1700
		} else {
1714
		} else {
1701
			GWT.log(i18nM.erreurRafraichir(nouvellesDonnees.getClass(), this.getClass()), null);
1715
			GWT.log(i18nM.erreurRafraichir(nouvellesDonnees.getClass(), this.getClass()), null);
1702
		}
1716
		}
1703
	}
1717
	}
1704
	
1718
	
1705
	//+----------------------------------------------------------------------------------------------------------------+
1719
	//+----------------------------------------------------------------------------------------------------------------+
1706
	//												GESTION du STATUT
1720
	//												GESTION du STATUT
1707
	//+----------------------------------------------------------------------------------------------------------------+
1721
	//+----------------------------------------------------------------------------------------------------------------+
1708
	
1722
	
1709
	public void afficherPopinChargement()	{
1723
	public void afficherPopinChargement()	{
1710
		((PopupChargement) Registry.get(RegistreId.POPUP_CHARGEMENT)).center();
1724
		((PopupChargement) Registry.get(RegistreId.POPUP_CHARGEMENT)).center();
1711
	}
1725
	}
1712
		
1726
		
1713
	public void masquerPopinChargement()	{		
1727
	public void masquerPopinChargement()	{		
1714
		((PopupChargement) Registry.get(RegistreId.POPUP_CHARGEMENT)).hide();
1728
		((PopupChargement) Registry.get(RegistreId.POPUP_CHARGEMENT)).hide();
1715
	}
1729
	}
1716
	
1730
	
1717
	public String obtenirClasseContenu()	{
1731
	public String obtenirClasseContenu()	{
1718
		String classeContenu = null;
1732
		String classeContenu = null;
1719
		if (panneauCentre.getContenu() != null)	{
1733
		if (panneauCentre.getContenu() != null)	{
1720
			classeContenu = panneauCentre.getContenu().getClass().toString();
1734
			classeContenu = panneauCentre.getContenu().getClass().toString();
1721
		}	
1735
		}	
1722
		return classeContenu;
1736
		return classeContenu;
1723
	} 
1737
	} 
1724
 
1738
 
1725
}
1739
}