Subversion Repositories eFlore/Applications.coel

Rev

Rev 875 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 875 Rev 883
Line 1... Line 1...
1
package org.tela_botanica.client.vues;
1
package org.tela_botanica.client.vues;
Line -... Line 2...
-
 
2
 
-
 
3
import java.util.Iterator;
2
 
4
 
3
import org.tela_botanica.client.ComposantClass;
5
import org.tela_botanica.client.ComposantClass;
4
import org.tela_botanica.client.ComposantId;
6
import org.tela_botanica.client.ComposantId;
5
import org.tela_botanica.client.Mediateur;
7
import org.tela_botanica.client.Mediateur;
6
import org.tela_botanica.client.interfaces.Rafraichissable;
8
import org.tela_botanica.client.interfaces.Rafraichissable;
7
import org.tela_botanica.client.modeles.Collection;
9
import org.tela_botanica.client.modeles.Collection;
-
 
10
import org.tela_botanica.client.modeles.CollectionAPersonne;
-
 
11
import org.tela_botanica.client.modeles.CollectionAPersonneListe;
-
 
12
import org.tela_botanica.client.modeles.CollectionAPublication;
-
 
13
import org.tela_botanica.client.modeles.CollectionAPublicationListe;
-
 
14
import org.tela_botanica.client.modeles.Information;
8
import org.tela_botanica.client.modeles.CollectionBotanique;
15
import org.tela_botanica.client.modeles.Personne;
-
 
16
import org.tela_botanica.client.modeles.ProjetListe;
9
import org.tela_botanica.client.modeles.ProjetListe;
17
import org.tela_botanica.client.modeles.Publication;
10
import org.tela_botanica.client.modeles.Structure;
18
import org.tela_botanica.client.modeles.Structure;
Line 11... Line 19...
11
import org.tela_botanica.client.modeles.ValeurListe;
19
import org.tela_botanica.client.modeles.ValeurListe;
12
 
20
 
Line 21... Line 29...
21
import com.extjs.gxt.ui.client.widget.layout.FlowLayout;
29
import com.extjs.gxt.ui.client.widget.layout.FlowLayout;
22
import com.google.gwt.core.client.GWT;
30
import com.google.gwt.core.client.GWT;
Line 23... Line 31...
23
 
31
 
Line -... Line 32...
-
 
32
public class CollectionDetailVue extends DetailVue implements Rafraichissable {
-
 
33
 
-
 
34
	private Collection collection = null;
-
 
35
	private boolean collectionChargementOk = false;
24
public class CollectionDetailVue extends DetailVue implements Rafraichissable {
36
	private boolean personnesLieesChargementOk = false;
25
 
37
	private boolean publicationsLieesChargementOk = false;
26
	private Structure structure = null;
38
	private Structure structure = null;
27
	
39
 
28
	private String enteteTpl = null;
40
	private String enteteTpl = null;
-
 
41
	private String generalTpl = null;
-
 
42
	private String personneTpl = null;
29
	private String generalTpl = null;
43
	private String tableauPersonnesLieesTpl = null;
-
 
44
	private String lignePersonneLieeTpl = null;
-
 
45
	private String publicationTpl = null;
30
	private String auteurTpl = null;
46
	private String tableauPublicationsLieesTpl = null;
31
	private String publicationTpl = null;
47
	private String lignePublicationLieeTpl = null;
32
	private String descriptionTpl = null;
48
	private String descriptionTpl = null;
Line 33... Line -...
33
	private String contenuTpl = null;
-
 
34
	private String inventaireTpl = null;
-
 
35
	
-
 
36
	private Collection collection = null;
49
	private String contenuTpl = null;
37
	private boolean collectionChargementOk = false;
50
	private String inventaireTpl = null;
38
	
51
	
39
	private ContentPanel panneauPrincipal = null;
52
	private ContentPanel panneauPrincipal = null;
40
	private Html entete = null;
53
	private Html entete = null;
41
	private TabPanel onglets = null;
54
	private TabPanel onglets = null;
42
	private TabItem generalOnglet = null;
55
	private TabItem generalOnglet = null;
43
	private TabItem personneOnglet = null;
56
	private TabItem personneOnglet = null;
44
	private TabItem publicationOnglet = null;
57
	private TabItem publicationOnglet = null;
-
 
58
	private TabItem descriptionOnglet = null;
Line 45... Line 59...
45
	private TabItem descriptionOnglet = null;
59
	private TabItem contenuOnglet = null;
46
	private TabItem contenuOnglet = null;
60
	private TabItem inventaireOnglet = null;
47
	private TabItem inventaireOnglet = null;
61
 
48
	
62
	
Line 100... Line 114...
100
	}
114
	}
