Subversion Repositories eFlore/Applications.coel

Rev

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

Rev 1056 Rev 1166
Line 3... Line 3...
3
import org.tela_botanica.client.Mediateur;
3
import org.tela_botanica.client.Mediateur;
4
import org.tela_botanica.client.RegistreId;
4
import org.tela_botanica.client.RegistreId;
5
import org.tela_botanica.client.interfaces.ListePaginable;
5
import org.tela_botanica.client.interfaces.ListePaginable;
6
import org.tela_botanica.client.interfaces.Rafraichissable;
6
import org.tela_botanica.client.interfaces.Rafraichissable;
7
import org.tela_botanica.client.modeles.aDonneeListe;
7
import org.tela_botanica.client.modeles.aDonneeListe;
8
import org.tela_botanica.client.modeles.structure.Structure;
-
 
Line 9... Line 8...
9
 
8
 
10
import com.extjs.gxt.ui.client.Registry;
9
import com.extjs.gxt.ui.client.Registry;
11
import com.google.gwt.i18n.client.Dictionary;
10
import com.google.gwt.i18n.client.Dictionary;
12
import com.google.gwt.json.client.JSONArray;
11
import com.google.gwt.json.client.JSONArray;
13
import com.google.gwt.json.client.JSONNumber;
12
import com.google.gwt.json.client.JSONNumber;
Line 14... Line 13...
14
import com.google.gwt.json.client.JSONObject;
13
import com.google.gwt.json.client.JSONObject;
15
 
14
 
16
/**
-
 
17
 * Table de hachage composée d'informations sur les Structures, renvoyé par un objet de type DAO
15
/**
18
 * La clé est le nom de l'entite + le nom de l'entite parente
16
 * Classe contenant les informations sur les Collections renvoyées par un objet de type DAO.
19
 * 
17
 * 
20
 * @author david delon
18
 * @author Jean-Pascal MILCENT
21
 * 
19
 * 
Line 22... Line 20...
22
 */
20
 */
