Subversion Repositories eFlore/Applications.del

Compare Revisions

Ignore whitespace Rev 845 → Rev 846

/trunk/src/org/tela_botanica/del/client/utils/UtilitairesServiceResultat.java
7,9 → 7,11
 
import org.tela_botanica.del.client.modeles.Contributeur;
import org.tela_botanica.del.client.modeles.Image;
import org.tela_botanica.del.client.modeles.InterventionForum;
import org.tela_botanica.del.client.modeles.Observation;
import org.tela_botanica.del.client.modeles.PropositionDetermination;
import org.tela_botanica.del.client.modeles.Utilisateur;
import org.tela_botanica.del.client.modeles.VoteDetermination;
import org.tela_botanica.del.client.modeles.VoteProtocole;
 
import com.google.gwt.i18n.client.DateTimeFormat;
30,11 → 32,8
return image;
}
public static Observation parserObservationEtCreerPropositionDetermination(JSONObject observationJson) {
public static Observation parserObservationEtCreerPropositionDetermination(JSONObject observationJson) {
Observation observation = parserObservationJSON(observationJson);
observation.ajouterPropositionDetermination(creerPropositionDeterminationAPartirObservation(observation));
return observation;
}
50,17 → 49,24
observation.setDateTransmission(getValeurOuVide(observationJson,"date_observation"));
observation.setDateReleve(getValeurOuVide(observationJson, "date_observation"));
observation.setFamille(getValeurOuVide(observationJson, "determination.famille"));
observation.setId(UtilitairesServiceResultat.getValeurOuVide(observationJson, "id_observation"));
observation.setIdLocalite(UtilitairesServiceResultat.getValeurOuVide(observationJson, "id_zone_geo"));
observation.setLocalite(UtilitairesServiceResultat.getValeurOuVide(observationJson, "zone_geo"));
observation.setNomRetenu(UtilitairesServiceResultat.getValeurOuVide(observationJson, "determination.ns"));
observation.setMilieu(UtilitairesServiceResultat.getValeurOuVide(observationJson, "milieu"));
observation.setLieuDit(UtilitairesServiceResultat.getValeurOuVide(observationJson, "lieudit"));
observation.setNumNomenclatural(UtilitairesServiceResultat.getValeurOuVide(observationJson, "determination.nn"));
observation.setId(getValeurOuVide(observationJson, "id_observation"));
observation.setIdLocalite(getValeurOuVide(observationJson, "id_zone_geo"));
observation.setLocalite(getValeurOuVide(observationJson, "zone_geo"));
observation.setNomRetenu(getValeurOuVide(observationJson, "determination.ns"));
observation.setMilieu(getValeurOuVide(observationJson, "milieu"));
observation.setLieuDit(getValeurOuVide(observationJson, "lieudit"));
observation.setNumNomenclatural(getValeurOuVide(observationJson, "determination.nn"));
//TODO: renvoyer les mots clés des observations
//observation.setMotsClefs(parserMotsCles(UtilitairesServiceResultat.getValeurOuVide(observationJson, "mots_cles_texte")));
//TODO: renvoyer les commentaires des obs
//observation.setCommentaire(UtilitairesServiceResultat.getValeurOuVide(observationJson, "commentaire"));
JSONValue propositions = observationJson.get("commentaires");
 
if(propositions != null && propositions.isObject() != null) {
observation.setInterventionsForum(parserInterventions(propositions.isObject(), observation));
} else {
observation.ajouterPropositionDetermination(creerPropositionDeterminationAPartirObservation(observation));
}
return observation;
}
83,6 → 89,52
return propositionDetermination;
}
public static List<InterventionForum> parserInterventions(JSONObject interventions, Observation observation) {
List<InterventionForum> listeInterventions = new ArrayList<InterventionForum>();
//TODO: ne faire ceci que si la proposition correspondant à la détermination originale n'a pas été créée
PropositionDetermination determinationOriginale = creerPropositionDeterminationAPartirObservation(observation);
listeInterventions.add(determinationOriginale);
java.util.Iterator<String> itInterventions = interventions.keySet().iterator();
while (itInterventions.hasNext()) {
JSONObject intervention = interventions.get(itInterventions.next()).isObject();
String nomSel = getValeurOuVide(intervention, "nom_sel");
if(!nomSel.equals("")) {
PropositionDetermination propDeter = new PropositionDetermination(observation);
Contributeur auteurProposition = new Contributeur(getValeurOuVide(intervention, "utilisateur_nom"),
getValeurOuVide(intervention, "utilisateur_prenom"), getValeurOuVide(intervention, "utilisateur_courriel"));
propDeter.setContributeur(auteurProposition);
//TODO: parser date proposition
propDeter.setDate(new Date());
propDeter.setEspece(nomSel);
propDeter.setId(getValeurOuVide(intervention, "id_commentaire"));
if(intervention.get("votes") != null && intervention.get("votes").isObject() != null) {
propDeter.setVotesDeterminations(parserVotesDetermination(intervention.get("votes").isObject(), propDeter));
}
listeInterventions.add(propDeter);
}
}
return listeInterventions;
}
public static HashMap<String, VoteDetermination> parserVotesDetermination(JSONObject votes, PropositionDetermination proposition) {
HashMap<String, VoteDetermination> votesDetermination = new HashMap<String, VoteDetermination>();
java.util.Iterator<String> itVotes = votes.keySet().iterator();
while (itVotes.hasNext()) {
JSONObject vote = votes.get(itVotes.next()).isObject();
VoteDetermination vd = new VoteDetermination();
vd.setContributeur(getValeurOuVide(vote, "auteur.id"));
vd.setDate(new Date());
vd.setId(getValeurOuVide(vote, "vote.id"));
vd.setPropositionDetermination(proposition);
vd.setVote(Integer.parseInt(getValeurOuVide(vote, "vote")));
votesDetermination.put(getValeurOuVide(vote, "auteur.id"), vd);
}
return votesDetermination;
}
public static HashMap<String, HashMap<String,VoteProtocole>> parserVotesProtocoles(JSONObject votes) {
HashMap<String, HashMap<String,VoteProtocole>> votesProtocoles = new HashMap<String, HashMap<String,VoteProtocole>>();