Rev 1383 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | RSS feed
package org.tela_botanica.client.modeles.collection;
import java.util.Iterator;
import java.util.Map;
import java.util.Set;
import org.tela_botanica.client.modeles.aDonnee;
import org.tela_botanica.client.modeles.personne.Personne;
import org.tela_botanica.client.util.Debug;
import org.tela_botanica.client.util.UtilString;
import com.extjs.gxt.ui.client.data.BaseModelData;
import com.extjs.gxt.ui.client.data.ModelData;
import com.google.gwt.json.client.JSONObject;
public class CollectionAPersonne extends aDonnee {
private static final long serialVersionUID = 1L;
public static final String PREFIXE = "ccap";
private Personne personneLiee = null;
public static String[] champsObligatoires = {"ccap_id_collection", "ccap_id_personne", "ccap_id_role"};
public CollectionAPersonne() {
initialiser(new JSONObject());
}
public CollectionAPersonne(JSONObject collectionAPersonneListe) {
initialiser(collectionAPersonneListe);
}
public CollectionAPersonne(ModelData model)
{
Map<String, Object> a = model.getProperties();
Set<String> cles = a.keySet();
Iterator<String> it = cles.iterator();
while (it.hasNext()) {
String cle = it.next();
if (a.get(cle) != null) {
String cleObjet = "";
cleObjet = cle.replaceFirst("^"+CollectionAPersonne.PREFIXE+"_", "");
cleObjet = cleObjet.replaceFirst("^"+Personne.PREFIXE+"_", "");
this.set(cleObjet, a.get(cle));
}
}
setPersonne(new Personne(model));
this.set("_etat_", a.get("_etat_"));
}
@Override
protected String getPrefixe() {
return PREFIXE;
}
protected String[] getChampsObligatoires() {
return champsObligatoires;
}
private void initialiser(JSONObject collectionAPersonneListe) {
setPersonne(new Personne(collectionAPersonneListe));
initialiserModele(collectionAPersonneListe);
initialiserChampsPourGrille();
}
// PERSONNE
public Personne getPersonne() {
return personneLiee;
}
public void setPersonne(Personne personne) {
personneLiee = personne;
initialiserChampsPourGrille();
if (personne != null) {
if (personne.getId() != null && !UtilString.isEmpty(personne.getId())) setIdPersonne(personne.getId());
}
}
public void setPersonnePourGrillePaginable(Personne personne) {
personneLiee = personne;
initialiserChampsPourGrillePaginable();
if (personne != null) {
if (personne.getId() != null && !UtilString.isEmpty(personne.getId())) setIdPersonne(personne.getId());
}
}
private void initialiserChampsPourGrille() {
set("_role_", getIdRole());
set("fmt_nom_complet", getPersonne().getNomComplet());
set("nom", getPersonne().getNom());
set("prenom", getPersonne().getPrenom());
set("naissance_date", getPersonne().getNaissanceDate());
set("naissance_lieu", getPersonne().getNaissanceLieu());
set("_deces_", getPersonne().getDeces());
set("deces_date", getPersonne().getDecesDate());
set("deces_lieu", getPersonne().getDecesLieu());
set("_etat_", "");
}
public void initialiserChampsPourGrillePaginable() {
set("ccap_id_role", getIdRole());
set("_role_", getIdRole());
set("cp_fmt_nom_complet", getPersonne().getNomComplet());
set("cp_nom", getPersonne().getNom());
set("cp_prenom", getPersonne().getPrenom());
set("cp_naissance_date", getPersonne().getNaissanceDate());
set("cp_naissance_lieu", getPersonne().getNaissanceLieu());
set("_deces_", getPersonne().getDeces());
set("cp_deces", getPersonne().getDeces());
set("cp_deces_date", getPersonne().getDecesDate());
set("cp_deces_lieu", getPersonne().getDecesLieu());
}
// ID
/** Génère un identifiant de CollectionAPersonne.
*
* C'est une concaténation des clés primaires de la table coel_collection_a_personne séparées par un tiret "-".
*
* @return identifiant unique d'une relation "collection à personne".
*/
public String getId() {
String idCollection = getIdCollection();
String idPersonne = getIdPersonne();
String idRole = getIdRole();
if (idCollection.equals("") && idPersonne.equals("") && idRole.equals("")) {
return null;
} else {
return (idCollection+"-"+idPersonne+"-"+idRole);
}
}
//+---------------------------------------------------------------------------------------------------------------+
// CHAMPS PROVENANT de la TABLE COEL_COLLECTION_A_PERSONNE
// ID COLLECTION
public String getIdCollection() {
return renvoyerValeurCorrecte("id_collection");
}
public void setIdCollection(String idCollection) {
set("id_collection", idCollection);
}
// ID PERSONNE
public String getIdPersonne() {
return renvoyerValeurCorrecte("id_personne");
}
public void setIdPersonne(String ip) {
set("id_personne", ip);
}
// ID RôLE
public String getIdRole() {
String role = renvoyerValeurCorrecte("id_role");
if (role != null && !UtilString.isEmpty(role)) return role;
else return renvoyerValeurCorrecte("_role_");
}
public void setIdRole(String ir) {
set("id_role", ir);
}
}