/trunk/src/org/tela_botanica/client/modeles/Structure.java |
---|
10,28 → 10,22 |
public class Structure extends aDonnee { |
private static final long serialVersionUID = -5623886668593288218L; |
public static final String PREFIXE = "cs"; |
public static final String URL_SITE = "WEB"; |
public static final String URL_LOGO = "LOGO"; |
private BaseModelData urls = null; |
private StructureAPersonneListe personnel = null; |
private StructureValorisation valorisation = null; |
private StructureConservation conservation = null; |
/** |
* Constructeur vide |
* |
*/ |
public Structure() { |
// Constructions du tableau des urls interne |
urls = new BaseModelData(); |
} |
/** |
* Constructeur avec un objet JSON |
* |
* @param image |
*/ |
public Structure(JSONObject institution) { |
// Constructions du tableau des urls interne |
urls = new BaseModelData(); |
60,6 → 54,11 |
} |
} |
@Override |
protected String getPrefixe() { |
return PREFIXE; |
} |
public String getId() { |
return renvoyerValeurCorrecte("id_structure"); |
} |
/trunk/src/org/tela_botanica/client/modeles/CollectionBotanique.java |
---|
6,6 → 6,9 |
import com.google.gwt.json.client.JSONObject; |
public class CollectionBotanique extends aDonnee { |
private static final long serialVersionUID = -6659148189825855729L; |
public static final String PREFIXE = "ccb"; |
public CollectionBotanique() { |
32,6 → 35,11 |
} |
} |
@Override |
protected String getPrefixe() { |
return PREFIXE; |
} |
// ID |
public String getId() { |
return renvoyerValeurCorrecte("id_collection"); |
55,4 → 63,5 |
public void setType(String type) { |
this.set("ce_truk_type", type); |
} |
} |
/trunk/src/org/tela_botanica/client/modeles/aDonnee.java |
---|
1,13 → 1,10 |
package org.tela_botanica.client.modeles; |
import java.io.Serializable; |
import java.util.ArrayList; |
import java.util.Collection; |
import java.util.Collections; |
import java.util.HashMap; |
import java.util.Iterator; |
import java.util.LinkedList; |
import java.util.List; |
import java.util.Map; |
import java.util.Set; |
import java.util.TreeSet; |
29,7 → 26,9 |
* Identifiant pour sérialisé l'objet... |
*/ |
private static final long serialVersionUID = 3527760464061629791L; |
protected abstract String getPrefixe(); |
/** |
* 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 |
180,7 → 179,7 |
if (valeurs.length > 0) { |
if (valeurs[0].contains("##")) { |
// Les champs sont typés, on en fait une Map |
HashMap mapValeurs = new HashMap(); |
HashMap<String,String> mapValeurs = new HashMap<String,String>(); |
for (int i = 0; i < valeurs.length; i++) { |
String typeEtValeur[] = valeurs[i].split("##"); |
mapValeurs.put(typeEtValeur[1], typeEtValeur[0]); |
190,7 → 189,7 |
else { |
//Les champs ne sont pas typés, on en fait une Liste |
LinkedList listeValeurs = new LinkedList<String>(); |
LinkedList<String> listeValeurs = new LinkedList<String>(); |
for (int i = 0; i < valeurs.length; i++) { |
if ((valeurs[i]!=null)&&(!valeurs[i].equals(""))) { |
listeValeurs.add(valeurs[i]); |
387,25 → 386,24 |
} |
/** |
* Renvoie une chaine de caractère formatée et encodée pour POST avec toutes les propriétés du modèle |
* Renvoie une chaîne de caractère formatée et encodée pour POST avec toutes les propriétés du modèle |
* */ |
public String obtenirChaineJSON() { |
public String obtenirChainePOST() { |
String post = ""; |
String chaineJSON = ""; |
FastMap<?> proprietees = (FastMap<?>) getProperties(); |
Collection<String> cles = proprietees.keySet(); |
Iterator<String> it = cles.iterator(); |
FastMap hmProperties = (FastMap) getProperties(); |
Collection<String> keys = hmProperties.keySet(); |
Iterator<String> it = keys.iterator(); |
while (it.hasNext()) { |
String key = it.next(); |
chaineJSON += "cp_" + key + "=" + hmProperties.get(key); |
String cle = it.next(); |
post += getPrefixe() + "_" + cle + "=" + proprietees.get(cle); |
if (it.hasNext()) { |
chaineJSON += "&"; |
post += "&"; |
} |
} |
URL.encode(chaineJSON); |
return chaineJSON; |
URL.encode(post); |
return post; |
} |
} |
/trunk/src/org/tela_botanica/client/modeles/Publication.java |
---|
7,29 → 7,16 |
import com.google.gwt.core.client.GWT; |
import com.google.gwt.http.client.URL; |
import com.google.gwt.json.client.JSONObject; |
import com.google.gwt.user.client.Window; |
public class Publication extends aDonnee { |
/** |
* Préfixe à retirer pour construire les noms des clés |
* et à rajouter lors de la transformation en requête |
*/ |
private static String prefixe = "cpu_"; |
private static final long serialVersionUID = 4142843068041690126L; |
private static final String PREFIXE = "cpu"; |
/** |
* Constructeur vide |
* |
*/ |
public Publication() { |
public Publication() { |
} |
/** |
* Constructeur avec un objet JSON |
* |
* @param image |
*/ |
public Publication(JSONObject publication) { |
// l'objet JSON est une table de hachage |
Set<String> im = publication.keySet(); |
39,18 → 26,23 |
// Si elle est associée à une valeur, nous l'ajoutons |
String cle = it.next(); |
// Suppression de l'abréviation du champ. Inutile dans le contexte d'un objet |
String cleObjet = cle.replaceFirst("^"+prefixe, ""); |
String cleObjet = cle.replaceFirst("^"+PREFIXE+"_", ""); |
// Valeur vide par défaut |
String valeur = ""; |
if (publication.get(cle).isString() != null) { |
String valeur = publication.get(cle).isString().stringValue(); |
valeur = publication.get(cle).isString().stringValue(); |
this.set(cleObjet, valeur); |
} else { |
// Sinon, nous ajoutons la clé avec une valeur vide |
String valeur = " "; |
this.set(cleObjet, valeur); |
} |
} |
} |
@Override |
protected String getPrefixe() { |
return PREFIXE; |
} |
public Publication(String nom_complet, String uri, String auteur, String idAuteur, String collection, String titre, String editeur, |
String dateParution, String indicationNvt, String fascicule, String pages) { |
this.set("fmt_nom_complet", nom_complet); |
155,7 → 147,7 |
if(cle.equals("id_auteur")) { |
reqString += "&"+"cpuap_id_personne="+URL.encode((String)clesValeurs.get(cle)); |
} else { |
reqString += "&"+prefixe+cle+"="+URL.encode((String)renvoyerValeurCorrecte(cle)); |
reqString += "&"+PREFIXE+cle+"="+URL.encode(renvoyerValeurCorrecte(cle)); |
} |
} |
GWT.log(reqString, null); |
/trunk/src/org/tela_botanica/client/modeles/PublicationAPersonne.java |
---|
8,6 → 8,8 |
public class PublicationAPersonne extends aDonnee { |
private static final long serialVersionUID = 7769105365939978129L; |
private static final String PREFIXE = "cpuap"; |
public PublicationAPersonne(JSONObject pubAPersListe) { |
// l'objet JSON est une table de hachage |
18,17 → 20,27 |
// Si elle est associée à une valeur, nous l'ajoutons |
String cle = it.next(); |
// Suppression de l'abréviation du champ. Inutile dans le contexte d'un objet |
String cleObjet = cle.replaceFirst("^"+PREFIXE+"_", ""); |
// Valeur vide par défaut |
String valeur = ""; |
if (pubAPersListe.get(cle).isString() != null) { |
String valeur = pubAPersListe.get(cle).isString().stringValue(); |
this.set(cle, valeur); |
valeur = pubAPersListe.get(cle).isString().stringValue(); |
this.set(cleObjet, valeur); |
} else { |
// Sinon, nous ajoutons la clé avec une valeur vide |
String valeur = " "; |
this.set(cle, valeur); |
this.set(cleObjet, valeur); |
} |
} |
} |
@Override |
protected String getPrefixe() { |
return PREFIXE; |
} |
public String getIdAuteur() { |
return renvoyerValeurCorrecte("cp_id_personne"); |
} |
public String getNomCompletAuteur() { |
return renvoyerValeurCorrecte("cp_fmt_nom_complet"); |
} |
41,11 → 53,7 |
return renvoyerValeurCorrecte("cp_prenom"); |
} |
public String getIdAuteur() { |
return renvoyerValeurCorrecte("cp_id_personne"); |
} |
public String getPublication() { |
return renvoyerValeurCorrecte("cpuap_id_publication"); |
return renvoyerValeurCorrecte("id_publication"); |
} |
} |
/trunk/src/org/tela_botanica/client/modeles/Personne.java |
---|
1,8 → 1,6 |
package org.tela_botanica.client.modeles; |
import java.util.Collection; |
import java.util.Date; |
import java.util.HashMap; |
import java.util.Iterator; |
import java.util.Set; |
9,29 → 7,21 |
import org.tela_botanica.client.util.UtilString; |
import com.google.gwt.core.client.GWT; |
import com.google.gwt.http.client.URL; |
import com.google.gwt.i18n.client.DateTimeFormat; |
import com.google.gwt.json.client.JSONObject; |
public class Personne extends aDonnee { |
private static final long serialVersionUID = -6974716696155349332L; |
public static final String PREFIXE = "cp"; |
public static final String TELEPHONE_FIXE = "FIX"; |
public static final String TELEPHONE_GSM = "GSM"; |
public static final String TELEPHONE_FAX = "FAX"; |
/** |
* Constructeur vide |
*/ |
public Personne() { |
} |
/** |
* Constructeur avec un objet JSON |
* |
* @param image |
*/ |
public Personne(JSONObject liste) { |
// l'objet JSON est une table de hachage |
Set<String> im = liste.keySet(); |
60,6 → 50,11 |
this.set("courriel_princ", this.getInfoDenormaliseParPosition(this.renvoyerValeurCorrecte("truk_courriel"), 1)); |
} |
@Override |
protected String getPrefixe() { |
return PREFIXE; |
} |
// ID PERSONNE |
public String getId() { |
return renvoyerValeurCorrecte("id_personne"); |
161,9 → 156,7 |
public String getString(String champ) { |
return String.valueOf(renvoyerValeurCorrecte(champ)); |
} |
public void setNaissanceDate(Date naissanceDate) { |
196,10 → 189,7 |
fmtNomComplet += suffixe; |
} |
this.set("fmt_nom_complet", UtilString.ucFirst(fmtNomComplet)); |
} |
} |
/trunk/src/org/tela_botanica/client/modeles/PersonneListe.java |
---|
76,7 → 76,6 |
} |
public int[] getPageTable() { |
int[] page = new int[4]; |
//nombre de pages au total |
99,8 → 98,7 |
* en cours |
* @return le nombre de pages |
*/ |
public int calculerNbPages() |
{ |
public int calculerNbPages() { |
// A cause de la betise de java pour les conversion implicite on fait quelques conversions manuellement |
// pour eviter qu'il arrondisse mal la division |
// nombre de pages = (nombre d'element / taille de la page) arrondie à l'entier superieur |
115,7 → 113,6 |
@Override |
public void changerNumeroPage(int pageCourante) { |
currentPage = pageCourante; |
selectionnerPersonne(); |
} |
122,7 → 119,6 |
@Override |
public void changerTaillePage(int nouvelleTaillePage) { |
nbElementsPage = nouvelleTaillePage; |
selectionnerPersonne(); |
} |
132,7 → 128,6 |
selectionnerPersonne(); |
} |
public void setPageCourante(int pageCourante) { |
this.currentPage = pageCourante; |
} |
141,11 → 136,9 |
this.nbElementsPage = taillePage; |
} |
public void selectionnerPersonne() { |
Mediateur mediateur =(Mediateur) Registry.get(RegistreId.MEDIATEUR); |
mediateur.selectionnerPersonne(vueARafraichir, null, null, currentPage, nbElementsPage); |
} |
} |
/trunk/src/org/tela_botanica/client/modeles/Collection.java |
---|
36,6 → 36,11 |
} |
} |
@Override |
protected String getPrefixe() { |
return PREFIXE; |
} |
// BOTANIQUE |
public CollectionBotanique getBotanique() { |
return botanique; |
197,6 → 202,5 |
// STRUCTURE VILLE |
public String getStructureVille() { |
return renvoyerValeurCorrecte("structure_ville"); |
} |
} |
} |
/trunk/src/org/tela_botanica/client/modeles/StructureValorisation.java |
---|
3,26 → 3,17 |
import java.util.Iterator; |
import java.util.Set; |
import com.google.gwt.core.client.GWT; |
import com.google.gwt.json.client.JSONObject; |
public class StructureValorisation extends aDonnee { |
private static final long serialVersionUID = 8906713360999774621L; |
public static final String PREFIXE = "csv"; |
/** |
* Constructeur vide |
* |
*/ |
public StructureValorisation() { |
} |
/** |
* Constructeur avec un objet JSON |
* |
* @param image |
*/ |
public StructureValorisation(JSONObject valorisation) { |
// L'objet JSON est une table de hachage |
Set<String> im = valorisation.keySet(); |
44,6 → 35,11 |
} |
} |
@Override |
protected String getPrefixe() { |
return PREFIXE; |
} |
// ACTION |
public String getAction() { |
return renvoyerValeurCorrecte("mark_action"); |
161,5 → 157,4 |
this.set("visite_avec_motif", vam); |
} |
} |
/trunk/src/org/tela_botanica/client/modeles/PublicationAsyncDao.java |
---|
23,7 → 23,7 |
} |
public void selectionnerPublication(final String publicationId, String projetId, String nomComplet) { |
// Ajout des paramètres et données à selectionner dans l'URL |
// Ajout des paramètres et données à sélectionner dans l'URL |
String url = ((Configuration) Registry.get(RegistreId.CONFIG)).getServiceBaseUrl() + |
SERVICE_NOM + "/" + |
(projetId == null ? "*" : projetId) + "/" + |
38,7 → 38,7 |
@Override |
public void surReponse(JSONValue responseValue) { |
if (responseValue != null) { |
// Si la requête est un succès, reception d'un objet ou d'un tableau |
// Si la requête est un succès, réception d'un objet ou d'un tableau |
if (responseValue.isObject() != null) { |
final JSONObject reponse = responseValue.isObject(); |
// Transformation du tableau JSON réponse en ListeInstitution |
78,11 → 78,11 |
}); |
} |
public void ajouterPublication(String utilisateurId, Publication pubAAjouter) { |
public void ajouterPublication(String utilisateurId, Publication publication) { |
final String url = ((Configuration) Registry.get(RegistreId.CONFIG)).getServiceBaseUrl()+SERVICE_NOM+"/"; |
JsonRestRequestBuilder rb = new JsonRestRequestBuilder(RequestBuilder.POST, url); |
String postDonneesEncodees = pubAAjouter.toReqString()+"&cmhl_ce_modifier_par="+utilisateurId; |
String postDonneesEncodees = publication.toReqString()+"&cmhl_ce_modifier_par="+utilisateurId; |
rb.envoyerRequete(postDonneesEncodees, new JsonRestRequestCallback() { |
@Override |
96,7 → 96,7 |
String url = ((Configuration) Registry.get(RegistreId.CONFIG)).getServiceBaseUrl(); |
JsonRestRequestBuilder rb = new JsonRestRequestBuilder(RequestBuilder.POST, url+SERVICE_NOM+"/"+utilisateurId+"/"+idPubs); |
rb.envoyerRequete("action=DELETE", new JsonRestRequestCallback() { |
rb.envoyerRequeteSuppression(new JsonRestRequestCallback() { |
@Override |
public void surReponse(JSONValue reponseValeur) { |
traiterReponse(reponseValeur, "suppression_publication"); |
106,7 → 106,7 |
private void traiterReponse(JSONValue reponseValeur, String type) { |
Information info = new Information(type); |
// Si la requête est un succès, reception d'une chaine |
// Si la requête est un succès, réception d'une chaîne |
if (reponseValeur.isString() != null) { |
info.setDonnee(reponseValeur.isString().stringValue()); |
} else { |
/trunk/src/org/tela_botanica/client/modeles/Valeur.java |
---|
7,11 → 7,10 |
public class Valeur extends aDonnee { |
/** |
* Constructeur avec un objet JSON |
* |
* @param image |
*/ |
private static final long serialVersionUID = 2278245640718653819L; |
public static final String PREFIXE = "cmlv"; |
public Valeur(JSONObject liste) { |
// l'objet JSON est une table de hachage |
Set<String> im = liste.keySet(); |
21,7 → 20,7 |
// Si elle est associée à une valeur, nous l'ajoutons |
String cle = it.next(); |
// Suppression de l'abréviation du champ. Inutile dans le contexte d'un objet |
String cleObjet = cle.replaceFirst("^cmlv_", ""); |
String cleObjet = cle.replaceFirst("^"+PREFIXE+"_", ""); |
if (liste.get(cle).isString() != null) { |
String valeur = liste.get(cle).isString().stringValue(); |
this.set(cleObjet, valeur); |
40,6 → 39,11 |
this.set("description", description); |
} |
@Override |
protected String getPrefixe() { |
return PREFIXE; |
} |
/** Accesseur à l'identifiant de la valeur. |
* |
* @return String l'identifiant de la valeur. |
66,7 → 70,7 |
/** Accesseur à la description de la valeur. |
* |
* @return String la descripion de la valeur. |
* @return String la description de la valeur. |
*/ |
public String getDescription() { |
return (String) renvoyerValeurCorrecte("description"); |
/trunk/src/org/tela_botanica/client/modeles/Projet.java |
---|
6,18 → 6,15 |
import com.google.gwt.json.client.JSONObject; |
public class Projet extends aDonnee { |
/** |
* Constructeur vide |
*/ |
private static final long serialVersionUID = 6733053168274995082L; |
private static final String PREFIXE = "cpr"; |
public Projet() { |
this.set("mark_contact", false); |
} |
/** |
* Constructeur avec un objet JSON |
* |
* @param image |
*/ |
public Projet(JSONObject liste) { |
// l'objet JSON est une table de hachage |
Set<String> im = liste.keySet(); |
27,7 → 24,7 |
// Si elle est associée à une valeur, nous l'ajoutons |
String cle = it.next(); |
// Suppression de l'abréviation du champ. Inutile dans le contexte d'un objet |
String cleObjet = cle.replaceFirst("^cpr_", ""); |
String cleObjet = cle.replaceFirst("^"+PREFIXE+"_", ""); |
if (liste.get(cle).isString() != null) { |
String valeur = liste.get(cle).isString().stringValue(); |
this.set(cleObjet, valeur); |
39,15 → 36,10 |
} |
} |
/** |
* Constructeur avec la fonction à passer en paramètre |
* |
* @param image |
* |
/*public Projets(String fonction) { |
this.set("ce_truk_fonction", fonction); |
this.set("mark_contact", false); |
}*/ |
@Override |
protected String getPrefixe() { |
return PREFIXE; |
} |
public String getId() { |
return (String) renvoyerValeurCorrecte("id_projet"); |
56,17 → 48,5 |
public String getNom() { |
return (String) renvoyerValeurCorrecte("nom"); |
} |
/*public String getFonction() { |
String fonction = (String) renvoyerValeurCorrecte("ce_truk_fonction"); |
if (fonction.equals(Valeur.FONCTION_DIRECTEUR)) { |
return "Directeur"; |
} else if (fonction.equals(Valeur.FONCTION_CONSERVATEUR)) { |
return "Conservateur"; |
} else { |
return ""; |
} |
}*/ |
} |
/trunk/src/org/tela_botanica/client/modeles/PublicationAPersonneAsyncDao.java |
---|
4,6 → 4,7 |
import org.tela_botanica.client.http.JsonRestRequestBuilder; |
import org.tela_botanica.client.http.JsonRestRequestCallback; |
import org.tela_botanica.client.interfaces.Rafraichissable; |
import org.tela_botanica.client.util.UtilDAO; |
import com.extjs.gxt.ui.client.Registry; |
import com.google.gwt.core.client.GWT; |
25,23 → 26,14 |
this.vueARafraichir = vueARafraichir; |
} |
public void selectionnerAuteurAPublication(String projetId, String idAuteurs, |
String role, String idPublication) { |
String url = ((Configuration) Registry.get(RegistreId.CONFIG)).getServiceBaseUrl() + |
SERVICE_NOM + "/" + |
(projetId == null ? "*" : projetId) + "/" + |
(idAuteurs == null ? "*" : idAuteurs) + "/" + |
(idPublication == null ? "*" : idPublication) + "/" + |
""; |
url = URL.encode(url); |
JsonRestRequestBuilder rb = new JsonRestRequestBuilder(RequestBuilder.GET, url); |
public void selectionnerAuteurAPublication(String projetId, String idAuteurs, String role, String idPublication) { |
String[] parametres = {projetId, idAuteurs, idPublication}; |
final JsonRestRequestBuilder rb = UtilDAO.construireRequete(SERVICE_NOM, parametres); |
rb.envoyerRequete(null, new JsonRestRequestCallback() { |
@Override |
public void surReponse(JSONValue responseValue) { |
if (responseValue != null) { |
// Si la requête est un succès, reception d'un objet ou d'un tableau |
// Si la requête est un succès, réception d'un objet ou d'un tableau |
if (responseValue.isObject() != null) { |
final JSONObject reponse = responseValue.isObject(); |
// Transformation du tableau JSON réponse en ListeInstitution |
64,8 → 56,7 |
}); |
} |
public void ajouterAuteur(String utilisateurid, String idAuteurs, |
String role, String idPublication) { |
public void ajouterAuteur(String utilisateurid, String idAuteurs, String role, String idPublication) { |
final String url = ((Configuration) Registry.get(RegistreId.CONFIG)).getServiceBaseUrl()+SERVICE_NOM+"/"; |
// auteur 2360 |
84,8 → 75,7 |
} |
public void modifierAuteur(String utilisateurid, String idAuteurs, |
String idPublication) { |
public void modifierAuteur(String utilisateurid, String idAuteurs, String idPublication) { |
final String url = ((Configuration) Registry.get(RegistreId.CONFIG)).getServiceBaseUrl()+SERVICE_NOM+"/" |
+idPublication+"/" |
+idAuteurs+"/" |
105,7 → 95,7 |
private void traiterReponse(JSONValue reponseValeur, String type) { |
Information info = new Information(type); |
// Si la requête est un succès, reception d'une chaine |
// Si la requête est un succès, réception d'une chaîne |
if (reponseValeur.isBoolean() != null) { |
info.setDonnee(reponseValeur.isBoolean().booleanValue()); |
} else if (reponseValeur.isString() != null) { |
/trunk/src/org/tela_botanica/client/modeles/Utilisateur.java |
---|
1,6 → 1,5 |
package org.tela_botanica.client.modeles; |
import java.util.Collection; |
import java.util.Iterator; |
import java.util.Set; |
8,16 → 7,15 |
public class Utilisateur extends aDonnee { |
private static final long serialVersionUID = -4016615552202089985L; |
public static final String PREFIXE = "cp"; |
public Utilisateur(String id, boolean identifie) { |
set("id_personne", id); |
set("identifie", identifie); |
} |
/** |
* Constructeur avec un objet JSON |
* |
* @param image |
*/ |
public Utilisateur(JSONObject utilisateur) { |
// l'objet JSON est une table de hachage |
Set<String> im = utilisateur.keySet(); |
27,18 → 25,23 |
// Si elle est associée à une valeur, nous l'ajoutons |
String cle = it.next(); |
// Suppression de l'abréviation du champ. Inutile dans le contexte d'un objet |
String cleObjet = cle.replaceFirst("^cp_", ""); |
String cleObjet = cle.replaceFirst("^"+PREFIXE+"_", ""); |
// Valeur est vide par défaut |
String valeur = ""; |
if (utilisateur.get(cle).isString() != null) { |
String valeur = utilisateur.get(cle).isString().stringValue(); |
valeur = utilisateur.get(cle).isString().stringValue(); |
this.set(cleObjet, valeur); |
} else { |
// Sinon, nous ajoutons la clé avec une valeur vide |
String valeur = " "; |
this.set(cleObjet, valeur); |
} |
} |
} |
@Override |
protected String getPrefixe() { |
return PREFIXE; |
} |
public void setId(String id) { |
set("id_personne", id); |
} |
/trunk/src/org/tela_botanica/client/modeles/PersonneAsyncDao.java |
---|
4,302 → 4,116 |
import org.tela_botanica.client.Mediateur; |
import org.tela_botanica.client.RegistreId; |
import org.tela_botanica.client.http.JsonRestRequestBuilder; |
import org.tela_botanica.client.http.JsonRestRequestCallback; |
import org.tela_botanica.client.interfaces.Rafraichissable; |
import org.tela_botanica.client.util.UtilDAO; |
import com.extjs.gxt.ui.client.Registry; |
import com.extjs.gxt.ui.client.widget.Info; |
import com.google.gwt.core.client.GWT; |
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.json.client.JSONArray; |
import com.google.gwt.json.client.JSONParser; |
import com.google.gwt.json.client.JSONValue; |
import com.google.gwt.user.client.Window; |
public class PersonneAsyncDao { |
private static final String SERVICE_NOM = "CoelPersonne"; |
private String utilisateurId = null; |
private Rafraichissable vueARafraichir = null; |
public PersonneAsyncDao(Rafraichissable vue) { |
vueARafraichir = vue; |
utilisateurId = ((Mediateur) Registry.get(RegistreId.MEDIATEUR)).getUtilisateurId(); |
} |
public void selectionner(String personneId, String projetId, String nomComplet, final int pageCourante, final int nbElements) { |
String[] parametres = {personneId, projetId, nomComplet}; |
// Ajout des paramètres et données à selectionner dans l'URL |
String[] parametres = new String[3]; |
parametres[0] = (personneId == null ? "*" : personneId); |
parametres[1] = (projetId == null ? "*" : projetId); |
parametres[2] = (nomComplet == null ? "*" : nomComplet); |
HashMap<String, String> hmRestrictions = new HashMap<String, String>(); |
hmRestrictions.put("start", String.valueOf(pageCourante)); |
HashMap<String, String> restrictions = new HashMap<String, String>(); |
restrictions.put("start", String.valueOf(pageCourante)); |
if (nbElements != -1) { |
hmRestrictions.put("limit", String.valueOf(nbElements)); |
restrictions.put("limit", String.valueOf(nbElements)); |
} |
final RequestBuilder rb = UtilDAO.construireRequete(SERVICE_NOM, parametres, hmRestrictions, "GET"); |
try { |
rb.sendRequest(null, new RequestCallback() { |
public void onError(Request request, Throwable exception) { |
// Gestion des exceptions déclenchées par l'exécution de la requête |
GWT.log("Erreur à l'exécution du service "+SERVICE_NOM+" (selection)", exception); |
Info.display("Erreur de Requête", "Une erreur s'est produite lors de l'exécution de la requête."); |
} |
public void onErrorHTTP(Request request, Response reponse) { |
// Gestion des erreurs HTTP renvoyé par Apache ou JRest |
Information info = new Information("erreur_jrest", JSONParser.parse(reponse.getText()).isArray()); |
GWT.log("Erreur JREST - Code "+reponse.getStatusCode()+"\n"+info.getMessages().toString(), null); |
Info.display("Erreur JREST - Code "+reponse.getStatusCode(), info.toString()); |
} |
public void onResponseReceived(Request request, Response response) { |
// Si le code de réponse HTTP ne vaut pas 200 OK, on lance le mécanise d'erreur HTTP |
if (response.getStatusCode() != 200) { |
onErrorHTTP(request, response); |
final JsonRestRequestBuilder rb = UtilDAO.construireRequete(SERVICE_NOM, parametres, restrictions, "GET"); |
rb.envoyerRequete(null, new JsonRestRequestCallback() { |
@Override |
public void surReponse(JSONValue responseValue) { |
// Si la requête est un succès, réception d'un tableau |
if (responseValue.isArray() != null) { |
final JSONArray reponse = responseValue.isArray(); |
// Transformation du tableau JSON réponse en ListeInstitution |
Information info = new Information("liste_personne"); |
PersonneListe personnes; |
if (reponse.get(0).isArray() != null) { |
personnes = new PersonneListe(reponse); |
} else { |
if (response.getText().length() != 0 && response.getText() != null) { |
final JSONValue responseValue = JSONParser.parse(response.getText()); |
// Si la requête est un succès, reception d'un tableau |
if (responseValue.isArray() != null) { |
final JSONArray reponse = responseValue.isArray(); |
// Transformation du tableau JSON réponse en ListeInstitution |
Information info = new Information("liste_personne"); |
PersonneListe personnes; |
if (reponse.get(0).isArray() != null) { |
personnes = new PersonneListe(reponse); |
} else { |
personnes = new PersonneListe(reponse.get(1).isArray(), reponse.get(0).isNumber(), vueARafraichir); |
} |
personnes.setTaillePage(nbElements); |
personnes.setPageCourante(pageCourante); |
info.setDonnee(0, personnes); |
// et on met à jour le demandeur des données |
vueARafraichir.rafraichir(info); |
} else { |
GWT.log(rb.getUrl()+"\n\tLa réponse n'est pas un tableau JSON et vaut : "+responseValue.toString(), null); |
} |
} else { |
if (response.getText().length() == 0) { |
GWT.log("\tLa réponse a une taille de 0", null); |
} |
if (response.getText() == null) { |
GWT.log("\tLa réponse vaul null", null); |
} |
} |
personnes = new PersonneListe(reponse.get(1).isArray(), reponse.get(0).isNumber(), vueARafraichir); |
} |
personnes.setTaillePage(nbElements); |
personnes.setPageCourante(pageCourante); |
info.setDonnee(0, personnes); |
// et on met à jour le demandeur des données |
vueARafraichir.rafraichir(info); |
} else { |
GWT.log(rb.getUrl()+"\n\tLa réponse n'est pas un tableau JSON et vaut : "+responseValue.toString(), null); |
} |
}); |
} catch (RequestException e) { |
// Gestion des exceptions déclenchées par la création de la requête (url non-valide ?) |
GWT.log("Erreur à la création du service "+SERVICE_NOM+" (selection)", e); |
Info.display("Erreur de Requête", "Une erreur s'est produite lors de la création de la requête."); |
} |
} |
}); |
} |
public void supprimer(final Rafraichissable r, String structureId) { |
String utilisateurId = ((Mediateur) Registry.get(RegistreId.MEDIATEUR)).getUtilisateurId(); |
// Ajout des paramètres et données à supprimer dans l'URL |
String[] parametres = new String[2]; |
parametres[0] = utilisateurId; |
parametres[1] = structureId; |
RequestBuilder rb = UtilDAO.construireRequete(SERVICE_NOM, parametres, "POST"); |
try { |
rb.sendRequest("action=DELETE", new RequestCallback() { |
public void onError(Request request, Throwable exception) { |
// Gestion des exceptions déclenchées par l'exécution de la requête |
GWT.log("Erreur à l'exécution du service "+SERVICE_NOM+" (suppression)", exception); |
Info.display("Erreur de Requête", "Une erreur s'est produite lors de l'exécution de la requête."); |
public void supprimer(String structureId) { |
String[] parametres = {utilisateurId, structureId}; |
final JsonRestRequestBuilder rb = UtilDAO.construireRequete(SERVICE_NOM, parametres, "POST"); |
rb.envoyerRequeteSuppression(new JsonRestRequestCallback() { |
@Override |
public void surReponse(JSONValue responseValue) { |
if (responseValue.isString() != null) { |
Information info = new Information("suppression_personne", responseValue.isString().stringValue()); |
vueARafraichir.rafraichir(info); |
} else { |
GWT.log(rb.getUrl()+"\n\tLa réponse n'est pas une chaine JSON.", null); |
} |
public void onErrorHTTP(Request request, Response reponse) { |
// Gestion des erreurs HTTP renvoyé par Apache ou JRest |
Information info = new Information("erreur_jrest", JSONParser.parse(reponse.getText()).isArray()); |
GWT.log("Erreur JREST - Code "+reponse.getStatusCode()+"\n"+info.getMessages().toString(), null); |
//Affichage des informations de débug |
final JSONValue reponseEnteteDeboguage = JSONParser.parse(reponse.getHeader("X-DebugJrest-Data")); |
if (reponseEnteteDeboguage.isArray() != null) { |
info.setDeboguages(reponseEnteteDeboguage.isArray()); |
} |
GWT.log("DEBOGUAGE:\n"+info.getDeboguages().toString(), null); |
Info.display("Une erreur s'est produite lors de la suppression - Err. "+reponse.getStatusCode(), info.toString()); |
} |
public void onResponseReceived(Request request, Response response) { |
// Si le code de réponse HTTP ne vaut pas 200 OK, on lance le mécanisme d'erreur HTTP |
if (response.getStatusCode() != 200) { |
onErrorHTTP(request, response); |
} else { |
if (response.getText().length() != 0 && response.getText() != null) { |
final JSONValue responseValue = JSONParser.parse(response.getText()); |
// Si la requête est un succès, reception d'une chaine |
if (responseValue.isString() != null) { |
Information info = new Information("suppression_personne", responseValue.isString().stringValue()); |
r.rafraichir(info); |
} else { |
// GWT.log(url+"\n\tLa réponse n'est pas une chaine JSON.", null); |
} |
} else { |
//GWT.log(url, null); |
if (response.getText().length() == 0) { |
GWT.log("\tLa réponse a une taille de 0", null); |
} |
if (response.getText() == null) { |
GWT.log("\tLa réponse vaul null", null); |
} |
} |
} |
} |
}) ; |
} catch (RequestException e) { |
// Gestion des exceptions déclenchées par la création de la requête (url non-valide ?) |
GWT.log("Erreur à la création du service "+SERVICE_NOM+" (suppression)", e); |
Info.display("Erreur de Requête", "Une erreur s'est produite lors de la création de la requête."); |
} |
} |
}); |
} |
public void ajouter(final Rafraichissable vue, Personne personne) { |
String utilisateurId = ((Mediateur) Registry.get(RegistreId.MEDIATEUR)).getUtilisateurId(); |
// Ajout des paramètres et données à supprimer dans l'URL |
RequestBuilder rb = UtilDAO.construireRequete(SERVICE_NOM + "/", null, null, "POST"); |
try { |
String strChaineJson = personne.obtenirChaineJSON(); |
strChaineJson += "&cmhl_ce_modifier_par=" + utilisateurId; |
rb.sendRequest(strChaineJson, new RequestCallback() { |
public void ajouter(Personne personne) { |
String postDonneesEncodees = personne.obtenirChainePOST(); |
postDonneesEncodees += "&cmhl_ce_modifier_par=" + utilisateurId; |
public void onError(Request request, Throwable exception) { |
// Gestion des exceptions déclenchées par l'exécution de la requête |
GWT.log("Erreur à l'exécution du service " + SERVICE_NOM + " (ajout)", exception); |
Info.display("Erreur de Requête", "Une erreur s'est produite lors de l'exécution de la requête."); |
final JsonRestRequestBuilder rb = UtilDAO.construireRequetePost(SERVICE_NOM); |
rb.envoyerRequete(postDonneesEncodees, new JsonRestRequestCallback() { |
@Override |
public void surReponse(JSONValue responseValue) { |
if (responseValue.isString() != null) { |
Information info = new Information("ajout_personne", responseValue.isString().stringValue()); |
vueARafraichir.rafraichir(info); |
} else { |
GWT.log(rb.getUrl()+"\n\tLa réponse n'est pas une chaine JSON.", null); |
} |
public void onErrorHTTP(Request request, Response reponse) { |
// Gestion des erreurs HTTP renvoyé par Apache ou JRest |
Information info = new Information("erreur_jrest", JSONParser.parse(reponse.getText()).isArray()); |
GWT.log("Erreur JREST - Code "+reponse.getStatusCode()+"\n"+info.getMessages().toString(), null); |
Info.display("Erreur JREST - Code "+reponse.getStatusCode(), info.toString()); |
} |
public void onResponseReceived(Request request, Response response) { |
// Si le code de réponse HTTP ne vaut pas 200 OK, on lance le mécanisme d'erreur HTTP |
if (response.getStatusCode() != 200) { |
onErrorHTTP(request, response); |
} else { |
if (response.getText().length() != 0 && response.getText() != null) { |
final JSONValue responseValue = JSONParser.parse(response.getText()); |
// Si la requête est un succès, reception d'une chaine |
if (responseValue.isString() != null) { |
Information info = new Information("ajout_personne", responseValue.isString().stringValue()); |
vue.rafraichir(info); |
} else { |
// GWT.log(url+"\n\tLa réponse n'est pas une chaine JSON.", null); |
} |
} else { |
//GWT.log(url, null); |
if (response.getText().length() == 0) { |
GWT.log("\tLa réponse a une taille de 0", null); |
} |
if (response.getText() == null) { |
GWT.log("\tLa réponse vaut null", null); |
} |
} |
} |
}}); |
} |
catch (RequestException e) { |
GWT.log("Exception", e); |
} |
} |
}); |
} |
public void modifier(final Rafraichissable vue, Personne personne) { |
public void modifier(Personne personne) { |
String postDonneesEncodees = personne.obtenirChainePOST(); |
postDonneesEncodees += "&cmhl_ce_modifier_par=" + utilisateurId; |
String utilisateurId = ((Mediateur) Registry.get(RegistreId.MEDIATEUR)).getUtilisateurId(); |
String[] parametres = new String [1]; |
parametres[0] = personne.getId(); |
// Ajout des paramètres et données à supprimer dans l'URL |
RequestBuilder rb = UtilDAO.construireRequete(SERVICE_NOM, parametres, "POST"); |
try { |
String strChaineJson = personne.obtenirChaineJSON(); |
strChaineJson += "&cmhl_ce_modifier_par=" + utilisateurId; |
rb.sendRequest(strChaineJson, new RequestCallback() { |
public void onError(Request request, Throwable exception) { |
// Gestion des exceptions déclenchées par l'exécution de la requête |
GWT.log("Erreur à l'exécution du service " + SERVICE_NOM + " (ajout)", exception); |
Info.display("Erreur de Requête", "Une erreur s'est produite lors de l'exécution de la requête."); |
String[] parametres = {personne.getId()}; |
final JsonRestRequestBuilder rb = UtilDAO.construireRequete(SERVICE_NOM, parametres, "POST"); |
rb.envoyerRequete(postDonneesEncodees, new JsonRestRequestCallback() { |
@Override |
public void surReponse(JSONValue responseValue) { |
// Si la requête est un succès, reception d'une chaine |
if (responseValue.isString() != null) { |
Information info = new Information("modification_personne", responseValue.isString().stringValue()); |
vueARafraichir.rafraichir(info); |
} else { |
GWT.log(rb.getUrl()+"\n\tLa réponse n'est pas une chaine JSON.", null); |
} |
public void onErrorHTTP(Request request, Response reponse) { |
// Gestion des erreurs HTTP renvoyé par Apache ou JRest |
Information info = new Information("erreur_jrest", JSONParser.parse(reponse.getText()).isArray()); |
GWT.log("Erreur JREST - Code "+reponse.getStatusCode()+"\n"+info.getMessages().toString(), null); |
Info.display("Erreur JREST - Code "+reponse.getStatusCode(), info.toString()); |
} |
public void onResponseReceived(Request request, Response response) { |
// Si le code de réponse HTTP ne vaut pas 200 OK, on lance le mécanisme d'erreur HTTP |
if (response.getStatusCode() != 200) { |
onErrorHTTP(request, response); |
} else { |
if (response.getText().length() != 0 && response.getText() != null) { |
final JSONValue responseValue = JSONParser.parse(response.getText()); |
// Si la requête est un succès, reception d'une chaine |
Information info = new Information("modification_personne", responseValue.isString().stringValue()); |
if (responseValue.isString() != null) { |
vue.rafraichir(info); |
} else { |
// GWT.log(url+"\n\tLa réponse n'est pas une chaine JSON.", null); |
} |
} else { |
//GWT.log(url, null); |
if (response.getText().length() == 0) { |
GWT.log("\tLa réponse a une taille de 0", null); |
} |
if (response.getText() == null) { |
GWT.log("\tLa réponse vaut null", null); |
} |
} |
} |
}}); |
} |
catch (RequestException e) { |
GWT.log("Exception", e); |
} |
} |
}); |
} |
} |
/trunk/src/org/tela_botanica/client/modeles/StructureAPersonne.java |
---|
6,18 → 6,18 |
import com.google.gwt.json.client.JSONObject; |
public class StructureAPersonne extends aDonnee { |
private static final long serialVersionUID = -7265602594281982891L; |
public static final String PREFIXE = "csap"; |
public static final String FONCTION_DIRECTEUR = "2028"; |
public static final String FONCTION_CONSERVATEUR = "2029"; |
public static final String FONCTION_TECHNICIEN = "2030"; |
public static final String ROLE_ADMIN = "2026"; |
public static final String ROLE_EQUIPE = "2027"; |
public static final String PREFIXE = "csap"; |
public static final String ETAT_AJOUTE = "A"; |
/** |
* Constructeur vide |
* |
*/ |
public StructureAPersonne() { |
// Définition des valeurs par défaut de variables obligatoires vis à vis de l'utilisation de l'objet |
set("contact", false); |
26,11 → 26,6 |
set("travail", 0); |
} |
/** |
* Constructeur avec un objet JSON |
* |
* @param |
*/ |
public StructureAPersonne(JSONObject personnel) { |
// Définition des valeurs par défaut de variables obligatoires vis à vis de l'utilisation de l'objet |
set("contact", false); |
119,6 → 114,11 |
set("etat", codeEtat); |
} |
@Override |
protected String getPrefixe() { |
return PREFIXE; |
} |
// ID |
/** Génère un identifiant de StructureAPersonne. |
* |
/trunk/src/org/tela_botanica/client/modeles/StructureConservation.java |
---|
7,21 → 7,13 |
public class StructureConservation extends aDonnee { |
private static final long serialVersionUID = -4556005804101933910L; |
public static final String PREFIXE = "csc"; |
/** |
* Constructeur vide |
* |
*/ |
public StructureConservation() { |
} |
/** |
* Constructeur avec un objet JSON |
* |
* @param image |
*/ |
public StructureConservation(JSONObject conservation) { |
// L'objet JSON est une table de hachage |
Set<String> im = conservation.keySet(); |
43,6 → 35,11 |
} |
} |
@Override |
protected String getPrefixe() { |
return PREFIXE; |
} |
// FORMATION |
public String getFormation() { |
return renvoyerValeurCorrecte("mark_formation"); |