Subversion Repositories eFlore/Applications.cel

Compare Revisions

Regard whitespace Rev 2 → Rev 5

/trunk/src/org/tela_botanica/client/modeles/Utilisateur.java
2,7 → 2,6
 
public class Utilisateur {
 
private String identifiant=null;
private boolean identifie=false;
 
11,9 → 10,10
this.identifie=identifie;
}
 
/**
* Retourne l'identifiant de l'utilisateur identifie ou un identifiant de session
* Retourne l'identifiant de l'utilisateur identifie ou un identifiant de
* session
*
* @return String identifiant
*/
23,6 → 23,7
 
/**
* Retourne vrai si utilisateur identifie
*
* @return boolean
*/
/trunk/src/org/tela_botanica/client/modeles/Observation.java
1,9 → 1,7
package org.tela_botanica.client.modeles;
 
 
public class Observation {
 
 
private int nombreObservations=0;
private Observation [] listeObservation=null;
 
21,14 → 19,12
private String date=null;
private String numeroOrdre=null;
 
 
public Observation() {
}
 
/**
* Constructeur nombre total d'observations
*
* @param i
*/
36,13 → 32,10
nombreObservations=i;
}
 
public int getNombreObservations() {
return nombreObservations;
}
 
 
/**
* @param transmis
* @param nomSaisi
58,7 → 51,10
* @param date
* @param numeroOrdre
*/
public Observation(String transmis, String nomSaisi, String nomRetenu, String numeroNomenclatural, String numeroTaxonomique, String famille, String localite, String lieudit, String station, String milieu, String commentaire, String date, String numeroOrdre) {
public Observation(String transmis, String nomSaisi, String nomRetenu,
String numeroNomenclatural, String numeroTaxonomique,
String famille, String localite, String lieudit, String station,
String milieu, String commentaire, String date, String numeroOrdre) {
this.transmis = transmis;
this.nomSaisi = nomSaisi;
76,7 → 72,6
}
 
 
public Observation(Observation[] listeObservation) {
this.listeObservation=listeObservation;
}
85,11 → 80,8
return listeObservation;
}
 
 
public String getNomSaisi() {
return nomSaisi;
}
 
}
/trunk/src/org/tela_botanica/client/modeles/ImageUploaderAsynchroneDAO.java
9,10 → 9,9
import com.gwtextux.client.widgets.upload.UploadDialog;
import com.gwtextux.client.widgets.upload.UploadDialogListenerAdapter;
 
 
/**
* DAO un peu particulier car il crée une fenetre d'upload différente
* suivant que le plugin Java est détecté ou non
* DAO un peu particulier car il crée une fenetre d'upload différente suivant
* que le plugin Java est détecté ou non
*
*
*/
23,26 → 22,26
*/
private static ImageModele iModele ;
public ImageUploaderAsynchroneDAO(ImageModele im)
{
public ImageUploaderAsynchroneDAO(ImageModele im) {
iModele = im ;
}
/**
* Setteur pour le modele
* @param im le modèle à associer au DAO
*
* @param im
* le modèle à associer au DAO
*/
public void setIModele(ImageModele im)
{
public void setIModele(ImageModele im) {
iModele = im ;
}
 
/**
* Crée un panel d'upload simple aux fonctions réduites mais utilisant uniquement javascript
* (pour les utilisateurs qui n'ont pas java)
* Crée un panel d'upload simple aux fonctions réduites mais utilisant
* uniquement javascript (pour les utilisateurs qui n'ont pas java)
*/
@SuppressWarnings("unused")
private static void appelerUploadSimple()
{
private static void appelerUploadSimple() {
UploadDialog up = new UploadDialog("Upload simple de fichiers") ;
up.setUrl(iModele.getConfig().getServiceBaseUrl()+"/InventoryImage");
64,7 → 63,6
}
 
});
up.show();
72,12 → 70,12
}
/**
* Crée une fenêtre contenant une applet java pour uploader plusieurs fichiers à la fois avec quelques
* fonctions avancées (nécessite le plugin java pour le navigateur)
* Crée une fenêtre contenant une applet java pour uploader plusieurs
* fichiers à la fois avec quelques fonctions avancées (nécessite le plugin
* java pour le navigateur)
*/
@SuppressWarnings("unused")
private static void appelerUploadMultiple()
{
private static void appelerUploadMultiple() {
final Window nPan = new Window("Upload multiple");
nPan.setWidth(640) ;
85,7 → 83,9
final String warning = "<p class=\"warning_upload\"> A la fin de l'envoi, veuillez fermer la fenêtre pour accéder aux images. </p>" ;
final String applet = "<applet code=\"wjhk.jupload2.JUploadApplet\" archive=\"wjhk.jupload.jar\" alt=\"\" mayscript=\"\" height=\"350\" width=\"625\">";
final String paramPostTarget = "<param name=\"postURL\" value=\""+iModele.getConfig().getServiceBaseUrl()+"/InventoryImage/\">";
final String paramPostTarget = "<param name=\"postURL\" value=\""
+ iModele.getConfig().getServiceBaseUrl()
+ "/InventoryImage/\">";
final String paramUploadPolicy = "<param name=\"uploadPolicy\" value=\"PictureUploadPolicy\">";
final String paramMaxChunkSize = "<param name=\"maxChunkSize\" value=\"0\">";
final String paramMaxFileSize = "<param name=\"maxFileSize\" value=\"10000000\">";
97,23 → 97,15
final String paramFormdata = "<param name=\"formData\" value=\"postid\">" ;
final String finApplet = "</applet>";
 
final String appelApplet = applet
+ paramPostTarget
+ paramUploadPolicy
+ paramMaxChunkSize
+ paramMaxFileSize
+ paramTransmitMetaData
+ paramFilesPerRequest
+ paramAllowedExtensions
+ paramUploadSuccess
+ paramShowLogWindow
+paramFormdata
final String appelApplet = applet + paramPostTarget + paramUploadPolicy
+ paramMaxChunkSize + paramMaxFileSize + paramTransmitMetaData
+ paramFilesPerRequest + paramAllowedExtensions
+ paramUploadSuccess + paramShowLogWindow + paramFormdata
+ finApplet;
final String htmlForm =
"<form method=\"post\" name=\"postid\">"
+"<input type=\"hidden\" name=\"identifiant\" value=\""+iModele.getIdentifiant()+"\">"
+"</form>" ;
final String htmlForm = "<form method=\"post\" name=\"postid\">"
+ "<input type=\"hidden\" name=\"identifiant\" value=\""
+ iModele.getIdentifiant() + "\">" + "</form>";
 
nPan.setHtml(warning+appelApplet+htmlForm);
121,8 → 113,6
nPan.addListener(new WindowListenerAdapter() {
 
 
public void onClose(Panel panel) {
iModele.requeteTerminee() ;
129,7 → 119,6
}
});
nPan.show();
136,8 → 125,9
}
/**
* Fonction javascript native qui détecte la présence du plugin java pour le navigateur
* et appelle la méthode d'upload adaptée (appelerUploadSimple ou appelerUploadMultiple)
* Fonction javascript native qui détecte la présence du plugin java pour le
* navigateur et appelle la méthode d'upload adaptée (appelerUploadSimple ou
* appelerUploadMultiple)
*/
public static native void choisirMethodeUpload() /*-{
/trunk/src/org/tela_botanica/client/modeles/ImageCarnet.java
5,17 → 5,16
import java.util.Set;
 
import com.google.gwt.json.client.JSONObject;
 
/**
*
* Classe representant une image du carnet,
* elle ne contient pas d'image à proprement parler mais
* plutôt les informations associées ainsi que l'url distante.
* C'est une table de hachage qui contient des paires propriété/valeur
* Classe representant une image du carnet, elle ne contient pas d'image à
* proprement parler mais plutôt les informations associées ainsi que l'url
* distante. C'est une table de hachage qui contient des paires propriété/valeur
*
*/
public class ImageCarnet extends HashMap<String, String> {
 
/**
*
*/
23,10 → 22,10
 
/**
* Constructeur avec un objet JSON
*
* @param image
*/
public ImageCarnet(JSONObject image)
{
public ImageCarnet(JSONObject image) {
// l'objet JSON est une table de hachage
Set<String> im = image.keySet() ;
35,13 → 34,10
// si elle est associée à une valeur, on l'ajoute
String key = iterator.next();
if(image.get(key).isString() != null)
{
if (image.get(key).isString() != null) {
String valeur = image.get(key).isString().stringValue() ;
this.put(key, valeur) ;
}
else
{
} else {
// sinon on ajoute la clé avec une valeur vide
String valeur = " " ;
this.put(key, valeur) ;
55,16 → 51,14
* Surcharge de toString qui affiche toutes les propriétés de l'image
*/
public String toString()
{
public String toString() {
String valeur = " ";
for (Iterator<String> iterator = this.keySet().iterator(); iterator.hasNext();) {
for (Iterator<String> iterator = this.keySet().iterator(); iterator
.hasNext();) {
String key = iterator.next();
if(this.get(key) != null)
{
if (this.get(key) != null) {
valeur += "cle : "+key+" valeur :"+this.get(key)+"\n" ;
}
74,31 → 68,25
}
/**
* Pour éviter que l'on traite des valeurs nulles à l'affichage
* on passe par cette fonction qui retire les charactères nuls qui font planter
* Pour éviter que l'on traite des valeurs nulles à l'affichage on passe par
* cette fonction qui retire les charactères nuls qui font planter
* l'affichage, il ne faut pas utiliser get directement
*
* @param cle
* @return la valeur associée à la clé
*/
public String renvoyerValeurCorrecte(String cle)
{
if(this.containsKey((cle)))
{
public String renvoyerValeurCorrecte(String cle) {
if (this.containsKey((cle))) {
String valeur = this.get(cle) ;
if(valeur.equals("null") || valeur == null)
{
if (valeur.equals("null") || valeur == null) {
return " " ;
}
else
{
} else {
char nullChar = '\u0000' ;
String sNull = ""+nullChar ;
valeur = valeur.replaceAll(sNull, "") ;
return valeur ;
}
}
else
{
} else {
return " " ;
}
}
105,6 → 93,7
 
/**
* Acesseur pour l'id de l'image
*
* @return l'id de l'image
*/
public String getId() {
114,6 → 103,7
/**
* Acesseur pour le numero d'ordre de l'image
*
* @return l'ordre de l'image
*/
public String getOrdre() {
123,25 → 113,25
/**
* Base de l'url serveur pour les images
*
* @return url racine pour les images
*/
public String getBaseUrl()
{
public String getBaseUrl() {
return "http://162.38.234.9/Documents/images_serveur/" ;
}
/**
* Renvoie le nom de base du fichier image et ses sous dossier
* @return le nom de base du fichier de type (XXX_XXX_XXX), et ses sous dossier
*
* @return le nom de base du fichier de type (XXX_XXX_XXX), et ses sous
* dossier
*/
public String[] getBaseFileName()
{
public String[] getBaseFileName() {
String id = getId() ;
int maxZeros = 9 - id.length() ;
for(int i = 0 ; i < maxZeros ; i++)
{
for (int i = 0; i < maxZeros; i++) {
id = "0"+id ;
}
158,6 → 148,7
 
/**
* Renvoie le chemin et nom du fichier grand format
*
* @return le chemin du fichier grand format
*/
public String getLUrl() {
164,11 → 155,13
String[] infosFichier = getBaseFileName() ;
return getBaseUrl()+infosFichier[1]+"/"+infosFichier[2]+"/L/"+infosFichier[0]+"_L.jpg" ;
return getBaseUrl() + infosFichier[1] + "/" + infosFichier[2] + "/L/"
+ infosFichier[0] + "_L.jpg";
}
/**
* Renvoie le chemin et nom du fichier petit format
*
* @return le chemin du fichier petit format
*/
public String getSUrl() {
175,11 → 168,13
String[] infosFichier = getBaseFileName() ;
return getBaseUrl()+infosFichier[1]+"/"+infosFichier[2]+"/S/"+infosFichier[0]+"_S.jpg" ;
return getBaseUrl() + infosFichier[1] + "/" + infosFichier[2] + "/S/"
+ infosFichier[0] + "_S.jpg";
}
/**
* Renvoie le chemin et nom du fichier moyen format
*
* @return le chemin du fichier moyen format
*/
public String getMUrl() {
186,21 → 181,22
String[] infosFichier = getBaseFileName() ;
return getBaseUrl()+infosFichier[1]+"/"+infosFichier[2]+"/M/"+infosFichier[0]+"_M.jpg" ;
return getBaseUrl() + infosFichier[1] + "/" + infosFichier[2] + "/M/"
+ infosFichier[0] + "_M.jpg";
}
/**
* Renvoie la taille de l'image
*
* @return un tableau de deux string contenant la hauteur puis la largeur
*/
public String[] getTailleImage()
{
String[] XY = { renvoyerValeurCorrecte("ci_meta_height") , renvoyerValeurCorrecte("ci_meta_width") } ;
public String[] getTailleImage() {
String[] XY = { renvoyerValeurCorrecte("ci_meta_height"),
renvoyerValeurCorrecte("ci_meta_width") };
return XY ;
}
public String[] getNote()
{
public String[] getNote() {
String[] note = {renvoyerValeurCorrecte("ci_note_image") } ;
return note ;
}
207,6 → 203,7
/**
* Renvoie la date exif associée à l'image
*
* @return la date associée à l'image
*/
public String getDate() {
216,6 → 213,7
 
/**
* Renvoie la ville associée à l'image
*
* @return la ville iptc
*/
public Object getIptcCity() {
225,6 → 223,7
 
/**
* Renvoie le fabricant de l'appareil
*
* @return le fabricant
*/
public String getMake() {
234,6 → 233,7
 
/**
* Renvoie le modele de l'appareil
*
* @return le modele
*/
public String getModel() {
243,6 → 243,7
/**
* Renvoie un tableau nom / valeur de toutes les metadonnées Iptc
*
* @return les métadonnées iptc
*/
public String[][] getMetadonnesIptc() {
250,8 → 251,7
String[][] metaIptc = new String[14][2] ;
int elem = 0 ;
for (Iterator<String> it = this.keySet().iterator(); it.hasNext();)
{
for (Iterator<String> it = this.keySet().iterator(); it.hasNext();) {
String key = it.next();
258,13 → 258,10
// on filtre le "ci"
String type[] = key.split("_",3) ;
// si c'est une metadonnee exif ou iptc
if(type[1].equals("meta"))
{
if (type[1].equals("meta")) {
String[] genre = type[2].split("_",2) ;
if(genre[0].equals("iptc"))
{
if (genre[0].equals("iptc")) {
String nom = genre[1] ;
metaIptc[elem][0] = nom ;
metaIptc[elem][1] = renvoyerValeurCorrecte(key) ;
280,6 → 277,7
/**
* Renvoie un tableau nom / valeur de toutes les metadonnées Exif
*
* @return les métadonnées Exif
*/
public String[][] getMetadonnesExif() {
287,8 → 285,7
String[][] metaExif = new String[31][2] ;
int elem = 0 ;
for (Iterator<String> it = this.keySet().iterator(); it.hasNext();)
{
for (Iterator<String> it = this.keySet().iterator(); it.hasNext();) {
String key = it.next();
295,13 → 292,10
// on filtre le "ci"
String type[] = key.split("_",3) ;
// si c'est une metadonnee exif ou iptc
if(type[1].equals("meta"))
{
if (type[1].equals("meta")) {
String[] genre = type[2].split("_",2) ;
if(genre[0].equals("exif"))
{
if (genre[0].equals("exif")) {
String nom = genre[1] ;
metaExif[elem][0] = nom ;
metaExif[elem][1] = renvoyerValeurCorrecte(key) ;
318,6 → 312,7
/**
* Renvoie un tableau nom / valeur contenant les infos générales
*
* @return les infos générales
*/
public String[][] getInfoGenerales() {
335,6 → 330,7
/**
* Renvoie une string contenant les mots clés séparés par des ','
*
* @return les mots clés
*/
public String getMotsCles() {
344,11 → 340,14
/**
* Met à jour le commenentaire et la date
* @param commentaires le nouveau commentaire
* @param date la nouvelle date
*
* @param commentaires
* le nouveau commentaire
* @param date
* la nouvelle date
*/
public void miseAJourInfoGenerales(String commentaires, String date, String note)
{
public void miseAJourInfoGenerales(String commentaires, String date,
String note) {
put("ci_meta_comment",commentaires) ;
put("ci_note_image",note) ;
put("ci_meta_date",date) ;
356,7 → 355,9
/**
* Met à jour les mots clés
* @param motsClesEnCours la liste de mots clés séparés par des ','
*
* @param motsClesEnCours
* la liste de mots clés séparés par des ','
*/
public void mettreAjourMotsCles(String motsClesEnCours) {
/trunk/src/org/tela_botanica/client/modeles/ImageAsynchroneDAO.java
10,8 → 10,9
import com.google.gwt.http.client.Response;
 
/**
* DAO d'accès à une image, n'est utilisé que pour l'écriture et pas pour la lecture des images
* qui se fait par paquet
* DAO d'accès à une image, n'est utilisé que pour l'écriture et pas pour la
* lecture des images qui se fait par paquet
*
* @author aurelien
*
*/
19,27 → 20,25
 
ImageModele iModele = null ;
public ImageAsynchroneDAO(ImageModele im)
{
public ImageAsynchroneDAO(ImageModele im) {
iModele = im ;
}
public void setIModele(ImageModele im)
{
public void setIModele(ImageModele im) {
iModele = im ;
}
/**
* Met à jour la base de données avec toutes les données d'une image
* @param ic l'image à mettre à jour
*
* @param ic
* l'image à mettre à jour
*/
public void SynchroniserBaseDeDonnees(final ImageCarnet ic)
{
public void SynchroniserBaseDeDonnees(final ImageCarnet ic) {
String postData = "" ;
// on construit le post avec toutes les valeur de l'image
for(Iterator<String> imgIt = ic.keySet().iterator();imgIt.hasNext();)
{
for (Iterator<String> imgIt = ic.keySet().iterator(); imgIt.hasNext();) {
String key = imgIt.next() ;
String valeur = ic.renvoyerValeurCorrecte(key) ;
48,7 → 47,9
}
 
// et on envoie une requête asynchrone
RequestBuilder rb = new RequestBuilder(RequestBuilder.POST, iModele.getConfig().getServiceBaseUrl()+"/inventoryImage/"+iModele.getIdentifiant()+"/") ;
RequestBuilder rb = new RequestBuilder(RequestBuilder.POST, iModele
.getConfig().getServiceBaseUrl()
+ "/inventoryImage/" + iModele.getIdentifiant() + "/");
try {
rb.sendRequest(postData, new RequestCallback() {
58,17 → 59,16
}
 
public void onResponseReceived(Request request, Response response) {
public void onResponseReceived(Request request,
Response response) {
if(response.getText().equals("OK"))
{
if (response.getText().equals("OK")) {
return ;
} else {
com.google.gwt.user.client.Window
.alert("Problème lors de la mise à jour des données");
}
else
{
com.google.gwt.user.client.Window.alert("Problème lors de la mise à jour des données") ;
}
}
}) ;
80,10 → 80,11
/**
* Met à jour la base de données avec les mots clés associés à l'image
* @param ic l'image à mettre à jour
*
* @param ic
* l'image à mettre à jour
*/
public void SynchroniserMotsClesImageBaseDeDonnees(final ImageCarnet ic)
{
public void SynchroniserMotsClesImageBaseDeDonnees(final ImageCarnet ic) {
String postData = "" ;
// on récupère les mots clés de l'image et on fabrique le post
92,7 → 93,9
postData += "&ci_id_image="+id+"&ci_meta_mots_cles="+motsCles ;
 
// on envoie une requête asynchrone
RequestBuilder rb = new RequestBuilder(RequestBuilder.POST, iModele.getConfig().getServiceBaseUrl()+"/inventoryImage/"+iModele.getIdentifiant()+"/") ;
RequestBuilder rb = new RequestBuilder(RequestBuilder.POST, iModele
.getConfig().getServiceBaseUrl()
+ "/inventoryImage/" + iModele.getIdentifiant() + "/");
try {
rb.sendRequest(postData, new RequestCallback() {
102,17 → 105,16
}
 
public void onResponseReceived(Request request, Response response) {
public void onResponseReceived(Request request,
Response response) {
if(response.getText().equals("OK"))
{
if (response.getText().equals("OK")) {
return ;
} else {
com.google.gwt.user.client.Window
.alert("Problème lors de la mise à jour des données");
}
else
{
com.google.gwt.user.client.Window.alert("Problème lors de la mise à jour des données") ;
}
}
}) ;
124,16 → 126,23
/**
* Supprime une image de la base de données
* @param ic l'image à supprimer
*
* @param ic
* l'image à supprimer
*/
public void supprimerBaseDeDonnees(final ImageCarnet ic)
{
// le post contient l'action delete pour JREST (qui ne gère pas DELETE comme une requête à part entière)
public void supprimerBaseDeDonnees(final ImageCarnet ic) {
// le post contient l'action delete pour JREST (qui ne gère pas DELETE
// comme une requête à part entière)
String postData = "" ;
postData += "&action=DELETE" ;
// on envoie un post avec l'id de l'image à supprimer
RequestBuilder rb = new RequestBuilder(RequestBuilder.POST, iModele.getConfig().getServiceBaseUrl()+"/inventoryImage/"+iModele.getIdentifiant()+"/"+ic.getId()) ;
RequestBuilder rb = new RequestBuilder(RequestBuilder.POST, iModele
.getConfig().getServiceBaseUrl()
+ "/inventoryImage/"
+ iModele.getIdentifiant()
+ "/"
+ ic.getId());
try {
rb.sendRequest(postData, new RequestCallback() {
143,17 → 152,16
}
public void onResponseReceived(Request request, Response response) {
public void onResponseReceived(Request request,
Response response) {
if(response.getText().equals("OK"))
{
if (response.getText().equals("OK")) {
return ;
} else {
com.google.gwt.user.client.Window
.alert("Problème lors de la mise à jour des données");
}
else
{
com.google.gwt.user.client.Window.alert("Problème lors de la mise à jour des données") ;
}
}
}) ;
/trunk/src/org/tela_botanica/client/modeles/ListeImageCarnet.java
4,11 → 4,11
 
/**
* table de hachage composée d'ImageCarnet, renvoyé par les objets de type DAO
* pour les images.
* La clé est l'identifiant de l'image dans la base de données, et la valeur un objet
* de type ImageCarnet.
* GWT ne supporte pas encore les type paramètres mais quand il le fera il faudra créer la HashMap
* avec <String,ImageCarnet>
* pour les images. La clé est l'identifiant de l'image dans la base de données,
* et la valeur un objet de type ImageCarnet. GWT ne supporte pas encore les
* type paramètres mais quand il le fera il faudra créer la HashMap avec
* <String,ImageCarnet>
*
* @author aurelien
*
*/
22,31 → 22,30
/**
* Constructeur sans paramètres
*/
public ListeImageCarnet()
{
public ListeImageCarnet() {
super();
}
/**
* Constructeur avec paramètre
* @param taille la taille de la table de hachage
*
* @param taille
* la taille de la table de hachage
*/
public ListeImageCarnet(int taille)
{
public ListeImageCarnet(int taille) {
super(taille);
}
/**
* Constructeur avec paramètre
* @param ic un tableau d'ImageCarnet
*
* @param ic
* un tableau d'ImageCarnet
*/
public ListeImageCarnet(ImageCarnet[] ic)
{
public ListeImageCarnet(ImageCarnet[] ic) {
super() ;
for (int i = 0; i < ic.length; i++)
{
if(ic[i] != null && ic[i] instanceof ImageCarnet)
{
for (int i = 0; i < ic.length; i++) {
if (ic[i] != null && ic[i] instanceof ImageCarnet) {
this.put(ic[i].getOrdre(),ic[i]);
}
}
/trunk/src/org/tela_botanica/client/modeles/ListeImageAsynchroneDAO.java
16,8 → 16,9
import com.google.gwt.json.client.JSONValue;
 
/**
* Data Object Access communiquant avec le serveur jrest fournissant la liste des images
* répondant à des critères donné
* Data Object Access communiquant avec le serveur jrest fournissant la liste
* des images répondant à des critères donné
*
* @author aurelien
*
*/
28,39 → 29,39
*/
ImageModele iModele = null ;
public ListeImageAsynchroneDAO(ImageModele im)
{
public ListeImageAsynchroneDAO(ImageModele im) {
iModele = im ;
}
/**
* Setteur pour le modèle
* @param im le modèle à associer
*
* @param im
* le modèle à associer
*/
public void setIModele(ImageModele im)
{
public void setIModele(ImageModele im) {
iModele = im ;
}
/**
* Envoie une requete au serveur jrest pour obtenir une liste d'images correspondant à des critères demandés
* @param r le rafraichissable qui a demandé les données
* @param criteres un tableau contenant les critères de selections
* Envoie une requete au serveur jrest pour obtenir une liste d'images
* correspondant à des critères demandés
*
* @param r
* le rafraichissable qui a demandé les données
* @param criteres
* un tableau contenant les critères de selections
*/
public void ObtenirListeImages(final Rafraichissable r, String[][] criteres)
{
public void ObtenirListeImages(final Rafraichissable r, String[][] criteres) {
String requete = "" ;
// on construit les paramètres du get
if(criteres != null)
{
if (criteres != null) {
for (int i = 0; i < criteres.length; i++) {
if(!criteres[i][1].equals(""))
{
if(i!= 0)
{
if (!criteres[i][1].equals("")) {
if (i != 0) {
requete += "&";
}
requete += criteres[i][0]+"="+criteres[i][1] ;
70,7 → 71,12
}
// on envoie le get asynchrone
RequestBuilder rb = new RequestBuilder(RequestBuilder.GET,iModele.getConfig().getServiceBaseUrl()+"/InventoryImageList/"+iModele.getIdentifiant()+"/"+requete) ;
RequestBuilder rb = new RequestBuilder(RequestBuilder.GET, iModele
.getConfig().getServiceBaseUrl()
+ "/InventoryImageList/"
+ iModele.getIdentifiant()
+ "/"
+ requete);
try {
rb.sendRequest(null , new RequestCallback() {
79,11 → 85,13
}
 
public void onResponseReceived(Request request, Response response) {
public void onResponseReceived(Request request,
Response response) {
final ListeImageCarnet photoData ;
 
final JSONValue responseValue = JSONParser.parse(response.getText());
final JSONValue responseValue = JSONParser.parse(response
.getText());
// si c'est un tableau
if (responseValue.isArray() != null) {
99,29 → 107,29
ImageCarnet im = new ImageCarnet(image) ;
// et on en extrait les données pour construire la liste d'image
// et on en extrait les données pour construire la
// liste d'image
photoData.put(im.getOrdre(),im) ;
}
}
else
{
} else {
// si c'est un objet alors il n'y a qu'une réponse
if(responseValue.isObject() != null)
{
if (responseValue.isObject() != null) {
photoData = new ListeImageCarnet(1);
ImageCarnet im = new ImageCarnet(responseValue.isObject()) ;
// on crée une liste de 1 élement auquel on ajoute ce qui a été reçu
ImageCarnet im = new ImageCarnet(responseValue
.isObject());
// on crée une liste de 1 élement auquel on ajoute
// ce qui a été reçu
photoData.put(im.getOrdre(),im) ;
}
else
{
} else {
// sinon on crée une liste vide
photoData = new ListeImageCarnet(0) ;
}
}
// dans tous les cas on transmet la liste crée au rafraichissable en lui demandant de répandre les données car il est
// dans tous les cas on transmet la liste crée au
// rafraichissable en lui demandant de répandre les données
// car il est
// le premier à les recevoir
r.rafraichir(photoData,true);
}
135,30 → 143,33
/**
* Met à jour les valeurs d'une liste d'image donnée dans la base de données
* @param li la liste d'image à synchroniser avec la base
*
* @param li
* la liste d'image à synchroniser avec la base
*/
public void SynchroniserBaseDeDonnees(ListeImageCarnet li)
{
public void SynchroniserBaseDeDonnees(ListeImageCarnet li) {
// on parcourt toute la liste d'image
for(Iterator<String> listIt = li.keySet().iterator() ; listIt.hasNext() ;)
{
for (Iterator<String> listIt = li.keySet().iterator(); listIt.hasNext();) {
String postData = "" ;
ImageCarnet enCours = li.get(listIt.next()) ;
// pour chaque image on extrait les informations
for(Iterator<String> imgIt = enCours.keySet().iterator();imgIt.hasNext();)
{
for (Iterator<String> imgIt = enCours.keySet().iterator(); imgIt
.hasNext();) {
// qu'on place dans le poste
String key = imgIt.next() ;
String valeur = enCours.renvoyerValeurCorrecte(key) ;
valeur.replaceAll("'", "\'") ;
postData += "&"+key+"="+enCours.renvoyerValeurCorrecte(key) ;
postData += "&" + key + "="
+ enCours.renvoyerValeurCorrecte(key);
}
// on fait un post asynchrone et on les envoie à jrest
RequestBuilder rb = new RequestBuilder(RequestBuilder.POST,iModele.getConfig().getServiceBaseUrl()+"/inventoryImage/"+iModele.getIdentifiant()+"/") ;
RequestBuilder rb = new RequestBuilder(RequestBuilder.POST, iModele
.getConfig().getServiceBaseUrl()
+ "/inventoryImage/" + iModele.getIdentifiant() + "/");
try {
rb.sendRequest(postData, new RequestCallback() {
170,14 → 181,12
public void onResponseReceived(Request request,
Response response) {
if(response.getText().equals("OK"))
{
if (response.getText().equals("OK")) {
return ;
} else {
com.google.gwt.user.client.Window
.alert("Problème lors de la mise à jour des données");
}
else
{
com.google.gwt.user.client.Window.alert("Problème lors de la mise à jour des données") ;
}
}
191,12 → 200,14
/**
* Supprime des image sur le serveur par rapport à leur identifant
* @param ids un tableau d'identifiants d'images à supprimer
*
* @param ids
* un tableau d'identifiants d'images à supprimer
*/
public void supprimerBaseDeDonnees(String[] ids)
{
public void supprimerBaseDeDonnees(String[] ids) {
String postData = "" ;
// on fait un delete dans le post (jrest ne gère pas delete comme une action à part entière)
// on fait un delete dans le post (jrest ne gère pas delete comme une
// action à part entière)
postData += "&action=DELETE" ;
String uid = "" ;
208,7 → 219,9
}
// et on envoie ça au serveur
RequestBuilder rb = new RequestBuilder(RequestBuilder.POST,iModele.getConfig().getServiceBaseUrl()+"/inventoryImageList/"+iModele.getIdentifiant()+"/"+uid) ;
RequestBuilder rb = new RequestBuilder(RequestBuilder.POST, iModele
.getConfig().getServiceBaseUrl()
+ "/inventoryImageList/" + iModele.getIdentifiant() + "/" + uid);
try {
rb.sendRequest(postData, new RequestCallback() {
 
217,10 → 230,11
}
 
public void onResponseReceived(Request request, Response response) {
public void onResponseReceived(Request request,
Response response) {
// quand la requête est éxecutée on le signale au modèle poru qu'il mette à jour les données
// quand la requête est éxecutée on le signale au modèle
// poru qu'il mette à jour les données
// et en notifie le médiateur
iModele.requeteTerminee() ;
233,5 → 247,4
}
}
 
}
/trunk/src/org/tela_botanica/client/modeles/NombreImageAsynchroneDAO.java
12,7 → 12,9
import com.google.gwt.json.client.JSONValue;
 
/**
* DAO qui renvoie le nombre d'image associées à différents critères donnés (utile pour la pagination)
* DAO qui renvoie le nombre d'image associées à différents critères donnés
* (utile pour la pagination)
*
* @author aurelien
*
*/
23,39 → 25,39
*/
private ImageModele iModele = null ;
public NombreImageAsynchroneDAO(ImageModele im)
{
public NombreImageAsynchroneDAO(ImageModele im) {
iModele = im ;
}
/**
* Setteur pour le modèle
* @param im le modèlme à associer
*
* @param im
* le modèlme à associer
*/
public void setIModele(ImageModele im)
{
public void setIModele(ImageModele im) {
iModele = im ;
}
/**
* Envoie une requete au serveur jrest pour obtenir le nombre d'images correspondant
* à des critères données en paramètres
* @param r le rafraichissable qui demande la mise à jour
* @param criteres un tableau nom/valeur des critères pour les images
* Envoie une requete au serveur jrest pour obtenir le nombre d'images
* correspondant à des critères données en paramètres
*
* @param r
* le rafraichissable qui demande la mise à jour
* @param criteres
* un tableau nom/valeur des critères pour les images
*/
public void obtenirNombreImages(final Rafraichissable r, String[][] criteres)
{
public void obtenirNombreImages(final Rafraichissable r, String[][] criteres) {
String requete = "" ;
if(criteres != null)
{
// on construit les paramètres du get avec les critères (&critere1=valeur1&critere2=valeur2 etc...)
if (criteres != null) {
// on construit les paramètres du get avec les critères
// (&critere1=valeur1&critere2=valeur2 etc...)
for (int i = 0; i < criteres.length; i++) {
if(!criteres[i][1].equals(""))
{
if(i!= 0)
{
if (!criteres[i][1].equals("")) {
if (i != 0) {
requete += "&";
}
requete += criteres[i][0]+"="+criteres[i][1] ;
64,7 → 66,12
}
// on fait un get asynchrone
RequestBuilder rb = new RequestBuilder(RequestBuilder.GET, iModele.getConfig().getServiceBaseUrl()+"/InventoryImageCount/"+iModele.getIdentifiant()+"/"+requete) ;
RequestBuilder rb = new RequestBuilder(RequestBuilder.GET, iModele
.getConfig().getServiceBaseUrl()
+ "/InventoryImageCount/"
+ iModele.getIdentifiant()
+ "/"
+ requete);
try {
rb.sendRequest(null, new RequestCallback() {
 
73,19 → 80,23
}
 
public void onResponseReceived(Request request, Response response) {
public void onResponseReceived(Request request,
Response response) {
final JSONValue responseValue = JSONParser.parse(response.getText());
final JSONValue responseValue = JSONParser.parse(response
.getText());
// si la requete se passe bien on reçoit un tableau JSON
if(responseValue.isArray() != null)
{
// qui contient une valeur : le nombre d'images correspondant au critères
if (responseValue.isArray() != null) {
// qui contient une valeur : le nombre d'images
// correspondant au critères
JSONValue res = responseValue.isArray().get(0) ;
JSONString reponseNombre = res.isString() ;
int maxImages = Integer.parseInt(reponseNombre.stringValue()) ;
int maxImages = Integer.parseInt(reponseNombre
.stringValue());
int[] nbImages = {maxImages} ;
// on le met dans un tableau d'entiers qu'on transmet au demandeur de la mise à jour
// on le met dans un tableau d'entiers qu'on transmet au
// demandeur de la mise à jour
r.rafraichir(nbImages, true) ;
}
/trunk/src/org/tela_botanica/client/modeles/Configuration.java
3,7 → 3,9
import com.google.gwt.i18n.client.Dictionary;
 
/**
* Classe chargeant certains paramètres de configuration à partir d'un fichier javascript (config.js)
* Classe chargeant certains paramètres de configuration à partir d'un fichier
* javascript (config.js)
*
* @author aurelien
*
*/
14,21 → 16,24
*/
private String serviceBaseUrl ;
private String imageBaseUrl;
 
/**
* Constructeur sans argument
*/
public Configuration()
{
// on utilise le dictionnaire d'internationalisation pour lire les variables du fichier javascript
serviceBaseUrl = Dictionary.getDictionary("configuration").get("serviceBaseUrl") ;
public Configuration() {
// on utilise le dictionnaire d'internationalisation pour lire les
// variables du fichier javascript
serviceBaseUrl = Dictionary.getDictionary("configuration").get(
"serviceBaseUrl");
}
/**
* Accesseur pour l'url de base du serveur jrest
*
* @return une url de la forme http://emplacement_serveur/jrest
*/
public String getServiceBaseUrl()
{
public String getServiceBaseUrl() {
return serviceBaseUrl ;
}
 
/trunk/src/org/tela_botanica/client/modeles/MotsClesAsynchroneDAO.java
1,6 → 1,5
package org.tela_botanica.client.modeles;
 
 
import org.tela_botanica.client.image.ImageModele;
import org.tela_botanica.client.interfaces.Rafraichissable;
import com.google.gwt.http.client.Request;
15,6 → 14,7
 
/**
* DAO d'accès à l'arbre de mots clés
*
* @author aurelien
*
*/
25,28 → 25,31
*/
private ImageModele iModele = null ;
public MotsClesAsynchroneDAO(ImageModele im)
{
public MotsClesAsynchroneDAO(ImageModele im) {
iModele = im ;
}
/**
* Setteur pour le modèle
* @param im le modèle à associer
*
* @param im
* le modèle à associer
*/
public void setIModele(ImageModele im)
{
public void setIModele(ImageModele im) {
iModele = im ;
}
/**
* Envoie une requete au serveur jrest pour obtenir l'arbre des mots clés
* @param r le rafraichissable qui demande les données
*
* @param r
* le rafraichissable qui demande les données
*/
public void obtenirListeMotsCles(final Rafraichissable r)
{
public void obtenirListeMotsCles(final Rafraichissable r) {
// on demande tous les mots clés associés à l'utilisateur
RequestBuilder rb = new RequestBuilder(RequestBuilder.GET,iModele.getConfig().getServiceBaseUrl()+"/InventoryKeyWordList/"+iModele.getIdentifiant()) ;
RequestBuilder rb = new RequestBuilder(RequestBuilder.GET, iModele
.getConfig().getServiceBaseUrl()
+ "/InventoryKeyWordList/" + iModele.getIdentifiant());
try {
rb.sendRequest(null, new RequestCallback() {
56,9 → 59,11
}
 
public void onResponseReceived(Request request, Response response) {
public void onResponseReceived(Request request,
Response response) {
final JSONValue responseValue = JSONParser.parse(response.getText());
final JSONValue responseValue = JSONParser.parse(response
.getText());
// si la requête est un succès on reçoit un tableau
if (responseValue.isArray() != null) {
78,16 → 83,18
/**
* Envoie requete au serveur jrest pour ajouter un mot clé
* @param motcle le mots clés à ajouter avec son parent et son identifiant
*
* @param motcle
* le mots clés à ajouter avec son parent et son identifiant
*/
public void ajouterBaseDeDonnees(String motcle)
{
if(!motcle.equals(""))
{
public void ajouterBaseDeDonnees(String motcle) {
if (!motcle.equals("")) {
String postData = motcle ;
// on fait un post asynchrone
RequestBuilder rb = new RequestBuilder(RequestBuilder.POST,iModele.getConfig().getServiceBaseUrl()+"/InventoryKeyWordList/") ;
RequestBuilder rb = new RequestBuilder(RequestBuilder.POST, iModele
.getConfig().getServiceBaseUrl()
+ "/InventoryKeyWordList/");
try {
rb.sendRequest(postData, new RequestCallback() {
 
99,11 → 106,12
public void onResponseReceived(Request request,
Response response) {
// si on reçoit une erreur d'ajout, on affiche un message d'erreur
if(response.getText().equals("ERROR"))
{
Window.alert("Attention, la base de données des mots clés n'est plus synchronisée avec l'application," +
"nous vous invitons à recharger la page. ") ;
// si on reçoit une erreur d'ajout, on affiche un
// message d'erreur
if (response.getText().equals("ERROR")) {
Window
.alert("Attention, la base de données des mots clés n'est plus synchronisée avec l'application,"
+ "nous vous invitons à recharger la page. ");
}
}
118,16 → 126,21
/**
* Envoie requete au serveur jrest pour supprimer un mot clé
* @param motcle le mots clés à supprimer
*
* @param motcle
* le mots clés à supprimer
*/
public void supprimerBaseDeDonnees(String motcle)
{
if(!motcle.equals(""))
{
public void supprimerBaseDeDonnees(String motcle) {
if (!motcle.equals("")) {
String postData = "" ;
postData += "&action=DELETE" ;
RequestBuilder rb = new RequestBuilder(RequestBuilder.POST,iModele.getConfig().getServiceBaseUrl()+"/InventoryKeyWordList/"+iModele.getIdentifiant()+"/"+motcle) ;
RequestBuilder rb = new RequestBuilder(RequestBuilder.POST, iModele
.getConfig().getServiceBaseUrl()
+ "/InventoryKeyWordList/"
+ iModele.getIdentifiant()
+ "/"
+ motcle);
try {
rb.sendRequest(postData, new RequestCallback() {
139,10 → 152,10
 
public void onResponseReceived(Request request,
Response response) {
if(response.equals("ERROR"))
{
Window.alert("Attention, la base de données des mots clés n'est plus synchronisée avec l'application," +
"nous vous invitons à recharger la page. ") ;
if (response.equals("ERROR")) {
Window
.alert("Attention, la base de données des mots clés n'est plus synchronisée avec l'application,"
+ "nous vous invitons à recharger la page. ");
}
}
});
156,17 → 169,20
 
/**
* Envoie requete au serveur jrest pour modifier un mot clé
* @param motcle le mots clés à modifier avec son parent et son identifiant
*
* @param motcle
* le mots clés à modifier avec son parent et son identifiant
*/
public void modifierBaseDeDonnees(String motcle) {
if(!motcle.equals(""))
{
if (!motcle.equals("")) {
 
String postData = "" ;
postData += "&action=modification"+motcle ;
RequestBuilder rb = new RequestBuilder(RequestBuilder.POST,iModele.getConfig().getServiceBaseUrl()+"/InventoryKeyWordList/"+iModele.getIdentifiant()) ;
RequestBuilder rb = new RequestBuilder(RequestBuilder.POST, iModele
.getConfig().getServiceBaseUrl()
+ "/InventoryKeyWordList/" + iModele.getIdentifiant());
try {
rb.sendRequest(postData, new RequestCallback() {
175,7 → 191,8
}
public void onResponseReceived(Request request, Response response) {
public void onResponseReceived(Request request,
Response response) {
// TODO Auto-generated method stub
}
190,17 → 207,21
/**
* Envoie requete au serveur jrest pour modifier un mot clé
* @param motcle le mots clés à ajouter avec son ancien parent, son nouveau et son identifiant
*
* @param motcle
* le mots clés à ajouter avec son ancien parent, son nouveau et
* son identifiant
*/
public void deplacerBaseDeDonnees(String motcle) {
if(!motcle.equals(""))
{
if (!motcle.equals("")) {
 
String postData = "" ;
postData += "&action=deplacement"+motcle ;
RequestBuilder rb = new RequestBuilder(RequestBuilder.POST,iModele.getConfig().getServiceBaseUrl()+"/InventoryKeyWordList/"+iModele.getIdentifiant()) ;
RequestBuilder rb = new RequestBuilder(RequestBuilder.POST, iModele
.getConfig().getServiceBaseUrl()
+ "/InventoryKeyWordList/" + iModele.getIdentifiant());
try {
rb.sendRequest(postData, new RequestCallback() {
209,7 → 230,8
}
public void onResponseReceived(Request request, Response response) {
public void onResponseReceived(Request request,
Response response) {
// TODO Auto-generated method stub
}
/trunk/src/org/tela_botanica/client/modeles/LienImageAsynchroneDAO.java
New file
0,0 → 1,99
package org.tela_botanica.client.modeles;
 
import org.tela_botanica.client.image.ImageModele;
import org.tela_botanica.client.interfaces.Rafraichissable;
 
import com.google.gwt.http.client.Request;
import com.google.gwt.http.client.RequestBuilder;
import com.google.gwt.http.client.RequestCallback;
import com.google.gwt.http.client.RequestException;
import com.google.gwt.http.client.Response;
import com.google.gwt.user.client.Window;
 
public class LienImageAsynchroneDAO {
 
private ImageModele iModele = null ;
public LienImageAsynchroneDAO(ImageModele im) {
iModele = im;
}
 
/**
* Setteur pour le modèle
*
* @param im
* le modèle à associer
*/
public void setIModele(ImageModele im) {
iModele = im;
}
public void obtenirLiaisonsImagesObservations(Rafraichissable r,String id)
{
String paramGet = "&coi_ce_image="+id ;
 
// et on envoie ça au serveur
RequestBuilder rb = new RequestBuilder(RequestBuilder.GET, iModele
.getConfig().getServiceBaseUrl()
+ "/inventoryImageLink/" + iModele.getIdentifiant() + "/" + paramGet);
try {
rb.sendRequest(null, new RequestCallback() {
 
public void onError(Request request, Throwable exception) {
// TODO Auto-generated method stub
 
}
 
public void onResponseReceived(Request request,
Response response) {
 
Window.alert(response.toString()) ;
 
}
});
 
} catch (RequestException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
public void lierImageBaseDeDonnees(String idsImages, String idsObs) {
String postData = "";
postData += "&coi_ce_image="+idsImages ;
postData += "&coi_ce_observation="+idsObs ;
postData += "&identifiant="+iModele.getIdentifiant() ;
 
Window.alert("data postée : "+postData) ;
// et on envoie ça au serveur
RequestBuilder rb = new RequestBuilder(RequestBuilder.POST, iModele
.getConfig().getServiceBaseUrl()
+ "/inventoryImageLink/");
try {
rb.sendRequest(postData, new RequestCallback() {
 
public void onError(Request request, Throwable exception) {
// TODO Auto-generated method stub
 
}
 
public void onResponseReceived(Request request,
Response response) {
 
// quand la requête est éxecutée on le signale au modèle
// poru qu'il mette à jour les données
// et en notifie le médiateur
// iModele.requeteTerminee();
 
}
});
 
} catch (RequestException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
/trunk/src/org/tela_botanica/client/modeles/UtilisateurAsynchroneDAO.java
17,8 → 17,6
 
public class UtilisateurAsynchroneDAO {
 
/**
* Constructeur
*/
26,12 → 24,13
public UtilisateurAsynchroneDAO() {
}
/**
* Methode de classe d'appel du service gestion identification
* @param baseURL : URL du service
* @param retour : methode appelle en retour d'appel
*
* @param baseURL :
* URL du service
* @param retour :
* methode appelle en retour d'appel
*/
public void getUtilisateur(String baseURL, final iRetourUtilisateur retour) {
58,10 → 57,9
 
}
 
public void deconnecterUtilisateur(String baseURL,
final iRetourUtilisateur retour, String user) {
 
 
public void deconnecterUtilisateur(String baseURL, final iRetourUtilisateur retour, String user) {
 
HTTPRequest.asyncGet(baseURL + "/User/" + user ,
new ResponseTextHandler() {
 
71,24 → 69,25
JSONArray jsonArray;
if ((jsonArray = jsonValue.isArray()) != null) {
String identifiant = ((JSONString) jsonArray.get(0))
.stringValue(); // Identifiant utilisateur ou
.stringValue(); // Identifiant utilisateur
// ou
// identifiant de session si non
// identifie
boolean identifie = ((JSONBoolean) jsonArray.get(1))
.booleanValue(); // Drapeau leve si utilisateur
.booleanValue(); // Drapeau leve si
// utilisateur
// deja identifie
 
retour.onRetour(new Utilisateur(identifiant, identifie));
retour.onRetour(new Utilisateur(identifiant,
identifie));
}
}
});
}
 
public void connecteUtilisateur(String baseURL,
final iRetourUtilisateur retour, String login, String password) {
 
 
public void connecteUtilisateur(String baseURL,final iRetourUtilisateur retour, String login, String password) {
 
HTTPRequest.asyncGet(baseURL + "/User/" + login + "/" + password ,
new ResponseTextHandler() {
 
99,15 → 98,17
if ((jsonArray = jsonValue.isArray()) != null) {
String identifiant = ((JSONString) jsonArray.get(0))
.stringValue(); // Identifiant utilisateur ou
.stringValue(); // Identifiant utilisateur
// ou
// identifiant de session si non
// identifie
boolean identifie = ((JSONBoolean) jsonArray.get(1))
.booleanValue(); // Drapeau leve si utilisateur
.booleanValue(); // Drapeau leve si
// utilisateur
// deja identifie
 
retour.onRetour(new Utilisateur(identifiant, identifie));
retour.onRetour(new Utilisateur(identifiant,
identifie));
}
}
});
/trunk/src/org/tela_botanica/client/modeles/ObservationAsynchroneDAO.java
19,8 → 19,6
 
public class ObservationAsynchroneDAO {
 
/**
* Constructeur
*/
27,22 → 25,27
public ObservationAsynchroneDAO() {
}
public void getNombreObservation(String baseURL,
final iRetourObservation retour, String identifiant,
String identifiantLocalite, String localite, String annee,
String mois, String jour, String lieudit, String rechercheLibre) {
public void getNombreObservation(String baseURL, final iRetourObservation retour, String identifiant, String identifiantLocalite, String localite, String annee, String mois, String jour, String lieudit, String rechercheLibre) {
HTTPRequest.asyncGet(baseURL + "/InventoryItemList/" + identifiant
+ "/" + identifiantLocalite + "/"
+ URL.encodeComponent(localite) + "/" + annee + "/" + mois
+ "/" + jour + "/" + URL.encodeComponent(rechercheLibre) + "/"
+ URL.encodeComponent(lieudit), new ResponseTextHandler() {
 
HTTPRequest.asyncGet(baseURL + "/InventoryItemList/" + identifiant + "/" + identifiantLocalite + "/" + URL.encodeComponent(localite) + "/" + annee + "/" + mois + "/" + jour + "/" + URL.encodeComponent(rechercheLibre) + "/" + URL.encodeComponent(lieudit),
new ResponseTextHandler() {
 
public void onCompletion(String str) {
 
JSONValue jsonValue = JSONParser.parse(str);
JSONNumber jsonNumber;
if ((jsonNumber = jsonValue.isNumber()) != null) {
retour.onRetour(new Observation((int) jsonNumber.getValue()));
retour
.onRetour(new Observation((int) jsonNumber
.getValue()));
}
}
});
49,15 → 52,18
 
}
 
public void getListeObservation(String baseURL,
final iRetourObservation retour, String identifiant,
String identifiantLocalite, String localite, String annee,
String mois, String jour, String lieudit, String rechercheLibre,
int debut, int longueur) {
 
HTTPRequest.asyncGet(baseURL + "/InventoryItemList/" + identifiant
+ "/" + identifiantLocalite + "/"
+ URL.encodeComponent(localite) + "/" + annee + "/" + mois
+ "/" + jour + "/" + URL.encodeComponent(rechercheLibre) + "/"
+ URL.encodeComponent(lieudit) + "/" + debut + "/" + longueur,
 
public void getListeObservation(String baseURL,final iRetourObservation retour, String identifiant, String identifiantLocalite, String localite, String annee, String mois, String jour, String lieudit, String rechercheLibre, int debut, int longueur)
{
 
HTTPRequest.asyncGet(baseURL + "/InventoryItemList/" + identifiant + "/" + identifiantLocalite + "/" + URL.encodeComponent(localite) +"/" + annee + "/" + mois + "/" + jour + "/" + URL.encodeComponent(rechercheLibre) + "/" + URL.encodeComponent(lieudit) + "/"
+ debut + "/" + longueur ,
new ResponseTextHandler() {
public void onCompletion(String str) {
78,21 → 84,46
if ((jsonArrayNested = jsonArray.get(i).isArray()) != null) {
String transmis=((JSONString) jsonArrayNested.get(13)).stringValue();
String nomSaisi=Util.toCelString(((JSONString) jsonArrayNested.get(0)).toString());
String nomRetenu=Util.toCelString(((JSONString) jsonArrayNested.get(2)).toString());
String numeroNomenclatural=((JSONString) jsonArrayNested.get(3)).stringValue();
String numeroTaxonomique=((JSONString) jsonArrayNested.get(4)).stringValue();
String famille=Util.toCelString(((JSONString) jsonArrayNested .get(5)).toString());
String localite=Util.toCelString(((JSONString) jsonArrayNested .get(6)).toString());
String lieudit=Util.toCelString(((JSONString) jsonArrayNested .get(9)).toString());
String station=Util.toCelString(((JSONString) jsonArrayNested .get(10)).toString());
String milieu=Util.toCelString(((JSONString) jsonArrayNested .get(11)).toString());
String commentaire=Util.toCelString(((JSONString) jsonArrayNested .get(12)).toString());
String date=((JSONString) jsonArrayNested .get(8)).stringValue();
String numeroOrdre=((JSONString) jsonArrayNested.get(7)).stringValue();
String transmis = ((JSONString) jsonArrayNested
.get(13)).stringValue();
String nomSaisi = Util
.toCelString(((JSONString) jsonArrayNested
.get(0)).toString());
String nomRetenu = Util
.toCelString(((JSONString) jsonArrayNested
.get(2)).toString());
String numeroNomenclatural = ((JSONString) jsonArrayNested
.get(3)).stringValue();
String numeroTaxonomique = ((JSONString) jsonArrayNested
.get(4)).stringValue();
String famille = Util
.toCelString(((JSONString) jsonArrayNested
.get(5)).toString());
String localite = Util
.toCelString(((JSONString) jsonArrayNested
.get(6)).toString());
String lieudit = Util
.toCelString(((JSONString) jsonArrayNested
.get(9)).toString());
String station = Util
.toCelString(((JSONString) jsonArrayNested
.get(10)).toString());
String milieu = Util
.toCelString(((JSONString) jsonArrayNested
.get(11)).toString());
String commentaire = Util
.toCelString(((JSONString) jsonArrayNested
.get(12)).toString());
String date = ((JSONString) jsonArrayNested
.get(8)).stringValue();
String numeroOrdre = ((JSONString) jsonArrayNested
.get(7)).stringValue();
listeObservation[i]=new Observation(transmis, nomSaisi, nomRetenu, numeroNomenclatural, numeroTaxonomique, famille, localite, lieudit, station, milieu, commentaire, date, numeroOrdre);
listeObservation[i] = new Observation(transmis,
nomSaisi, nomRetenu,
numeroNomenclatural, numeroTaxonomique,
famille, localite, lieudit, station,
milieu, commentaire, date, numeroOrdre);
}
}
retour.onRetour(new Observation(listeObservation));
106,7 → 137,4
}
 
 
 
 
}