Rev 61 | Go to most recent revision | Blame | Last modification | View Log | RSS feed
package org.tela_botanica.del.client.utils;
import java.util.ArrayList;
import java.util.Date;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import org.tela_botanica.del.client.exceptions.ExceptionClient;
import org.tela_botanica.del.client.modeles.Observation;
import org.tela_botanica.del.client.modeles.ObservationValidation;
import com.google.gwt.i18n.client.DateTimeFormat;
import com.google.gwt.i18n.client.DateTimeFormat.PredefinedFormat;
public class MockDatasource extends GwtObservable {
static MockDatasource instance;
List<Observation> observations = new ArrayList<Observation>();
List<ObservationValidation> observationValidationDatas = new ArrayList<ObservationValidation>();
ArrayList<String> propositionsTaxonDatas = new ArrayList<String>();
private MockDatasource() {
HashMap<String, String> auteurObs = new HashMap<String, String>();
auteurObs.put("Juliette 1MOUREAU", "Tragopogon porrifolius subsp. australis (Jord.) Nyman");
auteurObs.put("Robert 2LERAS", "Iris lutescens subsp. lutescens");
auteurObs.put("Geneviève 3BOTTI", "Euphorbia dendroides L.");
auteurObs.put("Robert 4LERAS", "Lonicera japonica Thunb. ex Murray");
auteurObs.put("Juliette 5MOUREAU", "Lavatera arborea L.");
auteurObs.put("Robert 6LERAS", "Lavatera arborea L.");
auteurObs.put("Juliette 7MOUREAU", "Serapias vomeracea (Burm.f.) Briq. ");
auteurObs.put("Benjamin 8LIENS", "Lonicera etrusca Santi");
auteurObs.put("Aurélient 9PERONNET", "Ophrys scolopax Cav. ");
auteurObs.put("Grégoire 10DUCHÉ", "Staehelina dubia L. ");
auteurObs.put("Juliette 11MOUREAU", "Tragopogon porrifolius subsp. australis (Jord.) Nyman");
auteurObs.put("Robert 12LERAS", "Iris lutescens subsp. lutescens");
auteurObs.put("Geneviève 13BOTTI", "Euphorbia dendroides L.");
auteurObs.put("Robert 14LERAS", "Lonicera japonica Thunb. ex Murray");
auteurObs.put("Juliette 15MOUREAU", "Lavatera arborea L.");
auteurObs.put("Robert 16LERAS", "Lavatera arborea L.");
auteurObs.put("Juliette 17MOUREAU", "Serapias vomeracea (Burm.f.) Briq. ");
auteurObs.put("Benjamin 18LIENS", "Lonicera etrusca Santi");
auteurObs.put("Aurélient 19PERONNET", "Ophrys scolopax Cav. ");
auteurObs.put("Grégoire 20DUCHÉ", "Staehelina dubia L. ");
ArrayList<String> motsClefs = new ArrayList<String>();
motsClefs.add("plantnet");
motsClefs.add("fleur");
motsClefs.add("fruit");
Iterator<String> auteurs = auteurObs.keySet().iterator();
for (int i = 0; i < 20; i++) {
Observation observation = new Observation();
String auteur = auteurs.next();
observation.setAuteur(auteur);
observation.setSpecies(auteurObs.get(auteur));
int numobs = 44120 + i;
observation.setUrl("http://www.tela-botanica.org/appli:cel-img:0000" + String.valueOf(numobs) + "CRS.jpg");
observation.setNumNomenclatural("num nomenclatural " + i);
observation.setIdImage("id image " + i);
observation.setDate(DateTimeFormat.getFormat(PredefinedFormat.DATE_SHORT).format(new Date()));
observation.setFamille("famille " + i);
observation.setLocalite("localite " + i);
observation.setNomRetenu("nom retenu " + i);
observation.setMotsClefs(motsClefs);
observations.add(observation);
}
ObservationValidation observationValidationData = new ObservationValidation();
observationValidationData.setEspece("Espece 1");
observationValidationData.setContributeur("contributeur test");
observationValidationData.setId("1");
observationValidationData.setIdImage("id image 1");
observationValidationData.setVote(4);
observationValidationData.setPourcentageConfiance(90);
observationValidationData.setDate(new Date());
observationValidationDatas.add(observationValidationData);
ObservationValidation observationValidationData2 = new ObservationValidation();
observationValidationData2.setContributeur("contributeur test 2");
observationValidationData2.setId("2");
observationValidationData2.setIdImage("id image 1");
observationValidationData2.setVote(2);
observationValidationData2.setPourcentageConfiance(50);
observationValidationData2.setDate(new Date());
observationValidationDatas.add(observationValidationData2);
ObservationValidation observationValidationData3 = new ObservationValidation();
observationValidationData3.setEspece("Acer monsp. L.");
observationValidationData3.setContributeur("Léo Ferré");
observationValidationData3.setCommentaire("Avec le temps...");
observationValidationData3.setId("1");
observationValidationData3.setIdImage("id image 1");
observationValidationData2.setVote(3);
observationValidationData3.setPourcentageConfiance(90);
observationValidationData3.setDate(new Date());
observationValidationDatas.add(observationValidationData3);
ObservationValidation observationValidationData4 = new ObservationValidation();
observationValidationData4.setEspece("Acer aceras aus.");
observationValidationData4.setContributeur("Pierre Desproges");
observationValidationData4.setCommentaire("Public chéri mon amour !");
observationValidationData4.setId("2");
observationValidationData4.setIdImage("id image 1");
observationValidationData2.setVote(1);
observationValidationData4.setPourcentageConfiance(30);
observationValidationData4.setDate(new Date());
observationValidationDatas.add(observationValidationData4);
ObservationValidation observationValidationData5 = new ObservationValidation();
observationValidationData5.setEspece("Acer monsp subsp. monsp.");
observationValidationData5.setContributeur("Louis Aragon");
observationValidationData5.setCommentaire("Tout est affaire de décor");
observationValidationData5.setId("2");
observationValidationData5.setIdImage("id image 1");
observationValidationData2.setVote(2);
observationValidationData5.setPourcentageConfiance(50);
observationValidationData5.setDate(new Date());
observationValidationDatas.add(observationValidationData5);
propositionsTaxonDatas.add("Acer monsp. L.");
propositionsTaxonDatas.add("Acer aceras aus.");
propositionsTaxonDatas.add("Acer monsp subsp. monsp.");
propositionsTaxonDatas.add("Acer australis L.");
}
public List<Observation> getObservations() {
return observations;
}
public List<ObservationValidation> getValidationData(String idImage) {
return observationValidationDatas;
}
public ArrayList<String> getPropositionsTaxonsData(String idImage) {
return propositionsTaxonDatas;
}
public Observation getObservationCourante() {
return observations.get(0);
}
public List<Observation> getObservationsEfloreParTaxon(String nomTaxon) {
return observations;
}
public void saveValidationData(ObservationValidation validationData) throws ExceptionClient {
observationValidationDatas.add(validationData);
notifyObservers();
}
public static MockDatasource getInstance() {
if (instance == null) {
instance = new MockDatasource();
}
return instance;
}
}