Subversion Repositories eFlore/Applications.coel

Rev

Rev 775 | Go to most recent revision | Blame | Last modification | View Log | RSS feed

package org.tela_botanica.client.modeles;

import java.util.Iterator;
import java.util.Set;

import com.google.gwt.json.client.JSONObject;

public class PublicationAPersonne extends aDonnee {

        private static final long serialVersionUID = 7769105365939978129L;
        
        public static final String PREFIXE = "cpuap";
        public static final String ROLE_AUTEUR = "2360";
        private Personne personneLiee = null;
        
        public PublicationAPersonne() {}
        
        public PublicationAPersonne(JSONObject pubAPersListe) {
                personneLiee = new Personne(pubAPersListe);
                
                // l'objet JSON est une table de hachage
                Set<String> im = pubAPersListe.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+"_", "");
                        // Valeur vide par défaut
                        String valeur = "";
                        if (pubAPersListe.get(cle).isString() != null) {
                                valeur = pubAPersListe.get(cle).isString().stringValue();
                                this.set(cleObjet, valeur);
                        } else {
                                this.set(cleObjet, valeur);
                        }
                }
        }
        
        @Override
        protected String getPrefixe() {
                return PREFIXE;
        }

        public Personne getPersonne() {
                return personneLiee;
        }
        public void setPersonne(Personne personne) {
                personneLiee = personne;
                if (personne != null) {
                        setIdPersonne(personne.getId());
                }
        }
        
        // ID
        public String getId() {
                String idPublication = getIdPublication();
                String idPersonne = getIdPersonne();
                String idRole = getIdRole();
                if (idPublication.equals("") && idPersonne.equals("") && idRole.equals("")) {
                        return null;
                } else {
                        return (idPublication+"-"+idPersonne+"-"+idRole);
                }
        }
        
        // ID PUBLICATION
        public String getIdPublication() {
                return renvoyerValeurCorrecte("id_publication");
        }
        public void setIdPublication(String id) {
                set("id_publication", id);
        }
        
        // ID PERSONNE
        public String getIdPersonne() {
                return renvoyerValeurCorrecte("id_personne");
        }
        public void setIdPersonne(String id) {
                set("id_personne", id);
        }
        
        // ID RôLE
        public String getIdRole() {
                return renvoyerValeurCorrecte("id_role");
        }
        public void setIdRole(String id) {
                set("id_role", id);
        }
                
        // TYPE
        public String getType() {
                return renvoyerValeurCorrecte("ce_truk_type");
        }
        public void setType(String type) {
                set("ce_truk_type", type);
        }
        public void setFonction(String type, String valeur) {
                setChaineDenormaliseUnique("ce_truk_type", type, valeur);
        }
}