Subversion Repositories eFlore/Applications.coel

Compare Revisions

Ignore whitespace Rev 1479 → Rev 1480

/branches/v1.1-aramon/src/org/tela_botanica/client/modeles/publication/Publication.java
1,10 → 1,12
package org.tela_botanica.client.modeles.publication;
 
import java.util.ArrayList;
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.collection.CollectionAPublication;
import org.tela_botanica.client.modeles.structure.Structure;
import org.tela_botanica.client.util.Debug;
import org.tela_botanica.client.util.UtilString;
16,20 → 18,34
 
private static final long serialVersionUID = 4142843068041690126L;
 
private static final String PREFIXE = "cpu";
public static final String PREFIXE = "cpu";
private boolean removePrefix = true;
private Structure editeur = null;
public static String[] champsObligatoires = {"cpu_id_publication"};
public ArrayList<String> cles = null;
public Publication() {
public Publication() {
}
public Publication(boolean removePrefix) {
this.removePrefix = removePrefix;
cles = new ArrayList<String>();
cles.add("id_publication");
}
public Publication(JSONObject publication) {
initialiserModele(publication);
editeur = new Structure(publication);
cles = new ArrayList<String>();
cles.add("id_publication");
}
public Publication(ModelData model)
{
public Publication(ModelData model, boolean removePrefix)
{
this.removePrefix = removePrefix;
cles = new ArrayList<String>();
cles.add("id_publication");
Map<String, Object> a = model.getProperties();
 
Set<String> cles = a.keySet();
37,13 → 53,39
while (it.hasNext()) {
String cle = it.next();
if (a.get(cle) != null) {
String cleObjet = cle.replaceFirst("^"+getPrefixe()+"_", "");
String cleObjet = "";
if (removePrefix) {
cleObjet = cle.replaceFirst("^"+getPrefixe()+"_", "");
}
else {
cleObjet=cle;
traiterClesEtrangeres(cle, (String)a.get(cle));
}
this.set(cleObjet, a.get(cle));
}
}
}
@Override
// Action
//--------
// cette méthode sert dans le cas suivant : le contructeur reçoit un object ModelData
// qui contient cpuap_id_publication mais pas cpu_id_publication ou id_publication. Sans
// la méthode ci-dessous, on aurait des problèmes. Celle-ci affecte à id_publication la
// valeur des clés étrangères rencontrées (cpuap_id_publication, cpuac_id_publication, etc.)
private void traiterClesEtrangeres(String cle, String valeur) {
// on recupere le nom de la clé de la propriété (sans son prefixe)
String nomSansPrefixe = cle.replaceFirst("^[a-zA-Z]+_", "");
// on regarde si cette clé est une clé primaire de la table Publication
if (cles.contains(nomSansPrefixe)) {
// si c'est le cas et que la valeur est non nulle
if (valeur != null && !UtilString.isEmpty(valeur)) {
// on affecte la valeur de la clés étrangère à la clé primaire
if (removePrefix) this.set(nomSansPrefixe, valeur);
else this.set(PREFIXE+"_"+nomSansPrefixe, valeur);
}
}
}
protected String getPrefixe() {
return PREFIXE;
}
57,52 → 99,66
}
public String getId() {
return renvoyerValeurCorrecte("id_publication");
if (removePrefix) return renvoyerValeurCorrecte("id_publication");
else return renvoyerValeurCorrecte(PREFIXE+"_id_publication");
}
public void setId(String idPublication) {
this.set("id_publication", idPublication);
if (removePrefix) this.set("id_publication", idPublication);
else this.set(PREFIXE+"_id_publication", idPublication);
}
public String getIdProjet() {
return renvoyerValeurCorrecte("ce_projet");
if (removePrefix) return renvoyerValeurCorrecte("ce_projet");
else return renvoyerValeurCorrecte(PREFIXE+"_ce_projet");
}
public void setIdProjet(String idProjet) {
this.set("ce_projet", idProjet);
if (removePrefix) this.set("ce_projet", idProjet);
else this.set(PREFIXE+"_ce_projet", idProjet);
}
public String getNomComplet() {
return renvoyerValeurCorrecte("fmt_nom_complet");
if (removePrefix) return renvoyerValeurCorrecte("fmt_nom_complet");
else return renvoyerValeurCorrecte(PREFIXE+"_fmt_nom_complet");
}
public void setNomComplet(String nomComplet) {
this.set("fmt_nom_complet", nomComplet);
if (removePrefix) this.set("fmt_nom_complet", nomComplet);
else this.set(PREFIXE+"_fmt_nom_complet", nomComplet);
}
public String getURI() {
return renvoyerValeurCorrecte("uri");
if (removePrefix) return renvoyerValeurCorrecte("uri");
else return renvoyerValeurCorrecte(PREFIXE+"_uri");
}
public void setUri(String uri) {
this.set("uri", uri);
if (removePrefix) this.set("uri", uri);
else this.set(PREFIXE+"_uri", uri);
}
 
public String getAuteur() {
return renvoyerValeurCorrecte("fmt_auteur");
if (removePrefix) return renvoyerValeurCorrecte("fmt_auteur");
else return renvoyerValeurCorrecte(PREFIXE+"_fmt_auteur");
}
public void setAuteur(String auteurFormate) {
this.set("fmt_auteur", auteurFormate);
if (removePrefix) this.set("fmt_auteur", auteurFormate);
else this.set(PREFIXE+"_fmt_auteur", auteurFormate);
}
 
public String getCollection() {
return renvoyerValeurCorrecte("collection");
if (removePrefix) return renvoyerValeurCorrecte("collection");
else return renvoyerValeurCorrecte(PREFIXE+"_collection");
}
public void setCollection(String collection) {
this.set("collection", collection);
if (removePrefix) this.set("collection", collection);
else this.set(PREFIXE+"_collection", collection);
}
public String getTitre() {
return renvoyerValeurCorrecte("titre");
if (removePrefix) return renvoyerValeurCorrecte("titre");
else return renvoyerValeurCorrecte(PREFIXE+"_titre");
}
public void setTitre(String titre) {
this.set("titre", UtilString.ucFirst(titre));
if (removePrefix) this.set("titre", UtilString.ucFirst(titre));
else this.set(PREFIXE+"_titre", UtilString.ucFirst(titre));
}
 
public String getNomEditeur() {
113,14 → 169,18
return editeurNom;
}
public String getEditeur() {
return getChaineDenormaliseUnique("ce_truk_editeur");
if (removePrefix) return getChaineDenormaliseUnique("ce_truk_editeur");
else return getChaineDenormaliseUnique(PREFIXE+"_ce_truk_editeur");
}
public void setEditeur(String editeur) {
setChaineDenormaliseUnique("ce_truk_editeur", "AUTRE", editeur);
if (removePrefix) setChaineDenormaliseUnique("ce_truk_editeur", "AUTRE", editeur);
else setChaineDenormaliseUnique(PREFIXE+"_ce_truk_editeur", "AUTRE", editeur);
}
 
public String getAnneeParution() {
String date = renvoyerValeurCorrecte("date_parution");
String date;
if (removePrefix) date = renvoyerValeurCorrecte("date_parution");
else date = renvoyerValeurCorrecte(PREFIXE+"_date_parution");
if (date != null && !UtilString.isEmpty(date))
return date.substring(0, 4);
else
127,31 → 187,39
return null;
}
public String getDateParution() {
return renvoyerValeurCorrecte("date_parution");
if (removePrefix) return renvoyerValeurCorrecte("date_parution");
else return renvoyerValeurCorrecte(PREFIXE+"_date_parution");
}
public void setDateParution(String date) {
this.set("date_parution", date);
if (removePrefix) this.set("date_parution", date);
else this.set(PREFIXE+"_date_parution", date);
}
 
public String getIndicationNvt() {
return renvoyerValeurCorrecte("indication_nvt");
if (removePrefix) return renvoyerValeurCorrecte("indication_nvt");
else return renvoyerValeurCorrecte(PREFIXE+"_indication_nvt");
}
public void setIndicationNvt(String nvt) {
this.set("indication_nvt", nvt);
if (removePrefix) this.set("indication_nvt", nvt);
else this.set(PREFIXE+"_indication_nvt", nvt);
}
public String getFascicule() {
return renvoyerValeurCorrecte("fascicule");
if (removePrefix) return renvoyerValeurCorrecte("fascicule");
else return renvoyerValeurCorrecte(PREFIXE+"_fascicule");
}
public void setFascicule(String fascicule) {
this.set("fascicule", fascicule);
if (removePrefix) this.set("fascicule", fascicule);
else this.set(PREFIXE+"_fascicule", fascicule);
}
public String getPages() {
return renvoyerValeurCorrecte("truk_pages");
if (removePrefix) return renvoyerValeurCorrecte("truk_pages");
else return renvoyerValeurCorrecte(PREFIXE+"_truk_pages");
}
public void setPages(String pages) {
this.set("truk_pages", pages);
if (removePrefix) this.set("truk_pages", pages);
else this.set(PREFIXE+"_truk_pages", pages);
}
}