Subversion Repositories eFlore/Applications.del

Rev

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

Rev 1196 Rev 1203
Line 1... Line 1...
1
package org.tela_botanica.del.client.vues.pictoflora.moteur;
1
package org.tela_botanica.del.client.vues.pictoflora.moteur;
Line -... Line 2...
-
 
2
 
-
 
3
import java.util.List;
2
 
4
 
Line 3... Line 5...
3
import javax.validation.Configuration;
5
import javax.validation.Configuration;
4
 
6
 
5
import org.tela_botanica.del.client.cache.CacheClient;
7
import org.tela_botanica.del.client.cache.CacheClient;
6
import org.tela_botanica.del.client.composants.moteurrecherche.MoteurRecherchePresenteur;
8
import org.tela_botanica.del.client.composants.moteurrecherche.MoteurRecherchePresenteur;
7
import org.tela_botanica.del.client.composants.moteurrecherche.MoteurRechercheVue;
9
import org.tela_botanica.del.client.composants.moteurrecherche.MoteurRechercheVue;
8
import org.tela_botanica.del.client.composants.partageurl.PartageUrlPresenteur;
10
import org.tela_botanica.del.client.composants.partageurl.PartageUrlPresenteur;
9
import org.tela_botanica.del.client.composants.partageurl.PartageUrlVue;
11
import org.tela_botanica.del.client.composants.partageurl.PartageUrlVue;
-
 
12
import org.tela_botanica.del.client.config.Config;
10
import org.tela_botanica.del.client.config.Config;
13
import org.tela_botanica.del.client.modeles.ModeRecherche;
-
 
14
import org.tela_botanica.del.client.modeles.Protocole;
-
 
15
import org.tela_botanica.del.client.modeles.ProtocoleServiceResultat;
11
import org.tela_botanica.del.client.modeles.ModeRecherche;
16
import org.tela_botanica.del.client.navigation.evenement.BusEvenementiel;
12
import org.tela_botanica.del.client.modeles.ProtocoleServiceResultat;
17
import org.tela_botanica.del.client.navigation.evenement.changementprotocole.EvenementChangementProtocole;
13
import org.tela_botanica.del.client.services.rest.ImageServiceConcret;
18
import org.tela_botanica.del.client.services.rest.ImageServiceConcret;
14
import org.tela_botanica.del.client.services.rest.ProtocoleService;
19
import org.tela_botanica.del.client.services.rest.ProtocoleService;
15
import org.tela_botanica.del.client.services.rest.ProtocoleServiceConcret;
20
import org.tela_botanica.del.client.services.rest.ProtocoleServiceConcret;
16
import org.tela_botanica.del.client.services.rest.async.ProtocolesCallback;
21
import org.tela_botanica.del.client.services.rest.async.ProtocolesCallback;
Line -... Line 22...
-
 
22
import org.tela_botanica.del.client.vues.pictoflora.resultats.ResultatPictofloraPresenteur;
-
 
23
import org.tela_botanica.del.client.vues.pictoflora.resultats.ResultatPictofloraVue;
17
import org.tela_botanica.del.client.vues.pictoflora.resultats.ResultatPictofloraPresenteur;
24
 
18
import org.tela_botanica.del.client.vues.pictoflora.resultats.ResultatPictofloraVue;
25
import com.google.gwt.event.dom.client.ChangeEvent;
-
 
26
import com.google.gwt.event.dom.client.ChangeHandler;
19
 
27
import com.google.gwt.event.dom.client.ClickEvent;
20
import com.google.gwt.event.dom.client.ClickEvent;
28
import com.google.gwt.event.dom.client.ClickHandler;
21
import com.google.gwt.event.dom.client.ClickHandler;
29
import com.google.gwt.event.dom.client.HasChangeHandlers;
22
import com.google.gwt.event.dom.client.HasClickHandlers;
30
import com.google.gwt.event.dom.client.HasClickHandlers;
-
 
31
import com.google.gwt.user.client.Window;
23
import com.google.gwt.user.client.Window;
32
import com.google.gwt.user.client.ui.HasWidgets;
Line 24... Line 33...
24
import com.google.gwt.user.client.ui.HasWidgets;
33
import com.google.gwt.user.client.ui.IsWidget;
Line 25... Line 34...
25
import com.google.gwt.user.client.ui.IsWidget;
34
import com.google.gwt.user.client.ui.ListBox;
Line 35... Line 44...
35
		public void ajouterVue(HasWidgets composite);
44
		public void ajouterVue(HasWidgets composite);
Line 36... Line 45...
36
		
45
		
Line 37... Line 46...
37
		public Panel getZonePartageUrl();
46
		public Panel getZonePartageUrl();
-
 
47
 
-
 
48
		HasClickHandlers getLienAjoutObservation();
-
 
49
		
-
 
50
		public void setListeProtocoles(ListBox listeProtocoles);
-
 
51
		
-
 
52
		public HasChangeHandlers getListeProtocoles();
-
 
53
		
-
 
54
		public void ajouterProtocole(String NomProtocole, String idProtocole);
-
 
55
 
-
 
56
		public void selectionnerProtocole(int index);
