Subversion Repositories eFlore/Applications.coel

Rev

Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
106 aurelien 1
package org.tela_botanica.client.modeles;
2
 
3
import java.util.Iterator;
230 aurelien 4
import java.util.Map;
106 aurelien 5
import java.util.Set;
6
 
264 jp_milcent 7
import com.google.gwt.core.client.GWT;
230 aurelien 8
import com.google.gwt.http.client.URL;
106 aurelien 9
import com.google.gwt.json.client.JSONObject;
230 aurelien 10
import com.google.gwt.user.client.Window;
106 aurelien 11
 
12
public class Publication extends aDonnee {
13
 
14
	/**
230 aurelien 15
	 * Préfixe à retirer pour construire les noms des clés
16
	 * et à rajouter lors de la transformation en requête
17
	 */
716 aurelien 18
	private static String prefixe = "cpu_";
230 aurelien 19
 
20
	/**
106 aurelien 21
	 * Constructeur vide
22
	 *
23
	 */
24
	public Publication() {
25
 
26
	}
27
 
28
	/**
29
	 * Constructeur avec un objet JSON
30
	 *
31
	 * @param image
32
	 */
741 aurelien 33
	public Publication(JSONObject publication) {
106 aurelien 34
		// l'objet JSON est une table de hachage
741 aurelien 35
		Set<String> im = publication.keySet();
106 aurelien 36
 
37
		// Parcourt pour chaque clé
38
		for (Iterator<String> it = im.iterator(); it.hasNext();) {
39
			// Si elle est associée à une valeur, nous l'ajoutons
40
			String cle = it.next();
41
			// Suppression de l'abréviation du champ. Inutile dans le contexte d'un objet
230 aurelien 42
			String cleObjet = cle.replaceFirst("^"+prefixe, "");
741 aurelien 43
			if (publication.get(cle).isString() != null) {
44
				String valeur = publication.get(cle).isString().stringValue();
106 aurelien 45
				this.set(cleObjet, valeur);
46
			} else {
47
				// Sinon, nous ajoutons la clé avec une valeur vide
48
				String valeur = " ";
49
				this.set(cleObjet, valeur);
50
			}
51
		}
52
	}
53
 
716 aurelien 54
	public Publication(String nom_complet, String uri, String auteur, String idAuteur, String collection, String titre, String editeur,
221 aurelien 55
			String dateParution, String indicationNvt, String fascicule, String pages) {
56
		this.set("fmt_nom_complet", nom_complet);
230 aurelien 57
		this.set("ce_projet", "");
221 aurelien 58
		this.set("uri", uri);
59
		this.set("fmt_auteur", auteur);
60
		this.set("collection", collection);
716 aurelien 61
		this.set("titre", titre);
221 aurelien 62
		this.set("ce_truk_editeur", editeur);
63
		this.set("date_parution", dateParution);
64
		this.set("indication_nvt", indicationNvt);
65
		this.set("fascicule", fascicule);
66
		this.set("truk_pages", pages);
230 aurelien 67
		this.set("ce_meta", "");
716 aurelien 68
		this.set("id_auteur", idAuteur);
221 aurelien 69
	}
70
 
716 aurelien 71
	public Publication(String idPublication,String idProjet, String nom_complet, String uri, String auteur, String idAuteur, String collection, String titre, String editeur,
230 aurelien 72
			String dateParution, String indicationNvt, String fascicule, String pages) {
73
		this.set("id_publication", idPublication);
74
		this.set("ce_projet", idProjet);
75
		this.set("fmt_nom_complet", nom_complet);
76
		this.set("uri", uri);
77
		this.set("fmt_auteur", auteur);
78
		this.set("collection", collection);
716 aurelien 79
		this.set("titre", titre);
230 aurelien 80
		this.set("ce_truk_editeur", editeur);
81
		this.set("date_parution", dateParution);
82
		this.set("indication_nvt", indicationNvt);
83
		this.set("fascicule", fascicule);
84
		this.set("truk_pages", pages);
85
		this.set("ce_meta", "");
716 aurelien 86
		this.set("id_auteur", idAuteur);
230 aurelien 87
	}
736 aurelien 88
 
89
	public String getNomEditeur() {
90
		return (String) renvoyerValeurCorrecte("cs_nom");
91
	}
230 aurelien 92
 
106 aurelien 93
	public String getId() {
94
		return (String) renvoyerValeurCorrecte("id_publication");
95
	}
96
 
97
	public String getProjet() {
230 aurelien 98
		return (String) renvoyerValeurCorrecte("ce_projet");
106 aurelien 99
	}
100
 
101
	public String getNomComplet() {
102
		return (String) renvoyerValeurCorrecte("fmt_nom_complet");
103
	}
104
 
105
	public String getURI() {
106
		return (String) renvoyerValeurCorrecte("uri");
107
	}
108
 
109
	public String getAuteur() {
110
		return (String) renvoyerValeurCorrecte("fmt_auteur");
111
	}
112
 
113
	public String getCollection() {
114
		return (String) renvoyerValeurCorrecte("collection");
115
	}
116
 
117
	public String getTitre() {
118
		return (String) renvoyerValeurCorrecte("titre");
119
	}
120
 
121
	public String getEditeur() {
122
		return (String) renvoyerValeurCorrecte("ce_truk_editeur");
123
	}
124
 
125
	public String getDateParution() {
126
		return (String) renvoyerValeurCorrecte("date_parution");
127
	}
128
 
129
	public String getIndicationNvt() {
130
		return (String) renvoyerValeurCorrecte("indication_nvt");
131
	}
132
 
133
	public String getFascicule() {
134
		return (String) renvoyerValeurCorrecte("fascicule");
135
	}
136
 
137
	public String getPages() {
138
		return (String) renvoyerValeurCorrecte("truk_pages");
139
	}
230 aurelien 140
 
141
	public String getMeta() {
142
		return (String) renvoyerValeurCorrecte("ce_meta");
143
	}
144
 
238 aurelien 145
	public String getIdAuteur() {
741 aurelien 146
		return (String) renvoyerValeurCorrecte("cpuap_id_personne");
238 aurelien 147
	}
148
 
230 aurelien 149
	public String toReqString() {
150
		String reqString = "" ;
151
 
152
		Map<String,Object> clesValeurs = getProperties() ;
153
		for(Iterator<String> it = clesValeurs.keySet().iterator(); it.hasNext();) {
154
			String cle = it.next();
716 aurelien 155
			if(cle.equals("id_auteur")) {
156
				reqString += "&"+"cpuap_id_personne="+URL.encode((String)clesValeurs.get(cle));
157
			} else  {
718 aurelien 158
				reqString += "&"+prefixe+cle+"="+URL.encode((String)renvoyerValeurCorrecte(cle));
716 aurelien 159
			}
230 aurelien 160
		}
264 jp_milcent 161
		GWT.log(reqString, null);
230 aurelien 162
		return reqString;
163
	}
106 aurelien 164
}