Subversion Repositories eFlore/Applications.coel

Compare Revisions

Ignore whitespace Rev 1474 → Rev 1475

/branches/v1.1-aramon/src/org/tela_botanica/client/composants/pagination/TransformateurJSONaModelData.java
2,7 → 2,10
 
import java.util.ArrayList;
import java.util.Date;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Set;
 
import org.tela_botanica.client.modeles.ValeurListe;
import org.tela_botanica.client.util.Debug;
31,9 → 34,13
 
private ModelType modelType = null;
public TransformateurJSONaModelData(ModelType modelType) {
// HashMap<'nom du champ virtuel', 'nom du champ à binder'>
private HashMap<String, String> virtualFields = null;
public TransformateurJSONaModelData(ModelType modelType, HashMap<String, String> virtualFields) {
super(modelType);
this.modelType = modelType;
this.virtualFields = virtualFields;
}
 
@SuppressWarnings("unchecked")
121,6 → 128,22
} else if (value.isNull() != null) {
model.set(name, null);
}
if (virtualFields != null) {
Set<String> cles = virtualFields.keySet();
Iterator<String> it = cles.iterator();
while(it.hasNext()) {
String vField = it.next();
// si il y a un champ à binder
if (virtualFields.get(vField) != null) {
model.set(vField, model.get(virtualFields.get(vField)));
}
// sinon affecter la propriété à 'chaîne vide'
else {
model.set(virtualFields.get(vField), "");
}
}
}
}
models.add(model);
}
/branches/v1.1-aramon/src/org/tela_botanica/client/composants/ChampComboBoxRechercheTempsReelPaginable.java
84,7 → 84,7
plc.setLimit(limit);
plc.setOffset(start);
reader = new TransformateurJSONaModelData<PagingLoadResult<ModelData>>(modeltype);
reader = new TransformateurJSONaModelData<PagingLoadResult<ModelData>>(modeltype, null);
loader = new ChargeurListe<PagingLoadResult<ModelData>>(proxy, reader, this);
loader.setLimit(plc.getLimit());
/branches/v1.1-aramon/src/org/tela_botanica/client/composants/GrillePaginable.java
1,5 → 1,6
package org.tela_botanica.client.composants;
 
import java.util.HashMap;
import java.util.List;
import java.util.Map;
 
