Subversion Repositories eFlore/Applications.coel

Rev

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

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