Subversion Repositories eFlore/Applications.coel

Rev

Rev 1513 | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
1485 cyprien 1
package org.tela_botanica.client.composants.pagination;
2
 
3
import java.util.ArrayList;
4
import java.util.HashMap;
5
import java.util.List;
6
 
7
import org.tela_botanica.client.Mediateur;
8
import org.tela_botanica.client.RegistreId;
9
import org.tela_botanica.client.interfaces.Rafraichissable;
1487 cyprien 10
import org.tela_botanica.client.modeles.Valeur;
1485 cyprien 11
import org.tela_botanica.client.modeles.ValeurListe;
12
import org.tela_botanica.client.modeles.ValeurListeAsyncDao;
1493 cyprien 13
import org.tela_botanica.client.modeles.publication.PublicationAPersonneListe;
1485 cyprien 14
import org.tela_botanica.client.synchronisation.Sequenceur;
15
import org.tela_botanica.client.util.Debug;
1493 cyprien 16
import org.tela_botanica.client.util.UtilString;
1485 cyprien 17
 
18
import com.extjs.gxt.ui.client.Registry;
19
import com.extjs.gxt.ui.client.data.BasePagingLoadConfig;
20
import com.extjs.gxt.ui.client.data.BasePagingLoadResult;
21
import com.extjs.gxt.ui.client.data.DataReader;
22
import com.extjs.gxt.ui.client.data.MemoryProxy;
23
import com.extjs.gxt.ui.client.data.ModelData;
24
import com.google.gwt.json.client.JSONObject;
25
import com.google.gwt.json.client.JSONString;
26
import com.google.gwt.user.client.rpc.AsyncCallback;
27
 
28
public class ProxyPublicationsAPersonne<D> extends Proxy {
29
 
30
	String personneId = null;
1487 cyprien 31
	List<Valeur> rolesId = null;
1485 cyprien 32
 
1487 cyprien 33
	public ProxyPublicationsAPersonne(Sequenceur sequenceur, String personneId, List<Valeur> rolesId) {
1485 cyprien 34
		super(sequenceur);
35
		this.personneId = personneId;
1487 cyprien 36
		this.rolesId = rolesId;
1485 cyprien 37
	}
38
 
39
	@Override
40
	  public void load(TransformateurJSONaModelData reader, Object loadConfig, AsyncCallback callback, String recherche) {
1493 cyprien 41
		this.reader = reader;
42
		this.callback = callback;
43
		this.loadConfig = loadConfig;
1485 cyprien 44
 
1493 cyprien 45
			BasePagingLoadConfig lc = (BasePagingLoadConfig)loadConfig;
46
 
47
		if (!UtilString.isEmpty(this.personneId))	{
48
			mediateur.selectionnerPublicationsAPersonne(this, personneId, rolesId, recherche, lc.getOffset(), lc.getLimit(), sequenceur);
49
		}	else	{
50
			this.rafraichir(null);
51
		}
1485 cyprien 52
	  }
53
 
54
	public void setPersonneId(String personneId) {
55
		this.personneId = personneId;
56
	}
1487 cyprien 57
 
58
	public void setRolesId(List<Valeur> rolesId) {
59
		this.rolesId = rolesId;
60
	}
1485 cyprien 61
 
62
	@Override
63
	@SuppressWarnings("unchecked")
64
	public void rafraichir(Object nouvellesDonnees) {
65
 
66
		try
67
		{
1493 cyprien 68
			D donneesRetour = null;
69
			if (nouvellesDonnees!=null) {
70
				data = nouvellesDonnees;
71
			   	if (reader != null)
72
		    	{
73
			   		donneesRetour = (D) reader.read(loadConfig, data);
74
		    	}
75
		    	else
76
		    	{
77
		    		donneesRetour = (D) data;
78
			        if (donneesRetour instanceof List)
79
			        {
80
			        	donneesRetour = (D) new ArrayList((List) donneesRetour);
81
			        }
82
		    	}
83
			}
84
			callback.onSuccess(donneesRetour);
85
 
1485 cyprien 86
		}
87
		catch (Exception e)
88
		{
89
	      callback.onFailure(e);
90
		}
91
	}
92
 
93
}