64,7 → 65,7
Constructeur
--------------*/
public GrillePaginable(ModelType modeltype, Proxy<D> proxy, List<ColumnConfig> colonnes, ColumnModel modeleDeColonnes) {
public GrillePaginable(ModelType modeltype, HashMap<String, String> virtualFields, Proxy<D> proxy, List<ColumnConfig> colonnes, ColumnModel modeleDeColonnes) {
// Récupération des paramètres
this.modelType = modeltype;
80,7 → 81,7
plc.setLimit(limit);
plc.setOffset(start);
reader = new TransformateurJSONaModelData<PagingLoadResult<D>>(modelType);
reader = new TransformateurJSONaModelData<PagingLoadResult<D>>(modelType, virtualFields);
loader = new ChargeurListe<PagingLoadResult<D>>(proxy, reader, this);
loader.setLimit(plc.getLimit());
/branches/v1.1-aramon/src/org/tela_botanica/client/modeles/collection/CollectionAPersonne.java
32,7 → 32,7
public CollectionAPersonne(ModelData model)
{
Map<String, Object> a = model.getProperties();
 
Set<String> cles = a.keySet();
Iterator<String> it = cles.iterator();
while (it.hasNext()) {
151,8 → 151,10
// ID RôLE
public String getIdRole() {
String role = renvoyerValeurCorrecte("id_role");
return role;
/*
if (role != null && !UtilString.isEmpty(role)) return role;
else return renvoyerValeurCorrecte("_role_");
else return renvoyerValeurCorrecte("_role_");*/
}
public void setIdRole(String ir) {
set("id_role", ir);
/branches/v1.1-aramon/src/org/tela_botanica/client/modeles/collection/CollectionAPersonneAsyncDao.java
123,7 → 123,7
}
}
 
public void ajouter(String collectionId, CollectionAPersonne personnes) {
public void ajouter(String collectionId, CollectionAPersonne personnes) {
String postDonneesEncodees = construirePost(collectionId, personnes);
final JsonRestRequestBuilder rb = UtilDAO.construireRequetePost(SERVICE_NOM);
rb.envoyerRequete(postDonneesEncodees, new JsonRestRequestCallback() {
/branches/v1.1-aramon/src/org/tela_botanica/client/vues/collection/CollectionFormPersonne.java
1,7 → 1,9
package org.tela_botanica.client.vues.collection;
 
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
 
import org.tela_botanica.client.ComposantClass;
import org.tela_botanica.client.Mediateur;
409,8 → 411,12
modeleDeColonnes.addHeaderGroup(0, 5, new HeaderGroupConfig(i18nC.personneNaissance(), 1, 2));
modeleDeColonnes.addHeaderGroup(0, 7, new HeaderGroupConfig(i18nC.personneDeces(), 1, 3));
HashMap<String, String> virtualFields = new HashMap<String, String>();
virtualFields.put("_role_", "ccap_id_role");
virtualFields.put("_etat_", "");
// Grille
GrillePaginable<ModelData> grillePaginable = new GrillePaginable<ModelData>(modelTypeCollectionAPersonne, proxyCollectionAPersonne, colonnes, modeleDeColonnes);
GrillePaginable<ModelData> grillePaginable = new GrillePaginable<ModelData>(modelTypeCollectionAPersonne, virtualFields, proxyCollectionAPersonne, colonnes, modeleDeColonnes);
// Rajouter des écouteurs
grillePaginable.getStore().addListener(Store.Update, new Listener<StoreEvent<ModelData>>() {
437,7 → 443,7
CellEditor editeurRelation = new CellEditor(typeRelationCombo) {
// Sert à retourner un ModelData à partir d'une String (la string est passée par le Renderer)
public Object preProcessValue(Object valeur) {
public Object preProcessValue(Object valeur) {
Valeur retour = null;
if (valeur != null ) {
if (typeRelationCombo.getStore().findModel("nom", valeur.toString()) != null) {
453,7 → 459,7
// Sert à retourner un String à Partir d'une Valeur
// en postProcess on remplace la valeur du champ par l'Id de la valeur au lieu de son Nom
public Object postProcessValue(Object valeur) {
public Object postProcessValue(Object valeur) {
String retour = null;
if (valeur != null ) {
if (valeur instanceof Valeur) {
470,15 → 476,11
GridCellRenderer<ModelData> relationRendu = new GridCellRenderer<ModelData>() {
public String render(ModelData modele, String property, ColumnData config, int rowIndex, int colIndex, ListStore<ModelData> store, Grid<ModelData> grille) {
// Gestion du texte afficher dans la cellule
CollectionAPersonne cap = new CollectionAPersonne(modele);
 
String role = cap.getIdRole();
modele.set("_role_", role);
 
Map<String, Object> a = modele.getProperties();
String role = modele.get("_role_");
if (typeRelationCombo.getStore() != null && typeRelationCombo.getStore().getCount() > 0 && role.matches("[0-9]+")) {
role = typeRelationCombo.getStore().findModel("id_valeur", role).getNom();
}
 
return role;
}
};
562,8 → 564,8
}
} else if (type.equals("personne_modifiee")) {
if (info.getDonnee(0) != null) {
Personne personne = (Personne) info.getDonnee(0);
ModelData personneDansGrille = grille.getStore().findModel("id_personne", personne.getId());
Personne personne = (Personne) info.getDonnee(0);
ModelData personneDansGrille = grille.getStore().findModel("ccap_id_personne", personne.getId());
int index = grille.getStore().indexOf(personneDansGrille);
grille.getStore().remove(personneDansGrille);
String role = (String) personneDansGrille.get("_role_");
591,8 → 593,7
if (nbrePersonne > 0) {
for (int i = 0; i < nbrePersonne; i++) {
CollectionAPersonne personne = new CollectionAPersonne(grille.getStore().getAt(i));
if (personne.get("_role_").equals("")) {
if (grille.getStore().getAt(i).get("_role_").equals("")) {
personneNumero += (i != 0 ? ", " : "")+(i+1);
}
}
609,10 → 610,11
int nbrePersonne = grille.getStore().getCount();
for (int i = 0; i < nbrePersonne; i++) {
CollectionAPersonne relationCollectionPersonne = new CollectionAPersonne(grille.getStore().getAt(i));
relationCollectionPersonne.set("_role_", grille.getStore().getAt(i).get("_role_"));
if (relationCollectionPersonne.get("_etat_") != null) {
if (grille.getStore().getAt(i).get("_etat_") != null) {
if (relationCollectionPersonne.get("_etat_").equals(aDonnee.ETAT_MODIFIE)) {
if (grille.getStore().getAt(i).get("_etat_").equals(aDonnee.ETAT_MODIFIE)) {
// Comme il est impossible de modifier les relations nous supprimons l'ancien enregistrement et ajoutons un nouveau avec le nouveau id_role
personnesSupprimees.put("id"+idGenere++, relationCollectionPersonne);
620,12 → 622,12
corrigerChampsGrille(relationAAjouter);// Nous modifions l'id_role
personnesAjoutees.put("id"+idGenere++, relationAAjouter);
}
if (relationCollectionPersonne.get("_etat_").equals(aDonnee.ETAT_AJOUTE)) {
if (grille.getStore().getAt(i).get("_etat_").equals(aDonnee.ETAT_AJOUTE)) {
corrigerChampsGrille(relationCollectionPersonne);// Nous modifions l'id_role
personnesAjoutees.put("id"+idGenere++, relationCollectionPersonne);
}
// Initialisation de la grille
relationCollectionPersonne.set("_etat_", "");
grille.getStore().getAt(i).set("_etat_", "");
}
}
grille.getStore().commitChanges();