Line 101... Line 115...
101
	
115
	
102
	private void initialiserTousLesTpl() {
116
	private void initialiserTousLesTpl() {
103
		initialiserEnteteHtmlTpl();
117
		initialiserEnteteHtmlTpl();
104
		initialiserGeneralTpl();
118
		initialiserGeneralTpl();
-
 
119
		initialiserPersonneTpl();
-
 
120
		initialiserTableauPersonnesLieesTpl();
105
		initialiserAuteurTpl();
121
		initialiserLignePersonneLieeTpl();
-
 
122
		initialiserPublicationTpl();
-
 
123
		initialiserTableauPublicationsLieesTpl();
106
		initialiserPublicationTpl();
124
		initialiserLignePublicationLieeTpl();
107
		initialiserContenuTpl();
125
		initialiserContenuTpl();
108
		initialiserDescriptionTpl();
126
		initialiserDescriptionTpl();
109
		initialiserInventaireTpl();
127
		initialiserInventaireTpl();
Line 141... Line 159...
141
			"	</div>"+
159
			"	</div>"+
142
			"	<hr class='{css_clear}'/>"+
160
			"	<hr class='{css_clear}'/>"+
143
			"</div>";
161
			"</div>";
144
	}
162
	}
Line 145... Line 163...
145
	
163
	
146
	private void initialiserAuteurTpl() {
164
	private void initialiserPersonneTpl() {
147
		auteurTpl =
165
		personneTpl =
148
			"<div class='{css_corps}'>"+
166
			"<div class='{css_corps}'>"+
149
			"	<div class='{css_fieldset}'>"+
167
			"	<div class='{css_fieldset}'>"+
-
 
168
			"		<h2>{i18n_titre_personne}</h2>"+
150
			"		<h2>{i18n_titre_auteur}</h2>"+
169
			"		{tableau_personnes_liees}"+
151
			"	</div>"+
170
			"	</div>"+
152
			"	<hr class='{css_clear}'/>"+
171
			"	<hr class='{css_clear}'/>"+
153
			"</div>";
172
			"</div>";
Line -... Line 173...
-
 
173
	}
-
 
174
	
-
 
175
	
-
 
176
	private void initialiserTableauPersonnesLieesTpl() {
-
 
177
		tableauPersonnesLieesTpl =
-
 
178
			"<h3>{i18n_titre_membre}</h3>"+
-
 
179
			"<table>"+
-
 
180
			"	<thead>"+
-
 
181
			"		<tr>" +
-
 
182
			"			<th>{i18n_prenom}</th>" +
-
 
183
			"			<th>{i18n_nom}</th>" +
-
 
184
			"		</tr>"+
-
 
185
			"	</thead>"+
-
 
186
			"	<tbody>"+
-
 
187
			"		{lignes}"+
-
 
188
			"	</tbody>"+
-
 
189
			"</table>";
-
 
190
	}
-
 
191
	
-
 
192
	private void initialiserLignePersonneLieeTpl() {
-
 
193
		lignePersonneLieeTpl =
-
 
194
			"<tr>"+
-
 
195
			"	<td>{prenom}</td>"+
-
 
196
			"	<td>{nom}</td>"+
-
 
197
			"</tr>";
154
	}
198
	}
155
	
199
	
156
	private void initialiserPublicationTpl() {
200
	private void initialiserPublicationTpl() {
157
		publicationTpl =
201
		publicationTpl =
158
			"<div class='{css_corps}'>"+
202
			"<div class='{css_corps}'>"+
-
 
203
			"	<div class='{css_fieldset}'>"+
159
			"	<div class='{css_fieldset}'>"+
204
			"		<h2>{i18n_titre_publication}</h2>"+
160
			"		<h2>{i18n_titre_publication}</h2>"+
205
			"		{tableau_publications_liees}"+
161
			"	</div>"+
206
			"	</div>"+
162
			"	<hr class='{css_clear}'/>"+
207
			"	<hr class='{css_clear}'/>"+
Line -... Line 208...
-
 
208
			"</div>";
-
 
209
	}
-
 
210
	
-
 
211
	private void initialiserTableauPublicationsLieesTpl() {
-
 
212
		tableauPublicationsLieesTpl =
-
 
213
			"<table>"+
-
 
214
			"	<thead>"+
-
 
215
			"		<tr>" +
-
 
216
			"			<th>{i18n_auteur}</th>" +
-
 
217
			"			<th>{i18n_titre}</th>" +
-
 
218
			"		</tr>"+
-
 
219
			"	</thead>"+
-
 
220
			"	<tbody>"+
-
 
221
			"		{lignes}"+
-
 
222
			"	</tbody>"+
-
 
223
			"</table>";
-
 
224
	}
-
 
225
	
-
 
226
	private void initialiserLignePublicationLieeTpl() {
-
 
227
		lignePublicationLieeTpl =
-
 
228
			"<tr>"+
-
 
229
			"	<td>{auteur}</td>"+
-
 
230
			"	<td>{titre}</td>"+
163
			"</div>";
231
			"</tr>";
164
	}
232
	}
