Subversion Repositories eFlore/Applications.coel

Rev

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

Rev 229 Rev 239
Line 5... Line 5...
5
import java.util.Set;
5
import java.util.Set;
Line 6... Line 6...
6
 
6
 
7
import org.tela_botanica.client.Mediateur;
7
import org.tela_botanica.client.Mediateur;
8
import org.tela_botanica.client.RegistreId;
8
import org.tela_botanica.client.RegistreId;
-
 
9
import org.tela_botanica.client.interfaces.Rafraichissable;
9
import org.tela_botanica.client.interfaces.Rafraichissable;
10
import org.tela_botanica.client.modeles.Personne;
10
import org.tela_botanica.client.modeles.PersonneListe;
11
import org.tela_botanica.client.modeles.PersonneListe;
11
import org.tela_botanica.client.modeles.Publication;
12
import org.tela_botanica.client.modeles.Publication;
12
import org.tela_botanica.client.modeles.Structure;
13
import org.tela_botanica.client.modeles.Structure;
Line 42... Line 43...
42
	private String idStructureEdition = "" ; 
43
	private String idStructureEdition = "" ; 
43
	private String idPublication = "" ;
44
	private String idPublication = "" ;
44
	private String idProjet = "" ;
45
	private String idProjet = "" ;
45
	private String metaPubli = "" ;
46
	private String metaPubli = "" ;
Line -... Line 47...
-
 
47
	
-
 
48
	private PersonneListe listePersonneAuteur = null ; 
46
	
49
	private ListStore<Personne> storeAuteurs = null ;
Line 47... Line 50...
47
	private ArrayList<TextField<String>> listeAuteurs = null;
50
	private ArrayList<ComboBox<Personne>> listeAuteurs = null;
48
	
-
 
49
	private TextField<String> nomArticle = null;
51
	
50
	private TextField<String> nomPub = null;
52
	private TextField<String> nomArticle = null;
Line 51... Line 53...
51
	private TextField<String> intituleCollPub = null;
53
	private TextField<String> intituleCollPub = null;
52
	private TextField<String> uriPub = null;
54
	private TextField<String> uriPub = null;
Line 58... Line 60...
58
	private TextField<String> fasciculePub = null;
60
	private TextField<String> fasciculePub = null;
59
	private TextField<String> pagesPub = null;
61
	private TextField<String> pagesPub = null;
60
	private String mode = "AJOUT";
62
	private String mode = "AJOUT";
Line 61... Line 63...
61
	
63
	
-
 
64
	FieldSet fieldSetAuteurs = null ;
-
 
65
 
Line 62... Line 66...
62
	FieldSet fieldSetAuteurs = null ;
66
	private Publication publi;
Line 63... Line 67...
63
	
67
	
64
 
68
 
Line -... Line 69...
-
 
69
	public FormPublicationVue() {
-
 
70
		
-
 
71
		setLayout(new FitLayout());
65
	public FormPublicationVue() {
72
		mediateur = Registry.get(RegistreId.MEDIATEUR);
66
		
73
		
67
		setLayout(new FitLayout());
74
		storeAuteurs = new ListStore<Personne>();
68
		mediateur = Registry.get(RegistreId.MEDIATEUR);
75
		listePersonneAuteur = new PersonneListe();
Line 110... Line 117...
110
		
117
		
111
		nomArticle = new TextField<String>();
118
		nomArticle = new TextField<String>();
112
		nomArticle.setName("cpu");
119
		nomArticle.setName("cpu");
Line 113... Line -...
113
		nomArticle.setFieldLabel("Titre de l'article ou de l'ouvrage");
-
 
114
		
-
 
115
		nomPub = new TextField<String>();
-
 
116
		nomPub.setFieldLabel("Intitulé complet de la publication");
120
		nomArticle.setFieldLabel("Titre de l'article ou de l'ouvrage");
117
		
121
		
Line 118... Line 122...
118
		intituleCollPub = new TextField<String>();
122
		intituleCollPub = new TextField<String>();
119
		intituleCollPub.setFieldLabel("Intitulé de la collection ou de la revue");
123
		intituleCollPub.setFieldLabel("Intitulé de la collection ou de la revue");
Line 120... Line 124...
120
		
124
		
121
		uriPub = new TextField<String>();
-
 
122
		uriPub.setFieldLabel("URI de la publication");
125
		uriPub = new TextField<String>();
123
		
126
		uriPub.setFieldLabel("URI de la publication");
Line 124... Line 127...
124
		fieldSetInfosGen.add(nomArticle);
127
		
125
		fieldSetInfosGen.add(nomPub);
128
		fieldSetInfosGen.add(nomArticle);
Line 186... Line 189...
186
			}
189
			}
