Subversion Repositories eFlore/Applications.del

Rev

Rev 2119 | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
1206 gduche 1
package org.tela_botanica.del.client.vues.entete.liens;
2
 
3
import org.tela_botanica.del.client.cache.CacheClient;
4
import org.tela_botanica.del.client.composants.partageurl.PartageUrlPresenteur;
5
import org.tela_botanica.del.client.composants.partageurl.PartageUrlVue;
6
import org.tela_botanica.del.client.composants.presenteur.Presenteur;
7
import org.tela_botanica.del.client.modeles.ProtocoleServiceResultat;
8
import org.tela_botanica.del.client.services.rest.ProtocoleServiceConcret;
9
import org.tela_botanica.del.client.services.rest.async.ProtocolesCallback;
10
 
11
import com.google.gwt.user.client.ui.HasWidgets;
12
import com.google.gwt.user.client.ui.IsWidget;
13
 
14
public class LiensPresenteur extends Presenteur {
15
 
16
	public interface Vue extends IsWidget {
17
		public HasWidgets getZonePartageUrl();
18
	}
19
 
20
	private Vue vue;
21
 
22
	public LiensPresenteur(Vue vue) {
23
		this.vue = vue;
24
	}
25
 
26
	public void go(HasWidgets composite) {
27
		composite.add(vue.asWidget());
28
 
29
		PartageUrlPresenteur partageUrl = new PartageUrlPresenteur(new PartageUrlVue());
30
		partageUrl.go(vue.getZonePartageUrl());
31
 
32
		gererProtocoles();
33
	}
34
 
35
	protected void gererProtocoles() {
36
		//FIXME : ne doit pas etre concret ici ?
37
		ProtocoleServiceConcret protocoleService = new ProtocoleServiceConcret();
38
		if (CacheClient.getInstance().getProtocoleCourant() == null) {
1316 aurelien 39
			if (CacheClient.getInstance().getListeProtocoles() == null || CacheClient.getInstance().getListeProtocoles().size() == 0) {
1206 gduche 40
				protocoleService.getProtocoles(new ProtocolesCallback() {
41
 
42
					@Override
43
					public void surRetour(ProtocoleServiceResultat protocolesRecus) {
44
						CacheClient.getInstance().setListeProtocoles(protocolesRecus.getProtocoles());
45
						if (protocolesRecus.getProtocoles().size() > 0) {
2119 mathias 46
							// 1 est censé etre "Capitalisation d'images"
47
							CacheClient.getInstance().setProtocoleCourant(protocolesRecus.getProtocoles().get(1));
1206 gduche 48
						} else {
49
							// TODO afficher message indiquant que la liste des
50
							// protocoles de votes n'est pas fourni
51
						}
52
					}
53
				});
54
			} else {
55
				CacheClient.getInstance().setProtocoleCourant(CacheClient.getInstance().getListeProtocoles().get(0));
56
			}
57
		}
58
	}
59
 
60
	@Override
61
	protected void gererEvenements() {
62
		// TODO Auto-generated method stub
63
		/*
64
		 * vue.getLienAjoutObservation().addClickHandler(new ClickHandler() {
65
			@Override
66
			public void onClick(ClickEvent event) {
67
				Config config = new Config();
68
				Window.open(config.getUrl("applisaisie"), "Saisie d'une nouvelle observation", null);
69
			}
70
		});
71
		 */
72
	}
73
}