Rev 736 | Blame | Last modification | View Log | RSS feed
package org.tela_botanica.client.modeles;
import java.util.Iterator;
import java.util.Map;
import java.util.Set;
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_";
/**
* Constructeur vide
*
*/
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();
// Parcourt pour chaque clé
for (Iterator<String> it = im.iterator(); it.hasNext();) {
// 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, "");
if (publication.get(cle).isString() != null) {
String 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);
}
}
}
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);
this.set("ce_projet", "");
this.set("uri", uri);
this.set("fmt_auteur", auteur);
this.set("collection", collection);
this.set("titre", titre);
this.set("ce_truk_editeur", editeur);
this.set("date_parution", dateParution);
this.set("indication_nvt", indicationNvt);
this.set("fascicule", fascicule);
this.set("truk_pages", pages);
this.set("ce_meta", "");
this.set("id_auteur", idAuteur);
}
public Publication(String idPublication,String idProjet, 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("id_publication", idPublication);
this.set("ce_projet", idProjet);
this.set("fmt_nom_complet", nom_complet);
this.set("uri", uri);
this.set("fmt_auteur", auteur);
this.set("collection", collection);
this.set("titre", titre);
this.set("ce_truk_editeur", editeur);
this.set("date_parution", dateParution);
this.set("indication_nvt", indicationNvt);
this.set("fascicule", fascicule);
this.set("truk_pages", pages);
this.set("ce_meta", "");
this.set("id_auteur", idAuteur);
}
public String getNomEditeur() {
return (String) renvoyerValeurCorrecte("cs_nom");
}
public String getId() {
return (String) renvoyerValeurCorrecte("id_publication");
}
public String getProjet() {
return (String) renvoyerValeurCorrecte("ce_projet");
}
public String getNomComplet() {
return (String) renvoyerValeurCorrecte("fmt_nom_complet");
}
public String getURI() {
return (String) renvoyerValeurCorrecte("uri");
}
public String getAuteur() {
return (String) renvoyerValeurCorrecte("fmt_auteur");
}
public String getCollection() {
return (String) renvoyerValeurCorrecte("collection");
}
public String getTitre() {
return (String) renvoyerValeurCorrecte("titre");
}
public String getEditeur() {
return (String) renvoyerValeurCorrecte("ce_truk_editeur");
}
public String getDateParution() {
return (String) renvoyerValeurCorrecte("date_parution");
}
public String getIndicationNvt() {
return (String) renvoyerValeurCorrecte("indication_nvt");
}
public String getFascicule() {
return (String) renvoyerValeurCorrecte("fascicule");
}
public String getPages() {
return (String) renvoyerValeurCorrecte("truk_pages");
}
public String getMeta() {
return (String) renvoyerValeurCorrecte("ce_meta");
}
public String getIdAuteur() {
return (String) renvoyerValeurCorrecte("cpuap_id_personne");
}
public String toReqString() {
String reqString = "" ;
Map<String,Object> clesValeurs = getProperties() ;
for(Iterator<String> it = clesValeurs.keySet().iterator(); it.hasNext();) {
String cle = it.next();
if(cle.equals("id_auteur")) {
reqString += "&"+"cpuap_id_personne="+URL.encode((String)clesValeurs.get(cle));
} else {
reqString += "&"+prefixe+cle+"="+URL.encode((String)renvoyerValeurCorrecte(cle));
}
}
GWT.log(reqString, null);
return reqString;
}
}