New file |
0,0 → 1,300 |
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.i18n.I18n; |
import org.tela_botanica.del.client.modeles.Commentaire; |
import org.tela_botanica.del.client.modeles.Image; |
import org.tela_botanica.del.client.modeles.Observation; |
import org.tela_botanica.del.client.modeles.PropositionDetermination; |
import org.tela_botanica.del.client.modeles.Protocole; |
import org.tela_botanica.del.client.modeles.VoteDetermination; |
import org.tela_botanica.del.client.modeles.VoteProtocole; |
|
import com.google.gwt.i18n.client.DateTimeFormat; |
import com.google.gwt.i18n.client.DateTimeFormat.PredefinedFormat; |
|
public class MockDatasource { |
|
static MockDatasource instance; |
|
List<Observation> observations = new ArrayList<Observation>(); |
|
List<PropositionDetermination> observationValidationDatas = new ArrayList<PropositionDetermination>(); |
|
ArrayList<String> propositionsTaxonDatas = new ArrayList<String>(); |
|
List<Protocole> protocoles = new ArrayList<Protocole>(); |
|
List<Image> images = new ArrayList<Image>(); |
|
List<String> pourcentagesConfiance = 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(); |
|
Protocole protocol1 = new Protocole(); |
protocol1.setNom(Protocole.ESTHETISME); |
protocol1.setId(1); |
|
Protocole protocol2 = new Protocole(); |
protocol2.setNom(Protocole.IDENTIFICATION_AUTOMATIQUE); |
protocol2.setId(2); |
|
protocoles.add(protocol1); |
protocoles.add(protocol2); |
|
VoteDetermination voteDetermination = new VoteDetermination(); |
voteDetermination.setVote(1); |
voteDetermination.setDate(new Date()); |
voteDetermination.setContributeur("benjamin"); |
|
PropositionDetermination observationValidationData = new PropositionDetermination(); |
observationValidationData.setEspece("Iris lutescens subsp. lutescens"); |
observationValidationData.setContributeur("contributeur test"); |
observationValidationData.setId("1"); |
|
observationValidationData.getVotesDeterminations().add(voteDetermination); |
observationValidationData.setDate(new Date()); |
observationValidationDatas.add(observationValidationData); |
|
PropositionDetermination observationValidationData2 = new PropositionDetermination(); |
observationValidationData2.setContributeur("contributeur test 2"); |
observationValidationData2.setEspece("Lavatera arborea L."); |
observationValidationData2.setId("2"); |
observationValidationData2.getVotesDeterminations().add(voteDetermination); |
observationValidationData2.setDate(new Date()); |
observationValidationDatas.add(observationValidationData2); |
|
PropositionDetermination observationValidationData3 = new PropositionDetermination(); |
observationValidationData3.setEspece("Acer monsp. L."); |
observationValidationData3.setContributeur("Léo Ferré"); |
Commentaire commentaire = new Commentaire("Greg", new Date(), "Avec le temps..."); |
Commentaire commentaireBis = new Commentaire("Benj", new Date(), "Pas d'accord avec Greg!"); |
commentaire.getListeCommentaires().add(commentaireBis); |
observationValidationData3.getCommentaires().add(commentaire); |
observationValidationData3.setId("1"); |
observationValidationData2.getVotesDeterminations().add(voteDetermination); |
observationValidationData3.setDate(new Date()); |
observationValidationDatas.add(observationValidationData3); |
|
PropositionDetermination observationValidationData4 = new PropositionDetermination(); |
observationValidationData4.setEspece("Acer aceras aus."); |
observationValidationData4.setContributeur("Pierre Desproges"); |
Commentaire commentaire2 = new Commentaire("Greg", new Date(), "Public chéri mon amour..."); |
observationValidationData4.getCommentaires().add(commentaire2); |
observationValidationData4.setId("2"); |
observationValidationData4.getVotesDeterminations().add(voteDetermination); |
observationValidationData4.setDate(new Date()); |
observationValidationDatas.add(observationValidationData4); |
|
PropositionDetermination observationValidationData5 = new PropositionDetermination(); |
observationValidationData5.setEspece("Acer monsp subsp. monsp."); |
observationValidationData5.setContributeur("Louis Aragon"); |
Commentaire commentaire3 = new Commentaire("Greg", new Date(), "Tout est affaire de décor..."); |
observationValidationData5.getCommentaires().add(commentaire3); |
observationValidationData5.setId("2"); |
observationValidationData5.getVotesDeterminations().add(voteDetermination); |
observationValidationData5.setDate(new Date()); |
observationValidationDatas.add(observationValidationData5); |
|
int numobs = 44120; |
for (int i = 0; i < 20; i++) { |
|
Observation observation = new Observation(); |
String auteur = auteurs.next(); |
observation.setAuteur(auteur); |
observation.setSpecies(auteurObs.get(auteur)); |
|
numobs += i; |
observation.setNumNomenclatural("num nomenclatural " + i); |
observation.setDate(DateTimeFormat.getFormat(PredefinedFormat.DATE_SHORT).format(new Date())); |
observation.setFamille("famille " + i); |
observation.setLocalite("localite " + i); |
observation.setNomRetenu(auteurObs.get(auteur)); |
observation.setMotsClefs(motsClefs); |
observation.setImageCelValidationDatas(observationValidationDatas); |
|
Image image = new Image(); |
image.setIdImage("id image " + i); |
image.setUrlFormat("http://www.tela-botanica.org/appli:cel-img:0000" + String.valueOf(numobs) + "%s%.jpg"); |
image.setUrl("http://www.tela-botanica.org/appli:cel-img:0000" + String.valueOf(numobs) + "CRS.jpg"); |
image.setMiniature("http://www.tela-botanica.org/appli:cel-img:0000" + String.valueOf(numobs) + "XS.jpg"); |
observation.getImages().add(image); |
image.setObservation(observation); |
images.add(image); |
|
// nombre d'images aléatoires |
int nbImagesAssociees = (int) Math.round(Math.random() * 10); |
for (int j = 0; j < nbImagesAssociees; j++) { |
numobs++; |
image = new Image(); |
image.setIdImage("id image " + i); |
image.setUrlFormat("http://www.tela-botanica.org/appli:cel-img:0000" + String.valueOf(numobs) + "%s%.jpg"); |
image.setUrl("http://www.tela-botanica.org/appli:cel-img:0000" + String.valueOf(numobs) + "CRS.jpg"); |
image.setMiniature("http://www.tela-botanica.org/appli:cel-img:0000" + String.valueOf(numobs) + "XS.jpg"); |
observation.getImages().add(image); |
image.setObservation(observation); |
images.add(image); |
} |
|
VoteProtocole voteProtocole = new VoteProtocole(); |
voteProtocole.setProtocol(protocol1); |
voteProtocole.setVote(3); |
voteProtocole.setContributeur("aurelien"); |
voteProtocole.setDate(new Date()); |
|
image.getVoteProtocoles().add(voteProtocole); |
|
VoteProtocole voteProtocole2 = new VoteProtocole(); |
voteProtocole2.setProtocol(protocol2); |
voteProtocole2.setVote(2); |
voteProtocole2.setContributeur("jpm"); |
voteProtocole2.setDate(new Date()); |
|
image.getVoteProtocoles().add(voteProtocole2); |
|
observations.add(observation); |
} |
|
ajouterVotesAleatoires(); |
|
pourcentagesConfiance.add(I18n.getVocabulary().confiance_simple_suggestion()); |
pourcentagesConfiance.add(I18n.getVocabulary().confiance_probable()); |
pourcentagesConfiance.add(I18n.getVocabulary().confiance_sur_cent()); |
} |
|
public void ajouterVotesAleatoires() { |
for (PropositionDetermination validation : observationValidationDatas) { |
int nbVotesAjoutes = (int) Math.round(Math.random() * 20); |
|
for (int i = 0; i < nbVotesAjoutes; i++) { |
VoteDetermination vd = new VoteDetermination(); |
vd.setVote((int) Math.round(Math.random())); |
vd.setDate(new Date()); |
vd.setContributeur("test"); |
|
validation.ajouterVoteDetermination(vd); |
} |
} |
} |
|
public List<Observation> getObservations(HashMap<String, String> champsRecherche) { |
if (champsRecherche == null) { |
return getObservations(); |
} else { |
int nbResultats = (int) Math.round(Math.random() * 20); |
List<Observation> resultatRecherche = new ArrayList<Observation>(); |
for (int i = 0; i < nbResultats; i++) { |
int numeroResultat = (int) Math.round(Math.random() * (observations.size() - 1)); |
resultatRecherche.add(observations.get(numeroResultat)); |
} |
return resultatRecherche; |
} |
} |
|
public List<Observation> getObservations() { |
return observations; |
} |
|
public List<Image> getImages() { |
return images; |
} |
|
public List<VoteProtocole> getVote(String idImage) { |
for (Image image : images) { |
if (image.getIdImage().equals(idImage)) { |
return image.getVoteProtocoles(); |
} |
|
} |
return null; |
} |
|
public List<VoteProtocole> getVoteByImageAndProtocol(String idImage, String protocolName) { |
|
List<VoteProtocole> voteProtocolesLocal = new ArrayList<VoteProtocole>(); |
|
for (Image image : images) { |
if (image.getIdImage().equals(idImage)) { |
for (VoteProtocole voteProtocole : image.getVoteProtocoles()) { |
if (voteProtocole.getProtocol().getNom().equals(protocolName)) { |
voteProtocolesLocal.add(voteProtocole); |
} |
} |
} |
|
} |
return voteProtocolesLocal; |
} |
|
public List<Image> getImagesEfloreParTaxon(String nomTaxon) { |
return images; |
} |
|
public Protocole getProtocole(String nomProtocole) { |
for (Protocole protocole : protocoles) { |
if (protocole.getNom().equals(nomProtocole)) { |
return protocole; |
} |
} |
return null; |
} |
|
public List<Protocole> getProtocoles() { |
return protocoles; |
} |
|
public void saveVote(VoteProtocole voteProtocole) { |
// TODO implement method |
} |
|
public List<String> getPourcentagesConfiance() { |
return pourcentagesConfiance; |
} |
|
public void saveValidationData(PropositionDetermination validationData) throws ExceptionClient { |
observationValidationDatas.add(validationData); |
} |
|
public static MockDatasource getInstance() { |
if (instance == null) { |
instance = new MockDatasource(); |
} |
return instance; |
} |
|
} |