Subversion Repositories eFlore/Applications.coel

Rev

Rev 255 | Rev 385 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 255 Rev 306
Line 1... Line 1...
1
package org.tela_botanica.client.modeles;
1
package org.tela_botanica.client.modeles;
Line 2... Line 2...
2
 
2
 
-
 
3
import java.io.Serializable;
3
import java.io.Serializable;
4
import java.util.Collections;
4
import java.util.HashMap;
5
import java.util.HashMap;
5
import java.util.Iterator;
6
import java.util.Iterator;
-
 
7
import java.util.LinkedList;
-
 
8
import java.util.List;
6
import java.util.LinkedList;
9
import java.util.Map;
-
 
10
import java.util.Set;
Line 7... Line 11...
7
import java.util.Set;
11
import java.util.TreeSet;
Line 8... Line 12...
8
 
12
 
Line 64... Line 68...
64
				}
68
				}
65
			}
69
			}
66
		}
70
		}
67
	}
71
	}
Line -... Line 72...
-
 
72
	
-
 
73
	protected void supprimerTypeDansChaineDenormalise(String champ, String type) {
-
 
74
		String chaineExistante = renvoyerValeurCorrecte(champ);
-
 
75
		if (!chaineExistante.equals("")) {
-
 
76
			// Si la valeur à ajouter n'est pas déjà présente, nous l'ajoutons
-
 
77
			if (chaineExistante.matches("(^|;;)"+type+"##")) {
-
 
78
				chaineExistante = chaineExistante.replaceFirst(type+"##", "");
-
 
79
				chaineExistante = chaineExistante.replaceAll(";;;;", ";;");
-
 
80
				chaineExistante = chaineExistante.replaceAll("(^;;|;;$)", "");
-
 
81
				this.set(champ, chaineExistante);
-
 
82
			}
-
 
83
		}
-
 
84
	}
-
 
85
	
-
 
86
	protected void remplacerTypeDansChaineDenormalise(String champ, String type, Object valeur) {
-
 
87
		if (valeur != null && !valeur.equals("")) {
-
 
88
			ajouterChaineDenormaliseAvecType(champ, type, valeur);
-
 
89
		} else {
-
 
90
			supprimerTypeDansChaineDenormalise(champ, type);
-
 
91
		}
68
	
92
	}
69
	/**
93
	/**
70
	 * Ajoute un nouvel élément sans type à une chaine dénormalisée.
94
	 * Ajoute un nouvel élément sans type à une chaine dénormalisée.
71
	 * Champ de type "truk" contenant seulement des valeurs séparées par ";;".
95
	 * Champ de type "truk" contenant seulement des valeurs séparées par ";;".
72
	 * Si l'élément existe déjà, il ne sera pas ajouté.
96
	 * Si l'élément existe déjà, il ne sera pas ajouté.
Line 280... Line 304...
280
	public String toString() {
304
	public String toString() {
281
		String sortie = "";
305
		String sortie = "";
Line 282... Line 306...
282
		
306
		
283
		// Champs du BaseModelData
307
		// Champs du BaseModelData
-
 
308
		Set<String> proprietes = this.getProperties().keySet();
284
		Set<String> proprietes = this.getProperties().keySet();
309
		TreeSet<String> proprietesTriees = new TreeSet<String>(proprietes);
285
		for (Iterator<String> it = proprietes.iterator(); it.hasNext();) {
310
		for (Iterator<String> it = proprietesTriees.iterator(); it.hasNext();) {
286
			String cle = it.next();
311
			String cle = it.next();
287
			if (!this.get(cle).equals("")) {
312
			if (this.get(cle) != null && !this.get(cle).equals("")) {
288
				sortie += cle+" : "+this.get(cle)+"\n";
313
				sortie += cle+" : "+this.get(cle)+"\n";
289
			}
314
			}
Line 290... Line 315...
290
		}
315
		}
291
		
316
		
-
 
317
		return sortie;
-
 
318
	}
-
 
319
	
-
 
320
	public Boolean comparer(BaseModelData objetAComparer) {
-
 
321
		Boolean retour = true;
-
 
322
		Map<String, Object> a = this.getProperties();
-
 
323
		Map<String, Object> b = objetAComparer.getProperties();
-
 
324
		if (a.size() != b.size()) {
-
 
325
			retour = false;
-
 
326
		} else {
-
 
327
			Set<String> cles = a.keySet();
-
 
328
			Iterator<String> it = cles.iterator();
-
 
329
			while (it.hasNext()) {
-
 
330
				String cle = it.next();
-
 
331
				if (a.get(cle) != null && !a.get(cle).equals(b.get(cle))) {
-
 
332
					retour = false;
-
 
333
					break;
-
 
334
				}
-
 
335
			}
-
 
336
		}
-
 
337
		
-
 
338
		return retour;
-
 
339
	}
-
 
340
	
-
 
341
	public Object cloner(BaseModelData nouvelleInstance) {
-
 
342
		Map<String, Object> proprietes = this.getProperties();
-
 
343
		Set<String> cles = proprietes.keySet();
-
 
344
		for (Iterator<String> it = cles.iterator(); it.hasNext();) {
-
 
345
			String cle = it.next();
-
 
346
			nouvelleInstance.set(cle, this.get(cle));
-
 
347
		}
-
 
348
		
292
		return sortie;
349
		return nouvelleInstance;