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"); |
} |