23
public class CollectionListe extends aDonneeListe<Collection> implements ListePaginable{
21
public class CollectionListe extends aDonneeListe<Collection> implements ListePaginable {
24
	
22
	
25
	private static final long serialVersionUID = 8024454926649039456L;
23
	private static final long serialVersionUID = 8024454926649039456L;
Line 34... Line 32...
34
	
32
	
35
	public CollectionListe(int taille) {
33
	public CollectionListe(int taille) {
36
		super(taille);
34
		super(taille);
Line 37... Line -...
37
	}
-
 
38
	
35
	}
39
	/**
36
	
-
 
37
	public CollectionListe(JSONArray ListeDeCollections) {
40
	 * Constructeur pour une liste d'institutions
38
		super(ListeDeCollections.size());
-
 
39
		initialiserCollectionListe(ListeDeCollections);
41
	 * @param dates
40
	}
42
	 */
41
	
-
 
42
	public CollectionListe(JSONArray ListeDeCollections, JSONNumber nbElements, Rafraichissable vueARafraichir) {
-
 
43
		super(ListeDeCollections.size());
43
	public CollectionListe(JSONArray structures) {
44
		this.nbElementsTotal = Integer.valueOf(nbElements.toString());
-
 
45
		this.vueARafraichir = vueARafraichir;
44
		super(structures.size()) ;
46
		initialiserCollectionListe(ListeDeCollections);
-
 
47
	}
-
 
48
	
45
		final int taillemax = structures.size();
49
	private void initialiserCollectionListe(JSONArray collections) {
46
		
50
		final int taillemax = collections.size();
47
		for (int i = 0; i < taillemax; i++) {
-
 
48
			JSONObject collectionCourante = structures.get(i).isObject() ;
51
		for (int i = 0; i < taillemax; i++) {
49
			
52
			JSONObject collectionCourante = collections.get(i).isObject() ;
50
			if (collectionCourante != null)	{
53
			if (collectionCourante != null)	{
51
				Collection collection = new Collection(collectionCourante);
54
				Collection collection = new Collection(collectionCourante);
52
				CollectionBotanique botanique = new CollectionBotanique(collectionCourante);
-
 
53
				collection.setBotanique(botanique);
55
				CollectionBotanique botanique = new CollectionBotanique(collectionCourante);
54
				
56
				collection.setBotanique(botanique);
55
				this.put(collection.getId(), collection);
57
				this.put(collection.getId(), collection);
56
			}
58
			}
57
		}
-
 
58
	}
-
 
59
	
-
 
60
	public CollectionListe(JSONArray collectionListe, JSONNumber nbElements, Rafraichissable vueARafraichir) {
-
 
61
		super(collectionListe.size());
-
 
62
		this.nbElementsTotal = Integer.valueOf(nbElements.toString());
-
 
63
		
-
 
64
		final int taillemax = collectionListe.size();
-
 
65
		for (int i = 0; i < taillemax; i++) {
-
 
66
			JSONObject collection = collectionListe.get(i).isObject() ;
-
 
67
			
-
 
68
			if (collection != null)	{
-
 
69
				Collection collectionCourante = new Collection(collection);
-
 
70
				this.put(collectionCourante.getId(), collectionCourante);				
-
 
71
			}
-
 
72
		}
-
 
73
		
-
 
74
		this.vueARafraichir = vueARafraichir;
-
 
Line 75... Line 59...
75
	}
59
		}
76
 
60
	}
77
 
61
 
78
	public void changerNumeroPage(int pageCourante) {
62
	public void changerNumeroPage(int pageCourante) {
Line 97... Line 81...
97
		this.nbElementsPage = taillePage;
81
		this.nbElementsPage = taillePage;
98
	}
82
	}
Line 99... Line 83...
99
	
83
	
100
	public int[] getPageTable() {
84
	public int[] getPageTable() {
101
		int[] page = new int[4];
-
 
102
 
85
		int[] page = new int[4];
103
		// nombre de pages au total
86
		// Nombre de pages au total
104
		page[0] = calculerNbPages();
-
 
105
 
87
		page[0] = calculerNbPages();
106
		// Page En Cours
88
		// Page En Cours
107
		page[1] = currentPage;
-
 
108
 
89
		page[1] = currentPage;
109
		// nbElementsParPage
90
		// nbElementsParPage
110
		page[2] = nbElementsPage;
-
 
111
 
91
		page[2] = nbElementsPage;
112
		// et le dernier le nombre total d'éléments
92
		// et le dernier le nombre total d'éléments
113
		page[3] = nbElementsTotal;
-
 
114
 
93
		page[3] = nbElementsTotal;
115
		return page;
94
		return page;
Line 116... Line 95...
116
	}
95
	}
117
	
96
	
118
	/**
97
	/**
119
	 * Calcule le nombre de pages nécessaires pour afficher un nombre d'élements
98
	 * Calcule le nombre de pages nécessaires pour afficher un nombre d'élements
120
	 * donnés en fonction de la taille de page en cours
99
	 * donnés en fonction de la taille de page en cours
121
	 * 
100
	 * 
122
	 * @return le nombre de pages
101
	 * @return le nombre de pages
123
	 */
102
	 */
124
	public int calculerNbPages() {
-
 
125
		// A cause de la betise de java pour les conversion implicite on fait
-
 
126
		// quelques conversions manuellement
103
	public int calculerNbPages() {
127
		// pour eviter qu'il arrondisse mal la division
104
		// À cause de la bétise de java pour les conversion implicite, on fait quelques conversions manuellement
128
		// nombre de pages = (nombre d'element / taille de la page) arrondie à
-
 
129
		// l'entier superieur
105
		// pour eviter qu'il arrondisse mal la division nombre de pages = (nombre d'element / taille de la page) 
130
 
106
		// arrondie à l'entier supérieur.
131
		double nPage = (1.0 * nbElementsTotal) / (1.0 * nbElementsPage);
107
		double nPage = (1.0 * nbElementsTotal) / (1.0 * nbElementsPage);
Line 132... Line 108...
132
		double nPageRound = Math.ceil(nPage);
108
		double nPageRound = Math.ceil(nPage);
133
		Double nPageInt = new Double(nPageRound);
109
		Double nPageInt = new Double(nPageRound);
134
 
110
 
Line 135... Line 111...
135
		// on convertit en entier
111
		// Convertion en entier
136
		return nPageInt.intValue();
112
		return nPageInt.intValue();
Line 142... Line 118...
142
	}
118
	}
Line 143... Line 119...
143
	
119
	
144
	public void filtrerParNom(String nom)	{
120
	public void filtrerParNom(String nom)	{
145
		Mediateur mediateur =(Mediateur) Registry.get(RegistreId.MEDIATEUR);
121
		Mediateur mediateur =(Mediateur) Registry.get(RegistreId.MEDIATEUR);
146
		mediateur.selectionnerCollection(vueARafraichir, null, "%" + nom + "%", 0, nbElementsPage);
-
 
147
		
122
		mediateur.selectionnerCollection(vueARafraichir, null, "%" + nom + "%", 0, nbElementsPage);
148
	}
-
 
149
		
123
	}
150
}
124
}