Subversion Repositories eFlore/Applications.del

Rev

Rev 141 | Go to most recent revision | Only display areas with differences | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 141 Rev 154
1
package org.tela_botanica.del.client.utils;
1
package org.tela_botanica.del.client.utils;
2
 
2
 
3
import java.util.ArrayList;
3
import java.util.ArrayList;
4
import java.util.Date;
4
import java.util.Date;
5
import java.util.HashMap;
5
import java.util.HashMap;
6
import java.util.Iterator;
6
import java.util.Iterator;
7
import java.util.List;
7
import java.util.List;
8
 
-
 
9
import org.tela_botanica.del.client.cache.CacheClient;
8
 
10
import org.tela_botanica.del.client.exceptions.ExceptionClient;
9
import org.tela_botanica.del.client.exceptions.ExceptionClient;
11
import org.tela_botanica.del.client.i18n.I18n;
10
import org.tela_botanica.del.client.i18n.I18n;
12
import org.tela_botanica.del.client.modeles.Commentaire;
11
import org.tela_botanica.del.client.modeles.Commentaire;
-
 
12
import org.tela_botanica.del.client.modeles.Image;
13
import org.tela_botanica.del.client.modeles.Observation;
13
import org.tela_botanica.del.client.modeles.Observation;
14
import org.tela_botanica.del.client.modeles.PropositionDetermination;
14
import org.tela_botanica.del.client.modeles.PropositionDetermination;
15
import org.tela_botanica.del.client.modeles.Protocole;
15
import org.tela_botanica.del.client.modeles.Protocole;
-
 
16
import org.tela_botanica.del.client.modeles.VoteDetermination;
16
import org.tela_botanica.del.client.modeles.VoteProtocole;
17
import org.tela_botanica.del.client.modeles.VoteProtocole;
17
 
18
 
18
import com.google.gwt.i18n.client.DateTimeFormat;
19
import com.google.gwt.i18n.client.DateTimeFormat;
19
import com.google.gwt.i18n.client.DateTimeFormat.PredefinedFormat;
20
import com.google.gwt.i18n.client.DateTimeFormat.PredefinedFormat;
20
 
21
 
