Subversion Repositories eFlore/Applications.del

Rev

Rev 2080 | Rev 2102 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 2080 Rev 2090
Line 130... Line 130...
130
		if (propositions != null && propositions.isObject() != null) {
130
		if (propositions != null && propositions.isObject() != null) {
131
			List<InterventionForum> interventions = parserInterventions(propositions.isObject());
131
			List<InterventionForum> interventions = parserInterventions(propositions.isObject());
Line 132... Line 132...
132
			
132
			
133
			for (InterventionForum interventionForum : interventions) {
133
			for (InterventionForum interventionForum : interventions) {
134
				interventionForum.setObservation(observation);
-
 
135
				// Si une proposition avec le même nom retenu que l'observation est déjà présente,
-
 
136
				// alors il n'est pas nécessaire de créer la proposition "factice"
134
				interventionForum.setObservation(observation);
137
				if (interventionForum instanceof PropositionDetermination) {
135
				if (interventionForum instanceof PropositionDetermination) {
138
					PropositionDetermination proposition = (PropositionDetermination) interventionForum;
136
					PropositionDetermination proposition = (PropositionDetermination) interventionForum;
-
 
137
					// Si une proposition avec les même nums noms et référentiel que l'observation est déjà présente,
139
					// Si la proposition correspond au nom retenu (non vide) en cours
138
					// alors il n'est pas nécessaire de créer la proposition "factice"
140
					if (!nomRetenu.equals("") && proposition.getEspece().equals(nomRetenu)) {
139
					if (especePropositionEtObservationCorrespondent(observation, proposition)) {	
141
						creerPropositionAPartirObs = false;
-
 
142
					}
-
 
-
 
140
						creerPropositionAPartirObs = false;
143
					
141
						// Si de plus les auteurs correspondent, alors nous avons affaire à la proposition initiale
144
					if (proposition.getEspece().equals(observation.getNomRetenu()) && proposition.getContributeur().getNomComplet().equals(observation.getAuteur())) {
142
						if(proposition.getContributeur().getNomComplet().equals(observation.getAuteur())) {
145
						propositionPotentiellementInitiale = proposition;
143
							propositionPotentiellementInitiale = proposition;
-
 
144
						}
Line 146... Line 145...
146
					}
145
					}
147
					
146
					
148
					if (proposition.estPropositionInitiale()) {
147
					if (proposition.estPropositionInitiale()) {
149
						propositionInitialeExiste = true;
148
						propositionInitialeExiste = true;
150
					}
149
					}
151
				}
150
				}
152
			}
151
			}
Line 153... Line 152...
153
			observation.setInterventionsForum(interventions);
152
			observation.setInterventionsForum(interventions);
-
 
153
		}
154
		}
154
		
155
		
155
		if (!propositionInitialeExiste && propositionPotentiellementInitiale != null) {
Line 156... Line -...
156
		if (!propositionInitialeExiste && propositionPotentiellementInitiale != null) {
-
 
157
			propositionPotentiellementInitiale.setEstPropositionInitiale(true);
156
			// Ceci permet à la la proposition d'être mise en valeur différemment dans l'interface
158
		}
157
			propositionPotentiellementInitiale.setEstPropositionInitiale(true);
159
		
158
		}
160
		// Pas la peine de créer une proposition sur un texte vide ! 
159
		 
161
		if (creerPropositionAPartirObs) {
160
		if (creerPropositionAPartirObs) {
Line 162... Line 161...
162
			// Si elle est nécessaire, la proposition factice est ajoutée au début
161
			// Si elle est nécessaire, la proposition factice est ajoutée au début
Line -... Line 162...
-
 
162
			observation.getInterventionsForum().add(0, creerPropositionDeterminationAPartirObservation(observation, propositionInitialeExiste));
-
 
163
		}
-
 
164
		return observation;
-
 
165
 
-
 
166
	}
-
 
167
	
-
 
168
	public static boolean especePropositionEtObservationCorrespondent(Observation observation, PropositionDetermination proposition) {
-
 
169
		boolean correspondent = false;
-
 
170
		// pas la peine de comparer deux choses pourraient éventuellement être vide 
-
 
171
		if(!observation.getNumNomenclatural().isEmpty() && !observation.getReferentiel().isEmpty()) {
-
 
172
			// Vérification si les num noms et référentiels correspondent
Line 163... Line 173...
163
			observation.getInterventionsForum().add(0, creerPropositionDeterminationAPartirObservation(observation, propositionInitialeExiste));
173
			correspondent = (observation.getNumNomenclatural().equals(proposition.getNumNomenclatural())) && (observation.getReferentiel().equals(proposition.getReferentiel()));
164
		}
174
		}
165
		return observation;
175
		
166
 
176
		return correspondent;