Line 187... Line 190...
187
			
190
			
188
		});
191
		});
Line -... Line 192...
-
 
192
		panel.addButton(validerBtn);
189
		panel.addButton(validerBtn);
193
		
190
		
194
		mediateur.clicObtenirListeAuteurs(this);
Line 191... Line 195...
191
		mediateur.clicObtenirListeEditeurs(this);
195
		mediateur.clicObtenirListeEditeurs(this);
Line 192... Line 196...
192
	}
196
	}
193
	
197
	
Line 194... Line 198...
194
	public void rafraichir(Object nouvelleDonnees) {
198
	public void rafraichir(Object nouvelleDonnees) {
Line 195... Line 199...
195
		
199
		
196
		// Si on a reçu les details d'une publication
-
 
197
		if(nouvelleDonnees instanceof Publication) {
200
		// Si on a reçu les details d'une publication
Line 198... Line 201...
198
 
201
		if(nouvelleDonnees instanceof Publication) {
199
			mode = "MODIF" ;
-
 
200
			
202
 
201
			Publication publi = (Publication)nouvelleDonnees;
203
			mode = "MODIF" ;
202
			
204
			
203
			genererChampsAuteur(publi.getAuteur(),false);
205
			publi = (Publication)nouvelleDonnees;
204
			
206
			genererChampsAuteur(publi.getIdAuteur(),false);
Line 230... Line 232...
230
			if(mode.equals("MODIF")) {	
232
			if(mode.equals("MODIF")) {	
231
				comboListeEditeurs.setValue(listeStructure.get(idStructureEdition));
233
				comboListeEditeurs.setValue(listeStructure.get(idStructureEdition));
232
			}
234
			}
233
			comboListeEditeurs.expand();
235
			comboListeEditeurs.expand();
234
		}
236
		}
-
 
237
		
-
 
238
		if(nouvelleDonnees instanceof PersonneListe) {
-
 
239
			storeAuteurs.removeAll();
-
 
240
			listePersonneAuteur = (PersonneListe)nouvelleDonnees;
-
 
241
			Set<String> listeStructureSet = listePersonneAuteur.keySet();
-
 
242
			for(Iterator<String> it = listeStructureSet.iterator() ; it.hasNext() ;) {
-
 
243
				storeAuteurs.add(listePersonneAuteur.get(it.next()));
-
 
244
			}
-
 
245
			
-
 
246
			if(mode.equals("MODIF")) {	
-
 
247
				genererChampsAuteur(publi.getIdAuteur(),false);
-
 
248
			}
-
 
249
		}
235
	}
250
	}
Line 236... Line 251...
236
	
251
	
Line 237... Line 252...
237
	private void soumettreFormulaire() {
252
	private void soumettreFormulaire() {
Line 242... Line 257...
242
			if(i != listeAuteurs.size() -1) {
257
			if(i != listeAuteurs.size() -1) {
243
				auteur += "|";
258
				auteur += "|";
244
			}
259
			}
245
		}
260
		}
246
		String nomArt = nomArticle.getValue();
261
		String nomArt = nomArticle.getValue();
247
		String pub = nomPub.getValue();
262
		String pub = nomArticle.getValue()+" "+intituleCollPub.getValue(); 
248
		String collPub = intituleCollPub.getValue();
263
		String collPub = intituleCollPub.getValue();
249
		String uri = uriPub.getValue();
264
		String uri = uriPub.getValue();
250
		String editeur = comboListeEditeurs.getValue().getId();
265
		String editeur = comboListeEditeurs.getValue().getId();
251
		String datePar = datePub.getRawValue();
266
		String datePar = datePub.getRawValue();
252
		String tome = tomPub.getValue();
267
		String tome = tomPub.getValue();
Line 262... Line 277...
262
		}
277
		}
263
	}
278
	}
Line 264... Line 279...
264
	
279
	