-
 
57
		
-
 
58
		public String getNomProtocoleSelectionne();
-
 
59
 
-
 
60
		public int getIdProtocoleSelectionne();
-
 
61
 
-
 
62
		public void ajouterProtocoles(List<Protocole> protocoles);
-
 
63
 
38
 
64
		public void mettreAJourDescriptionProtocoleCourant(Protocole protocoleCourant);
Line 39... Line 65...
39
		HasClickHandlers getLienAjoutObservation();
65
		
40
	}
66
	}
-
 
67
 
Line 41... Line 68...
41
 
68
	private Vue vue;
42
	private Vue vue;
69
	private ProtocoleService protocoleService;
43
	private ProtocoleService protocoleService;
70
	private List<Protocole> protocoles;
44
 
71
 
45
	/**
72
	/**
46
	 * Constructeur
73
	 * Constructeur
47
	 * */
-
 
-
 
74
	 * */
48
	public MoteurPictofloraPresenteur(Vue vue, ProtocoleService protocoleService) {
75
	public MoteurPictofloraPresenteur(Vue vue, ProtocoleService protocoleService) {
49
		this.vue = vue;
76
		this.vue = vue;
Line 50... Line 77...
50
		this.protocoleService = protocoleService;
77
		this.protocoleService = protocoleService;
51
		
78
		chargerProtocoles();
Line 75... Line 102...
75
		}
102
		}
76
		gererEvenements();
103
		gererEvenements();
77
	}
104
	}
Line 78... Line 105...
78
	
105
	
-
 
106
	private void gererEvenements() {
-
 
107
		
-
 
108
		vue.getListeProtocoles().addChangeHandler(new ChangeHandler() {
-
 
109
			@Override
-
 
110
			public void onChange(ChangeEvent event) {
-
 
111
				surChangementProtocole();
-
 
112
			}
-
 
113
		});
79
	private void gererEvenements() {
114
		
80
		vue.getLienAjoutObservation().addClickHandler(new ClickHandler() {			
115
		vue.getLienAjoutObservation().addClickHandler(new ClickHandler() {			
81
			@Override
116
			@Override
82
			public void onClick(ClickEvent event) {
117
			public void onClick(ClickEvent event) {
83
				Config config = new Config();
118
				Config config = new Config();
84
				Window.open(config.getUrl("applisaisie"), "Saisie d'une nouvelle observation", null);
119
				Window.open(config.getUrl("applisaisie"), "Saisie d'une nouvelle observation", null);
85
			}
120
			}
86
		});
121
		});
-
 
122
	}
-
 
123
	
-
 
124
	private void chargerProtocoles() {
-
 
125
		// test pour ne pas charger les protocoles déjà chargés
-
 
126
		// TODO: faire un systeme de cache gérés par les web service eux même
-
 
127
		if (CacheClient.getInstance().getListeProtocoles() == null) {
-
 
128
			protocoleService.getProtocoles(new ProtocolesCallback() {
-
 
129
 
-
 
130
				@Override
-
 
131
				public void surRetour(ProtocoleServiceResultat protocolesRecus) {
-
 
132
					protocoles = protocolesRecus.getProtocoles();
-
 
133
					remplirListeProtocole(protocoles);
-
 
134
 
-
 
135
				}
-
 
136
			});
-
 
137
		} else {
-
 
138
			protocoles = CacheClient.getInstance().getListeProtocoles();
-
 
139
			remplirListeProtocole(CacheClient.getInstance().getListeProtocoles());
-
 
140
		}
-
 
141
	}
-
 
142
	
-
 
143
	public void surChangementProtocole() {
-
 
144
		Protocole protocoleCourant = null;
-
 
145
		for (Protocole protocole : protocoles) {
-
 
146
			if (protocole.getId() == vue.getIdProtocoleSelectionne()) {
-
 
147
				protocoleCourant = protocole;
-
 
148
			}
-
 
149
		}
-
 
150
		vue.mettreAJourDescriptionProtocoleCourant(protocoleCourant);
-
 
151
		CacheClient.getInstance().setProtocoleCourant(protocoleCourant);
-
 
152
		EvenementChangementProtocole evenement = new EvenementChangementProtocole(protocoleCourant);
-
 
153
		BusEvenementiel.getInstance().fireEvent(evenement);
-
 
154
	}
-
 
155
	
-
 
156
	private void remplirListeProtocole(List<Protocole> protocoles) {
-
 
157
		vue.ajouterProtocoles(protocoles);
-
 
158
		if (CacheClient.getInstance().getProtocoleCourant() == null) {
-
 
159
			vue.selectionnerProtocole(0);
-
 
160
			vue.mettreAJourDescriptionProtocoleCourant(protocoles.get(0));
-
 
161
		} else {
-
 
162
			vue.mettreAJourDescriptionProtocoleCourant(CacheClient.getInstance().getProtocoleCourant());
-
 
163
		}
Line 87... Line 164...
87
	}
164
	}
88
 
165
 
89
	public void go(HasWidgets composite) {
166
	public void go(HasWidgets composite) {
90
		vue.ajouterVue(composite);
167
		vue.ajouterVue(composite);