Rev 208 | Blame | Last modification | View Log | RSS feed
package org.tela_botanica.client.modeles;
import java.util.Date;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Set;
import com.extjs.gxt.ui.client.data.BaseModelData;
import com.google.gwt.core.client.GWT;
import com.google.gwt.i18n.client.DateTimeFormat;
import com.google.gwt.json.client.JSONObject;
public class Structure extends aDonnee {
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();
// l'objet JSON est une table de hachage
Set<String> im = institution.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();
if (cle.startsWith(PREFIXE+"_")) {
// Suppression de l'abréviation du champ. Inutile dans le contexte d'un objet
String cleObjet = cle.replaceFirst("^"+PREFIXE+"_", "");
// Sinon, nous ajoutons la clé avec une valeur vide
String valeur = "";
if (institution.get(cle).isString() != null) {
valeur = institution.get(cle).isString().stringValue();
}
if (cleObjet.equals("truk_url")) {
this.setUrl(valeur);
} else {
this.set(cleObjet, valeur);
}
}
}
}
public String getId() {
return (String) renvoyerValeurCorrecte("id_structure");
}
public void setId(String idStructure) {
this.set("id_structure", idStructure);
}
public String getIdProjet() {
return (String) renvoyerValeurCorrecte("ce_projet");
}
public void setIdProjet(String idProjet) {
this.set("ce_projet", idProjet);
}
public String getIdMere() {
return (String) renvoyerValeurCorrecte("ce_mere");
}
public void setIdMere(String idMere) {
this.set("ce_mere", idMere);
}
public String getGuid() {
return (String) renvoyerValeurCorrecte("guid");
}
public void setGuid(String guid) {
this.set("guid", guid);
}
public String getIdAlternatif() {
return (String) renvoyerValeurCorrecte("truk_identifiant_alternatif");
}
public void setIdAlternatif(String idAlter) {
this.set("truk_identifiant_alternatif", idAlter);
}
public String getNom() {
return (String) renvoyerValeurCorrecte("nom");
}
public void setNom(String nom) {
this.set("nom", nom);
}
public String getNomAlternatif() {
return (String) renvoyerValeurCorrecte("truk_nom_alternatif");
}
public String getDescription() {
return (String) renvoyerValeurCorrecte("description");
}
public String getType() {
return (String) renvoyerValeurCorrecte("ce_type");
}
public void setType(String type) {
this.set("ce_type", type);
}
public String getTypePrive() {
return (String) renvoyerValeurCorrecte("ce_truk_type_prive");
}
public void setTypePrive(String typePrive) {
this.set("ce_truk_type_prive", typePrive);
}
public String getTypePublic() {
return (String) renvoyerValeurCorrecte("ce_truk_type_public");
}
public void setTypePublic(String typePublic) {
this.set("ce_truk_type_public", typePublic);
}
public String getAdresse() {
return (String) renvoyerValeurCorrecte("adresse_01");
}
public void setAdresse(String adr) {
this.set("adresse_01", adr);
}
public String getAdresseComplement() {
return (String) renvoyerValeurCorrecte("adresse_02");
}
public String getDateFondationFormatMysql() {
return (String) renvoyerValeurCorrecte("date_fondation");
}
public Date getDateFondation() {
Date fondationDate = null;
String fondationChaine = (String) renvoyerValeurCorrecte("date_fondation");
if (!fondationChaine.isEmpty() && !fondationChaine.equals("0000-00-00")) {
fondationDate = DateTimeFormat.getFormat("yyyy-MM-dd").parseStrict(fondationChaine);
}
return fondationDate;
}
public void setDateFondation(Date dateFondation) {
if (dateFondation != null) {
this.set("date_fondation", DateTimeFormat.getFormat("yyyy-MM-dd").format(dateFondation));
}
}
public void setDateFondation(String dateFondation) {
if (dateFondation != null) {
this.set("date_fondation", dateFondation);
}
}
public String getCodePostal() {
return (String) renvoyerValeurCorrecte("code_postal");
}
public void setCodePostal(String codePostal) {
this.set("code_postal", codePostal);
}
public String getVille() {
return (String) renvoyerValeurCorrecte("ville");
}
public void setVille(String ville) {
this.set("ville", ville);
}
public String getRegion() {
return (String) renvoyerValeurCorrecte("region");
}
public void setRegion(String region) {
this.set("region", region);
}
public String getPays() {
return (String) renvoyerValeurCorrecte("pays");
}
public void setPays(String pays) {
this.set("pays", pays);
}
public String getLatitude() {
return (String) renvoyerValeurCorrecte("latitude");
}
public String getLongitude() {
return (String) renvoyerValeurCorrecte("longitude");
}
public String getTelephone() {
return (String) renvoyerValeurCorrecte("telephone");
}
public void setTelephone(String tel) {
this.set("telephone", tel);
}
public String getFax() {
return (String) renvoyerValeurCorrecte("fax");
}
public void setFax(String fax) {
this.set("fax", fax);
}
public String getCourriel() {
return (String) renvoyerValeurCorrecte("courriel");
}
public void setCourriel(String courriel) {
this.set("courriel", courriel);
}
public String getUrl(String type) {
return urls.get(type);
}
public String getUrl() {
String urlsDenormalise = "";
Set<String> proprietes = urls.getProperties().keySet();
for (Iterator<String> it = proprietes.iterator(); it.hasNext();) {
String cle = it.next();
urlsDenormalise += cle+"##"+urls.get(cle)+";;";
}
urlsDenormalise.replaceFirst(";;$", "");
return urlsDenormalise;
}
public void setUrl(String urlsDenormalise) {
if (urlsDenormalise != null && !urlsDenormalise.equals("")) {
//GWT.log(urlsDenormalise, null);
String[] tableauUrls = urlsDenormalise.split(";;");
for (int i = 0; i < tableauUrls.length; i++) {
String url = tableauUrls[i];
//GWT.log("\t"+url, null);
String[] tableauUrl = url.split("##");
if (tableauUrl.length == 2) {
//GWT.log("\t\t"+tableauUrl[0]+"-"+tableauUrl[1], null);
urls.set(tableauUrl[0], tableauUrl[1]);
}
}
}
}
public void setUrl(String type, String url) {
if (url != null) {
urls.set(type, url);
}
}
public int getNbrePersonne() {
if (renvoyerValeurCorrecte("nbre_personne").equals("")) {
return 0;
} else {
return Integer.parseInt(renvoyerValeurCorrecte("nbre_personne"));
}
}
public void setNbrePersonne(int nbrePersonne) {
this.set("nbre_personne", Integer.toString(nbrePersonne));
}
public String getConditionAcces() {
return (String) renvoyerValeurCorrecte("condition_acces");
}
public String getConditionUsage() {
return (String) renvoyerValeurCorrecte("condition_usage");
}
public StructureAPersonneListe getPersonnel() {
return personnel;
}
public void setPersonnel(StructureAPersonneListe personnelAStocker) {
personnel = personnelAStocker;
}
public StructureValorisation getValorisation() {
return valorisation;
}
public void setValorisation(StructureValorisation valorisationAStocker) {
valorisation = valorisationAStocker;
}
public StructureConservation getConservation() {
return conservation;
}
public void setConservation(StructureConservation conservationAStocker) {
conservation = conservationAStocker;
}
public String toString() {
String sortie = "";
// Champs du BaseModelData
Set<String> proprietes = this.getProperties().keySet();
for (Iterator<String> it = proprietes.iterator(); it.hasNext();) {
String cle = it.next();
sortie += cle+" : "+this.get(cle)+"\n";
}
// Champs spéciaux
sortie += getUrl();
return sortie;
}
}