/trunk/src/org/tela_botanica/del/client/i18n/Vocabulary.properties |
---|
44,9 → 44,9 |
triParNbVotes = Tri par nombre de votes |
triParDate = Tri par date |
triParNbVotesAscendant = Tri par nombre de votes du maximum au minimum |
triParDateAscendant = Tri par date du plus ancien au plus recent |
triParDateAscendant = Tri par date du plus ancien au plus récent |
triParNbVotesDescendant = Tri par nombre de votes du minimum au maximum |
triParDateDescendant = Tri par date du plus recent au plus ancien |
triParDateDescendant = Tri par date du plus récent au plus ancien |
#ecran recherche observation |
rechercherObservation = Identifier une plante |
67,7 → 67,7 |
autreProposition = Autre Proposition |
confianceSimpleSuggestion = Simple Suggestion |
confianceProbable = Probable |
confianceSurCent = Sur à 100% |
confianceSurCent = Sûr à 100% |
comparer = Comparer cette image |
infoComparer = Vous pouvez comparer cette image à d'autres photos. Saisissez le nom de l'espèce et cliquez sur OK |
lesPropositions = Propositions |
75,11 → 75,11 |
#ecran comparaison |
dateObservation = Date de la prise de vue |
taxonADeterminer = Taxon a determiner |
taxonADeterminer = Taxon à déterminer |
imageEflore = Photos d'eFlore |
metadonneesPhoto = Meta-donnees de la photo |
motsClefs = Mots-clés |
validePar = Valide par |
validePar = Validé par |
dateValidation = Date de dernière validation |
taxon = Taxon |
transmisLe = Transmis le |
87,7 → 87,7 |
#ecran votes protcoles |
votes = Moyenne des votes |
infoVotes = Voici la moyenne des votes en fonction du protocole choisi : |
protocoleEsthetisme = Esthetisme |
protocoleEsthetisme = Esthétisme |
protocoleIdentificationAuto = Identification automatique |
monVote = Mon vote |
nbVotes = vote(s) |
/trunk/src/org/tela_botanica/del/client/utils/MockDatasource.java |
---|
202,7 → 202,7 |
voteProtocole.setContributeur("aurelien"); |
voteProtocole.setDate(new Date()); |
image.getVoteProtocoles().add(voteProtocole); |
//image.getVoteProtocoles().add(voteProtocole); |
VoteProtocole voteProtocole2 = new VoteProtocole(); |
voteProtocole2.setProtocole(protocol2); |
210,7 → 210,7 |
voteProtocole2.setContributeur("jpm"); |
voteProtocole2.setDate(new Date()); |
image.getVoteProtocoles().add(voteProtocole2); |
//image.getVoteProtocoles().add(voteProtocole2); |
observations.add(observation); |
} |
274,7 → 274,8 |
public List<VoteProtocole> getVote(String idImage) { |
for (Image image : images) { |
if (image.getIdImage().equals(idImage)) { |
return image.getVoteProtocoles(); |
return null; |
//return image.getVoteProtocoles(); |
} |
} |
288,7 → 289,7 |
* getVoteByImageAndProtocol(java.lang.String, java.lang.String) |
*/ |
@Override |
public List<VoteProtocole> getVoteByImageAndProtocol(String idImage, String protocolName) { |
public List<VoteProtocole> getVotePourImageEtProtocole(String idImage, String protocolName) { |
List<VoteProtocole> voteProtocolesLocal = new ArrayList<VoteProtocole>(); |
/trunk/src/org/tela_botanica/del/client/utils/UtilitairesAutoCompletionService.java |
---|
New file |
0,0 → 1,64 |
package org.tela_botanica.del.client.utils; |
import com.google.gwt.http.client.Response; |
import com.google.gwt.json.client.JSONArray; |
import com.google.gwt.json.client.JSONParser; |
import com.google.gwt.json.client.JSONValue; |
public class UtilitairesAutoCompletionService { |
// Attention à n'utiliser que si eflore est installé |
public static String urlServiceCompletionNomEflore = "http://localhost/service:eflore:0.1/bdtfx/noms"; |
public static String urlServiceCompletionNomLocale = "/del/jrest/NomsTaxons/"; |
public static String urlServiceCompletionCommunes = "/del/jrest/Communes/"; |
public static String effectuerPreTraitementChaineRequeteGenreEspeceSlash(String requete) { |
String chaineTraitee = requete; |
String[] parties = requete.split(" ", 2); |
if(parties.length == 2) { |
if(parties[1].trim().isEmpty()) { |
parties[1] = "*"; |
} |
chaineTraitee = parties[0]+"/"+parties[1]; |
} |
return chaineTraitee; |
} |
public static String effectuerPreTraitementChaineRequeteGenreEspeceEflore(String requete) { |
String chaineTraitee = "?recherche=etendue&ns.structure=au&retour.format=oss&masque="+requete; |
return chaineTraitee; |
} |
public static String[] parserRetourSimple(Response response) { |
final JSONValue responseValue = JSONParser.parseStrict(response.getText()); |
JSONArray noms; |
String[] valeurs = new String[0]; |
if ((noms=responseValue.isArray()) != null) { |
final int taillemax = noms.size(); |
valeurs = new String[taillemax]; |
for (int i = 0; i < taillemax; i++) { |
valeurs[i] = (noms.get(i).isArray().get(0).isString().stringValue()); |
} |
} |
return valeurs; |
} |
public static String[] parserRetourOss(Response response) { |
JSONValue retourJson = JSONParser.parseStrict(response.getText()); |
JSONArray tableauResultat = retourJson.isArray().get(1).isArray(); |
String[] suggestions = new String[tableauResultat.size()]; |
for (int i = 0; i < tableauResultat.size(); i++) { |
suggestions[i] = tableauResultat.get(i).isString().stringValue(); |
} |
return suggestions; |
} |
} |
/trunk/src/org/tela_botanica/del/client/utils/UtilitairesServiceResultat.java |
---|
New file |
0,0 → 1,125 |
package org.tela_botanica.del.client.utils; |
import java.util.ArrayList; |
import java.util.Date; |
import java.util.HashMap; |
import java.util.List; |
import java.util.Map; |
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.VoteProtocole; |
import com.google.gwt.i18n.client.DateTimeFormat; |
import com.google.gwt.json.client.JSONArray; |
import com.google.gwt.json.client.JSONObject; |
public class UtilitairesServiceResultat { |
public static Image parserImageJSON (JSONObject imageJson) { |
Image image = new Image(); |
String idImage = "1"+imageJson.get("id_image").isString().stringValue(); |
image.setIdImage(idImage); |
image.setUrlFormat("http://www.tela-botanica.org/appli:cel-img:"+getIdAvecPadding(idImage)+"%s%.jpg"); |
image.setUrl("http://www.tela-botanica.org/appli:cel-img:"+getIdAvecPadding(idImage)+"CRS.jpg"); |
image.setMiniature("http://www.tela-botanica.org/appli:cel-img:"+getIdAvecPadding(idImage)+"XS.jpg"); |
return image; |
} |
public static Observation parserObservationEtCreerPropositionDetermination(JSONObject observationJson) { |
Observation observation = parserObservationJSON(observationJson); |
observation.addImageCelValidationData(creerPropositionDeterminationAPartirObservationJSON(observationJson)); |
return observation; |
} |
public static Observation parserObservationJSON(JSONObject observationJson) { |
Observation observation = new Observation(); |
observation.setAuteur(observationJson.get("prenom_utilisateur").isString().stringValue()+ |
" "+observationJson.get("nom_utilisateur").isString().stringValue()); |
observation.setDateTransmission(observationJson.get("date_observation").isString().stringValue()); |
observation.setDateReleve(observationJson.get("date_observation").isString().stringValue()); |
observation.setFamille(observationJson.get("famille").isString().stringValue()); |
observation.setId(observationJson.get("id_observation").isString().stringValue()); |
observation.setIdLocalite(observationJson.get("ce_zone_geo").isString().stringValue()); |
observation.setLocalite(observationJson.get("zone_geo").isString().stringValue()); |
observation.setNomRetenu(observationJson.get("nom_ret").isString().stringValue()); |
observation.setMilieu(observationJson.get("milieu").isString().stringValue()); |
observation.setLieuDit(observationJson.get("lieudit").isString().stringValue()); |
observation.setNumNomenclatural(observationJson.get("nom_ret_nn").isString().stringValue()); |
observation.setMotsClefs(parserMotsCles(observationJson.get("mots_cles_texte").isString().stringValue())); |
return observation; |
} |
public static PropositionDetermination creerPropositionDeterminationAPartirObservationJSON(JSONObject observationJson) { |
PropositionDetermination propositionDetermination = new PropositionDetermination(); |
propositionDetermination.setContributeur(observationJson.get("prenom_utilisateur").isString().stringValue()+ |
" "+observationJson.get("nom_utilisateur").isString().stringValue()); |
java.util.Date datePropDeter = parserDateObservation(observationJson.get("date_observation").isString().stringValue()); |
propositionDetermination.setDate(datePropDeter); |
propositionDetermination.setEspece(observationJson.get("nom_ret").isString().stringValue()); |
return propositionDetermination; |
} |
public static Map<String, List<VoteProtocole>> parserVotesProtocoles(JSONArray votes) { |
int nbVotes = votes.size(); |
Map<String, List<VoteProtocole>> votesProtocoles = new HashMap<String, List<VoteProtocole>>(); |
for (int j = 0; j < nbVotes; j++) { |
JSONObject vote = votes.get(j).isObject(); |
VoteProtocole vd = new VoteProtocole(); |
String idProtocoleVote = ""+Math.round((int)vote.get("id_protocole").isNumber().doubleValue()); |
vd.setContributeur(vote.get("contributeur").isString().stringValue()); |
vd.setDate(new Date()); |
int valeurVote = Math.round((int)vote.get("vote").isNumber().doubleValue()); |
vd.setVote(valeurVote); |
if(!votesProtocoles.containsKey(idProtocoleVote)) { |
votesProtocoles.put(idProtocoleVote, new ArrayList<VoteProtocole>()); |
} |
votesProtocoles.get(idProtocoleVote).add(vd); |
} |
return votesProtocoles; |
} |
public static Date parserDateObservation(String date) { |
Date dateParsee = new Date(); |
DateTimeFormat formatDateObs = DateTimeFormat.getFormat("yyyy-MM-dd HH:mm:ss"); |
try{ |
dateParsee = formatDateObs.parse(date); |
} catch (IllegalArgumentException e) { |
dateParsee = new java.sql.Date(0); |
} |
return dateParsee; |
} |
public static List<String> parserMotsCles(String motsClesTexte) { |
String[] tabMotsCle = motsClesTexte.split(","); |
List<String> motsClesParses = new ArrayList<String>(); |
for (int i = 0; i < tabMotsCle.length; i++) { |
motsClesParses.add(tabMotsCle[i]); |
} |
return motsClesParses; |
} |
public static String getIdAvecPadding(String id) { |
int maxZeros = 9 - id.length(); |
for (int i = 0; i < maxZeros; i++) { |
id = "0" + id; |
} |
return id; |
} |
} |
/trunk/src/org/tela_botanica/del/client/vues/rechercheimages/resultats/images/ImagePresenteur.java |
---|
24,7 → 24,6 |
import org.tela_botanica.del.client.services.rest.ImageService; |
import org.tela_botanica.del.client.services.rest.ImageServiceConcret; |
import org.tela_botanica.del.client.services.rest.async.ImagesParTaxonCallback; |
import org.tela_botanica.del.client.utils.MockDatasource; |
import org.tela_botanica.del.client.vues.rechercheimages.resultats.votes.MoyenneVotePresenteur; |
import com.google.gwt.event.dom.client.ClickEvent; |
36,45 → 35,27 |
public class ImagePresenteur extends Presenteur { |
public interface Vue extends IsWidget { |
public abstract void loadImage(Image image); |
public abstract HasClickHandlers getImagePrincipale(); |
public IsWidget getImagePrincipaleWidget(); |
public void setUrlImagePrincipale(String url); |
public void setTitreImagePrincipale(String titre); |
public void setAltTextImagePrincipale(String altText); |
public String getUrlImagePrincipale(); |
public String getTitreImagePrincipale(); |
public String getAltTextImagePrincipale(); |
public abstract HasClickHandlers getEnSavoirPlus(); |
public abstract HasClickHandlers getZoom(); |
public abstract void cacherZoneCache(); |
public abstract void afficherZoneCache(); |
public abstract HasWidgets getZoneVoter(); |
public HasClickHandlers getNomAuteur(); |
public HasClickHandlers getNomEspece(); |
public HasWidgets getMetadonnees(); |
} |
private Vue vue; |
private final MockDatasource validationService = MockDatasource.getInstance(); |
private final Image image; |
private boolean detailsOpen = false; |
96,23 → 77,22 |
private void loadValidationData() { |
vue.getZoneVoter().clear(); |
List<VoteProtocole> observationValidationDatas = validationService.getVoteByImageAndProtocol(image.getIdImage(), protocole.getNom()); |
List<VoteProtocole> observationValidationDatas = image.getVotesProtocoles(protocole.getId()); |
if(observationValidationDatas != null) { |
new MoyenneVotePresenteur(observationValidationDatas, image.getIdImage(), protocole).go(vue.getZoneVoter()); |
} |
} |
private void lancerEvenementValidation() { |
CacheClient.getInstance().setImageCourante(image); |
final Observation obs = image.getObservation(); |
// charge toutes les images de l'observation associee à l'observation en |
// cours |
// charge toutes les images de l'observation associee à l'observation en cours |
ImageService imageService = new ImageServiceConcret(); |
imageService.getImagesParObservation(obs.getId(), new ImagesParTaxonCallback() { |
@Override |
public void surImagesRecues(ImageServiceResultat imagesRecues) { |
for (int i = 0; i < imagesRecues.getNbTotalImagesPourLaRecherche(); i++) { |
Image img = imagesRecues.getImages().get(i); |
img.setObservation(obs); |
121,7 → 101,6 |
BusEvenementiel.getInstance().fireEvent(new EvenementValidation(obs)); |
} |
}); |
} |
protected void gererEvenements() { |
154,11 → 133,9 |
vue.getZoom().addClickHandler(new ClickHandler() { |
public void onClick(ClickEvent event) { |
FenetreOverlayDefilantePresenteur presenteurGalerie = new FenetreOverlayDefilantePresenteur(0, new FenetreOverlayDefilanteVue()) { |
@Override |
public void surClicBoutonSuivant() { |
} |
@Override |
public void surClicBoutonPrecedent() { |
} |
169,7 → 146,6 |
}); |
BusEvenementiel.getInstance().addHandler(EvenementVoirDetailsImage.TYPE, new GestionnaireEvenementVoirDetailsImage() { |
@Override |
public void onVoirDetailsImage(EvenementVoirDetailsImage event) { |
if (image.getIdImage().equals(event.getImage().getIdImage())) { |
186,7 → 162,6 |
}); |
BusEvenementiel.getInstance().addHandler(EvenementChangementProtocole.TYPE, new GestionnaireEvenementChangementProtocole() { |
@Override |
public void onChangementProtocole(EvenementChangementProtocole event) { |
setProtocole(event.getProtocole()); |
216,5 → 191,4 |
public void setProtocole(Protocole protocole) { |
this.protocole = protocole; |
} |
} |
} |
/trunk/src/org/tela_botanica/del/client/vues/rechercheimages/resultats/votes/MoyenneVotePresenteur.java |
---|
69,7 → 69,7 |
voteProtocole.setProtocole(this.protocole); |
voteProtocoleService.saveVote(idImage, voteProtocole); |
List<VoteProtocole> observationValidationDatas = validationService.getVoteByImageAndProtocol(idImage, protocole.getNom()); |
List<VoteProtocole> observationValidationDatas = validationService.getVotePourImageEtProtocole(idImage, protocole.getNom()); |
vue.rafraichir(observationValidationDatas); |
} |
} |
/trunk/src/org/tela_botanica/del/client/vues/plateformedetermination/formulaireproposition/FormulairePropositionPresenteur.java |
---|
12,7 → 12,7 |
import org.tela_botanica.del.client.modeles.PropositionDetermination; |
import org.tela_botanica.del.client.navigation.evenement.BusEvenementiel; |
import org.tela_botanica.del.client.navigation.evenement.ajoutdetermination.EvenementAjoutDetermination; |
import org.tela_botanica.del.client.services.UtilitairesAutoCompletionService; |
import org.tela_botanica.del.client.utils.UtilitairesAutoCompletionService; |
import com.google.gwt.event.dom.client.ClickEvent; |
import com.google.gwt.event.dom.client.ClickHandler; |
/trunk/src/org/tela_botanica/del/client/vues/plateformedetermination/vote/EnsembleVotesPresenteur.java |
---|
3,6 → 3,7 |
import java.util.List; |
import org.tela_botanica.del.client.cache.CacheClient; |
import org.tela_botanica.del.client.modeles.Image; |
import org.tela_botanica.del.client.modeles.Protocole; |
import org.tela_botanica.del.client.modeles.VoteProtocole; |
import org.tela_botanica.del.client.services.rest.ProtocoleService; |
10,6 → 11,7 |
import org.tela_botanica.del.client.utils.MockDatasource; |
import org.tela_botanica.del.client.vues.plateformedetermination.vote.protocole.moyenne.MoyenneVoteProtocolePresenteur; |
import com.google.gwt.user.client.Window; |
import com.google.gwt.user.client.ui.HasWidgets; |
import com.google.gwt.user.client.ui.IsWidget; |
21,7 → 23,6 |
private Vue vue; |
private ProtocoleService protocoleService = MockDatasource.getInstance(); |
private VoteProtocoleService voteProtocoleService = MockDatasource.getInstance(); |
public EnsembleVotesPresenteur(Vue vue) { |
this.vue = vue; |
34,14 → 35,14 |
public void afficherVotes() { |
String idImageCourante = CacheClient.getInstance().getImageCourante().getIdImage(); |
Image imageCourante = CacheClient.getInstance().getImageCourante(); |
Protocole protocoleEsthetisme = protocoleService.getProtocole(Protocole.ESTHETISME); |
List<VoteProtocole> observationValidationsEsthetisme = voteProtocoleService.getVoteByImageAndProtocol(idImageCourante, Protocole.ESTHETISME); |
List<VoteProtocole> observationValidationsEsthetisme = imageCourante.getVotesProtocoles(protocoleEsthetisme.getId()); |
new MoyenneVoteProtocolePresenteur(protocoleEsthetisme, observationValidationsEsthetisme).go(vue.getPanneauVotes()); |
Protocole protocoleIdentification = protocoleService.getProtocole(Protocole.IDENTIFICATION_AUTOMATIQUE); |
List<VoteProtocole> observationValidationsIdentification = voteProtocoleService.getVoteByImageAndProtocol(idImageCourante, Protocole.IDENTIFICATION_AUTOMATIQUE); |
List<VoteProtocole> observationValidationsIdentification = imageCourante.getVotesProtocoles(protocoleIdentification.getId()); |
new MoyenneVoteProtocolePresenteur(protocoleIdentification, observationValidationsIdentification).go(vue.getPanneauVotes()); |
} |
} |
/trunk/src/org/tela_botanica/del/client/vues/comparaisoneflore/ComparaisonEflorePresenteur.java |
---|
5,11 → 5,9 |
import org.tela_botanica.del.client.cache.CacheClient; |
import org.tela_botanica.del.client.modeles.Image; |
import org.tela_botanica.del.client.modeles.ImageServiceResultat; |
import org.tela_botanica.del.client.modeles.VoteProtocole; |
import org.tela_botanica.del.client.services.rest.ImageService; |
import org.tela_botanica.del.client.services.rest.VoteProtocoleService; |
import org.tela_botanica.del.client.services.rest.async.ImagesParTaxonCallback; |
import org.tela_botanica.del.client.utils.MockDatasource; |
import com.google.gwt.event.dom.client.ClickEvent; |
import com.google.gwt.event.dom.client.ClickHandler; |
36,7 → 34,6 |
} |
private Vue vue; |
private final VoteProtocoleService validationService = MockDatasource.getInstance(); |
private final ImageService imageService; |
private Image imagePrincipale; |
52,17 → 49,11 |
public void go(HasWidgets composite) { |
composite.add(vue.asWidget()); |
chargerValidationObservationPrincipale(); |
vue.chargerImagePrincipale(imagePrincipale); |
chargerObservationsEflore(); |
gererEvenements(); |
} |
public void chargerValidationObservationPrincipale() { |
List<VoteProtocole> observationValidations = validationService.getVote(imagePrincipale.getIdImage()); |
imagePrincipale.setVoteProtocoles(observationValidations); |
} |
public void chargerObservationsEflore() { |
vue.startChargement(); |
/trunk/src/org/tela_botanica/del/client/vues/comparaisoneflore/ComparaisonEfloreVue.java |
---|
54,9 → 54,9 |
// validateurs |
String validateursConcatenes = ""; |
try { |
for (VoteProtocole observationValidation : image.getVoteProtocoles()) { |
/*for (VoteProtocole observationValidation : image.getVoteProtocoles()) { |
validateursConcatenes += observationValidation.getContributeur() + ", "; |
} |
}*/ |
validateursConcatenes = validateursConcatenes.subSequence(0, validateursConcatenes.lastIndexOf(",")).toString(); |
} catch (Exception e) { |
65,13 → 65,13 |
// date derniere validation |
Date dateDerniereValidation = null; |
try { |
for (VoteProtocole observationValidation : image.getVoteProtocoles()) { |
/*for (VoteProtocole observationValidation : image.getVoteProtocoles()) { |
if (dateDerniereValidation == null) { |
dateDerniereValidation = observationValidation.getDate(); |
} else if (dateDerniereValidation.before(observationValidation.getDate())) { |
dateDerniereValidation = observationValidation.getDate(); |
} |
} |
}*/ |
} catch (Exception e) { |
} |
/trunk/src/org/tela_botanica/del/client/composants/moteurrecherche/MoteurRecherchePresenteur.java |
---|
6,7 → 6,7 |
import org.tela_botanica.del.client.composants.presenteur.Presenteur; |
import org.tela_botanica.del.client.modeles.InformationsRecherche; |
import org.tela_botanica.del.client.modeles.ModeRecherche; |
import org.tela_botanica.del.client.services.UtilitairesAutoCompletionService; |
import org.tela_botanica.del.client.utils.UtilitairesAutoCompletionService; |
import com.google.gwt.event.dom.client.ClickEvent; |
import com.google.gwt.event.dom.client.ClickHandler; |
/trunk/src/org/tela_botanica/del/client/composants/observations/ObservationImagesPresenteur.java |
---|
61,7 → 61,6 |
public void go(HasWidgets composite) { |
composite.add(vue.asWidget()); |
chargerImagesObservation(); |
//gererEvenements(); |
} |
protected void gererEvenements() { |
/trunk/src/org/tela_botanica/del/client/modeles/ObservationServiceResultat.java |
---|
4,6 → 4,8 |
import java.util.Date; |
import java.util.List; |
import org.tela_botanica.del.client.utils.UtilitairesServiceResultat; |
import com.google.gwt.i18n.client.DateTimeFormat; |
import com.google.gwt.json.client.JSONArray; |
import com.google.gwt.json.client.JSONObject; |
27,32 → 29,8 |
for (int i = 0; i < nbResultats; i++) { |
JSONObject observationJson = tableauObs.get(i).isObject(); |
Observation observation = new Observation(); |
Observation observation = UtilitairesServiceResultat.parserObservationEtCreerPropositionDetermination(observationJson); |
observation.setAuteur(observationJson.get("prenom_utilisateur").isString().stringValue()+ |
" "+observationJson.get("nom_utilisateur").isString().stringValue()); |
observation.setDateReleve(observationJson.get("date_observation").isString().stringValue()); |
observation.setDateTransmission(observationJson.get("date_transmission").isString().stringValue()); |
observation.setFamille(observationJson.get("famille").isString().stringValue()); |
observation.setId(observationJson.get("id_observation").isString().stringValue()); |
observation.setIdLocalite(observationJson.get("ce_zone_geo").isString().stringValue()); |
observation.setLocalite(observationJson.get("zone_geo").isString().stringValue()); |
observation.setLieuDit(observationJson.get("lieudit").isString().stringValue()); |
observation.setMilieu(observationJson.get("milieu").isString().stringValue()); |
observation.setNomRetenu(observationJson.get("nom_ret").isString().stringValue()); |
observation.setCommentaire(observationJson.get("commentaire").isString().stringValue()); |
observation.ajouterMotsClef(observationJson.get("mots_cles_texte").isString().stringValue()); |
observation.setNumNomenclatural(observationJson.get("nom_ret_nn").isString().stringValue()); |
observation.setMotsClefs(parserMotsCles(observationJson.get("mots_cles_texte").isString().stringValue())); |
PropositionDetermination propositionDetermination = new PropositionDetermination(); |
propositionDetermination.setContributeur(observationJson.get("prenom_utilisateur").isString().stringValue()+ |
" "+observationJson.get("nom_utilisateur").isString().stringValue()); |
java.util.Date datePropDeter = parserDateObservation(observationJson.get("date_observation").isString().stringValue()); |
propositionDetermination.setDate(datePropDeter); |
propositionDetermination.setEspece(observationJson.get("nom_ret").isString().stringValue()); |
observation.addImageCelValidationData(propositionDetermination); |
JSONArray tableauImagesObs = observationJson.get("images").isArray(); |
List<Image> imagesPourObs = new ArrayList<Image>(); |
59,12 → 37,8 |
int nbImages = tableauImagesObs.size(); |
for (int j = 0; j < nbImages; j++) { |
JSONObject imageJson = tableauImagesObs.get(j).isObject(); |
Image image = new Image(); |
String idImage = "1"+imageJson.get("id_image").isString().stringValue(); |
image.setIdImage(idImage); |
image.setUrlFormat("http://www.tela-botanica.org/appli:cel-img:"+getIdAvecPadding(idImage)+"%s%.jpg"); |
image.setUrl("http://www.tela-botanica.org/appli:cel-img:"+getIdAvecPadding(idImage)+"CRS.jpg"); |
image.setMiniature("http://www.tela-botanica.org/appli:cel-img:"+getIdAvecPadding(idImage)+"XS.jpg"); |
Image image = UtilitairesServiceResultat.parserImageJSON(imageJson); |
image.setObservation(observation); |
imagesPourObs.add(image); |
} |
89,38 → 63,4 |
public void setNbTotalObservationsPourLaRecherche(int nbTotalObservationsPourLaRecherche) { |
this.nbTotalObservationsPourLaRecherche = nbTotalObservationsPourLaRecherche; |
} |
private String getIdAvecPadding(String id) { |
int maxZeros = 9 - id.length(); |
for (int i = 0; i < maxZeros; i++) { |
id = "0" + id; |
} |
return id; |
} |
private Date parserDateObservation(String date) { |
Date dateParsee = new Date(); |
DateTimeFormat formatDateObs = DateTimeFormat.getFormat("yyyy-MM-dd HH:mm:ss"); |
try{ |
dateParsee = formatDateObs.parse(date); |
} catch (IllegalArgumentException e) { |
dateParsee = new java.sql.Date(0); |
} |
return dateParsee; |
} |
private List<String> parserMotsCles(String motsClesTexte) { |
String[] tabMotsCle = motsClesTexte.split(","); |
List<String> motsClesParses = new ArrayList<String>(); |
for (int i = 0; i < tabMotsCle.length; i++) { |
motsClesParses.add(tabMotsCle[i]); |
} |
return motsClesParses; |
} |
} |
/trunk/src/org/tela_botanica/del/client/modeles/Image.java |
---|
1,8 → 1,12 |
package org.tela_botanica.del.client.modeles; |
import java.util.ArrayList; |
import java.util.HashMap; |
import java.util.List; |
import java.util.Map; |
import com.google.gwt.user.client.Window; |
public class Image { |
private String idImage; |
43,16 → 47,27 |
this.idImage = idImage; |
} |
private List<VoteProtocole> voteProtocoles = new ArrayList<VoteProtocole>(); |
private Map<String, List<VoteProtocole>> voteProtocoles = new HashMap<String, List<VoteProtocole>>(); |
public List<VoteProtocole> getVoteProtocoles() { |
return voteProtocoles; |
public List<VoteProtocole> getVoteProtocoles(String id_protocole) { |
if(!voteProtocoles.containsKey(""+id_protocole) || voteProtocoles.get(""+id_protocole) == null) { |
voteProtocoles.put(""+id_protocole, new ArrayList<VoteProtocole>()); |
} |
return voteProtocoles.get(id_protocole+""); |
} |
public void setVoteProtocoles(List<VoteProtocole> voteProtocoles) { |
public List<VoteProtocole> getVotesProtocoles(int id_protocole) { |
return getVoteProtocoles(id_protocole+""); |
} |
public void setVoteProtocoles(Map<String, List<VoteProtocole>> voteProtocoles) { |
this.voteProtocoles = voteProtocoles; |
} |
public void setVoteProtocoles(String id_protocole, List<VoteProtocole> voteProtocoles) { |
this.voteProtocoles.put(id_protocole, voteProtocoles); |
} |
public Observation getObservation() { |
return observation; |
} |
/trunk/src/org/tela_botanica/del/client/modeles/Protocole.java |
---|
1,11 → 1,15 |
package org.tela_botanica.del.client.modeles; |
import org.tela_botanica.del.client.i18n.I18n; |
import com.sun.imageio.plugins.common.I18N; |
public class Protocole { |
private int id; |
private String nom; |
public static String ESTHETISME = "Qualité de l'image"; |
public static String IDENTIFICATION_AUTOMATIQUE = "Protocole Pl@ntNet"; |
public static String ESTHETISME = I18n.getVocabulary().protocoleEsthetisme(); |
public static String IDENTIFICATION_AUTOMATIQUE = I18n.getVocabulary().protocoleIdentificationAuto(); |
public int getId() { |
return id; |
/trunk/src/org/tela_botanica/del/client/modeles/ImageServiceResultat.java |
---|
4,11 → 4,16 |
import java.util.Date; |
import java.util.HashMap; |
import java.util.List; |
import java.util.Map; |
import org.tela_botanica.del.client.utils.UtilitairesServiceResultat; |
import com.google.gwt.core.client.GWT; |
import com.google.gwt.i18n.client.DateTimeFormat; |
import com.google.gwt.json.client.JSONArray; |
import com.google.gwt.json.client.JSONObject; |
import com.google.gwt.json.client.JSONValue; |
import com.google.gwt.user.client.Window; |
public class ImageServiceResultat { |
21,49 → 26,24 |
//TODO ajouter vérifications plus précises |
double total = retourJson.isObject().get("total").isNumber().doubleValue(); |
nbTotalImagesPourLaRecherche = (int) total; |
JSONArray tableauObs = retourJson.isObject().get("contenu").isArray(); |
images = new ArrayList<Image>(); |
HashMap<String, Observation> observations = new HashMap<String, Observation>(); |
int nbResultats = tableauObs.size(); |
for (int i = 0; i < nbResultats; i++) { |
JSONObject imageJson = tableauObs.get(i).isObject(); |
Image image = new Image(); |
String idImage = "1"+imageJson.get("id_image").isString().stringValue(); |
image.setIdImage(idImage); |
image.setUrlFormat("http://www.tela-botanica.org/appli:cel-img:"+getIdAvecPadding(idImage)+"%s%.jpg"); |
image.setUrl("http://www.tela-botanica.org/appli:cel-img:"+getIdAvecPadding(idImage)+"CRS.jpg"); |
image.setMiniature("http://www.tela-botanica.org/appli:cel-img:"+getIdAvecPadding(idImage)+"XS.jpg"); |
Image image = UtilitairesServiceResultat.parserImageJSON(imageJson); |
if(imageJson.get("observation") != null && imageJson.get("observation").isObject() != null) { |
JSONObject observationJson = imageJson.get("observation").isObject(); |
Observation observation = new Observation(); |
image.setObservation(UtilitairesServiceResultat.parserObservationEtCreerPropositionDetermination(observationJson)); |
} |
observation.setAuteur(observationJson.get("prenom_utilisateur").isString().stringValue()+ |
" "+observationJson.get("nom_utilisateur").isString().stringValue()); |
observation.setDateTransmission(observationJson.get("date_observation").isString().stringValue()); |
observation.setDateReleve(observationJson.get("date_observation").isString().stringValue()); |
observation.setFamille(observationJson.get("famille").isString().stringValue()); |
observation.setId(observationJson.get("id_observation").isString().stringValue()); |
observation.setIdLocalite(observationJson.get("ce_zone_geo").isString().stringValue()); |
observation.setLocalite(observationJson.get("zone_geo").isString().stringValue()); |
observation.setNomRetenu(observationJson.get("nom_ret").isString().stringValue()); |
observation.setMilieu(observationJson.get("milieu").isString().stringValue()); |
observation.setLieuDit(observationJson.get("lieudit").isString().stringValue()); |
observation.setNumNomenclatural(observationJson.get("nom_ret_nn").isString().stringValue()); |
observation.setMotsClefs(parserMotsCles(observationJson.get("mots_cles_texte").isString().stringValue())); |
PropositionDetermination propositionDetermination = new PropositionDetermination(); |
propositionDetermination.setContributeur(observationJson.get("prenom_utilisateur").isString().stringValue()+ |
" "+observationJson.get("nom_utilisateur").isString().stringValue()); |
java.util.Date datePropDeter = parserDateObservation(observationJson.get("date_observation").isString().stringValue()); |
propositionDetermination.setDate(datePropDeter); |
propositionDetermination.setEspece(observationJson.get("nom_ret").isString().stringValue()); |
observation.addImageCelValidationData(propositionDetermination); |
image.setObservation(observation); |
if(imageJson.get("votes") != null && imageJson.get("votes").isArray() != null) { |
JSONArray votes = imageJson.get("votes").isArray(); |
image.setVoteProtocoles(UtilitairesServiceResultat.parserVotesProtocoles(votes)); |
} |
images.add(image); |
85,37 → 65,4 |
public void setNbTotalImagesPourLaRecherche(int nbTotalImagesPourLaRecherche) { |
this.nbTotalImagesPourLaRecherche = nbTotalImagesPourLaRecherche; |
} |
private String getIdAvecPadding(String id) { |
int maxZeros = 9 - id.length(); |
for (int i = 0; i < maxZeros; i++) { |
id = "0" + id; |
} |
return id; |
} |
private Date parserDateObservation(String date) { |
Date dateParsee = new Date(); |
DateTimeFormat formatDateObs = DateTimeFormat.getFormat("yyyy-MM-dd HH:mm:ss"); |
try{ |
dateParsee = formatDateObs.parse(date); |
} catch (IllegalArgumentException e) { |
dateParsee = new java.sql.Date(0); |
} |
return dateParsee; |
} |
private List<String> parserMotsCles(String motsClesTexte) { |
String[] tabMotsCle = motsClesTexte.split(","); |
List<String> motsClesParses = new ArrayList<String>(); |
for (int i = 0; i < tabMotsCle.length; i++) { |
motsClesParses.add(tabMotsCle[i]); |
} |
return motsClesParses; |
} |
} |
/trunk/src/org/tela_botanica/del/test/composants/moteurrecherche/MoteurRecherchePresenteurTest.java |
---|
8,7 → 8,7 |
import org.tela_botanica.del.client.composants.formulaires.AutoCompletionComboBoxPresenteur; |
import org.tela_botanica.del.client.composants.moteurrecherche.MoteurRecherchePresenteur; |
import org.tela_botanica.del.client.modeles.ModeRecherche; |
import org.tela_botanica.del.client.services.UtilitairesAutoCompletionService; |
import org.tela_botanica.del.client.utils.UtilitairesAutoCompletionService; |
import com.google.gwt.http.client.Response; |