165
	
233
	
166
	private void initialiserDescriptionTpl() {
234
	private void initialiserDescriptionTpl() {
167
		descriptionTpl =
235
		descriptionTpl =
Line 208... Line 276...
208
			projets = (ProjetListe) nouvellesDonnees;
276
			projets = (ProjetListe) nouvellesDonnees;
209
			projetsChargementOk = true;
277
			projetsChargementOk = true;
210
		} else if (nouvellesDonnees instanceof ValeurListe) {
278
		} else if (nouvellesDonnees instanceof ValeurListe) {
211
			ValeurListe listeValeursReceptionnee = (ValeurListe) nouvellesDonnees;
279
			ValeurListe listeValeursReceptionnee = (ValeurListe) nouvellesDonnees;
212
			receptionerListeValeurs(listeValeursReceptionnee);
280
			receptionerListeValeurs(listeValeursReceptionnee);
-
 
281
		} else if (nouvellesDonnees instanceof Information) {
-
 
282
			Information info = (Information) nouvellesDonnees;
-
 
283
			if (info.getType().equals("liste_collection_a_personne")) {
-
 
284
				lierCollectionAPersonne((CollectionAPersonneListe) info.getDonnee(0));
-
 
285
			} else if (info.getType().equals("liste_collection_a_publication")) {
-
 
286
				lierCollectionAPublication((CollectionAPublicationListe) info.getDonnee(0));
-
 
287
			}
213
		} else {
288
		} else {
214
			GWT.log(Mediateur.i18nM.erreurRafraichir(nouvellesDonnees.getClass(), this.getClass()), null);
289
			GWT.log(Mediateur.i18nM.erreurRafraichir(nouvellesDonnees.getClass(), this.getClass()), null);
215
		}
290
		}
Line 216... Line 291...
216
		
291
		
217
		if (avoirDonneesChargees()) {
292
		if (avoirDonneesChargees()) {
218
			afficherDetail();
293
			afficherDetail();
219
		}
294
		}
Line -... Line 295...
-
 
295
	}
-
 
296
	
-
 
297
	protected void lierCollectionAPersonne(CollectionAPersonneListe personnes) {
-
 
298
		collection.setPersonnesLiees(personnes);
-
 
299
		personnesLieesChargementOk = true;
-
 
300
	}
-
 
301
	
-
 
302
	protected void lierCollectionAPublication(CollectionAPublicationListe publications) {
-
 
303
		collection.setPublicationsLiees(publications);
-
 
304
		publicationsLieesChargementOk = true;
220
	}
305
	}
221
	
306
	
222
	private boolean avoirDonneesChargees() {
307
	private boolean avoirDonneesChargees() {
223
		boolean ok = false;
308
		boolean ok = false;
224
		if (projetsChargementOk && collectionChargementOk && ontologieChargementOk) {
309
		if (projetsChargementOk && collectionChargementOk && ontologieChargementOk && personnesLieesChargementOk && publicationsLieesChargementOk) {
225
			ok = true;
310
			ok = true;
226
		}
311
		}
Line 227... Line 312...
227
		return ok;
312
		return ok;
228
	}
313
	}
229
	
314
	
