Subversion Repositories eFlore/Applications.coel

Rev

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

Rev 1057 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 -... Line 13...
-
 
13
import com.google.gwt.json.client.JSONObject;
-
 
14
 
-
 
15
/**
-
 
16
 * Classe contenant les informations sur les Commentaires renvoyées par un objet de type DAO.
-
 
17
 * 
-
 
18
 * @author Jean-Pascal MILCENT
14
import com.google.gwt.json.client.JSONObject;
19
 * 
Line 15... Line 20...
15
 
20
 */
16
public class CommentaireListe extends aDonneeListe<Commentaire> implements ListePaginable {
21
public class CommentaireListe extends aDonneeListe<Commentaire> implements ListePaginable {
17
 
22
 
Line 31... Line 36...
31
	
36
	
32
	/**
37
	/**
33
	 * Constructeur pour une liste de commentaires
38
	 * Constructeur pour une liste de commentaires
34
	 * @param dates
39
	 * @param dates
35
	 */
40
	 */
36
	public CommentaireListe(JSONArray commentaires) {
41
	public CommentaireListe(JSONArray ListeDeCommentaires) {
37
		super(commentaires.size());
-
 
38
		boolean chargerCollectionACommentaire = true;
-
 
39
		int taille = commentaires.size();
-
 
40
		for (int i = 0; i < taille; i++) {
-
 
41
			JSONObject commentaireCourant = commentaires.get(i).isObject() ;
-
 
42
			
-
 
43
			if (commentaireCourant != null)	{
-
 
44
				
-
 
45
				Commentaire commentaire = new Commentaire(commentaireCourant, chargerCollectionACommentaire);
42
		super(ListeDeCommentaires.size());
46
				this.put(commentaire.getId(), commentaire);				
-
 
47
			}
-
 
48
		}
43
		initialiserCommentaireListe(ListeDeCommentaires);
Line 49... Line 44...
49
	}
44
	}
50
	
45
	
51
	public CommentaireListe(JSONArray commentaireListe, JSONNumber nbElements, Rafraichissable vueARafraichir) {
46
	public CommentaireListe(JSONArray ListeDeCommentaires, JSONNumber nbElements, Rafraichissable vueARafraichir) {
-
 
47
		super(ListeDeCommentaires.size());
-
 
48
		this.nbElementsTotal = Integer.valueOf(nbElements.toString());
-
 
49
		this.vueARafraichir = vueARafraichir;
52
		super(commentaireListe.size());
50
		initialiserCommentaireListe(ListeDeCommentaires);
-
 
51
	}
-
 
52
	
53
		this.nbElementsTotal = Integer.valueOf(nbElements.toString());
53
	private void initialiserCommentaireListe(JSONArray ListeDeCommentaires) {
54
		
54
		boolean chargerCollectionACommentaire = true;
55
		final int taillemax = commentaireListe.size();
55
		final int taillemax = ListeDeCommentaires.size();
56
		for (int i = 0; i < taillemax; i++) {
-
 
57
			JSONObject commentaire = commentaireListe.get(i).isObject() ;
56
		for (int i = 0; i < taillemax; i++) {
58
			
57
			JSONObject commentaireCourant = ListeDeCommentaires.get(i).isObject() ;
59
			if (commentaire != null)	{
58
			if (commentaireCourant != null)	{
60
				Commentaire commentaireCourant = new Commentaire(commentaire);
59
				Commentaire commentaire = new Commentaire(commentaireCourant, chargerCollectionACommentaire);
61
				this.put(commentaireCourant.getId(), commentaireCourant);				
60
				this.put(commentaire.getId(), commentaire);
62
			}
-
 
63
		}
-
 
64
		
61
			}
Line 65... Line 62...
65
		this.vueARafraichir = vueARafraichir;
62
		}
66
	}
63
	}
67
	
64
	
Line 87... Line 84...
87
		this.nbElementsPage = taillePage;
84
		this.nbElementsPage = taillePage;
88
	}
85
	}
Line 89... Line 86...
89
	
86
	
90
	public int[] getPageTable() {
87
	public int[] getPageTable() {
91
		int[] page = new int[4];
-
 
92
 
88
		int[] page = new int[4];
93
		// nombre de pages au total
89
		// nombre de pages au total
94
		page[0] = calculerNbPages();
-
 
95
 
90
		page[0] = calculerNbPages();
96
		// Page En Cours
91
		// Page En Cours
97
		page[1] = currentPage;
-
 
98
 
92
		page[1] = currentPage;
99
		// nbElementsParPage
93
		// nbElementsParPage
100
		page[2] = nbElementsPage;
-
 
101
 
94
		page[2] = nbElementsPage;
102
		// et le dernier le nombre total d'éléments
95
		// et le dernier le nombre total d'éléments
103
		page[3] = nbElementsTotal;
-
 
104
 
96
		page[3] = nbElementsTotal;
105
		return page;
97
		return page;
Line 106... Line 98...
106
	}
98
	}
107
	
99
	
108
	/**
100
	/**
109
	 * Calcule le nombre de pages nécessaires pour afficher un nombre d'élements
101
	 * Calcule le nombre de pages nécessaires pour afficher un nombre d'élements
110
	 * donnés en fonction de la taille de page en cours
102
	 * donnés en fonction de la taille de page en cours
111
	 * 
103
	 * 
112
	 * @return le nombre de pages
104
	 * @return le nombre de pages
113
	 */
105
	 */
114
	public int calculerNbPages() {
-
 
115
		// A cause de la betise de java pour les conversion implicite on fait
-
 
116
		// quelques conversions manuellement
106
	public int calculerNbPages() {
117
		// pour eviter qu'il arrondisse mal la division
107
		// À cause de la bétise de java pour les conversion implicite, on fait quelques conversions manuellement
118
		// nombre de pages = (nombre d'element / taille de la page) arrondie à
-
 
119
		// l'entier superieur
108
		// pour eviter qu'il arrondisse mal la division nombre de pages = (nombre d'element / taille de la page) 
120
 
109
		// arrondie à l'entier supérieur.
121
		double nPage = (1.0 * nbElementsTotal) / (1.0 * nbElementsPage);
110
		double nPage = (1.0 * nbElementsTotal) / (1.0 * nbElementsPage);
Line 122... Line 111...
122
		double nPageRound = Math.ceil(nPage);
111
		double nPageRound = Math.ceil(nPage);
123
		Double nPageInt = new Double(nPageRound);
112
		Double nPageInt = new Double(nPageRound);
124
 
113
 
Line 125... Line 114...
125
		// on convertit en entier
114
		// Convertion en entier
126
		return nPageInt.intValue();
115
		return nPageInt.intValue();
127
	}
116
	}
128
	
117
	
Line 129... Line 118...
129
	public void selectionnerCommentaire()	{
118
	public void selectionnerCommentaire()	{
130
		Mediateur mediateur =(Mediateur) Registry.get(RegistreId.MEDIATEUR);
119
		Mediateur mediateur = (Mediateur) Registry.get(RegistreId.MEDIATEUR);
131
		mediateur.selectionnerCommentaire(vueARafraichir, null, null, currentPage, nbElementsPage);
120
		mediateur.selectionnerCommentaire(vueARafraichir, null, null, currentPage, nbElementsPage);
132
	}
-
 
133
	
121
	}
134
	public void filtrerParNom(String nom)	{
-
 
135
		Mediateur mediateur =(Mediateur) Registry.get(RegistreId.MEDIATEUR);
-
 
136
		mediateur.selectionnerCommentaireParTitre(vueARafraichir, "%" + nom + "%");
122
	
137
		
123
	public void filtrerParNom(String nom)	{