Subversion Repositories eFlore/Applications.coel

Compare Revisions

Ignore whitespace Rev 1560 → Rev 1561

/trunk/src/org/tela_botanica/client/modeles/publication/PublicationAPersonne.java
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);
}
}
/trunk/src/org/tela_botanica/client/modeles/publication/PublicationAPersonneAsyncDao.java
143,11 → 143,12
}
public void ajouter(String publicationId, String personnesId, String ordreAuteurs, String roleId, final Integer seqId) {
String postDonneesEncodees = "cpuap_id_publication="+URL.encodeComponent(publicationId)
+"&cpuap_id_auteur="+URL.encodeComponent(personnesId)
+"&cpuap_ordre="+URL.encodeComponent(ordreAuteurs)
+"&cpuap_id_role="+URL.encodeComponent(roleId)
+"&cmhl_ce_modifier_par="+utilisateurId;
String postDonneesEncodees = "cpuap_id_publication="+URL.encodeQueryString(publicationId)
+"&cpuap_id_auteur="+URL.encodeQueryString(personnesId)
+"&cpuap_ordre="+URL.encodeQueryString(ordreAuteurs)
+"&cpuap_id_role="+URL.encodeQueryString(roleId)
+"&cmhl_ce_modifier_par="+utilisateurId;
final JsonRestRequestBuilder rb = UtilDAO.construireRequetePost(SERVICE_NOM);
rb.envoyerRequete(postDonneesEncodees, new JsonRestRequestCallback() {
@Override
162,11 → 163,11
final JsonRestRequestBuilder rb = UtilDAO.construireRequetePost(SERVICE_NOM, parametres);
String postDonneesEncodees = "cpuap_id_publication="+URL.encodeComponent(publicationId)
+"&cpuap_id_auteur="+URL.encodeComponent(personnesId)
+"&cpuap_id_role="+URL.encodeComponent(roleId)
+"&cpuap_ordre="+URL.encodeComponent(ordreAuteurs)
+"&cmhl_ce_modifier_par="+utilisateurId;
String postDonneesEncodees = "cpuap_id_publication="+URL.encodeQueryString(publicationId)
+"&cpuap_id_auteur="+URL.encodeQueryString(personnesId)
+"&cpuap_id_role="+URL.encodeQueryString(roleId)
+"&cpuap_ordre="+URL.encodeQueryString(ordreAuteurs)
+"&cmhl_ce_modifier_par="+utilisateurId;
rb.envoyerRequete(postDonneesEncodees, new JsonRestRequestCallback() {
@Override
/trunk/src/org/tela_botanica/client/modeles/aDonnee.java
37,9 → 37,10
public static final String ETAT_AJOUTE = "A";
public static final Object ETAT_MODIFIE = "M";
public static final String VALEUR_NULL = "NC";
 
public HashMap<String, String> valeursInitiales = new HashMap<String, String>();
protected boolean removePrefix = true;
 
protected abstract String getPrefixe();
protected abstract String[] getChampsObligatoires();
89,17 → 90,19
public void setValeurInitiale(String cleObjet, String valeur) {
}
 
/**
* Pour éviter que l'on traite des valeurs nulles à l'affichage on passe par
* cette fonction qui retire les charactères nuls qui font planter
* l'affichage, il ne faut pas utiliser get directement
* l'affichage, il ne faut pas utiliser get directement.
* Elle ajoute aussi le préfixe au nom du champ si nécessaire.
*
* @param cle
* @param cle le nom du champ sans le préfixe.
* @return la valeur associée à la clé
*/
protected String renvoyerValeurCorrecte(String cle) {
String sortie = "";
cle = (removePrefix) ? cle : getPrefixe()+"_"+cle;
if (this.get(cle) != null) {
String valeur = ""+this.get(cle);
if (! valeur.equals("null")) {
114,6 → 117,17
}
/**
* Ajoute le préfixe au nom du champ si nécessaire.
*
* @param la clé du champ
* @param la valeur associé à la clé
*/
protected void setValeurCorrecte(String cle, String valeur) {
cle = (removePrefix) ? cle : getPrefixe()+"_"+cle;
set(cle, valeur);
}
/**
* Ajoute un nouvel élément avec son type à une chaine dénormalisée.
* Champ de type "truk" contenant des valeurs séparées par ";;" qui elle même possèdent un type séparé par "##".
* Si l'élément existe déjà, il ne sera pas ajouté.