Subversion Repositories eFlore/Applications.coel

Compare Revisions

Ignore whitespace Rev 1895 → Rev 1896

/trunk/src/org/tela_botanica/client/modeles/publication/Publication.java
1,6 → 1,7
package org.tela_botanica.client.modeles.publication;
 
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Set;
7,6 → 8,7
 
import org.tela_botanica.client.modeles.aDonnee;
import org.tela_botanica.client.modeles.structure.Structure;
import org.tela_botanica.client.util.UtilNombre;
import org.tela_botanica.client.util.UtilString;
 
import com.extjs.gxt.ui.client.data.ModelData;
17,6 → 19,10
private static final long serialVersionUID = 4142843068041690126L;
public static final String PREFIXE = "cpu";
public static String[] champsObligatoires = {"cpu_id_publication"};
// Cache de valeurs pour contourner des bugs très compliqué d'affichage
public static Map<String, String> editeurs = new HashMap<String, String>();
public static Map<String, Publication> publisSaisiesModifieesCache = new HashMap<String, Publication>();
 
private Structure editeur = null;
public ArrayList<String> cles = null;
38,6 → 44,7
public Publication(ModelData model, boolean removePrefix) {
this.removePrefix = removePrefix;
editeur = new Structure(model);
cles = new ArrayList<String>();
cles.add("id_publication");
145,12 → 152,21
}
 
public String getNomEditeur() {
// Pour éviter de planter l'application
// on tente de prendre l'éditeur où il est disponible
String editeurNom = getEditeur();
if (editeurNom.matches("[0-9]+")) {
editeurNom = editeur.getNom();
if (UtilNombre.estUnNombre(editeurNom) || editeurNom.isEmpty()) {
if(editeur != null && !editeur.getNom().isEmpty()) {
editeurs.put(editeurNom, editeur.getNom());
editeurNom = editeur.getNom();
} else {
editeurNom = editeurs.get(editeurNom) != null ? editeurs.get(editeurNom) : "";
}
}
return editeurNom;
}
public String getEditeur() {
return getChaineDenormaliseUnique("ce_truk_editeur");
}