Subversion Repositories eFlore/Applications.coel

Rev

Rev 901 | Rev 992 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
935 jpm 1
package org.tela_botanica.client.modeles.publication;
741 aurelien 2
 
3
import java.util.Iterator;
4
import java.util.Set;
5
 
935 jpm 6
import org.tela_botanica.client.modeles.aDonnee;
7
import org.tela_botanica.client.modeles.personne.Personne;
8
 
741 aurelien 9
import com.google.gwt.json.client.JSONObject;
10
 
11
public class PublicationAPersonne extends aDonnee {
12
 
13
	private static final long serialVersionUID = 7769105365939978129L;
748 jpm 14
 
751 jpm 15
	public static final String PREFIXE = "cpuap";
16
	public static final String ROLE_AUTEUR = "2360";
775 jpm 17
	private Personne personneLiee = null;
18
 
901 jpm 19
	public PublicationAPersonne() {}
20
 
741 aurelien 21
	public PublicationAPersonne(JSONObject pubAPersListe) {
775 jpm 22
		personneLiee = new Personne(pubAPersListe);
23
 
741 aurelien 24
		// l'objet JSON est une table de hachage
25
		Set<String> im = pubAPersListe.keySet();
26
 
27
		// Parcourt pour chaque clé
28
		for (Iterator<String> it = im.iterator(); it.hasNext();) {
29
			// Si elle est associée à une valeur, nous l'ajoutons
30
			String cle = it.next();
31
			// Suppression de l'abréviation du champ. Inutile dans le contexte d'un objet
748 jpm 32
			String cleObjet = cle.replaceFirst("^"+PREFIXE+"_", "");
33
			// Valeur vide par défaut
34
			String valeur = "";
741 aurelien 35
			if (pubAPersListe.get(cle).isString() != null) {
748 jpm 36
				valeur = pubAPersListe.get(cle).isString().stringValue();
37
				this.set(cleObjet, valeur);
741 aurelien 38
			} else {
748 jpm 39
				this.set(cleObjet, valeur);
741 aurelien 40
			}
41
		}
42
	}
43
 
748 jpm 44
	@Override
45
	protected String getPrefixe() {
46
		return PREFIXE;
47
	}
48
 
775 jpm 49
	public Personne getPersonne() {
50
		return personneLiee;
748 jpm 51
	}
775 jpm 52
	public void setPersonne(Personne personne) {
53
		personneLiee = personne;
901 jpm 54
		if (personne != null) {
55
			setIdPersonne(personne.getId());
56
		}
741 aurelien 57
	}
58
 
901 jpm 59
	// ID
60
	public String getId() {
61
		String idPublication = getIdPublication();
62
		String idPersonne = getIdPersonne();
63
		String idRole = getIdRole();
64
		if (idPublication.equals("") && idPersonne.equals("") && idRole.equals("")) {
65
			return null;
66
		} else {
67
			return (idPublication+"-"+idPersonne+"-"+idRole);
68
		}
69
	}
70
 
71
	// ID PUBLICATION
72
	public String getIdPublication() {
73
		return renvoyerValeurCorrecte("id_publication");
74
	}
75
	public void setIdPublication(String id) {
76
		set("id_publication", id);
77
	}
78
 
79
	// ID PERSONNE
80
	public String getIdPersonne() {
81
		return renvoyerValeurCorrecte("id_personne");
82
	}
83
	public void setIdPersonne(String id) {
84
		set("id_personne", id);
85
	}
86
 
87
	// ID RôLE
88
	public String getIdRole() {
89
		return renvoyerValeurCorrecte("id_role");
90
	}
91
	public void setIdRole(String id) {
92
		set("id_role", id);
93
	}
94
 
95
	// TYPE
96
	public String getType() {
97
		return renvoyerValeurCorrecte("ce_truk_type");
98
	}
99
	public void setType(String type) {
100
		set("ce_truk_type", type);
101
	}
102
	public void setFonction(String type, String valeur) {
103
		setChaineDenormaliseUnique("ce_truk_type", type, valeur);
104
	}
775 jpm 105
}