Subversion Repositories eFlore/Applications.cel

Rev

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

Rev 7 Rev 12
Line 1... Line 1...
1
package org.tela_botanica.client.observation;
1
package org.tela_botanica.client.observation;
Line 2... Line -...
2
 
-
 
3
import org.tela_botanica.client.interfaces.iRetourObservation;
-
 
Line 4... Line -...
4
import org.tela_botanica.client.modeles.ObservationAsynchroneDAO;
-
 
Line -... Line 2...
-
 
2
 
-
 
3
 
-
 
4
 
-
 
5
import org.tela_botanica.client.interfaces.FournisseurListe;
-
 
6
import org.tela_botanica.client.interfaces.Rafraichissable;
-
 
7
import org.tela_botanica.client.modeles.Configuration;
-
 
8
import org.tela_botanica.client.modeles.ListeObservationAsynchroneDAO;
-
 
9
import org.tela_botanica.client.modeles.ListeReferentielCommuneAsynchroneDAO;
5
 
10
import org.tela_botanica.client.modeles.NombreObservationAsynchroneDAO;
-
 
11
 
-
 
12
 
-
 
13
public class ObservationModele  {
-
 
14
 
-
 
15
	
-
 
16
	
-
 
17
	/**
-
 
18
	 * Booleen indiquant si le médiateur est instancié (l'instance doit être unique donc le booleen est static)
-
 
19
	 */
-
 
20
	private static boolean estInstancie = false ;
-
 
21
	
-
 
22
	
-
 
23
	/**
-
 
24
	 * La configuration en cours
-
 
25
	 */
-
 
26
	private Configuration config = null;
-
 
27
 
-
 
28
	
-
 
29
	/**
-
 
30
	 * Le médiateur associé au modèle
-
 
31
	 */
-
 
32
	
-
 
33
	private ObservationMediateur observationMediateur = null ;
-
 
34
	
-
 
35
	
-
 
36
	
-
 
37
 
-
 
38
	/**
-
 
39
	 * Retourne une instance de manière unique
-
 
40
	 * @param im le médiateur à associer
-
 
41
	 * @return l'instance du modèle
-
 
42
	 */
-
 
43
	
-
 
44
	static ObservationModele Instance(ObservationMediateur observationMediateur)
-
 
45
	{
-
 
46
		// si le modèle n'est pas encore instancié
-
 
47
		if(!estInstancie)
-
 
48
		{
-
 
49
			// on en crée un nouveau
-
 
50
			estInstancie = true ;
-
 
51
			return new ObservationModele(observationMediateur);
-
 
52
		}
-
 
53
		else
-
 
54
		{
-
 
55
			// sinon on renvoit null, interdisant explicitement la création d'un autre exemplaire
-
 
56
			return null ;
-
 
57
		}
-
 
58
	}
-
 
59
 
-
 
60
	
-
 
61
	
-
 
62
	private ObservationModele(ObservationMediateur observationMediateur) {
-
 
63
		
Line 6... Line -...
6
import com.google.gwt.i18n.client.Dictionary;
-
 
-
 
64
		this.observationMediateur=observationMediateur;
-
 
65
		
Line 7... Line -...
7
 
-
 
Line -... Line 66...
-
 
66
		config = new Configuration();
-
 
67
 
-
 
68
		
-
 
69
	}
-
 
70
 
-
 
71
 
-
 
72
	
-
 
73
	/**
-
 
74
	 * Appelle le DAO asynchrone pour obtenir le nombre d'observation
-
 
75
	 * @param r le rafraichissable auxquel on enverra les données
-
 
76
	 * @param taillePage 
-
 
77
	 */
-
 
78
	public void obtenirNombreObservation(Rafraichissable r) {	
-
 
79
		
-
 
80
		 	String motsClesFiltres[][] = observationMediateur.renvoyerFiltres() ;
-
 
81
			
-
 
82
			// on rassemble les critères
-
 
83
			String[][] criteres = {{motsClesFiltres[0][0], motsClesFiltres[0][1]} } ;
-
 
84
			
-
 
85
			
-
 
86
			// on les crée un DAO auquel on les transmet et qui demande le nombre d'images correspondantes (pour les pages)
-
 
87
			
-
 
88
			NombreObservationAsynchroneDAO noaDAO = new NombreObservationAsynchroneDAO(this) ;
-
 
89
			noaDAO.obtenirNombreObservation(r, observationMediateur.getIdentifiant(), criteres) ;
-
 
90
					
-
 
91
	}
-
 
92
	
-
 
93
	
-
 
94
	/**
-
 
95
	 * Appelle le DAO asynchrone pour obtenir la liste des images
-
 
96
	 * @param r le rafraichissable auxquel on enverra les données
-
 
97
	 * @param taillePage 
-
 
98
	 */
-
 
99
	public void obtenirListeObservation(Rafraichissable r, int taillePage, int pageEncours) {	
-
 
100
		
-
 
101
		 	String motsClesFiltres[][] = observationMediateur.renvoyerFiltres() ;
-
 
102
			
-
 
103
			
8
public class ObservationModele {
104
			// ensuite on demande la page correspondante avec les mêmes critères
-
 
105
			String[][] criteres2 = { {"limite" ,""+taillePage },{"numero_page",""+pageEncours}, {motsClesFiltres[0][0], motsClesFiltres[0][1]}} ;
-
 
106
			
Line -... Line 107...
-
 
107
			// et on crée un DAO auquel on les transmet et qui envoie une requete pour recevoir les images
-
 
108
			
-
 
109
			ListeObservationAsynchroneDAO loaDAO = new ListeObservationAsynchroneDAO(this);
-
 
110
			loaDAO.obtenirListeObservation(r, observationMediateur.getIdentifiant(), criteres2);		
-
 
111
	}
9
 
112
	
Line 10... Line -...
10
	private final String baseURL;
-
 
11
 
-
 
12
	public ObservationModele() {
-
 
13
 
-
 
Line -... Line 113...
-
 
113
 
14
		baseURL = Dictionary.getDictionary("Parameters").get("serviceBaseUrl");
114
	
-
 
115
	public FournisseurListe obtenirFournisseurReferentielCommune() {
15
 
116
		
-
 
117
		return new ListeReferentielCommuneAsynchroneDAO(this);
16
	}
118
		
Line -... Line 119...
-
 
119
	}
17
 
120
 
Line 18... Line -...
18
	public void getNombreObservation(final iRetourObservation retour,
-
 
19
			String identifiant, String identifiantLocalite, String localite,
-
 
20
			String annee, String mois, String jour, String lieudit,
-
 
21
			String rechercheLibre) {
-
 
Line 22... Line -...
22
 
-
 
23
		new ObservationAsynchroneDAO().getNombreObservation(baseURL, retour,
-
 
24
				identifiant, identifiantLocalite, localite, annee, mois, jour,
-
 
-
 
121
 
Line 25... Line -...
25
				lieudit, rechercheLibre);
-
 
Line -... Line 122...
-
 
122
	/**
26
 
123
	 * Accesseur pour la configuration en cours d'utilisation