Line 265... Line 280...
265
	private void genererChampsAuteur(String auteursStr, boolean ajouter) {
280
	private void genererChampsAuteur(String auteursStr, boolean ajouter) {
266
				
281
				
Line 267... Line 282...
267
		String[] auteurs = auteursStr.split("\\|");
282
		String[] auteurs = auteursStr.split(";;");
268
		LayoutContainer conteneurChamps = new LayoutContainer(); 
283
		LayoutContainer conteneurChamps = new LayoutContainer(); 
269
		
284
		
270
		if(auteurs.length != 0) {
285
		if(auteurs.length != 0) {
271
			listeAuteurs = new ArrayList<TextField<String>>(auteurs.length);
286
			listeAuteurs = new ArrayList<ComboBox<Personne>>(auteurs.length);
272
		}
287
		}
273
		else{
288
		else{
Line 274... Line 289...
274
			listeAuteurs = new ArrayList<TextField<String>>(1);
289
			listeAuteurs = new ArrayList<ComboBox<Personne>>(1);
Line 298... Line 313...
298
				
313
				
Line 299... Line 314...
299
				String idsAuteurs = "" ;
314
				String idsAuteurs = "" ;
Line 300... Line 315...
300
				
315
				
-
 
316
				for(int i = 0 ; i < listeAuteurs.size() ; i++) {
-
 
317
					
-
 
318
					Personne enCours = listeAuteurs.get(i).getValue() ;
-
 
319
					String valeurChampAuteur = " " ;
-
 
320
					if(enCours != null) {
-
 
321
						valeurChampAuteur = enCours.getId();
-
 
322
					}
-
 
323
					else
301
				for(int i = 0 ; i < listeAuteurs.size() ; i++) {
324
					{
302
					
325
						valeurChampAuteur = null ;
303
					String valeurChampAuteur = listeAuteurs.get(i).getValue();
326
					}
304
					if(valeurChampAuteur != null)
327
					if(valeurChampAuteur != null)
305
					{
328
					{
306
						idsAuteurs += valeurChampAuteur ;
329
						idsAuteurs += valeurChampAuteur ;
307
					}
330
					}
308
						idsAuteurs += "|" ;
331
						idsAuteurs += ";;" ;
Line 309... Line 332...
309
				}
332
				}
Line 323... Line 346...
323
		
346
		
324
		// Création de la disposition : FIELDSET
347
		// Création de la disposition : FIELDSET
325
		FormLayout layoutPanelTF = new FormLayout();
348
		FormLayout layoutPanelTF = new FormLayout();
Line 326... Line 349...
326
		p.setLayout(layoutPanelTF);
349
		p.setLayout(layoutPanelTF);
-
 
350
		
-
 
351
		final ComboBox<Personne> tf = new ComboBox<Personne>() ;
327
		
352
		tf.setDisplayField("fmt_nom_complet");
-
 
353
		tf.setStore(storeAuteurs);
328
		final TextField<String> tf = new TextField<String>() ;
354
		if(valeurDefaut != null && !valeurDefaut.equals("") ) {
329
		if(valeurDefaut != null) {
355
			Personne auteur = listePersonneAuteur.get((String)valeurDefaut);
330
			tf.setValue(valeurDefaut);
356
			tf.setValue(auteur);
331
		}
357
		}
Line 332... Line 358...
332
		tf.setSize(200, 20);
358
		tf.setSize(200, 20);
Line 340... Line 366...
340
				String idsAuteurs = "" ;
366
				String idsAuteurs = "" ;
341
				listeAuteurs.remove(tf);
367
				listeAuteurs.remove(tf);
Line 342... Line 368...
342
				
368
				
Line 343... Line 369...
343
				for(int i = 0 ; i < listeAuteurs.size() ; i++) {
369
				for(int i = 0 ; i < listeAuteurs.size() ; i++) {
-
 
370
					
-
 
371
					Personne enCours = listeAuteurs.get(i).getValue() ;
-
 
372
					String valeurChampAuteur = " " ;
-
 
373
					if(enCours != null) {
-
 
374
						valeurChampAuteur = enCours.getId();
-
 
375
					}
-
 
376
					else
-
 
377
					{
-
 
378
						valeurChampAuteur = null ;
344
					
379
					}
345
					String valeurChampAuteur = listeAuteurs.get(i).getValue();
380
					
346
					if(valeurChampAuteur != null & !valeurChampAuteur.equals(""))
381
					if(valeurChampAuteur != null & !valeurChampAuteur.equals(""))
347
					{
382
					{
348
						idsAuteurs += valeurChampAuteur ;
383
						idsAuteurs += valeurChampAuteur ;
349
					}
384
					}
350
					else
385
					else
351
					{
386
					{
352
						idsAuteurs += " " ;
387
						idsAuteurs += " " ;
353
					}
388
					}
354
					if(i != listeAuteurs.size() - 1) {
389
					if(i != listeAuteurs.size() - 1) {
355
						idsAuteurs+= "|";
390
						idsAuteurs+= ";;";
356
					}
391
					}
357
				}
392
				}