5,9 → 5,8 |
import java.util.Set; |
|
import org.tela_botanica.client.modeles.aDonnee; |
import org.tela_botanica.client.modeles.collection.CollectionAPublication; |
import org.tela_botanica.client.modeles.personne.Personne; |
import org.tela_botanica.client.util.Debug; |
import org.tela_botanica.client.util.Log; |
|
import com.extjs.gxt.ui.client.data.ModelData; |
import com.google.gwt.json.client.JSONObject; |
17,7 → 16,6 |
private static final long serialVersionUID = 7769105365939978129L; |
|
public static final String PREFIXE = "cpuap"; |
private boolean removePrefix = true; |
public static final String ROLE_AUTEUR = "2360"; |
//FIXME: insérer en base de données une valeur cohérente pour l'identifiant ci-dessous |
public static final String ROLE_SUJET = "30762"; |
48,8 → 46,11 |
// Si elle est associée à une valeur, nous l'ajoutons |
String cle = it.next(); |
String cleObjet = ""; |
if (removePrefix) cleObjet = cle.replaceFirst("^"+getPrefixe()+"_", ""); |
else cleObjet=cle; |
if (removePrefix) { |
cleObjet = cle.replaceFirst("^"+getPrefixe()+"_", ""); |
} else { |
cleObjet = cle; |
} |
// Valeur vide par défaut |
String valeur = ""; |
if (pubAPersListe.get(cle).isString() != null) { |
61,34 → 62,35 |
initialiserChampsPourGrille(); |
} |
|
public PublicationAPersonne(ModelData model, boolean removePrefix) |
{ |
public PublicationAPersonne(ModelData modele, boolean removePrefix) { |
this.removePrefix = removePrefix; |
|
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 = ""; |
if (removePrefix) { |
cleObjet = cle.replaceFirst("^"+Personne.PREFIXE+"_", ""); |
cleObjet = cle.replaceFirst("^"+Publication.PREFIXE+"_", ""); |
cleObjet = cleObjet.replaceFirst("^"+PREFIXE+"_", ""); |
if (modele != null) { |
Map<String, Object> modeleProprietes = modele.getProperties(); |
|
Set<String> cles = modeleProprietes.keySet(); |
Iterator<String> it = cles.iterator(); |
while (it.hasNext()) { |
String cle = it.next(); |
if (modeleProprietes.get(cle) != null) { |
String cleObjet = ""; |
if (removePrefix) { |
cleObjet = cle.replaceFirst("^"+Personne.PREFIXE+"_", ""); |
cleObjet = cle.replaceFirst("^"+Publication.PREFIXE+"_", ""); |
cleObjet = cleObjet.replaceFirst("^"+PREFIXE+"_", ""); |
} else { |
cleObjet = cle; |
} |
this.set(cleObjet, modeleProprietes.get(cle)); |
} |
else { |
cleObjet = cle; |
} |
this.set(cleObjet, a.get(cle)); |
} |
|
setPersonne(new Personne(modele, removePrefix)); |
setPublicationLiee(new Publication(modele, removePrefix)); |
this.set("_role_", modeleProprietes.get("_role_")); |
this.set("_etat_", modeleProprietes.get("_etat_")); |
} else { |
Log.debug("Le modèle passé en paramètre ne doit pas être vide"); |
} |
|
setPersonne(new Personne(model, removePrefix)); |
setPublicationLiee(new Publication(model, removePrefix)); |
this.set("_role_", a.get("_role_")); |
this.set("_etat_", a.get("_etat_")); |
} |
|
private void initialiserChampsPourGrille() { |
102,7 → 104,7 |
set("fascicule", publicationLiee.getFascicule()); |
set("truk_pages", publicationLiee.getPages()); |
set("_etat_", ""); |
set("_role_", this.get("id_role")); |
set("_role_", this.getIdRole()); |
} else { |
set("cpu_fmt_auteur", publicationLiee.getAuteur()); |
set("cpu_titre", publicationLiee.getTitre()); |
113,11 → 115,10 |
set("cpu_fascicule", publicationLiee.getFascicule()); |
set("cpu_truk_pages", publicationLiee.getPages()); |
set("_etat_", ""); |
set("_role_", this.get("id_role")); |
set("_role_", this.getIdRole()); |
} |
} |
|
|
@Override |
protected String getPrefixe() { |
return PREFIXE; |
176,16 → 177,14 |
|
// ID PUBLICATION |
public String getIdPublication() { |
if (removePrefix) return renvoyerValeurCorrecte("id_publication"); |
else return renvoyerValeurCorrecte("cpuap_id_publication"); |
return renvoyerValeurCorrecte("id_publication"); |
} |
public void setIdPublication(String id) { |
if (removePrefix) set("id_publication", id); |
else set("cpuap_id_publication", id); |
setValeurCorrecte("id_publication", id); |
} |
|
// PUBLICATION LIEE |
public Publication getPublicationLiee() { |
public Publication getPublicationLiee() { |
return this.publicationLiee; |
} |
|
195,24 → 194,12 |
initialiserChampsPourGrille(); |
} |
|
// ROLE |
public String getRole() { |
String role = this.get("_role_"); |
if (role != null) { |
return role; |
} else { |
return ""; |
} |
} |
|
// ID PERSONNE |
public String getIdPersonne() { |
if (removePrefix) return renvoyerValeurCorrecte("id_personne"); |
else return renvoyerValeurCorrecte("cpuap_id_personne"); |
return renvoyerValeurCorrecte("id_personne"); |
} |
public void setIdPersonne(String id) { |
if (removePrefix) set("id_personne", id); |
else set(PREFIXE+"_id_personne", id); |
setValeurCorrecte("id_personne", id); |
} |
|
// ID RôLE |
220,8 → 207,19 |
return renvoyerValeurCorrecte("id_role"); |
} |
public void setIdRole(String id) { |
set("id_role", id); |
setValeurCorrecte("id_role", id); |
this.set("_role_", id); |
} |
|
// ROLE |
public String getRole() { |
String role = this.get("_role_"); |
if (role != null) { |
return role; |
} else { |
return ""; |
} |
} |
|
// TYPE |
public String getType() { |
228,7 → 226,7 |
return renvoyerValeurCorrecte("ce_truk_type"); |
} |
public void setType(String type) { |
set("ce_truk_type", type); |
setValeurCorrecte("ce_truk_type", type); |
} |
public void setFonction(String type, String valeur) { |
setChaineDenormaliseUnique("ce_truk_type", type, valeur); |
236,14 → 234,11 |
|
// ORDRE DES AUTEURS |
public String getOrdreAuteurs() { |
if (removePrefix) return renvoyerValeurCorrecte("ordre"); |
else return renvoyerValeurCorrecte(PREFIXE+"_ordre"); |
return renvoyerValeurCorrecte("ordre"); |
} |
public void setOrdreAuteurs(String ordre) { |
if (ordre.matches("[0-9]+")) { |
if (removePrefix) this.set("ordre", ordre); |
else this.set(PREFIXE+"_ordre", ordre); |
|
setValeurCorrecte("ordre", ordre); |
this.set("_ordre_", ordre); |
} |
} |