90,9 → 90,11 |
JSONValue propositions = observationJson.get("commentaires"); |
|
boolean creerPropositionAPartirObs = true; |
|
boolean propositionInitialeExiste = false; |
PropositionDetermination propositionPotentiellementInitiale = null; |
if (propositions != null && propositions.isObject() != null) { |
List<InterventionForum> interventions = parserInterventions(propositions.isObject()); |
|
for (InterventionForum interventionForum : interventions) { |
interventionForum.setObservation(observation); |
// Si une proposition avec le même nom retenu que l'observation |
105,19 → 107,33 |
creerPropositionAPartirObs = false; |
proposition.setDate(parserDateObservation(observation.getDateReleve())); |
} |
|
if (proposition.getEspece().equals(observation.getNomRetenu()) && proposition.getContributeur().getNomComplet().equals(observation.getAuteur())) { |
propositionPotentiellementInitiale = proposition; |
} |
|
if (proposition.estPropositionInitiale()) { |
propositionInitialeExiste = true; |
} |
} |
} |
observation.setInterventionsForum(interventions); |
} |
|
if (!propositionInitialeExiste && propositionPotentiellementInitiale != null) { |
propositionPotentiellementInitiale.setEstPropositionInitiale(true); |
} |
|
if (creerPropositionAPartirObs) { |
// Si elle est nécessaire, la proposition factice est ajoutée au |
// début |
observation.getInterventionsForum().add(0, creerPropositionDeterminationAPartirObservation(observation)); |
observation.getInterventionsForum().add(0, creerPropositionDeterminationAPartirObservation(observation, propositionInitialeExiste)); |
} |
return observation; |
|
} |
|
|
/** |
* Créée une proposition de determination à partir d'une observation |
* |
124,7 → 140,7 |
* @param observation |
* @return |
*/ |
private static PropositionDetermination creerPropositionDeterminationAPartirObservation(Observation observation) { |
private static PropositionDetermination creerPropositionDeterminationAPartirObservation(Observation observation, boolean propositionInitialeExiste) { |
|
String utilisateurNom = observation.getNomAuteur(); |
String utilisateurPrenom = observation.getPrenomAuteur(); |
137,7 → 153,11 |
java.util.Date datePropDeter = parserDateObservation(observation.getDateReleve()); |
propositionDetermination.setDate(datePropDeter); |
propositionDetermination.setEspece(observation.getNomRetenu()); |
if (!propositionInitialeExiste) { |
propositionDetermination.setEstPropositionInitiale(true); |
} |
|
|
return propositionDetermination; |
} |
|
199,9 → 219,20 |
String famille = getValeurOuVide(jsonIntervention, "famille"); |
String nom_referentiel = getValeurOuVide(jsonIntervention, "nom_referentiel"); |
|
|
String nbCommentaires = getValeurOuVide(jsonIntervention, "nb_commentaires"); |
|
PropositionDetermination intervention = new PropositionDetermination(id, contributeur, texte); |
String proposition_initiale = getValeurOuVide(jsonIntervention, "proposition_initiale"); |
if (proposition_initiale != null && proposition_initiale.equals("1")) { |
intervention.setEstPropositionInitiale(true); |
} /*else { |
String nomRetObs = intervention.getObservation().getNomRetenu(); |
String auteur = intervention.getObservation().getAuteur(); |
boolean b = nom_ret.equals(nomRetObs) && intervention.getContributeur().getNomComplet().equals(auteur); |
intervention.setEstPropositionInitiale(b); |
}*/ |
|
// intervention.setObservation(observation); |
intervention.setEspece(nom_sel); |
|
217,6 → 248,8 |
intervention.setNumNomenclatural(nom_ret_nn); |
} |
|
|
|
if (!idParent.equals("")) { |
intervention.setIdParent(idParent); |
} |