21
public class MockDatasource extends GwtObservable {
22
public class MockDatasource extends GwtObservable {
22
 
23
 
23
	static MockDatasource instance;
24
	static MockDatasource instance;
24
 
25
 
25
	List<Observation> observations = new ArrayList<Observation>();
26
	List<Observation> observations = new ArrayList<Observation>();
26
 
27
 
27
	List<PropositionDetermination> propositionDeterminationDatas = new ArrayList<PropositionDetermination>();
28
	List<PropositionDetermination> observationValidationDatas = new ArrayList<PropositionDetermination>();
28
 
29
 
29
	ArrayList<String> propositionsTaxonDatas = new ArrayList<String>();
30
	ArrayList<String> propositionsTaxonDatas = new ArrayList<String>();
30
 
31
 
31
	List<Protocole> protocoles = new ArrayList<Protocole>();
32
	List<Protocole> protocoles = new ArrayList<Protocole>();
-
 
33
	
-
 
34
	List<Image> images = new ArrayList<Image>();
32
 
35
 
33
	ArrayList<String> pourcentagesConfiance = new ArrayList<String>();
36
	List<String> pourcentagesConfiance = new ArrayList<String>();
34
 
37
 
35
	private MockDatasource() {
38
	private MockDatasource() {
36
 
39
 
37
		HashMap<String, String> auteurObs = new HashMap<String, String>();
40
		HashMap<String, String> auteurObs = new HashMap<String, String>();
38
		auteurObs.put("Juliette 1MOUREAU", "Tragopogon porrifolius subsp. australis (Jord.) Nyman");
41
		auteurObs.put("Juliette 1MOUREAU", "Tragopogon porrifolius subsp. australis (Jord.) Nyman");
39
		auteurObs.put("Robert 2LERAS", "Iris lutescens subsp. lutescens");
42
		auteurObs.put("Robert 2LERAS", "Iris lutescens subsp. lutescens");
40
		auteurObs.put("Geneviève 3BOTTI", "Euphorbia dendroides L.");
43
		auteurObs.put("Geneviève 3BOTTI", "Euphorbia dendroides L.");
41
		auteurObs.put("Robert 4LERAS", "Lonicera japonica Thunb. ex Murray");
44
		auteurObs.put("Robert 4LERAS", "Lonicera japonica Thunb. ex Murray");
42
		auteurObs.put("Juliette 5MOUREAU", "Lavatera arborea L.");
45
		auteurObs.put("Juliette 5MOUREAU", "Lavatera arborea L.");
43
		auteurObs.put("Robert 6LERAS", "Lavatera arborea L.");
46
		auteurObs.put("Robert 6LERAS", "Lavatera arborea L.");
44
		auteurObs.put("Juliette 7MOUREAU", "Serapias vomeracea (Burm.f.) Briq. ");
47
		auteurObs.put("Juliette 7MOUREAU", "Serapias vomeracea (Burm.f.) Briq. ");
45
		auteurObs.put("Benjamin 8LIENS", "Lonicera etrusca Santi");
48
		auteurObs.put("Benjamin 8LIENS", "Lonicera etrusca Santi");
46
		auteurObs.put("Aurélient 9PERONNET", "Ophrys scolopax Cav. ");
49
		auteurObs.put("Aurélient 9PERONNET", "Ophrys scolopax Cav. ");
47
		auteurObs.put("Grégoire 10DUCHÉ", "Staehelina dubia L. ");
50
		auteurObs.put("Grégoire 10DUCHÉ", "Staehelina dubia L. ");
48
		auteurObs.put("Juliette 11MOUREAU", "Tragopogon porrifolius subsp. australis (Jord.) Nyman");
51
		auteurObs.put("Juliette 11MOUREAU", "Tragopogon porrifolius subsp. australis (Jord.) Nyman");
49
		auteurObs.put("Robert 12LERAS", "Iris lutescens subsp. lutescens");
52
		auteurObs.put("Robert 12LERAS", "Iris lutescens subsp. lutescens");
50
		auteurObs.put("Geneviève 13BOTTI", "Euphorbia dendroides L.");
53
		auteurObs.put("Geneviève 13BOTTI", "Euphorbia dendroides L.");
51
		auteurObs.put("Robert 14LERAS", "Lonicera japonica Thunb. ex Murray");
54
		auteurObs.put("Robert 14LERAS", "Lonicera japonica Thunb. ex Murray");
52
		auteurObs.put("Juliette 15MOUREAU", "Lavatera arborea L.");
55
		auteurObs.put("Juliette 15MOUREAU", "Lavatera arborea L.");
53
		auteurObs.put("Robert 16LERAS", "Lavatera arborea L.");
56
		auteurObs.put("Robert 16LERAS", "Lavatera arborea L.");
54
		auteurObs.put("Juliette 17MOUREAU", "Serapias vomeracea (Burm.f.) Briq. ");
57
		auteurObs.put("Juliette 17MOUREAU", "Serapias vomeracea (Burm.f.) Briq. ");
55
		auteurObs.put("Benjamin 18LIENS", "Lonicera etrusca Santi");
58
		auteurObs.put("Benjamin 18LIENS", "Lonicera etrusca Santi");
56
		auteurObs.put("Aurélient 19PERONNET", "Ophrys scolopax Cav. ");
59
		auteurObs.put("Aurélient 19PERONNET", "Ophrys scolopax Cav. ");
57
		auteurObs.put("Grégoire 20DUCHÉ", "Staehelina dubia L. ");
60
		auteurObs.put("Grégoire 20DUCHÉ", "Staehelina dubia L. ");
58
 
61
 
59
		ArrayList<String> motsClefs = new ArrayList<String>();
62
		ArrayList<String> motsClefs = new ArrayList<String>();
60
		motsClefs.add("plantnet");
63
		motsClefs.add("plantnet");
61
		motsClefs.add("fleur");
64
		motsClefs.add("fleur");
62
		motsClefs.add("fruit");
65
		motsClefs.add("fruit");
63
 
66
 
64
		Iterator<String> auteurs = auteurObs.keySet().iterator();
67
		Iterator<String> auteurs = auteurObs.keySet().iterator();
65
 
68
 
66
		Protocole protocol1 = new Protocole();
69
		Protocole protocol1 = new Protocole();
67
		protocol1.setNom(Protocole.ESTHETISME);
70
		protocol1.setNom(Protocole.ESTHETISME);
68
		protocol1.setId(1);
71
		protocol1.setId(1);
69
 
72
 
70
		Protocole protocol2 = new Protocole();
73
		Protocole protocol2 = new Protocole();
71
		protocol2.setNom(Protocole.IDENTIFICATION_AUTOMATIQUE);
74
		protocol2.setNom(Protocole.IDENTIFICATION_AUTOMATIQUE);
72
		protocol2.setId(2);
75
		protocol2.setId(2);
73
 
76
 
74
		protocoles.add(protocol1);
77
		protocoles.add(protocol1);
75
		protocoles.add(protocol2);
78
		protocoles.add(protocol2);
-
 
79
 
-
 
80
		VoteDetermination voteDetermination = new VoteDetermination();
-
 
81
		voteDetermination.setVote(4);
-
 
82
		voteDetermination.setDate(new Date());
-
 
83
		voteDetermination.setContributeur("benjamin");
76
 
84
 
77
		PropositionDetermination propositionDeterminationData = new PropositionDetermination();
85
		PropositionDetermination observationValidationData = new PropositionDetermination();
78
		propositionDeterminationData.setEspece("Iris lutescens subsp. lutescens");
86
		observationValidationData.setEspece("Iris lutescens subsp. lutescens");
79
		propositionDeterminationData.setContributeur("contributeur test");
87
		observationValidationData.setContributeur("contributeur test");
80
		propositionDeterminationData.setId("1");
88
		observationValidationData.setId("1");
-
 
89
		observationValidationData.setIdImage("id image 1");
-
 
90
 
81
		propositionDeterminationData.setIdImage("id image 1");
91
		observationValidationData.getVotesDeterminations().add(voteDetermination);
82
		propositionDeterminationData.setPourcentageConfiance(I18n.getVocabulary().confiance_simple_suggestion());
92
		observationValidationData.setPourcentageConfiance(I18n.getVocabulary().confiance_simple_suggestion());
83
		propositionDeterminationData.setDate(new Date());
93
		observationValidationData.setDate(new Date());
84
		propositionDeterminationDatas.add(propositionDeterminationData);
94
		observationValidationDatas.add(observationValidationData);
85
 
95
 
86
		PropositionDetermination propositionDeterminationData2 = new PropositionDetermination();
96
		PropositionDetermination observationValidationData2 = new PropositionDetermination();
87
		propositionDeterminationData2.setContributeur("contributeur test 2");
97
		observationValidationData2.setContributeur("contributeur test 2");
88
		propositionDeterminationData2.setEspece("Lavatera arborea L.");
98
		observationValidationData2.setEspece("Lavatera arborea L.");
89
		propositionDeterminationData2.setId("2");
99
		observationValidationData2.setId("2");
-
 
100
		observationValidationData2.setIdImage("id image 1");
90
		propositionDeterminationData2.setIdImage("id image 1");
101
		observationValidationData2.getVotesDeterminations().add(voteDetermination);
91
		propositionDeterminationData2.setPourcentageConfiance(I18n.getVocabulary().confiance_sur_cent());
102
		observationValidationData2.setPourcentageConfiance(I18n.getVocabulary().confiance_sur_cent());
92
		propositionDeterminationData2.setDate(new Date());
103
		observationValidationData2.setDate(new Date());
93
		propositionDeterminationDatas.add(propositionDeterminationData2);
104
		observationValidationDatas.add(observationValidationData2);
94
		
-
 
95
		Commentaire commentaire1 = new Commentaire("Léo Ferré", new Date(), "Avec le temps...");
-
 
96
 
105
 
97
		PropositionDetermination propositionDeterminationData3 = new PropositionDetermination();
106
		PropositionDetermination observationValidationData3 = new PropositionDetermination();
98
		propositionDeterminationData3.setEspece("Acer monsp. L.");
107
		observationValidationData3.setEspece("Acer monsp. L.");
-
 
108
		observationValidationData3.setContributeur("Léo Ferré");
99
		propositionDeterminationData3.setContributeur("Léo Ferré");
109
		Commentaire commentaire=new Commentaire("Greg", new Date(), "Avec le temps...");
100
		propositionDeterminationData3.ajouterCommentaire(commentaire1);
110
		observationValidationData3.getCommentaires().add(commentaire);
101
		propositionDeterminationData3.setId("1");
111
		observationValidationData3.setId("1");
-
 
112
		observationValidationData3.setIdImage("id image 1");
102
		propositionDeterminationData3.setIdImage("id image 1");
113
		observationValidationData2.getVotesDeterminations().add(voteDetermination);
103
		propositionDeterminationData3.setPourcentageConfiance(I18n.getVocabulary().confiance_sur_cent());
114
		observationValidationData3.setPourcentageConfiance(I18n.getVocabulary().confiance_sur_cent());
104
		propositionDeterminationData3.setDate(new Date());
115
		observationValidationData3.setDate(new Date());
105
		propositionDeterminationDatas.add(propositionDeterminationData3);
-
 
106
		
-
 
107
		Commentaire commentaire2 = new Commentaire("Pierre Desproges", new Date(), "Public chéri mon amour !");
116
		observationValidationDatas.add(observationValidationData3);
108
 
117
 
109
		PropositionDetermination propositionDeterminationData4 = new PropositionDetermination();
118
		PropositionDetermination observationValidationData4 = new PropositionDetermination();
110
		propositionDeterminationData4.setEspece("Acer aceras aus.");
119
		observationValidationData4.setEspece("Acer aceras aus.");
-
 
120
		observationValidationData4.setContributeur("Pierre Desproges");
111
		propositionDeterminationData4.setContributeur("Pierre Desproges");
121
		Commentaire commentaire2=new Commentaire("Greg", new Date(), "Public chéri mon amour...");
112
		propositionDeterminationData4.ajouterCommentaire(commentaire2);
122
		observationValidationData4.getCommentaires().add(commentaire2);
113
		propositionDeterminationData4.setId("2");
123
		observationValidationData4.setId("2");
-
 
124
		observationValidationData4.setIdImage("id image 1");
114
		propositionDeterminationData4.setIdImage("id image 1");
125
		observationValidationData4.getVotesDeterminations().add(voteDetermination);
115
		propositionDeterminationData4.setPourcentageConfiance(I18n.getVocabulary().confiance_sur_cent());
126
		observationValidationData4.setPourcentageConfiance(I18n.getVocabulary().confiance_sur_cent());
116
		propositionDeterminationData4.setDate(new Date());
127
		observationValidationData4.setDate(new Date());
117
		propositionDeterminationDatas.add(propositionDeterminationData4);
-
 
118
 
-
 
119
		Commentaire commentaire3 = new Commentaire("Louis Aragon", new Date(), "Tout est affaire de décor");
-
 
120
		Commentaire commentaire4 = new Commentaire("Gregoire Duché", new Date(), "Grrrrrr");
-
 
121
		
-
 
122
		Commentaire commentaire5 = new Commentaire("Jean-Pascal Milcent", new Date(), "De l'ordre, de l'ordre et encore de l'ordre");
-
 
123
		commentaire4.ajouterCommentaire(commentaire5);
-
 
124
		Commentaire commentaire6 = new Commentaire("Aurélien Peronnet", new Date(), "J'aime faire du bruit en machant mes chewing gums");
-
 
125
		commentaire4.ajouterCommentaire(commentaire6);
128
		observationValidationDatas.add(observationValidationData4);
126
		
129
 
127
		PropositionDetermination propositionDeterminationData5 = new PropositionDetermination();
130
		PropositionDetermination observationValidationData5 = new PropositionDetermination();
128
		propositionDeterminationData5.setEspece("Acer monsp subsp. monsp.");
131
		observationValidationData5.setEspece("Acer monsp subsp. monsp.");
129
		propositionDeterminationData5.setContributeur("Louis Aragon");
132
		observationValidationData5.setContributeur("Louis Aragon");
130
		propositionDeterminationData5.ajouterCommentaire(commentaire3);
133
		Commentaire commentaire3=new Commentaire("Greg", new Date(), "Tout est affaire de décor...");
131
		propositionDeterminationData5.ajouterCommentaire(commentaire4);
134
		observationValidationData5.getCommentaires().add(commentaire3);
132
		propositionDeterminationData5.setId("2");
135
		observationValidationData5.setId("2");
-
 
136
		observationValidationData5.setIdImage("id image 1");
133
		propositionDeterminationData5.setIdImage("id image 1");
137
		observationValidationData5.getVotesDeterminations().add(voteDetermination);
134
		propositionDeterminationData5.setPourcentageConfiance(I18n.getVocabulary().confiance_probable());
138
		observationValidationData5.setPourcentageConfiance(I18n.getVocabulary().confiance_probable());
135
		propositionDeterminationData5.setDate(new Date());
139
		observationValidationData5.setDate(new Date());
136
		propositionDeterminationDatas.add(propositionDeterminationData5);
140
		observationValidationDatas.add(observationValidationData5);
137
 
141
 
138
		for (int i = 0; i < 20; i++) {
142
		for (int i = 0; i < 20; i++) {
139
 
143
 
140
			Observation observation = new Observation();
144
			Observation observation = new Observation();
141
			String auteur = auteurs.next();
145
			String auteur = auteurs.next();
142
			observation.setAuteur(auteur);
146
			observation.setAuteur(auteur);
143
			observation.setSpecies(auteurObs.get(auteur));
147
			observation.setSpecies(auteurObs.get(auteur));
144
 
148
 
145
			int numobs = 44120 + i;
149
			int numobs = 44120 + i;
146
			observation.setUrl("http://www.tela-botanica.org/appli:cel-img:0000" + String.valueOf(numobs) + "CRS.jpg");
-
 
147
			observation.setNumNomenclatural("num nomenclatural " + i);
150
			observation.setNumNomenclatural("num nomenclatural " + i);
148
			observation.setIdImage("id image " + i);
-
 
149
			observation.setDate(DateTimeFormat.getFormat(PredefinedFormat.DATE_SHORT).format(new Date()));
151
			observation.setDate(DateTimeFormat.getFormat(PredefinedFormat.DATE_SHORT).format(new Date()));
150
			observation.setFamille("famille " + i);
152
			observation.setFamille("famille " + i);
151
			observation.setLocalite("localite " + i);
153
			observation.setLocalite("localite " + i);
152
			observation.setNomRetenu(auteurObs.get(auteur));
154
			observation.setNomRetenu(auteurObs.get(auteur));
153
			observation.setMotsClefs(motsClefs);
155
			observation.setMotsClefs(motsClefs);
154
			observation.setImageCelValidationDatas(propositionDeterminationDatas);
156
			observation.setImageCelValidationDatas(observationValidationDatas);
-
 
157
 
-
 
158
			Image image = new Image();
-
 
159
			image.setIdImage("id image " + i);
-
 
160
			image.setUrl("http://www.tela-botanica.org/appli:cel-img:0000" + String.valueOf(numobs) + "CRS.jpg");
-
 
161
			observation.getImages().add(image);
-
 
162
			image.setObservation(observation);
-
 
163
			images.add(image);
-
 
164
 
-
 
165
			VoteProtocole voteProtocole = new VoteProtocole();
-
 
166
			voteProtocole.setProtocol(protocol1);
-
 
167
			voteProtocole.setContributeur("aurelien");
-
 
168
			voteProtocole.setDate(new Date());
-
 
169
 
-
 
170
			image.getVoteProtocoles().add(voteProtocole);
155
 
171
 
156
			observations.add(observation);
172
			observations.add(observation);
157
		}
173
		}
158
 
174
 
159
		pourcentagesConfiance.add(I18n.getVocabulary().confiance_simple_suggestion());
175
		pourcentagesConfiance.add(I18n.getVocabulary().confiance_simple_suggestion());
160
		pourcentagesConfiance.add(I18n.getVocabulary().confiance_probable());
176
		pourcentagesConfiance.add(I18n.getVocabulary().confiance_probable());
161
		pourcentagesConfiance.add(I18n.getVocabulary().confiance_sur_cent());
177
		pourcentagesConfiance.add(I18n.getVocabulary().confiance_sur_cent());
162
	}
178
	}
163
 
179
 
164
	public List<Observation> getObservations() {
180
	public List<Observation> getObservations() {
165
 
-
 
166
		return observations;
181
		return observations;
167
	}
182
	}
-
 
183
	
-
 
184
	public List<Image> getImages() {
-
 
185
		return images;
-
 
186
	}
168
 
187
 
-
 
188
	public List<VoteProtocole> getValidationData(String idImage) {
-
 
189
		for (Observation observation : observations) {
-
 
190
			for (Image image : observation.getImages()) {
169
	public List<PropositionDetermination> getValidationData(String idImage) {
191
				if (image.getIdImage().equals(idImage)) {
-
 
192
					return image.getVoteProtocoles();
-
 
193
				}
-
 
194
			}
-
 
195
		}
170
		return propositionDeterminationDatas;
196
		return null;
171
	}
197
	}
-
 
198
 
172
 
199
	public List<VoteProtocole> getValidationDataByImageAndProtocol(String idImage, String protocolName) {
173
	public List<PropositionDetermination> getValidationDataByImageAndProtocol(String idImage, String protocolName) {
200
 
-
 
201
		List<VoteProtocole> voteProtocoles = new ArrayList<VoteProtocole>();
-
 
202
		for (Observation observation : observations) {
-
 
203
			for (Image image : observation.getImages()) {
174
		List<PropositionDetermination> validations = new ArrayList<PropositionDetermination>();
204
				if (image.getIdImage().equals(idImage)) {
175
		for (PropositionDetermination propositionDetermination : propositionDeterminationDatas) {
205
					for (VoteProtocole voteProtocole : image.getVoteProtocoles()) {
-
 
206
						if (voteProtocole.getProtocol().getNom().equals(protocolName)) {
-
 
207
							voteProtocoles.add(voteProtocole);
-
 
208
						}
176
			/*if (propositionDetermination.getProtocol().getNom().equals(protocolName)) {
209
					}
177
				validations.add(propositionDetermination);
210
				}
178
			}*/
211
			}
179
		}
212
		}
180
		return validations;
213
		return voteProtocoles;
181
	}
214
	}
182
 
215
 
183
	public Observation getObservationCourante() {
216
	public Observation getObservationCourante() {
184
		return observations.get(0);
217
		return observations.get(0);
185
	}
218
	}
186
 
219
 
187
	public List<Observation> getObservationsEfloreParTaxon(String nomTaxon) {
220
	public List<Image> getImagesEfloreParTaxon(String nomTaxon) {
188
		return observations;
221
		return images;
189
	}
222
	}
190
 
223
 
191
	public Protocole getProtocole(String nomProtocole) {
224
	public Protocole getProtocole(String nomProtocole) {
192
		for (Protocole protocole : protocoles) {
225
		for (Protocole protocole : protocoles) {
193
			if (protocole.getNom().equals(nomProtocole)) {
226
			if (protocole.getNom().equals(nomProtocole)) {
194
				return protocole;
227
				return protocole;
195
			}
228
			}
196
		}
229
		}
197
		return null;
230
		return null;
198
	}
231
	}
199
 
232
	
200
	public ArrayList<String> getPourcentagesConfiance() {
233
	public void saveVote(VoteProtocole voteProtocole){
201
		return pourcentagesConfiance;
234
		//TODO implement method
202
	}
235
	}
203
 
236
 
204
	public void saveVote(VoteProtocole voteProtocole) {
237
	public List<String> getPourcentagesConfiance() {
205
		CacheClient.getInstance().getCurrentObservation().getVoteProtocoles().add(voteProtocole);
238
		return pourcentagesConfiance;
206
	}
239
	}
207
 
240
 
208
	public void saveValidationData(PropositionDetermination validationData) throws ExceptionClient {
241
	public void saveValidationData(PropositionDetermination validationData) throws ExceptionClient {
209
		propositionDeterminationDatas.add(validationData);
242
		observationValidationDatas.add(validationData);
210
	}
243
	}
211
 
244
 
212
	public static MockDatasource getInstance() {
245
	public static MockDatasource getInstance() {
213
		if (instance == null) {
246
		if (instance == null) {
214
			instance = new MockDatasource();
247
			instance = new MockDatasource();
215
		}
248
		}
216
		return instance;
249
		return instance;
217
	}
250
	}
-
 
251
 
218
}
252
}