230
	private void afficherDetail() {
315
	private void afficherDetail() {
231
		if (collection != null) {
316
		if (collection != null) {
232
			afficherEntete();
317
			afficherEntete();
233
			afficherIdentification();
318
			afficherIdentification();
234
			afficherAuteur();
319
			afficherPersonne();
235
			afficherPublication();
320
			afficherPublication();
236
			afficherDescription();
321
			afficherDescription();
Line 301... Line 386...
301
		generalParams.set("groupement_but", groupementBut);
386
		generalParams.set("groupement_but", groupementBut);
Line 302... Line 387...
302
		
387
		
303
		afficherOnglet(generalTpl, generalParams, generalOnglet);
388
		afficherOnglet(generalTpl, generalParams, generalOnglet);
Line 304... Line 389...
304
	}
389
	}
-
 
390
	
-
 
391
	private void afficherPersonne() {
-
 
392
		String tableauPersonneHtml = "";
-
 
393
		if (collection.getPersonnesLiees().size() > 0) {
-
 
394
			tableauPersonneHtml = construireTableauPersonnesLiees();
305
	
395
		}
306
	private void afficherAuteur() {
396
		
-
 
397
		Params personneParams = new Params();
-
 
398
		personneParams.set("i18n_titre_personne", i18nC.collectionPersonneTitre());
-
 
399
		personneParams.set("tableau_personnes_liees", tableauPersonneHtml);
-
 
400
		
-
 
401
		afficherOnglet(personneTpl, personneParams, personneOnglet);
-
 
402
	}
-
 
403
	
-
 
404
	private String construireTableauPersonnesLiees() {
-
 
405
		Params contenuParams = new Params();
-
 
406
		contenuParams.set("i18n_prenom", i18nC.personnePrenom());
-
 
407
		contenuParams.set("i18n_nom", i18nC.personneNom());
-
 
408
		
-
 
409
		String lignesPersonnel = ""; 
-
 
410
		
-
 
411
		Iterator<String> it = collection.getPersonnesLiees().keySet().iterator();
-
 
412
		while (it.hasNext()) {
-
 
413
			CollectionAPersonne relationCollectionAPersonne = collection.getPersonnesLiees().get(it.next());
-
 
414
			Personne personne = relationCollectionAPersonne.getPersonne();
-
 
415
			Params ligneParams = new Params();
-
 
416
			
-
 
417
			ligneParams.set("prenom", personne.getPrenom());
-
 
418
			ligneParams.set("nom", personne.getNom());
-
 
419
			lignesPersonnel += Format.substitute(lignePersonneLieeTpl, ligneParams);
Line 307... Line 420...
307
		Params auteurParams = new Params();
420
		}
-
 
421
		contenuParams.set("lignes", lignesPersonnel);
308
		auteurParams.set("i18n_titre_auteur", i18nC.collectionPersonneTitre());
422
		
Line 309... Line 423...
309
		
423
		String cHtml = Format.substitute(tableauPersonnesLieesTpl, contenuParams);
310
		afficherOnglet(auteurTpl, auteurParams, personneOnglet);
424
		return cHtml;
311
	}
425
	}
Line -... Line 426...
-
 
426
	
-
 
427
	private void afficherPublication() {
-
 
428
		Params publicationParams = new Params();
-
 
429
		publicationParams.set("i18n_titre_publication", i18nC.collectionPublicationTitre());
-
 
430
		
-
 
431
		
-
 
432
		String tableauPublicationHtml = "";
312
	
433
		if (collection.getPersonnesLiees().size() > 0) {
313
	private void afficherPublication() {
434
			tableauPublicationHtml = construireTableauPublicationsLiees();
Line -... Line 435...
-
 
435
		}
-
 
436
		publicationParams.set("tableau_publications_liees", tableauPublicationHtml);
-
 
437
				
-
 
438
		afficherOnglet(publicationTpl, publicationParams, publicationOnglet);
-
 
439
	}
-
 
440
	
-
 
441
	private String construireTableauPublicationsLiees() {
-
 
442
		Params contenuParams = new Params();
-
 
443
		contenuParams.set("i18n_auteur", i18nC.publicationAuteurs());
-
 
444
		contenuParams.set("i18n_titre", i18nC.publicationTitre());
-
 
445
		
-
 
446
		String lignesPublication = ""; 
-
 
447
		
-
 
448
		Iterator<String> it = collection.getPublicationsLiees().keySet().iterator();
-
 
449
		while (it.hasNext()) {
-
 
450
			CollectionAPublication relationCollectionAPublication = collection.getPublicationsLiees().get(it.next());
-
 
451
			Publication publication = relationCollectionAPublication.getPublication();
-
 
452
			Params ligneParams = new Params();
-
 
453
			
-
 
454
			ligneParams.set("auteur", publication.getAuteur());
-
 
455
			ligneParams.set("titre", publication.getTitre());
-
 
456
			lignesPublication += Format.substitute(lignePublicationLieeTpl, ligneParams);
-
 
457
		}
314
		Params publicationParams = new Params();
458
		contenuParams.set("lignes", lignesPublication);
315
		publicationParams.set("i18n_titre_publication", i18nC.collectionPublicationTitre());
459
		
316
		
460
		String cHtml = Format.substitute(tableauPublicationsLieesTpl, contenuParams);
317
		afficherOnglet(publicationTpl, publicationParams, publicationOnglet);
461
		return cHtml;
318
	}
462
	}