Subversion Repositories eFlore/Applications.coel

Rev

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

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