Subversion Repositories eFlore/Applications.del

Rev

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